74813ff1e2af1b22afddeb38192436f7873b4695
[wrappi.git] / APIs / Makefile.am
1 # wrappi
2 # Copyright (C) 2011 Red Hat Inc.
3 #
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.
8 #
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.
13 #
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.
17
18 OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX -I +camlp4 -I ../generator-lib
19 OCAMLOPTFLAGS = $(OCAMLCFLAGS)
20
21 PP = -pp '$(CAMLP4O) ../generator-macros/pa_wrap.cmo -impl'
22
23 #API_FILES = $(wildcard *.api)
24 API_FILES = fileperm.api mkdir.api mknod.api pathname.api
25
26 OBJECTS = $(patsubst %.api,%.cmo,$(API_FILES))
27
28 noinst_SCRIPTS = apis.cma
29
30 apis.cma: $(OBJECTS) ../generator-lib/generator_lib.cma
31         $(OCAMLFIND) ocamlc -linkall -a $(OBJECTS) -o apis.cma
32
33 %.cmo: %.api ../generator-lib/generator_lib.cma
34         $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) $(PP) -impl $< -c -o $@
35
36 CLEANFILES = *.cmi *.cmo *.cmx *.cma *.cmxa *~
37
38 depend: .depend
39
40 .depend: $(API_FILES)
41         rm -f $@ $@-t
42         $(OCAMLFIND) ocamldep $(PP) -impl $^ | \
43           $(SED) -e 's/ *$$//' | \
44           $(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
45           LANG=C sort > $@-t
46         mv $@-t $@
47
48 include .depend
49
50 SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly .api