* (rule dep): added dependency version.h,
[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 SDCCdebug.obj cdbFile.obj
17
18 SLIBOBJS        = $(SLIB)/SDCCerr.obj $(SLIB)/NewAlloc.obj $(SLIB)/MySystem.obj \
19                   $(SLIB)/BuildCmd.obj $(SLIB)/dbuf.obj
20
21 TARGET          = $(PRJDIR)/bin/sdcc.exe
22
23 all: version.h $(TARGET)
24
25 ports: $(PORT_LIBS)
26
27 $(TARGET): $(OBJECTS) $(SLIBOBJS) ports
28         $(CC) -e$(TARGET) $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS) $(LIBGC)
29
30 version.h: ../ChangeLog
31         gawk -f version.awk $< > $@
32
33 mcs51/port.lib:
34         cd mcs51
35         make -f Makefile.bcc
36         cd ..
37
38 xa51/port.lib:
39         cd xa51
40         make -f Makefile.bcc
41         cd ..
42
43 z80/port.lib:
44         cd z80
45         make -f Makefile.bcc
46         cd ..
47
48 avr/port.lib:
49         cd avr
50         make -f Makefile.bcc
51         cd ..
52
53 ds390/port.lib:
54         cd ds390
55         make -f Makefile.bcc
56         cd ..
57
58 pic/port.lib:
59         cd pic
60         make -f Makefile.bcc
61         cd ..
62
63 SDCCy.h: SDCCy.c
64
65 SDCCy.c: SDCC.y
66         $(YACC) -d -v -o $< SDCC.y
67
68 SDCClex.c: SDCC.lex SDCCy.h
69         $(LEX) -o$< SDCC.lex