commit 625f68f
shrub
·
2026-10-30 14:26:30 +0000 UTC
parent 7daaec8
makefile: simplify and posix compliance
1 files changed,
+14,
-26
M
makefile
M
makefile
+14,
-26
1@@ -1,41 +1,29 @@
2-DEBUG = FALSE
3+.POSIX:
4
5-GCC = nspire-gcc
6-AS = nspire-as
7-GXX = nspire-g++
8-LD = nspire-ld
9+CC = nspire-gcc
10+LD = nspire-ld
11 GENZEHN = genzehn
12
13-GCCFLAGS = -Wall -W -marm -Wno-int-conversion -Os
14+CFLAGS = -Wall -W -marm -Wno-int-conversion -Os
15 LDFLAGS = -lSDL -Wl,-Os
16 ZEHNFLAGS = --name "uxn39"
17
18-OBJS = $(patsubst %.c, %.o, $(shell find . -name \*.c))
19-OBJS += $(patsubst %.cpp, %.o, $(shell find . -name \*.cpp))
20-OBJS += $(patsubst %.S, %.o, $(shell find . -name \*.S))
21 EXE = uxn39
22-DISTDIR = .
23-vpath %.tns $(DISTDIR)
24-vpath %.elf $(DISTDIR)
25
26 all: $(EXE).tns
27
28-%.o: %.c
29- $(GCC) $(GCCFLAGS) -c $<
30+uxn.o: uxn.c
31+ $(CC) $(CFLAGS) -c $< -o $@
32
33-%.o: %.cpp
34- $(GXX) $(GCCFLAGS) -c $<
35-%.o: %.S
36- $(AS) -c $<
37-
38-$(EXE).elf: $(OBJS)
39- mkdir -p $(DISTDIR)
40- $(LD) $^ -o $(DISTDIR)/$@ $(LDFLAGS)
41+$(EXE).elf: uxn.o
42+ $(LD) $^ -o $@ $(LDFLAGS)
43
44 $(EXE).tns: $(EXE).elf
45- $(GENZEHN) --input $(DISTDIR)/$^ --output $(DISTDIR)/$@.zehn $(ZEHNFLAGS)
46- make-prg $(DISTDIR)/$@.zehn $(DISTDIR)/$@
47- rm $(DISTDIR)/$@.zehn
48+ $(GENZEHN) --input $< --output $@.zehn $(ZEHNFLAGS)
49+ make-prg $@.zehn $@
50+ rm -f $@.zehn
51
52 clean:
53- rm -f *.o $(DISTDIR)/$(EXE).tns $(DISTDIR)/$(EXE).elf $(DISTDIR)/$(EXE).zehn
54+ rm -f uxn.o $(EXE).elf $(EXE).tns $(EXE).tns.zehn
55+
56+.PHONY: all clean