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
|
#----------------------------------------------------------------------
# specific rules for this package:
SOURCES = telnet.ml
OBJECTS = $(SOURCES:.ml=.cmo)
XOBJECTS = $(OBJECTS:.cmo=.cmx)
ARCHIVE = telnet.cma
XARCHIVE = $(ARCHIVE:.cma=.cmxa)
NAME = telnet
REQUIRES = netclient, labltk, equeue-tcl
all: $(ARCHIVE)
$(OCAMLC) -o telnet $(ARCHIVE) main.ml \
-linkpkg
$(ARCHIVE): $(OBJECTS)
$(OCAMLC) -a -o $(ARCHIVE) $(OBJECTS)
$(XARCHIVE): $(XOBJECTS)
$(OCAMLOPT) -a -o $(XARCHIVE) $(XOBJECTS)
#----------------------------------------------------------------------
# general rules:
OPTIONS =
OCAMLC = ocamlfind ocamlc -package "$(REQUIRES)" \
$(DEBUG) $(OPTIONS)
OCAMLOPT = ocamlfind ocamlopt -package "$(REQUIRES)" \
$(OPTIONS)
OCAMLDEP = 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 telnet
.PHONY: distclean
distclean: clean
rm -f *~ depend depend.pkg
.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
|