2 # Copyright (C) 2013 Red Hat Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 include common-rules.mk
20 ACLOCAL_AMFLAGS = -I m4
25 goaljobs_config.ml.in \
30 goaljobs-reference.pod \
39 SUBDIRS = . examples tests
47 bin_SCRIPTS = goaljobs goaljobs-memory
49 # These targets are noinst because we use a custom install hook to
50 # install them, and are _SCRIPTS because automake doesn't know how to
52 noinst_SCRIPTS = goaljobs.cma goaljobs.cmxa pa_goal.cmo
55 goaljobs.cma: goaljobs_config.cmo goaljobs.cmo
56 $(OCAMLFIND) ocamlc -a -o $@ $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $^
58 goaljobs.cmxa: goaljobs_config.cmx goaljobs.cmx
59 $(OCAMLFIND) ocamlopt -a -o $@ $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $^
61 # Preprocessor for goaljobs scripts.
62 pa_goal.cmo: pa_goal.ml
63 $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -package camlp4.lib -linkpkg \
64 -pp $(CAMLP4OF) -c $< -o $@
66 # Standalone program for examining the goaljobs memory.
67 goaljobs-memory: goaljobs_config.cmx goaljobs.cmx goaljobs_memory.cmx
68 $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) \
73 mkdir -p $(DESTDIR)$(OCAMLLIB)
74 $(OCAMLFIND) install \
75 -ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \
77 META goaljobs.cma goaljobs.cmxa pa_goal.cmo *.cmi $(srcdir)/*.mli
78 rm $(DESTDIR)$(OCAMLLIB)/goaljobs/pa_goal.cmi
85 $(OCAMLFIND) ocamldep -I $(abs_srcdir) $^ | \
87 $(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
88 $(SED) -e 's,$(abs_srcdir)/,$(builddir)/,g' | \
95 rpmbuild -ta $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz
99 man_MANS = goaljobs.1 goaljobs-reference.1
101 goaljobs.1: goaljobs.pod
102 $(POD2MAN) -c "Goaljobs" --release $(PACKAGE)-$(VERSION) $< > $@-t
105 goaljobs-reference.1: goaljobs-reference.pod
106 $(POD2MAN) -c "Goaljobs" --release $(PACKAGE)-$(VERSION) $< > $@-t
109 goaljobs.1.txt: goaljobs.pod
113 goaljobs-reference.1.txt: goaljobs-reference.pod
121 # HTML library documentation.
122 # XXX The list below probably changes with every ocamldoc version.
123 # How can we use a wildcard?
126 html/index_attributes.html \
127 html/index_classes.html \
128 html/index_class_types.html \
129 html/index_exceptions.html \
131 html/index_methods.html \
132 html/index_modules.html \
133 html/index_module_types.html \
134 html/index_types.html \
135 html/index_values.html \
137 html/type_Goaljobs.html
139 $(doc_DATA): stamp-ocamldoc
140 stamp-ocamldoc: goaljobs.mli goaljobs.ml
142 $(OCAMLFIND) ocamldoc -html -d html $(OCAMLCPACKAGES) $^
149 licensecheck $$(git ls-files)