scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

Makefile (1522B)


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