Borland Makefile cleanup
[fw/sdcc] / src / Makefile.bcc
1 # Makefile for Borlad C++
2
3 PRJDIR          = ..
4
5 !include $(PRJDIR)/Bcc.inc
6 CFLAGS = $(CFLAGS) -I$(PRJDIR)
7
8 PORTS           = mcs51 xa51 z80 avr ds390 pic
9 PORT_LIBS       = mcs51/port.lib xa51/port.lib z80/port.lib avr/port.lib ds390/port.lib pic/port.lib
10
11 OBJECTS         = SDCCy.obj SDCClex.obj SDCChasht.obj SDCCmain.obj \
12                   SDCCsymt.obj SDCCopt.obj SDCCast.obj SDCCmem.obj SDCCval.obj \
13                   SDCCicode.obj SDCCbitv.obj SDCCset.obj SDCClabel.obj \
14                   SDCCBBlock.obj SDCCloop.obj SDCCcse.obj SDCCcflow.obj SDCCdflow.obj \
15                   SDCClrange.obj SDCCptropt.obj SDCCpeeph.obj SDCCglue.obj \
16                   asm.obj SDCCutil.obj SDCCmacro.obj
17
18 SLIBOBJS        = $(SLIB)/SDCCerr.obj $(SLIB)/NewAlloc.obj $(SLIB)/MySystem.obj $(SLIB)/BuildCmd.obj
19
20 TARGET          = $(PRJDIR)/bin/sdcc.exe
21
22 all: $(TARGET)
23
24 ports: $(PORT_LIBS)
25
26 $(TARGET): ports $(OBJECTS) $(SLIBOBJS)
27         $(CC) -e$(TARGET) $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS) $(LIBGC)
28
29 mcs51/port.lib:
30         cd mcs51
31         make -f Makefile.bcc
32         cd ..
33
34 xa51/port.lib:
35         cd xa51
36         make -f Makefile.bcc
37         cd ..
38
39 z80/port.lib:
40         cd z80
41         make -f Makefile.bcc
42         cd ..
43
44 avr/port.lib:
45         cd avr
46         make -f Makefile.bcc
47         cd ..
48
49 ds390/port.lib:
50         cd ds390
51         make -f Makefile.bcc
52         cd ..
53
54 pic/port.lib:
55         cd pic
56         make -f Makefile.bcc
57         cd ..
58
59 SDCCy.h: SDCCy.c
60
61 SDCCy.c: SDCC.y
62         $(YACC) -d -v -o $< SDCC.y
63
64 SDCClex.c: SDCC.lex SDCCy.h
65         $(LEX) -o $< SDCC.lex