Remote protocol working.
[wrappi.git] / generator / Makefile.am
index 6cfc2c2..cc34af3 100644 (file)
 # 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
+OCAMLPACKAGES = -package unix,camlp4.lib
+
+OCAMLCFLAGS = \
+       -g -warn-error CDEFLMPSUVYZX \
+       -I ../generator-lib $(OCAMLPACKAGES)
 OCAMLOPTFLAGS = $(OCAMLCFLAGS)
 
-%.cmi: %.mli
+# In alphabetical order.
+SOURCES = \
+       wrappi_boilerplate.mli \
+       wrappi_boilerplate.ml \
+       wrappi_c_impl.mli \
+       wrappi_c_impl.ml \
+       wrappi_c_xdr.mli \
+       wrappi_c_xdr.ml \
+       wrappi_c.mli \
+       wrappi_c.ml \
+       wrappi_enums.mli \
+       wrappi_enums.ml \
+       wrappi_main.ml \
+       wrappi_pr.mli \
+       wrappi_pr.ml \
+       wrappi_structs.mli \
+       wrappi_structs.ml
+
+# In dependency order.
+OBJECTS = \
+       wrappi_pr.cmo \
+       wrappi_boilerplate.cmo \
+       wrappi_enums.cmo \
+       wrappi_structs.cmo \
+       wrappi_c_impl.cmo \
+       wrappi_c_xdr.cmo \
+       wrappi_c.cmo \
+       wrappi_main.cmo
+
+noinst_SCRIPTS = generator
+
+generator: $(OBJECTS) ../generator-lib/generator_lib.cma ../APIs/apis.cma
+       $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -linkpkg \
+         ../generator-lib/generator_lib.cma ../APIs/apis.cma \
+         $(OBJECTS) \
+         -o $@
+
+%.cmi: %.mli ../generator-lib/generator_lib.cma
        $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
 %.cmo: %.ml
        $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
 %.cmx: %.ml
        $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -c $< -o $@
 
-CLEANFILES = *.cmi *.cmo *.cmx *~
+# Run the generator.
+noinst_DATA = stamp-generator
+
+stamp-generator: generator
+       cd $(top_srcdir) && generator/generator
 
 depend: .depend
 
-.depend: $(wildcard *.mli) $(wildcard *.ml)
+.depend: $(SOURCES)
        rm -f $@ $@-t
        $(OCAMLFIND) ocamldep $^ | \
          $(SED) -e 's/ *$$//' | \
@@ -39,4 +84,6 @@ depend: .depend
 
 include .depend
 
+CLEANFILES = *.cmi *.cmo *.cmx *~ generator
+
 SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly