X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=Makefile.am;h=f6e2f329f34d6d48b3673706376a28a612fd40a2;hb=9a049cb107efab5b03dae694d8c7bf9b97655450;hp=b995c23287c8e1d14286ab08363cef29a17f5d08;hpb=b71fd4c0029678140d2496ac52f7b79f1ad96fe1;p=goaljobs.git diff --git a/Makefile.am b/Makefile.am index b995c23..f6e2f32 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,29 +21,57 @@ ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = \ COPYING \ + goaljobs \ + goaljobs_config.ml.in \ + goaljobs.ml \ + goaljobs.mli \ + goaljobs.pod \ + goaljobs-reference.pod \ + goaljobs.spec \ + goaljobs.spec.in \ + html/.gitignore \ + META.in \ NOTES \ + pa_goal.ml \ README \ - $(sources) + TODO SUBDIRS = . examples tests sources = \ + goaljobs_config.ml \ goaljobs.ml \ goaljobs.mli -noinst_SCRIPTS = goaljobs.cmxa pa_goal.cmo +bin_SCRIPTS = goaljobs + +# These targets are noinst because we use a custom install hook to +# install them, and are _SCRIPTS because automake doesn't know how to +# compile OCaml code. +noinst_SCRIPTS = goaljobs.cma goaljobs.cmxa pa_goal.cmo # Library. -goaljobs.cmxa: goaljobs.cmx - $(OCAMLFIND) ocamlopt -a -o $@ $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $< +goaljobs.cma: goaljobs_config.cmo goaljobs.cmo + $(OCAMLFIND) ocamlc -a -o $@ $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $^ + +goaljobs.cmxa: goaljobs_config.cmx goaljobs.cmx + $(OCAMLFIND) ocamlopt -a -o $@ $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $^ # Preprocessor for goaljobs scripts. pa_goal.cmo: pa_goal.ml $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -package camlp4.lib -linkpkg \ -pp $(CAMLP4OF) -c $< -o $@ -# Dependencies. +# Install. +install-data-hook: + mkdir -p $(DESTDIR)$(OCAMLLIB) + $(OCAMLFIND) install \ + -ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \ + goaljobs \ + META goaljobs.cma goaljobs.cmxa pa_goal.cmo *.cmi $(srcdir)/*.mli + rm $(DESTDIR)$(OCAMLLIB)/goaljobs/pa_goal.cmi +# Dependencies. depend: .depend .depend: $(sources) @@ -57,9 +85,59 @@ depend: .depend -include .depend -SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly +rpm: dist + rpmbuild -ta $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz -# License check. +if HAVE_POD2MAN + +man_MANS = goaljobs.1 goaljobs-reference.1 + +goaljobs.1: goaljobs.pod + $(POD2MAN) -c "Goaljobs" --release $(PACKAGE)-$(VERSION) $< > $@-t + mv $@-t $@ + +goaljobs-reference.1: goaljobs-reference.pod + $(POD2MAN) -c "Goaljobs" --release $(PACKAGE)-$(VERSION) $< > $@-t + mv $@-t $@ +goaljobs.1.txt: goaljobs.pod + pod2text $< > $@-t + mv $@-t $@ + +goaljobs-reference.1.txt: goaljobs-reference.pod + pod2text $< > $@-t + mv $@-t $@ + +endif + +if HAVE_OCAMLDOC + +# HTML library documentation. +# XXX The list below probably changes with every ocamldoc version. +# How can we use a wildcard? +doc_DATA = \ + html/Goaljobs.html \ + html/index_attributes.html \ + html/index_classes.html \ + html/index_class_types.html \ + html/index_exceptions.html \ + html/index.html \ + html/index_methods.html \ + html/index_modules.html \ + html/index_module_types.html \ + html/index_types.html \ + html/index_values.html \ + html/style.css \ + html/type_Goaljobs.html + +$(doc_DATA): stamp-ocamldoc +stamp-ocamldoc: goaljobs.mli goaljobs.ml + rm -f $@ + $(OCAMLFIND) ocamldoc -html -d html $(OCAMLCPACKAGES) $^ + touch $@ + +endif + +# License check. licensecheck: licensecheck $$(git ls-files)