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
|
#----------------------------------------------------------------------
# specific rules for this package:
SOURCES = html.ml scan.ml parse.ml database.ml agent.ml
OBJECTS = $(SOURCES:.ml=.cmo)
XOBJECTS = $(OBJECTS:.cmo=.cmx)
ARCHIVE = spider.cma
XARCHIVE = $(ARCHIVE:.cma=.cmxa)
NAME = spider
REQUIRES = netclient
all: $(ARCHIVE)
$(OCAMLC) -o spider -custom $(ARCHIVE) main.ml -linkpkg
$(ARCHIVE): $(OBJECTS)
$(OCAMLC) -a -o $(ARCHIVE) $(OBJECTS)
$(XARCHIVE): $(XOBJECTS)
$(OCAMLOPT) -a -o $(XARCHIVE) $(XOBJECTS)
#----------------------------------------------------------------------
# general rules:
OPTIONS = -syntax camlp4o -package camlp4
OCAMLC = $(OCAMLFIND) ocamlc $(DEBUG) $(OPTIONS) -package "$(REQUIRES)"
OCAMLOPT = $(OCAMLFIND) ocamlopt $(OPTIONS) -package "$(REQUIRES)"
OCAMLDEP = $(OCAMLFIND) ocamldep $(OPTIONS)
OCAMLLEX = ocamllex
OCAMLFIND = ocamlfind
DEBUG =
# Invoke with: make DEBUG=-g
depend: $(SOURCES) *.mli
$(OCAMLDEP) *.ml *.mli >depend
.PHONY: clean
clean:
rm -f *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa spider
.PHONY: distclean
distclean: clean
rm -f *~ depend depend.pkg db out
.SUFFIXES: .cmo .cmi .cmx .ml .mli .mll
.ml.cmx:
$(OCAMLOPT) -c $<
.ml.cmo:
$(OCAMLC) -c $<
.mli.cmi:
$(OCAMLC) -c $<
.mll.ml:
$(OCAMLLEX) $<
*.mli:
true
include depend
|