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
|