# Makefile for dChan library FLAGS = -thread OCAMLC = ../../ocamlc OCAMLDEP = ../../tools/ocamldep LIBS = unix.cma threads.cma DCHAN_MLS = exist.ml debug.ml lChan.ml server.ml dChan.ml DCHAN_MLIS = exist.mli debug.mli lChan.mli server.mli dChan.mli DCHAN_CMOS = $(patsubst %.ml,%.cmo, $(DCHAN_MLS)) DCHAN_CMIS = $(patsubst %.mli,%.cmi, $(DCHAN_MLIS)) TEST_MLS = test.ml TEST_MLIS = TEST_CMOS = $(patsubst %.ml,%.cmo, $(TEST_MLS)) TEST_CMIS = $(patsubst %.ml,%.cmo, $(TEST_MLIS)) DCHAN = dChan.cma TEST = test TARGET = $(DCHAN) $(TEST) .PHONY: all clean all: $(TARGET) .depend # Library $(DCHAN) : $(DCHAN_CMOS) $(DCHAN_CMIS) $(OCAMLC) $(FLAGS) -a -o $(DCHAN) $(LIBS) $(DCHAN_CMOS) # Test program $(TEST) : $(TEST_CMOS) $(TEST_CMIS) $(DCHAN) $(OCAMLC) $(FLAGS) -o $(TEST) $(LIBS) $(DCHAN) $(TEST_CMOS) # Test2 program test2 : test2.cmo $(DCHAN) $(OCAMLC) $(FLAGS) -o test2 $(LIBS) $(DCHAN) test2.cmo test3 : test3.cmo $(DCHAN) $(OCAMLC) $(FLAGS) -o test3 $(LIBS) $(DCHAN) test3.cmo # Common rules .SUFFIXES: .ml .mli .cmo .cmi .ml.cmo: $(OCAMLC) $(FLAGS) -c $< .mli.cmi: $(OCAMLC) $(FLAGS) -c $< # Cleanup clean: -rm *.cmi *.cmo $(TARGET) .depend # Dependencies .depend: $(OCAMLDEP) $(DCHAN_MLS) $(DCHAN_MLIS) $(TEST_MLS) $(TEST_MLIS) > .depend -include .depend