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