Combine generator subdirectories into one.
[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
19 OCAMLOPTFLAGS = $(OCAMLCFLAGS)
20
21 PP = -pp '$(CAMLP4O) ../generator/pa_wrap.cmo -impl'
22
23 API_FILES = $(wildcard *.api)
24
25 OBJECTS = $(patsubst %.api,%.cmo,$(API_FILES))
26
27 # Note this target is built by a recursive call from generator/Makefile.am.
28 apis.cma: $(OBJECTS) ../generator/generator_lib.cma
29         $(OCAMLFIND) ocamlc -linkall -a $(OBJECTS) -o apis.cma
30
31 %.cmo: %.api ../generator/generator_lib.cma ../generator/pa_wrap.cmo
32         $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) $(PP) -impl $< -c -o $@
33
34 CLEANFILES = *.cmi *.cmo *.cmx *.cma *.cmxa *~
35
36 depend: .depend
37
38 .depend: $(API_FILES)
39         rm -f $@ $@-t
40         $(OCAMLFIND) ocamldep $(PP) -impl $^ | \
41           $(SED) -e 's/ *$$//' | \
42           $(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
43           LANG=C sort > $@-t
44         mv $@-t $@
45
46 include .depend
47
48 SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly .api