.PHONY: all install clean open omake.conf USE_OCAMLFIND = true OCAMLPACKS[] = rpc netplex netsys shell netstring netclient netmulticore netmech-scram rpc-auth-local if $(not $(OCAMLFIND_EXISTS)) eprintln(This project requires ocamlfind, but is was not found.) eprintln(You need to install ocamlfind and run "omake --configure".) exit 1 NATIVE_ENABLED = $(OCAMLOPT_EXISTS) BYTE_ENABLED = true OCAMLFLAGS += -annot -g OCAMLDEP_MODULES_ENABLED = false if $(not $(defined OCAMLRPCGEN)) OCAMLRPCGEN = ocamlrpcgen export public.InterfaceDoc(name, files) = protected.mlifiles = $(filter-exists $(addsuffix .mli, $(files))) protected.cmifiles = $(addsuffix .cmi, $(removesuffix $(mlifiles))) $(name).idoc: $(mlifiles) $(cmifiles) /.PHONY/OCamlGeneratedFilesTarget ocamlfind ocamldoc -dump $(name).idoc -stars \ $(PREFIXED_OCAMLINCLUDES) -package "$(OCAMLPACKS)" \ $(mlifiles) return $(name).idoc .SUBDIRS: src tests public.findlib_install(name) = dir = src/$(name) files[] = $(glob $(dir)/*.cmi) $(glob $(dir)/*.mli) $(glob $(dir)/*.cma) opt_files[] = $(glob $(dir)/*.a) $(glob $(dir)/*.cmxa) $(glob $(dir)/*.so) ocamlfind install $(name) \ $(dir)/META $(files) -optional $(opt_files) install: findlib_install(plasmaclient) findlib_install(plasmasupport) findlib_install(mr_platform) findlib_install(mr_framework) mkdir -p $(BINDIR) cp src/pfs_admin/plasma_admin $(BINDIR) cp src/pfs_admin/plasma_datanode_init $(BINDIR) cp src/pfs_daemon/plasmad $(BINDIR) cp src/pfs_nfs3/nfs3d $(BINDIR) cp src/plasmaclient/plasma $(BINDIR) cp src/mr_framework/mr_streaming $(BINDIR) mkdir -p $(SHAREDIR) mkdir -p $(SHAREDIR)/ipc cp ipc/*.x $(SHAREDIR)/ipc mkdir -p $(SHAREDIR)/sql cp sql/*.sql $(SHAREDIR)/sql mkdir -p $(SHAREDIR)/clusterconfig cp -r clusterconfig/* $(SHAREDIR)/clusterconfig cp clusterconfig/inst_gen.conf $(SHAREDIR)/clusterconfig/inst.conf commands[] = plasmad plasma plasma_admin plasma_datanode_init nfs3d .DEFAULT: clusterconfig/inst_gen.conf clusterconfig/inst_gen.conf: echo "# Generated file" > clusterconfig/inst_gen.conf foreach(cmd, $(commands)) echo $(cmd)=\"$(BINDIR)/$(cmd)\" \ >> clusterconfig/inst_gen.conf echo namenode_sql=\"$(SHAREDIR)/sql/namenode.sql\" \ >> clusterconfig/inst_gen.conf