Makefile - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
Makefile (1458B)
---
1 .POSIX:
2
3 DIRS =\
4 amd64-sysv\
5 arm64-sysv\
6 i386-sysv\
7 qbe\
8 qbe_amd64-sysv\
9 qbe_arm64-sysv\
10 qbe_riscv64-sysv\
11 z80-scc\
12
13 PROJECTDIR = ../../../..
14 include $(PROJECTDIR)/scripts/rules.mk
15
16 MORE_LDLIBS = -lscc
17
18 QBE_OBJS =\
19 code.o\
20 main.o\
21 node.o\
22 parser.o\
23 sethi.o\
24 swtch.o\
25 symbol.o\
26
27 OBJS =\
28 cfg.o\
29 $(QBE_OBJS)\
30
31 QBE_AMD64_SYSV_OBJS=\
32 qbe_amd64-sysv/builtin.o\
33 $(QBE_OBJS)\
34
35 QBE_ARM64_SYSV_OBJS=\
36 qbe_arm64-sysv/builtin.o\
37 $(QBE_OBJS)\
38
39 QBE_RISCV64_SYSV_OBJS=\
40 qbe_riscv64-sysv/builtin.o\
41 $(QBE_OBJS)\
42
43 Z80_SCC_OBJS =\
44 z80-scc/builtin.o\
45 $(OBJS) \
46
47 TARGET =\
48 cc2-qbe_amd64-sysv\
49 cc2-qbe_arm64-sysv\
50 cc2-qbe_riscv64-sysv\
51 cc2-z80-scc\
52
53 all:
54 +@$(MAKE) $(DIRS)
55 +@$(MAKE) $(TARGET)
56 @cp $(TARGET) $(LIBEXEC)/scc
57
58 main.o: error.h
59 qbe_amd64-sysv qbe_arm64-sysv: qbe
60 qbe_amd64-sysv: amd64-sysv
61 qbe_arm64-sysv: arm64-sysv
62
63 error.h: cc2.h
64 rm -f $@;\
65 trap 'rm -f $$$$.h' EXIT INT QUIT TERM HUP;\
66 awk -f generror.awk cc2.h > $$$$.h && mv $$$$.h $@
67
68 cc2-qbe_amd64-sysv: $(LIBSCC) $(QBE_AMD64_SYSV_OBJS)
69 $(CC) $(PROJ_LDFLAGS) $(QBE_AMD64_SYSV_OBJS) $(PROJ_LDLIBS) -o $@
70
71 cc2-qbe_arm64-sysv: $(LIBSCC) $(QBE_ARM64_SYSV_OBJS)
72 $(CC) $(PROJ_LDFLAGS) $(QBE_ARM64_SYSV_OBJS) $(PROJ_LDLIBS) -o $@
73
74 cc2-qbe_riscv64-sysv: $(LIBSCC) $(QBE_RISCV64_SYSV_OBJS)
75 $(CC) $(PROJ_LDFLAGS) $(QBE_RISCV64_SYSV_OBJS) $(PROJ_LDLIBS) -o $@
76
77 cc2-z80-scc: $(LIBSCC) $(Z80_SCC_OBJS)
78 $(CC) $(PROJ_LDFLAGS) $(Z80_SCC_OBJS) $(PROJ_LDLIBS) -o $@
79
80 clean:
81 rm -f error.h