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