-PRJDIR = ..
+# Makefile for Borlad C++
-# !include $(PRJDIR)/Makefile.common
+PRJDIR = ..
-!include ..\Bcc.inc
-CFLAGS = -I. -I.. -I..\support
+!include $(PRJDIR)/Bcc.inc
+CFLAGS = $(CFLAGS) -I$(PRJDIR)
-PORTS = mcs51 z80 avr ds390 pic izt
-PORT_LIBS = mcs51/port.lib z80/port.lib avr/port.lib ds390/port.lib pic/port.lib izt/port.lib
-
-#LIBS = -lgc
-#LIBDIRS = -L$(PRJDIR)/support/gc
-#LIBGC = $(PRJDIR)/support/gc/gc.lib
-LIBS=
-LIBDIRS=
-LIBGC=
+PORTS = mcs51 xa51 z80 avr ds390 pic
+PORT_LIBS = mcs51/port.lib xa51/port.lib z80/port.lib avr/port.lib ds390/port.lib pic/port.lib
OBJECTS = SDCCy.obj SDCClex.obj SDCChasht.obj SDCCmain.obj \
SDCCsymt.obj SDCCopt.obj SDCCast.obj SDCCmem.obj SDCCval.obj \
SDCCicode.obj SDCCbitv.obj SDCCset.obj SDCClabel.obj \
SDCCBBlock.obj SDCCloop.obj SDCCcse.obj SDCCcflow.obj SDCCdflow.obj \
SDCClrange.obj SDCCptropt.obj SDCCpeeph.obj SDCCglue.obj \
- asm.obj
+ SDCCasm.obj SDCCutil.obj SDCCmacro.obj SDCCdebug.obj cdbFile.obj SDCCerr.obj
-SLIBOBJS = $(SLIB)\SDCCerr.obj $(SLIB)\NewAlloc.obj $(SLIB)\MySystem.obj $(SLIB)\BuildCmd.obj
+SLIBOBJS = $(SLIB)/NewAlloc.obj $(SLIB)/MySystem.obj $(SLIB)/BuildCmd.obj $(SLIB)/dbuf.obj
TARGET = $(PRJDIR)/bin/sdcc.exe
-# Compiling entire program or any subproject
-# ------------------------------------------
-all: $(LIBGC) $(TARGET)
+all: version.h $(TARGET)
-ports:
- for i in $(PORTS); do $(MAKE) -C $$i; done
+ports: $(PORT_LIBS)
-#$(PRJDIR)/support/gc/libgc.a:
-# cd $(PRJDIR)/support/gc && $(MAKE)
+$(TARGET): $(OBJECTS) $(SLIBOBJS) ports
+ $(CC) -e$(TARGET) $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS) $(LIBGC)
+version.h: ../ChangeLog
+ gawk -f version.awk $< > $@
-!include Makefile.dep
-#!include clean.mk
+mcs51/port.lib:
+ cd mcs51
+ make -f Makefile.bcc
+ cd ..
+xa51/port.lib:
+ cd xa51
+ make -f Makefile.bcc
+ cd ..
-# My rules
-# --------
-$(TARGET): $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS)
- bcc32 -e$(TARGET) $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS) $(LIBGC)
+z80/port.lib:
+ cd z80
+ make -f Makefile.bcc
+ cd ..
-SDCCy.h: SDCCy.c
+avr/port.lib:
+ cd avr
+ make -f Makefile.bcc
+ cd ..
-SDCCy.c: SDCC.y
- $(YACC) -d -v -o $@ $<
-
-SDCClex.c: SDCC.lex SDCCy.h
- $(LEX) -t $< >$@
+ds390/port.lib:
+ cd ds390
+ make -f Makefile.bcc
+ cd ..
-.y.c:
- rm -f $*.cc $*.h
- $(YACC) -d $<
- mv y.tab.c $*.cc
- mv y.tab.h $*.h
-
-.l.c:
- rm -f $*.cc
- $(LEX) -t $< >$*.cc
+pic/port.lib:
+ cd pic
+ make -f Makefile.bcc
+ cd ..
+SDCCy.h: SDCCy.c
+SDCCy.c: SDCC.y
+ $(YACC) -d -v -o $< SDCC.y
+SDCClex.c: SDCC.lex SDCCy.h
+ $(LEX) -o$< SDCC.lex