CC=ocamlopt SRCFILES=genprintval.ml toploop.ml trace.ml topdirs.ml topmain.ml CMXFILES=$(SRCFILES:.ml=.cmx) TOPLIBNAME=tmp_ocamltoplevel TOPLIBA=$(addsuffix .a, ${TOPLIBNAME}) TOPLIBCMXA=$(addsuffix .cmxa, ${TOPLIBNAME}) OTHERLIB=ocamlcommon ocamlbytecomp OTHERLIBCMXA=$(addsuffix .cmxa, ${OTHERLIB}) OTHERLIBA=$(addsuffix .a, ${OTHERLIB}) GENERALFLAGS=-g -I +compiler-libs CFLAGS=-strict-sequence -principal -absname -bin-annot -safe-string -strict-formats TARGET=toplevel_custom.exe all: ${TOPLIBCMXA} topstart.cmx ocamlfind ${CC} ${GENERALFLAGS} ${OTHERLIBCMXA} ${OTHERLIBA} -linkall -o ${TARGET} $^ ${TOPLIBA} -linkpkg -package netsys -package unix ${TOPLIBCMXA}: ${CMXFILES} ${CC} ${GENERALFLAGS} -a -o $@ $^ topstart.cmx: topstart.ml ${CC} ${GENERALFLAGS} ${OTHERLIBCMXA} ${OTHERLIBA} ${CFLAGS} -c $< toploop.cmx: toploop.ml toploop.cmi ocamlfind ${CC} ${GENERALFLAGS} ${OTHERLIBCMXA} ${OTHERLIBA} ${CFLAGS} -c $< -linkpkg -package netsys -package unix %.cmx: %.ml %.cmi ${CC} ${GENERALFLAGS} ${OTHERLIBCMXA} ${OTHERLIBA} ${CFLAGS} -c $< %.cmi: %.mli ${CC} ${GENERALFLAGS} ${OTHERLIBCMXA} ${OTHERLIBA} ${CFLAGS} -c $< clean: @rm -f *.cmi *.cmo *.cmx *.cmt *.cmti *.o *.txt mrproper: clean @rm -f ${TARGET} ${TOPLIBA} ${TOPLIBCMXA}