Fix of distclean target and a new: newer
[fw/sdcc] / Makefile.org
1 CC=gcc
2 LEX=flex
3 YACC=bison
4 STD_LIB_PATH='"$(SDCCDIR)/sdcc51lib"'
5 SDCC_INCLUDE_DIR='"$(SDCCDIR)/sdcc51inc"'
6 GC_DIR=$(SDCCDIR)/gc
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
18
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 
23
24 all:: $(TARGETS)
25
26 clean::
27         rm *.o SDCCy.c SDCCy.h SDCClex.c SDCCy.output SDCCpeeph.rul
28
29 SDCCy.c   : SDCC.y
30         $(YACC) -d -v -o SDCCy.c SDCC.y
31
32 SDCClex.o : SDCClex.c $(ALLHEADERS)
33         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCClex.o SDCClex.c
34
35 SDCClex.c : SDCC.lex SDCCy.h
36         $(LEX) -f -oSDCClex.c SDCC.lex
37
38 SDCCast.o : SDCCast.c $(ALLHEADERS)
39         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCast.o SDCCast.c
40
41 SDCCmem.o : SDCCmem.c $(ALLHEADERS)
42         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCmem.o SDCCmem.c
43
44 SDCCval.o : SDCCval.c $(ALLHEADERS)
45         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCval.o SDCCval.c
46
47 SDCCralloc.o : SDCCralloc.c $(ALLHEADERS)
48         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCralloc.o SDCCralloc.c
49
50 SDCCicode.o : SDCCicode.c $(ALLHEADERS)
51         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCicode.o SDCCicode.c
52
53 SDCCerr.o : SDCCerr.c $(ALLHEADERS)
54         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCerr.o SDCCerr.c
55
56 SDCChasht.o : SDCChasht.c $(ALLHEADERS)
57         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCChasht.o SDCChasht.c
58
59 SDCCmain.o : SDCCmain.c $(ALLHEADERS) 
60         $(CC) $(CFLAGS) $(LDFLAGS) $(LIBSDIRS) -c -o SDCCmain.o SDCCmain.c
61
62 SDCCsymt.o : SDCCsymt.c $(ALLHEADERS)
63         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCsymt.o SDCCsymt.c
64
65 SDCCy.o : SDCCy.c $(ALLHEADERS)
66         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCy.o SDCCy.c
67
68 SDCCopt.o : SDCCopt.c $(ALLHEADERS)
69         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCopt.o SDCCopt.c
70
71 SDCCbitv.o : SDCCbitv.c $(ALLHEADERS)
72         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCbitv.o SDCCbitv.c
73
74 SDCCset.o : SDCCset.c $(ALLHEADERS)
75         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCset.o SDCCset.c
76
77 SDCClabel.o : SDCClabel.c $(ALLHEADERS)
78         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCClabel.o SDCClabel.c
79
80 SDCCBBlock.o : SDCCBBlock.c $(ALLHEADERS)
81         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCBBlock.o SDCCBBlock.c
82
83 SDCCloop.o : SDCCloop.c $(ALLHEADERS)
84         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCloop.o SDCCloop.c
85
86 SDCCcse.o : SDCCcse.c $(ALLHEADERS)
87         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCcse.o SDCCcse.c
88
89 SDCCcflow.o : SDCCcflow.c $(ALLHEADERS)
90         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCcflow.o SDCCcflow.c
91
92 SDCCdflow.o : SDCCdflow.c $(ALLHEADERS)
93         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCdflow.o SDCCdflow.c
94
95 SDCClrange.o : SDCClrange.c $(ALLHEADERS)
96         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCClrange.o SDCClrange.c
97
98 SDCCptropt.o : SDCCptropt.c $(ALLHEADERS)
99         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCptropt.o SDCCptropt.c
100
101 SDCCgen51.o : SDCCgen51.c $(ALLHEADERS) SDCCgen51.h SDCCpeeph.h
102         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCgen51.o SDCCgen51.c
103
104 SDCCpeeph.rul : SDCCpeeph.def
105         awk -f SDCCpeeph.awk SDCCpeeph.def > SDCCpeeph.rul
106
107 SDCCpeeph.o : SDCCpeeph.c SDCCpeeph.h SDCChasht.h SDCCglobl.h Makefile SDCCpeeph.rul
108         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCpeeph.o SDCCpeeph.c
109
110 SDCCglue.o : SDCCglue.c $(ALLHEADERS) SDCCglue.h Makefile
111         $(CC) $(CFLAGS) $(LDFLAGS) -c -o SDCCglue.o SDCCglue.c
112
113 $(TARGETS): $(ALLOBJECTS)
114         $(CC) $(CFLAGS) $(LDFLAGS) $(LDXFLAGS) -o $@ $(ALLOBJECTS) $(GC_DIR)/gc.a