ae535aed0ae991f729d1b0bffd6bacf7a5677022
[fw/sdcc] / src / Makefile.bcc
1 PRJDIR          = ..
2
3 # !include $(PRJDIR)/Makefile.common
4
5 !include ..\Bcc.inc
6 CFLAGS  = -I. -I.. -I..\support
7
8 PORTS           = mcs51 z80 avr ds390 pic izt
9 PORT_LIBS       = mcs51/port.lib z80/port.lib avr/port.lib ds390/port.lib pic/port.lib izt/port.lib
10
11 LIBS            = -lgc 
12 LIBDIRS         = -L$(PRJDIR)/support/gc
13 LIBGC           = $(PRJDIR)/support/gc/gc.lib
14
15 OBJECTS         = SDCCy.obj SDCClex.obj SDCChasht.obj SDCCmain.obj \
16                   SDCCsymt.obj SDCCopt.obj SDCCast.obj SDCCmem.obj SDCCval.obj \
17                   SDCCicode.obj SDCCbitv.obj SDCCset.obj SDCClabel.obj \
18                   SDCCBBlock.obj SDCCloop.obj SDCCcse.obj SDCCcflow.obj SDCCdflow.obj \
19                   SDCClrange.obj SDCCptropt.obj SDCCpeeph.obj SDCCglue.obj \
20                   asm.obj
21
22 SLIBOBJS        = $(SLIB)\SDCCerr.obj $(SLIB)\NewAlloc.obj
23
24 TARGET          = $(PRJDIR)/bin/sdcc.exe
25
26 # Compiling entire program or any subproject
27 # ------------------------------------------
28 all: $(LIBGC) $(TARGET)
29
30 ports:
31         for i in $(PORTS); do $(MAKE) -C $$i; done
32
33 #$(PRJDIR)/support/gc/libgc.a:
34 #        cd $(PRJDIR)/support/gc && $(MAKE)
35
36
37 !include Makefile.dep
38 #!include clean.mk
39
40
41 # My rules
42 # --------
43 $(TARGET): $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS)
44         bcc32 -e$(TARGET) $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS) $(LIBGC)
45
46 SDCCy.h: SDCCy.c
47
48 SDCCy.c: SDCC.y
49         $(YACC) -d -v -o $@ $<
50
51 SDCClex.c: SDCC.lex SDCCy.h
52         $(LEX) -t $< >$@
53
54 .y.c:
55         rm -f $*.cc $*.h
56         $(YACC) -d $<
57         mv y.tab.c $*.cc
58         mv y.tab.h $*.h
59
60 .l.c:
61         rm -f $*.cc
62         $(LEX) -t $< >$*.cc
63
64
65