* fixed GCC 4.4.0 mingw compilation:
[fw/sdcc] / src / Makefile.bcc
index ae535aed0ae991f729d1b0bffd6bacf7a5677022..dc2cfe1fc55065a0eb99fa2fcfb9a7723e48b311 100644 (file)
@@ -1,65 +1,68 @@
-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
+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
+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