1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
# Makefile,v
# Copyright (c) INRIA 2007-2017
WD=$(shell pwd)
TOP=../..
DESTDIR=
RM=rm
LAUNCH=env TOP=$(TOP) ocamlfind camlp5-buildscripts/LAUNCH --
OCAMLFIND=$(LAUNCH) ocamlfind
NOT_OCAMLFIND=$(LAUNCH) not-ocamlfind
MKCAMLP5=$(LAUNCH) mkcamlp5
PACKAGES := $(PACKAGES),fmt,camlp5.extend,camlp5.quotations
SYNTAX = camlp5r
ML=\
sexp.ml q_sexp.ml q_ast_sexp.ml pa_sexp.ml \
MLI=
CMO := $(ML:.ml=.cmo)
CMI := $(ML:.ml=.cmi)
CMX := $(ML:.ml=.cmx)
CMT := $(ML:.ml=.cmt)
CMTI := $(MLI:.mli=.cmti)
all: $(CMO) $(CMX) local-install
test:
doc: $(CMT) $(CMTI)
KITS=$(CMO)
META: META.pl
./META.pl > META
install::
mkdir -p $(DESTDIR)/lib
./META.pl > META
$(NOT_OCAMLFIND) reinstall-if-diff sexp_example -destdir $(DESTDIR)/lib META $(CMO) $(CMX) $(MLI:.mli=.cmi) $(KITS:.cmo=.o) $(CMI) $(wildcard *.cmt*)
$(RM) -f META
local-install::
$(MAKE) DESTDIR=$(WD)/$(TOP)/local-install/ install
.SUFFIXES: .cmo .cmi .ml .mli .cmx .cma .cmxa .cmt .cmti
clean::
rm -rf META *.cm* *.o *.a
EXTERNAL := $(shell $(OCAMLFIND) query -predicates byte -format '%m' $(PACKAGES) | grep local-install)
$(CMO) $(CMI) $(CMX): $(EXTERNAL)
depend::
echo "$(CMO) $(CMI) $(CMX): $(EXTERNAL)" > .depend.NEW
$(OCAMLFIND) ocamldep $(DEBUG) -package $(PACKAGES) -syntax camlp5r *.ml *.mli >> .depend.NEW \
&& mv .depend.NEW .depend
-include .depend
.ml.cmo:
$(NOT_OCAMLFIND) preprocess $(OCAMLCFLAGS) -package $(PACKAGES),camlp5.pr_r -syntax $(SYNTAX) $< > $@.ppo.ml
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -package $(PACKAGES) -syntax $(SYNTAX) -c $@.ppo.ml
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -package $(PACKAGES) -syntax $(SYNTAX) -c $<
.ml.cmx:
$(OCAMLFIND) ocamlopt $(OCAMLCFLAGS) -package $(PACKAGES) -syntax $(SYNTAX) -c $<
|