Merge branch 'master' into browser
[projects/chimara/chimara.git] / babel / babel-makefile
diff --git a/babel/babel-makefile b/babel/babel-makefile
new file mode 100644 (file)
index 0000000..1b31887
--- /dev/null
@@ -0,0 +1,75 @@
+# provisional makefile for babel\r
+#\r
+# Note that to compile babel, it is necessary only to compile all the .c\r
+# files in this distribution and link them.\r
+#\r
+# This makefile is provided purely as a convenience.\r
+#\r
+# The following targets are available:\r
+#  babel:              make babel\r
+#  babel.lib:          make babel handler library (for Borland)\r
+#  ifiction.lib:       make babel ifiction library (for Borland)\r
+#  babel.a:            make babel handler library (for gcc)\r
+#  ifiction.a:         make babel ifiction library (for gcc)\r
+#  dist:               make babel.zip, the babel source distribution\r
+#\r
+# Note that this is a GNU makefile, and may not work with other makes\r
+#\r
+# Comment/uncomment the following lines to make the program work\r
+\r
+#CC=bcc32\r
+#OBJ=.obj\r
+#BABEL_LIB=babel.lib\r
+#IFICTION_LIB=ifiction.lib\r
+#BABEL_FLIB=babel_functions.lib\r
+#OUTPUT_BABEL=\r
+\r
+CC=gcc -g\r
+OBJ=.o\r
+BABEL_LIB=babel.a\r
+BABEL_FLIB=babel_functions.a\r
+IFICTION_LIB=ifiction.a\r
+OUTPUT_BABEL=-o babel\r
+\r
+treaty_objs = zcode${OBJ} magscrolls${OBJ} blorb${OBJ} glulx${OBJ} hugo${OBJ} agt${OBJ} level9${OBJ} executable${OBJ} advsys${OBJ} tads${OBJ} tads2${OBJ} tads3${OBJ} adrift${OBJ} alan${OBJ}\r
+bh_objs = babel_handler${OBJ} register${OBJ} misc${OBJ} md5${OBJ} ${treaty_objs}\r
+ifiction_objs = ifiction${OBJ} register_ifiction${OBJ}\r
+babel_functions =  babel_story_functions${OBJ} babel_ifiction_functions${OBJ} babel_multi_functions${OBJ}\r
+babel_objs = babel${OBJ} $(BABEL_FLIB) $(IFICTION_LIB) $(BABEL_LIB)\r
+\r
+babel: ${babel_objs} \r
+       ${CC} ${OUTPUT_BABEL} ${babel_objs}\r
+\r
+%${OBJ} : %.c\r
+       ${CC} -c $^\r
+\r
+register${OBJ}: modules.h\r
+\r
+babel.lib: ${foreach dep,${bh_objs},${dep}.bl}\r
+\r
+ifiction.lib: ${foreach dep,${ifiction_objs},${dep}.il}\r
+\r
+babel_functions.lib: ${foreach dep,${babel_functions},${dep}.fl}\r
+\r
+%.obj.bl: %.obj\r
+       tlib babel.lib +-$^\r
+       echo made > $@\r
+\r
+%.obj.il: %.obj\r
+       tlib ifiction.lib +-$^\r
+       echo made > $@\r
+%.obj.fl: %.obj\r
+       tlib babel_functions.lib +-$^\r
+       echo made > $@\r
+\r
+babel.a: $(bh_objs)\r
+       ar -r babel.a $^\r
+\r
+ifiction.a: $(ifiction_objs)\r
+       ar -r ifiction.a $^\r
+\r
+babel_functions.a: $(babel_functions)\r
+       ar -r babel_functions.a $^\r
+\r
+dist: \r
+       cut -c0-31 MANIFEST | zip babel.zip -@\r