Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/nesasm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2021-12-24 19:59:21 +0300
committerGitHub <noreply@github.com>2021-12-24 19:59:21 +0300
commitfe5f9055b200749f7d502e554039dc709b4e1576 (patch)
tree94e1e4db5eaf5d0b648698a6cd59b889524c3ffb
parentd80f61af89d4c8cb1205c9ed9696d888335d5f6d (diff)
parent0340069c8a15ce2ce2c70fa531b20b22591f55c9 (diff)
Merge pull request #2 from andrewclarkii/master
Makefile and specfile changes
-rw-r--r--rpm/nesasm.spec12
-rw-r--r--source/Makefile99
2 files changed, 56 insertions, 55 deletions
diff --git a/rpm/nesasm.spec b/rpm/nesasm.spec
index 95c946f..eca97d9 100644
--- a/rpm/nesasm.spec
+++ b/rpm/nesasm.spec
@@ -1,6 +1,8 @@
+%global gitcommit "2b39ec6"
+
Name: nesasm
Version: 3.6
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: 6502 assembler with specific NES support
License: MIT
@@ -19,13 +21,12 @@ by J. H. Van Ornum.
%prep
%setup -q
-
%build
-make %{?_smp_mflags} CFLAGS="%{optflags}" -C source/
+make %{?_smp_mflags} EXTRA_CFLAGS="%{optflags}" COMMIT="%gitcommit" -C source/
%install
-install -pD -m 755 %{name} %buildroot%_bindir/%{name}
+install -pD -m 755 source/%{name} %buildroot%_bindir/%{name}
%files
@@ -33,5 +34,8 @@ install -pD -m 755 %{name} %buildroot%_bindir/%{name}
%_bindir/*
%changelog
+* Fri Dec 10 2021 Andrew Clark <andrewclarkii@gmail.com> - 3.6-2
+- specfile changes
+
* Sat Dec 04 2021 Andrew Clark <andrewclarkii@gmail.com> - 3.6-1
- Initial version
diff --git a/source/Makefile b/source/Makefile
index 7fa99f2..a96ca59 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -1,74 +1,71 @@
-RM = rm -f
-CC = gcc
-COMMIT_INFO = commit.h
+.POSIX:
+.SUFFIXES:
-CFLAGS = -O2 -Wall -Wno-restrict -Wno-unknown-warning-option
-ifeq ($(OS),Windows_NT)
- LDFLAGS += -largp
-else
- UNAME_S := $(shell uname -s)
- ifeq ($(UNAME_S),Darwin)
- LDFLAGS += -largp
- endif
-endif
+CC ?= cc
+RM ?= rm -f
+INSTALL ?= install -p
+COMMIT :=
+COMMIT_INFO = commit.h
-OBJS = main.o input.o assemble.o expr.o code.o command.o\
- macro.o func.o proc.o symbol.o output.o crc.o\
- nes.o
+EXTRA_CFLAGS ?= -O2 -Wall -Wno-restrict -Wno-unknown-warning-option
+CFLAGS += ${EXTRA_CFLAGS} -I.
+LDADD ?= -Wl,--as-needed
-EXEDIR = ..
+EXEDIR ?= ..
+PREFIX ?= /usr
+BINDIR ?= $(PREFIX)/bin
+
+PROGRAM ?= nesasm
-COMMIT = $(shell git rev-parse --short HEAD)
-COMMIT_DIRTY = $(shell git diff-index HEAD)
-ifneq ($(COMMIT_DIRTY),)
- COMMIT += (dirty)
-endif
ifeq ($(COMMIT),)
- COMMIT = "unknown"
+ COMMIT = $(shell git rev-parse --short HEAD)
+else
+ COMMIT += $(shell git diff-index HEAD) (dirty)
endif
ifeq ($(OS),Windows_NT)
- TARGNES = $(EXEDIR)/nesasm.exe
+ LDFLAGS += -largp
+ $(PROGRAM) = $(EXEDIR)/$(PROGRAM).exe
else
- TARGNES = $(EXEDIR)/nesasm
+ UNAME_S := $(shell uname -s)
+ ifeq ($(UNAME_S),Darwin)
+ LDFLAGS += -largp
+ endif
endif
-#
-#
+# Object files
+
+OBJS = main.o input.o assemble.o expr.o code.o command.o\
+ macro.o func.o proc.o symbol.o output.o crc.o\
+ nes.o
+
+# All *.c file compiled to *.o
+.SUFFIXES: .c .o
+.c.o:
+ $(CC) $(CFLAGS) -o $@ -c $<
-all: $(TARGNES)
-default: $(TARGNES)
+# default target
+all: commit_file $(PROGRAM)
-# CLEAN
-#
+commit_file:
+ @printf "#define COMMIT \"$(COMMIT)\"\\n" > $(COMMIT_INFO)
clean:
- $(RM) *.o
+
ifeq ($(OS),Windows_NT)
- @if [ -f "$(TARGNES)" ]; then for f in `cygcheck "$(TARGNES)" | grep .dll | grep msys` ; do rm -f $(EXEDIR)/`basename "$$f"` ; done fi
+ @if [ -f "$(PROGRAM)" ]; then for f in `cygcheck "$(PROGRAM)" | grep .dll | grep msys` ; do rm -f $(EXEDIR)/`basename "$$f"` ; done fi
endif
- $(RM) $(TARGNES)
- $(RM) $(COMMIT_INFO)
-# ASSEMBLER
-#
+ $(RM) $(OBJS) $(PROGRAM) $(COMMIT_INFO)
-$(OBJS) : defs.h externs.h protos.h
-main.o : inst.h vars.h $(COMMIT_INFO)
-expr.o : expr.h
-nes.o : nes.h
-%.o : %.c
- $(CC) $(CFLAGS) -o $@ -c $<
-
-.PHONY: $(COMMIT_INFO)
-$(COMMIT_INFO):
- @printf "#define COMMIT \"$(COMMIT)\"\\n" > $(COMMIT_INFO)
+# Link objects into executable file
-# EXE
-#
+$(PROGRAM): $(OBJS)
+ $(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(LDADD)
-$(TARGNES): $(OBJS)
- $(CC) -o $(TARGNES) $(OBJS) $(LDFLAGS)
ifeq ($(OS),Windows_NT)
- @for f in `cygcheck "$(TARGNES)" | grep .dll | grep msys` ; do cp -vf `cygpath "$$f"` $(EXEDIR)/ ; done
+ @for f in `cygcheck "$(PROGRAM)" | grep .dll | grep msys` ; do cp -vf `cygpath "$$f"` $(EXEDIR)/ ; done
endif
+
+.PHONY: all commit_file clean
+