4 STD_LIB_PATH='"$(SDCCDIR)/sdcc51lib"'
5 SDCC_INCLUDE_DIR='"$(SDCCDIR)/sdcc51inc"'
7 LIBSDIRS=-DSTD_LIB_PATH=$(STD_LIB_PATH) -DSTD_LIB='"$(STD_LIB)"'
8 LIBSDIRS += -DSTD_INT_LIB='"$(STD_INT_LIB)"' -DSTD_LONG_LIB='"$(STD_LONG_LIB)"'
9 LIBSDIRS += -DSTD_FP_LIB='"$(STD_FP_LIB)"' -DSDCC_INCLUDE_DIR=$(SDCC_INCLUDE_DIR)
10 CFLAGS=-Wall -ggdb -O2
11 #if compiling under linux then uncomment the following line
12 #LDFLAGS += -Wl,-defsym,_DYNAMIC=0
13 TARGETS=$(SDCCDIR)/bin/sdcc
14 ALLOBJECTS= SDCCy.o SDCClex.o SDCCerr.o SDCChasht.o SDCCmain.o SDCCsymt.o SDCCopt.o
15 ALLOBJECTS += SDCCast.o SDCCmem.o SDCCval.o SDCCralloc.o SDCCicode.o SDCCbitv.o SDCCset.o
16 ALLOBJECTS += SDCClabel.o SDCCBBlock.o SDCCloop.o SDCCcse.o SDCCcflow.o SDCCdflow.o
17 ALLOBJECTS += SDCClrange.o SDCCptropt.o SDCCgen51.o SDCCpeeph.o SDCCglue.o
19 ALLHEADERS=SDCCopt.h SDCCast.h SDCChasht.h SDCCval.h Makefile SDCCerr.h
20 ALLHEADERS += SDCCglobl.h SDCCmem.h SDCCsymt.h SDCCicode.h SDCCbitv.h SDCCset.h
21 ALLHEADERS += SDCClabel.h SDCCBBlock.h SDCCloop.h SDCCcse.h SDCCcflow.h SDCCdflow.h
22 ALLHEADERS += SDCClrange.h SDCCralloc.h SDCCptropt.h
27 rm *.o SDCCy.c SDCCy.h SDCClex.c SDCCy.output SDCCpeeph.rul
30 $(YACC) -d -v -o SDCCy.c SDCC.y
32 SDCClex.o : SDCClex.c $(ALLHEADERS)
33 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCClex.o SDCClex.c
35 SDCClex.c : SDCC.lex SDCCy.h
36 $(LEX) -f -oSDCClex.c SDCC.lex
38 SDCCast.o : SDCCast.c $(ALLHEADERS)
39 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCast.o SDCCast.c
41 SDCCmem.o : SDCCmem.c $(ALLHEADERS)
42 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCmem.o SDCCmem.c
44 SDCCval.o : SDCCval.c $(ALLHEADERS)
45 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCval.o SDCCval.c
47 SDCCralloc.o : SDCCralloc.c $(ALLHEADERS)
48 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCralloc.o SDCCralloc.c
50 SDCCicode.o : SDCCicode.c $(ALLHEADERS)
51 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCicode.o SDCCicode.c
53 SDCCerr.o : SDCCerr.c $(ALLHEADERS)
54 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCerr.o SDCCerr.c
56 SDCChasht.o : SDCChasht.c $(ALLHEADERS)
57 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCChasht.o SDCChasht.c
59 SDCCmain.o : SDCCmain.c $(ALLHEADERS)
60 $(CC) $(CFLAGS) $(LDFLAGS) $(LIBSDIRS) -c -o SDCCmain.o SDCCmain.c
62 SDCCsymt.o : SDCCsymt.c $(ALLHEADERS)
63 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCsymt.o SDCCsymt.c
65 SDCCy.o : SDCCy.c $(ALLHEADERS)
66 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCy.o SDCCy.c
68 SDCCopt.o : SDCCopt.c $(ALLHEADERS)
69 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCopt.o SDCCopt.c
71 SDCCbitv.o : SDCCbitv.c $(ALLHEADERS)
72 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCbitv.o SDCCbitv.c
74 SDCCset.o : SDCCset.c $(ALLHEADERS)
75 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCset.o SDCCset.c
77 SDCClabel.o : SDCClabel.c $(ALLHEADERS)
78 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCClabel.o SDCClabel.c
80 SDCCBBlock.o : SDCCBBlock.c $(ALLHEADERS)
81 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCBBlock.o SDCCBBlock.c
83 SDCCloop.o : SDCCloop.c $(ALLHEADERS)
84 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCloop.o SDCCloop.c
86 SDCCcse.o : SDCCcse.c $(ALLHEADERS)
87 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCcse.o SDCCcse.c
89 SDCCcflow.o : SDCCcflow.c $(ALLHEADERS)
90 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCcflow.o SDCCcflow.c
92 SDCCdflow.o : SDCCdflow.c $(ALLHEADERS)
93 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCdflow.o SDCCdflow.c
95 SDCClrange.o : SDCClrange.c $(ALLHEADERS)
96 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCClrange.o SDCClrange.c
98 SDCCptropt.o : SDCCptropt.c $(ALLHEADERS)
99 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCptropt.o SDCCptropt.c
101 SDCCgen51.o : SDCCgen51.c $(ALLHEADERS) SDCCgen51.h SDCCpeeph.h
102 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCgen51.o SDCCgen51.c
104 SDCCpeeph.rul : SDCCpeeph.def
105 awk -f SDCCpeeph.awk SDCCpeeph.def > SDCCpeeph.rul
107 SDCCpeeph.o : SDCCpeeph.c SDCCpeeph.h SDCChasht.h SDCCglobl.h Makefile SDCCpeeph.rul
108 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCpeeph.o SDCCpeeph.c
110 SDCCglue.o : SDCCglue.c $(ALLHEADERS) SDCCglue.h Makefile
111 $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCglue.o SDCCglue.c
113 $(TARGETS): $(ALLOBJECTS)
114 $(CC) $(CFLAGS) $(LDFLAGS) $(LDXFLAGS) -o $@ $(ALLOBJECTS) $(GC_DIR)/gc.a