12bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov##===- bindings/ocaml/backends/Makefile --------------------*- Makefile -*-===##
22bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#
32bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#                     The LLVM Compiler Infrastructure
42bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#
52bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov# This file is distributed under the University of Illinois Open Source
62bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov# License. See LICENSE.TXT for details.
72bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#
82bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov##===----------------------------------------------------------------------===##
92bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#
102bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov# This is the master makefile for backend-specific bindings. It works by
112bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov# creating a stub makefile for each configured target, e.g. Makefile.ARM, and
122bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov# invoking it to compile the corresponding library, e.g. Llvm_ARM.
132bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#
142bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov# This scheme allows to keep changes to Makefile.ocaml minimal.
152bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov#
162bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov##===----------------------------------------------------------------------===##
172bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
182bdf881ee403c0493acdb3253bc697f3bd914ccaPeter ZotovLEVEL := ../../..
192bdf881ee403c0493acdb3253bc697f3bd914ccaPeter ZotovExtraMakefiles = $(PROJ_OBJ_DIR)/Makefile.common
202bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
212bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovinclude $(LEVEL)/Makefile.config
222bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovinclude $(LEVEL)/Makefile.common
232bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
242bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovall-local:: all-backends
252bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovclean-local:: clean-backends
262bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovinstall-local:: install-backends
272bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovuninstall-local:: uninstall-backends
282bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
292bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovstubs:
302bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	$(Verb) for i in $(TARGETS_TO_BUILD); do \
312bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(ECHO) "TARGET := $$i"           >  Makefile.$$i; \
322bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(ECHO) "include Makefile.common" >> Makefile.$$i; \
332bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	done
342bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
352bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovall-backends: stubs
362bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	$(Verb) for i in $(TARGETS_TO_BUILD); do \
372bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(MAKE) -f Makefile.$$i all; \
382bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	done
392bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
402bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovclean-backends: stubs
412bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	$(Verb) for i in $(TARGETS_TO_BUILD); do \
422bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(MAKE) -f Makefile.$$i clean; \
432bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(RM) -f Makefile.$$i; \
442bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	done
452bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
462bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovinstall-backends: stubs
472bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	$(Verb) for i in $(TARGETS_TO_BUILD); do \
482bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(MAKE) -f Makefile.$$i install; \
492bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	done
502bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
512bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotovuninstall-backends: stubs
522bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	$(Verb) for i in $(TARGETS_TO_BUILD); do \
532bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov		$(MAKE) -f Makefile.$$i uninstall; \
542bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov	done
552bdf881ee403c0493acdb3253bc697f3bd914ccaPeter Zotov
569eaade8b56b124150d189e1786b14306cdaf5641Sylvestre Ledruocamldoc: stubs
579eaade8b56b124150d189e1786b14306cdaf5641Sylvestre Ledru	$(Verb) for i in $(TARGETS_TO_BUILD); do \
589eaade8b56b124150d189e1786b14306cdaf5641Sylvestre Ledru		$(MAKE) -f Makefile.$$i ocamldoc; \
599eaade8b56b124150d189e1786b14306cdaf5641Sylvestre Ledru	done
609eaade8b56b124150d189e1786b14306cdaf5641Sylvestre Ledru
619eaade8b56b124150d189e1786b14306cdaf5641Sylvestre Ledru.PHONY: all-backends clean-backends install-backends uninstall-backends ocamldoc
62