# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
-# $Id: Makefile.in 81 2008-05-21 09:59:21Z richard.wm.jones $
+# $Id$
PACKAGE = @PACKAGE_NAME@
VERSION = @PACKAGE_VERSION@
INSTALL = @INSTALL@
OCAMLCFLAGS = -g
-OCAMLCPACKAGES = -package unix,str,extlib,cil -I ..
-OCAMLCLIBS = $(OCAMLCPACKAGES) -linkpkg ../bitmatch.cma
+OCAMLCPACKAGES = -package unix,str,extlib,cil -I +camlp4 -I ..
+OCAMLCLIBS = $(OCAMLCPACKAGES) camlp4lib.cma -linkpkg ../bitmatch.cma ../bitmatch_persistent.cma
OCAMLOPTFLAGS =
OCAMLOPTPACKAGES = $(OCAMLCPACKAGES)
-OCAMLOPTLIBS = $(OCAMLOPTPACKAGES) -linkpkg ../bitmatch.cmxa
+OCAMLOPTLIBS = $(OCAMLOPTPACKAGES) camlp4lib.cmxa -linkpkg ../bitmatch.cmxa ../bitmatch_persistent.cmxa
+
+PP = -pp "camlp4o -I .. bitmatch.cma bitmatch_persistent.cma pa_bitmatch.cmo"
OCAMLDOCFLAGS = -html -sort
test:
# Examples.
+#
+# To compile task_struct you'll need to grab a copy of the Linux
+# kernel original header files and set the directory below.
#DEBUG =
DEBUG = --debug
-LINUX_HEADERS = linux-2.6.25.4-headers
+LINUX_HEADERS = linux-2.6.25.7-headers
LINUX_INCLUDES = -I $(LINUX_HEADERS)
-examples: ext3.ml task_struct.ml
+#EXAMPLES = ext3 task_struct
+EXAMPLES = ext3
-ext3.ml: ext3.c bitmatch-import-c
- cd $(LINUX_HEADERS) && ln -sf asm-x86 asm
+examples: $(EXAMPLES)
+
+ext3: ext3.cmo
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCLIBS) $< -o $@
+
+ext3.cmo: ext3.ml ext3.bmpp
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $(PP) -c $< -o $@
+
+ext3.bmpp: ext3.c bitmatch-import-c
rm -f $@.new
- ./bitmatch-import-c $(DEBUG) $(LINUX_INCLUDES) $< > $@.new
+ ./bitmatch-import-c $(DEBUG) $< > $@.new
mv $@.new $@
-task_struct.ml: task_struct.c bitmatch-import-c
+task_struct: task_struct.cmo
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCLIBS) $< -o $@
+
+task_struct.cmo: task_struct.ml task_struct.bmpp
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $(PP) -c $< -o $@
+
+task_struct.bmpp: task_struct.c bitmatch-import-c
cd $(LINUX_HEADERS) && ln -sf asm-x86 asm
rm -f $@.new
./bitmatch-import-c $(DEBUG) $(LINUX_INCLUDES) $< > $@.new
# Clean.
clean:
- rm -f core *~ *.cmi *.cmo *.cmx *.cma *.cmxa *.a *.o
+ rm -f core *~ *.cmi *.cmo *.cmx *.cma *.cmxa *.a *.o *.bmpp
rm -f bitmatch-import-c bitmatch-import-c.opt
distclean: clean