File: Makefile

package info (click to toggle)
tyxml 3.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 884 kB
  • ctags: 5,290
  • sloc: ml: 14,771; makefile: 184; sh: 22
file content (71 lines) | stat: -rw-r--r-- 1,612 bytes parent folder | download
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
69
70
71
include ../Makefile.config
-include ../Makefile.local

FILES   := xmllexer.ml camllexer.ml simplexmlparser.mli pa_tyxml.mli
RFILES  := basic_types.ml \
	   simplexmlparser.ml \
	   xhtmlparser.ml xhtmlsyntax.ml

PREDEP  := xmllexer.ml camllexer.ml

LIBS    := -package camlp4
PP      := -pp "camlp4of"
PPR     := -pp "camlp4rf"

OCAMLC   := $(OCAMLFIND) ocamlc $(DBG) $(LIBS)
OCAMLOPT := $(OCAMLFIND) ocamlopt $(DBG) $(LIBS)
OCAMLDEP := $(OCAMLFIND) ocamldep $(LIBS)

byte: pa_${LIBNAME}.cmi pa_${LIBNAME}.cmo xmllexer.cmo simplexmlparser.cmo
opt:: xmllexer.cmx simplexmlparser.cmx
ifeq "${NATDYNLINK}" "yes"
opt:: xmllexer.cmxs simplexmlparser.cmxs
endif

OBJS := xmllexer.cmo basic_types.cmo camllexer.cmo xhtmlparser.cmo xhtmlsyntax.cmo

pa_${LIBNAME}.cmo: ${OBJS}
	$(OCAMLC) -pack -o $@ $^

# Common rules

ML   := $(filter %.ml,${FILES})
MLI  := $(filter %.mli,${FILES})
MLR  := $(filter %.ml,${RFILES})
MLIR := $(filter %.mli,${RFILES})

${MLI:.mli=.cmi}: %.cmi: %.mli
	$(OCAMLC) $(PP) -c $<
${ML:.ml=.cmo}: %.cmo: %.ml
	$(OCAMLC) $(PP) -c $<
${ML:.ml=.cmx}: %.cmx: %.ml
	$(OCAMLOPT) $(PP) -c $<

${MLIR:.mli=.cmi}: %.cmi: %.mli
	$(OCAMLC) $(PPR) -c $<
${MLR:.ml=.cmo}: %.cmo: %.ml
	$(OCAMLC) $(PPR) -c $<
${MLR:.ml=.cmx}: %.cmx: %.ml
	$(OCAMLOPT) $(PPR) -c $<

%.ml: %.mll
	$(OCAMLLEX) $<

%.cmxs: %.cmx
	$(OCAMLOPT) -shared -linkall -o $@ $<

# Clean up
clean:
	-rm -f ${PREDEP}
	-rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot
distclean: clean
	-rm -f *~ \#* .\#*

# Dependencies
depend: ${PREDEP}
	$(OCAMLDEP) $(PP) ${FILES} > .depend
	$(OCAMLDEP) $(PPR) ${RFILES} >> .depend

FORCE:

-include .depend