OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
-PP = -pp '$(CAMLP4O) ../preprocessor/pa_wrap.cmo -impl'
+PP = -pp '$(CAMLP4O) ../generator-macros/pa_wrap.cmo -impl'
#API_FILES = $(wildcard *.api)
API_FILES = mkdir.api mknod.api
# camlp4-based preprocessor must be compiled first before we can
# compile the rest of the generator. Hence the rather convoluted set
# of subdirectories here.
-SUBDIRS = preprocessor APIs generator
+SUBDIRS = generator-lib generator-macros APIs generator
# The C library.
SUBDIRS += lib
--- /dev/null
+# wrappi
+# Copyright (C) 2011 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX
+OCAMLOPTFLAGS = $(OCAMLCFLAGS)
+
+OBJECTS = wrappi_types.cmo
+
+noinst_SCRIPTS = generator_lib.cma
+
+generator_lib.cma: $(OBJECTS)
+ $(OCAMLMKLIB) $^ -o generator_lib
+
+%.cmi: %.mli
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
+%.cmo: %.ml
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
+%.cmx: %.ml
+ $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -c $< -o $@
+
+CLEANFILES = *.cmi *.cmo *.cmx *~
+
+depend: .depend
+
+.depend: $(wildcard *.mli) $(wildcard *.ml)
+ rm -f $@ $@-t
+ $(OCAMLFIND) ocamldep $^ | \
+ $(SED) -e 's/ *$$//' | \
+ $(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
+ LANG=C sort > $@-t
+ mv $@-t $@
+
+include .depend
+
+SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly
noinst_SCRIPTS = pa_wrap.cmo
-pa_wrap.cmo: pa_wrap.ml wrappi_types.cmo
- $(OCAMLFIND) ocamlc -I +camlp4 dynlink.cma camlp4lib.cma \
+pa_wrap.cmo: pa_wrap.ml ../generator-lib/generator_lib.cma
+ $(OCAMLFIND) ocamlc -I +camlp4 -I ../generator-lib \
+ dynlink.cma camlp4lib.cma generator_lib.cma \
-pp $(CAMLP4OF) \
- wrappi_types.cmo -c $< -o $@
+ -c $< -o $@
%.cmi: %.mli
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@