home: hub: 9ficl

Download patch

ref: 8e431ba2bb96d34038f7e88afa16b4a760a07176
parent: 70e1a6668e914803904bf5d42f6b08a369d0d1cc
author: asau <asau@ficl.sf.net>
date: Mon Oct 25 05:38:24 CDT 2010

Merge "ansi" makefile into master one, pass "platform=ansi" to build ansi backend.

--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,28 @@
 SRCDIR=	.
 VPATH=	$(SRCDIR):$(SRCDIR)/softcore
 # core:
-OBJECTS= dictionary.o system.o fileaccess.o float.o double.o prefix.o search.o softcore.o stack.o tools.o vm.o primitives.o bit.o lzuncompress.o unix.o utility.o hash.o callback.o word.o extras.o
-HEADERS= ficl.h ficlplatform/unix.h
+OBJECTS= dictionary.o system.o fileaccess.o float.o double.o prefix.o search.o softcore.o stack.o tools.o vm.o primitives.o bit.o lzuncompress.o utility.o hash.o callback.o word.o extras.o $(OBJECTS.$(platform))
+HEADERS= ficl.h $(HEADERS.$(platform))
+# platform dependent source:
+OBJECTS.unix=	unix.o
+HEADERS.unix=	ficlplatform/unix.h
+OBJECTS.ansi=	ansi.o
+HEADERS.ansi=	ficlplatform/ansi.h
 # soft core:
 SOURCES = softcore.fr ifbrack.fr prefix.fr ficl.fr jhlocal.fr marker.fr oo.fr classes.fr string.fr ficllocal.fr fileaccess.fr
 #
 # Flags for shared library
 SHFLAGS = -fPIC
-CFLAGS= -O $(SHFLAGS) -Wall
-CPPFLAGS= -I.
+CFLAGS= $(CFLAGS.$(platform)) -O $(SHFLAGS) -Wall
+CPPFLAGS= $(CPPFLAGS.$(platform)) -I.
+# Platform dependent flags:
+CFLAGS.unix=	# empty
+CPPFLAGS.unix=	# empty
+CFLAGS.ansi=	-ansi
+CPPFLAGS.ansi=	-ansi -DFICL_ANSI
+# Default platform is "unix"
+platform=	unix
+#
 CC = cc
 LIB = ar cr
 RANLIB = ranlib
--- a/Makefile.ansi
+++ /dev/null
@@ -1,65 +1,0 @@
-SRCDIR=	.
-VPATH=	$(SRCDIR):$(SRCDIR)/softcore
-# core:
-OBJECTS= dictionary.o system.o fileaccess.o float.o double.o prefix.o search.o softcore.o stack.o tools.o vm.o primitives.o bit.o lzuncompress.o ansi.o utility.o hash.o callback.o word.o extras.o
-HEADERS= ficl.h ficlplatform/ansi.h
-# soft core:
-SOURCES = softcore.fr ifbrack.fr prefix.fr ficl.fr jhlocal.fr marker.fr oo.fr classes.fr string.fr ficllocal.fr fileaccess.fr
-#
-# Flags for shared library
-SHFLAGS = -fPIC
-CFLAGS= -ansi -O $(SHFLAGS) -Wall
-CPPFLAGS= -ansi -DFICL_ANSI -I.
-CC = cc
-LIB = ar cr
-RANLIB = ranlib
-
-MAJOR = 4
-MINOR = 1.0
-
-ficl: main.o $(HEADERS) libficl.a
-	$(CC) $(CFLAGS) $(LDFLAGS) main.o -o ficl -L. -lficl -lm
-
-lib: libficl.so.$(MAJOR).$(MINOR)
-
-# static library build
-libficl.a: $(OBJECTS)
-	$(LIB) libficl.a $(OBJECTS)
-	$(RANLIB) libficl.a
-
-# shared library build
-libficl.so.$(MAJOR).$(MINOR): $(OBJECTS)
-	$(CC) $(LDFLAGS) -shared -Wl,-soname,libficl.so.$(MAJOR).$(MINOR) \
-	-o libficl.so.$(MAJOR).$(MINOR) $(OBJECTS)
-	ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so
-
-main: main.o ficl.h sysdep.h libficl.so.$(MAJOR).$(MINOR)
-	$(CC) $(CFLAGS) $(LDFLAGS) main.o -o main -L. -lficl -lm
-	ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so.$(MAJOR)
-
-ansi.o: ficlplatform/ansi.c $(HEADERS)
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ ficlplatform/ansi.c
-
-# generate softcore source
-softcore.c: $(SOURCES)
-	(cd softcore && exec $(MAKE) softcore.c) && cp softcore/softcore.c .
-
-#
-#       generic object code
-#
-.SUFFIXES: .cxx .cc .c .o
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
-
-.cxx.o:
-	$(CPP) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
-
-.cc.o:
-	$(CPP) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
-#
-#       generic cleanup code
-#
-clean:
-	rm -f *.o *.a libficl.* ficl
-	rm -f softcore.c softcore/softcore.c