* fixed GCC 4.4.0 mingw compilation:
[fw/sdcc] / support / cpp / Makefile.bcc
index a1cad79c5b3cbb7c0c1674ca0c6b9a27c822c3c0..fcdd33a693bb5cba385cbad8ecb2b7b1eec4d7e2 100644 (file)
@@ -1,43 +1,85 @@
-VERSION         = 2.2.0
-VERSIONHI       = 2
-VERSIONLO       = 2
-VERSIONP        = 0
+# Makefile for Borlad C++
 
-PRJDIR         = ..\..
+PRJDIR          = ../..
 
-srcdir         = .
-prefix         = /cygnus/cygwin-b20/kvigor/
-exec_prefix     = ${prefix}
-bindir          = ${exec_prefix}/bin
-libdir          = ${exec_prefix}/lib
-datadir         = ${prefix}/share
-includedir      = ${prefix}/include
-mandir          = ${prefix}/man
-man1dir         = $(mandir)/man1
-man2dir         = $(mandir)/man2
-infodir         = ${prefix}/info
+!include $(PRJDIR)/Bcc.inc
 
-STD_INC         = @sdcc_include_dir@
-!include ..\..\bcc.inc
-CFLAGS  = -I. -I$(PRJDIR) -D_FORASXXXX_
-M_OR_MM         = -MM
-LDFLAGS                = 
+CFLAGS = $(CFLAGS) -I. -I./libiberty -I./libcpp -I./libcpp/include -DHAVE_CONFIG_H
+AWK = gawk
 
-OBJECTS         = cppalloc.obj cpperror.obj cppexp.obj cpphash.obj cpplib.obj cppmain.obj
+LIBCPP_OBJS =  charset.obj directives.obj errors.obj expr.obj files.obj identifiers.obj \
+               init.obj lex.obj line-map.obj macro.obj mkdeps.obj symtab.obj traditional.obj
 
-SLIBOBJS       = $(SLIB)\NewAlloc.obj
+LIBIBERTY_OBJS = concat.obj fopen_unlocked.obj getpwd.obj hashtab.obj hex.obj \
+                lbasename.obj md5.obj obstack.obj safe-ctype.obj splay-tree.obj \
+                vasprintf.obj xexit.obj xmalloc.obj xmemdup.obj xstrdup.obj \
+                xstrerror.obj
 
-TARGET          = $(PRJDIR)\bin\sdcppold.exe
+SDCC_OBJS = sdcpp.obj sdcpp-opts.obj c-ppoutput.obj cppdefault.obj prefix.obj \
+           version.obj opts.obj options.obj c-incpath.obj
 
+OBJECTS = $(SDCC_OBJS) $(LIBCPP_OBJS) $(LIBIBERTY_OBJS)
+
+TARGET = $(PRJDIR)/bin/sdcpp.exe
 
-# Compiling entire program or any subproject
-# ------------------------------------------
 all: $(TARGET)
 
-$(TARGET): $(SLIBOBJS) $(OBJECTS)
-        bcc32 -e$(TARGET) $(OBJECTS) $(SLIBOBJS)
+auto-host.h: auto-host_vc_in.h
+        copy auto-host_vc_in.h auto-host.h > nul
+
+##########################
+# Libcpp
+
+charset.obj: libcpp\charset.c
+directives.obj: libcpp\directives.c
+errors.obj: libcpp\errors.c
+expr.obj: libcpp\expr.c
+files.obj: libcpp\files.c
+identifiers.obj: libcpp\identifiers.c
+init.obj: libcpp\init.c
+lex.obj: libcpp\lex.c
+line-map.obj: libcpp\line-map.c
+macro.obj: libcpp\macro.c
+mkdeps.obj: libcpp\mkdeps.c
+symtab.obj: libcpp\symtab.c
+traditional.obj: libcpp\traditional.c
+
+##########################
+# Libiberty
+
+concat.obj: libiberty\concat.c
+fopen_unlocked.obj: libiberty\fopen_unlocked.c
+getpwd.obj: libiberty\getpwd.c
+hashtab.obj: libiberty\hashtab.c
+hex.obj: libiberty\hex.c
+lbasename.obj: libiberty\lbasename.c
+md5.obj: libiberty\md5.c
+obstack.obj: libiberty\obstack.c
+safe-ctype.obj: libiberty\safe-ctype.c
+splay-tree.obj: libiberty\splay-tree.c
+vasprintf.obj: libiberty\vasprintf.c
+xexit.obj: libiberty\xexit.c
+xmalloc.obj: libiberty\xmalloc.c
+xmemdup.obj: libiberty\xmemdup.c
+xstrdup.obj: libiberty\xstrdup.c
+xstrerror.obj: libiberty\xstrerror.c
+
+##########################
+# Sdcpp
+
+$(TARGET): auto-host.h $(OBJECTS)
+        $(CC) $(CFLAGS) -e$(TARGET) $(OBJECTS)
+
+optionlist.tmp:
+       $(AWK) -f opt-gather.awk sdcpp.opt > optionlist.tmp
 
-!include Makefile.dep
+options.c: optionlist.tmp
+       $(AWK) -f opt-functions.awk -f optc-gen.awk -v header_name="config.h system.h options.h" optionlist.tmp > options.c
 
+options.h: optionlist.tmp
+       $(AWK) -f opt-functions.awk -f opth-gen.awk optionlist.tmp > options.h 
 
-# End of cpp/Makefile
+sdcpp.obj: sdcpp.c options.h
+sdcpp-opts.obj: sdcpp-opts.c options.h
+options.obj: options.c options.h
+opts.obj: opts.c options.h