summaryrefslogtreecommitdiff
path: root/camlp4/meta/Makefile
blob: 2b86349e46325e580e0805f8898a0b1840ef076a (plain)
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
# $Id$

include ../config/Makefile

INCLUDES=-I ../camlp4 -I ../boot -I $(OTOP)/utils
OCAMLCFLAGS=-warn-error A $(INCLUDES)
OBJS=q_MLast.cmo pa_r.cmo pa_rp.cmo pa_extend.cmo pa_extend_m.cmo pa_macro.cmo pr_dump.cmo
OBJSX=$(OBJS:.cmo=.cmx)
CAMLP4RM=pa_r.cmo pa_rp.cmo pr_dump.cmo
CAMLP4RMX=$(CAMLP4RM:.cmo=.cmx)
SHELL=/bin/sh
COUT=$(OBJS) camlp4r$(EXE)
COPT=camlp4r.opt

all: $(COUT)
opt: $(COPT)

camlp4r$(EXE): ../camlp4/camlp4$(EXE) $(CAMLP4RM)
	rm -f camlp4r$(EXE)
	cd ../camlp4; $(MAKE) OTOP=$(OTOP) CAMLP4=../meta/camlp4r$(EXE) CAMLP4M="-I ../meta $(CAMLP4RM)"

camlp4r.opt: $(CAMLP4RMX)
	rm -f camlp4r.opt
	cd ../camlp4; $(MAKE) optp4 OTOP=$(OTOP) CAMLP4OPT=../meta/camlp4r.opt CAMLP4M="-I ../meta $(CAMLP4RMX)"

clean::
	rm -f *.cm* *.pp[io] *.o *.bak .*.bak $(COUT) $(COPT)

depend:
	cp .depend .depend.bak
	> .depend
	@for i in *.mli *.ml; do \
	  ../tools/apply.sh pr_depend.cmo -- $(INCLUDES) $$i | \
	  sed -e 's| \.\./\.\.| $$(OTOP)|g' >> .depend; \
	done

promote:
	cp $(COUT) pa_extend.cmi ../boot/.

compare:
	@for j in $(COUT); do \
		if cmp $$j ../boot/$$j; then :; else exit 1; fi; \
	done

install:
	-$(MKDIR) "$(LIBDIR)/camlp4" "$(BINDIR)"
	cp $(OBJS) "$(LIBDIR)/camlp4/."
	cp pa_macro.cmi pa_extend.cmi "$(LIBDIR)/camlp4/."
	cp camlp4r$(EXE) "$(BINDIR)/."
	if test -f camlp4r.opt; then \
	  cp camlp4r.opt "$(BINDIR)/." ;\
	  for target in $(OBJSX) $(OBJSX:.cmx=.o) ; do \
	    if test -f $$target; then \
	      cp $$target "$(LIBDIR)/camlp4/."; \
	    fi; \
	  done; \
	fi

include .depend