X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=Makefile;h=0fdc0171f373d18befea3eaf69baa5eccca41db6;hb=95310b9c1cf213f4ba28cab981400678d399717a;hp=d31aa7560aed6101a3c4026993d3f4d427608a1d;hpb=6131f2f9e380543197c9fa253325bbc84749e6e8;p=SXSI%2Fxpathcomp.git diff --git a/Makefile b/Makefile index d31aa75..0fdc017 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ -INLINE=1000 +INLINE=100 DEBUG=false -PROFILE=true +PROFILE=false VERBOSE=false -BASESRC=custom.ml ptset.ml finiteCofinite.ml tag.ml tagSet.ml options.ml tree.ml ata.ml -BASEMLI=sigs.mli ptset.mli finiteCofinite.mli tag.mli tagSet.mli options.mli tree.mli ata.mli +BASESRC=custom.ml memoizer.ml hcons.ml hlist.ml ptset.ml finiteCofinite.ml tag.ml tagSet.ml options.ml tree.ml ata.ml +BASEMLI=sigs.mli memoizer.mli hcons.mli hlist.mli ptset.mli finiteCofinite.mli tag.mli tagSet.mli options.mli tree.mli ata.mli MLSRCS = memory.ml $(BASESRC) ulexer.ml xPath.ml main.ml MLISRCS = memory.mli $(BASEMLI) ulexer.mli xPath.mli BASEOBJS= $(BASESRC:.ml=.cmx) @@ -17,9 +17,9 @@ OCAMLPACKAGES = str,unix,ulex,camlp4 PPINCLUDES=$(OCAMLINCLUDES:%=-ppopt %) -CXXSOURCES = XMLDocShredder.cpp SXSIStorageInterface.cpp StorageInterface.cpp OCamlDriver.cpp -CXXOBJECTS = $(CXXSOURCES:.cpp=.o) - +CXXSOURCES = results.c XMLDocShredder.cpp OCamlDriver.cpp +CXXOBJECTS1 = $(CXXSOURCES:.cpp=.o) +CXXOBJECTS = $(CXXOBJECTS1:.c=.o) CXXINCLUDES = \ -I/usr/include/libxml++-2.6 \ -I/usr/include/libxml2 \ @@ -36,6 +36,8 @@ CXXINCLUDES = \ -IXMLTree/TextCollection CXXFLAGS = -O3 -Wall $(INCLUDEDIRS) -fPIC -std=c++0x +CCFLAGS = -O3 -Wall -fPIC + ifeq ($(VERBOSE),true) HIDE= else @@ -44,23 +46,31 @@ endif ifeq ($(DEBUG), true) CXX = g++ -DDEBUG -OCAMLOPT = ocamlopt -g -cc "$(CXX)" +CC = gcc -DDEBUG +DEBUG_FLAGS = -g SYNT_DEBUG = -ppopt -DDEBUG else -CXX = g++ -OCAMLOPT = ocamlopt -nodynlink -cc "$(CXX)" -ccopt -O3 -ccopt -std=c++0x -noassert -inline $(INLINE) +CXX = g++ +CC = gcc -DDEBUG endif + ifeq ($(PROFILE), true) -SYNT_PROF = $(SYNT_DEBUG) -ppopt -DPROFILE +PROFILE_FLAGS = -p -S +SYNT_PROF = -ppopt -DPROFILE endif +SYNT_FLAGS = $(SYNT_DEBUG) $(SYNT_PROF) +OPT_FLAGS = $(DEBUG_FLAGS) $(PROFILE_FLAGS) -nodynlink + +OCAMLOPT = ocamlopt -cc "$(CXX)" $(OPT_FLAGS) -ccopt -O3 -ccopt -std=c++0x -noassert -inline $(INLINE) + OCAMLFIND = ocamlfind OCAMLMKLIB = ocamlmklib OCAMLDEP = ocamldep #Ugly but seems difficult with a makefile -LINK=$(OCAMLOPT) -linkpkg `ocamlc -version | grep -q "3.11.0" && echo dynlink.cmxa` camlp4lib.cmxa -SYNTAX= -syntax camlp4o $(PPINCLUDES) -ppopt pa_macro.cmo $(SYNT_PROF) +LINK=$(OCAMLOPT) -linkpkg `ocamlc -version | grep -q "3.11.[01]" && echo dynlink.cmxa` camlp4lib.cmxa +SYNTAX= -syntax camlp4o $(PPINCLUDES) -ppopt pa_macro.cmo $(SYNT_FLAGS) @@ -81,6 +91,10 @@ unit_test: libcamlshredder.a $(BASEOBJS) unit_test.cmx .SUFFIXES: .ml .mli .cmx .cmi .cpp .PHONY:compute_depend version +.c.o: + @echo [CC] $@ + $(HIDE) $(CC) -c $(CCFLAGS) $< + .cpp.o: @echo [CPP] $@ $(HIDE) $(CXX) $(CXXINCLUDES) -c $(CXXFLAGS) $< @@ -106,21 +120,27 @@ libcamlshredder.a: $(CXXOBJECTS) XMLTree/XMLTree.a clean: @echo [CLEAN] - $(HIDE) rm -f *~ *.cm* *.[oa] *.so main .libs + $(HIDE) rm -f *~ *.cm* *.[oa] *.so main *.s + $(HIDE) rm -rf .libs -timeXMLTree: $(CXXOBJECTS) XMLTree/XMLTree.a timeXMLTree.cpp +timeXMLTree: $(CXXOBJECTS) XMLTree/XMLTree.a timeXMLTree.cpp myTimeXMLTree.cpp mkdir -p .libs/ cd .libs/ && ar x ../XMLTree/XMLTree.a $(CXX) -o timeXMLTree $(CXXFLAGS) $(CXXINCLUDES) XMLDocShredder.o \ SXSIStorageInterface.o StorageInterface.o ./.libs/*.o \ $(LIBS) timeXMLTree.cpp + $(CXX) -o myTimeXMLTree $(CXXFLAGS) $(CXXINCLUDES) XMLDocShredder.o \ + SXSIStorageInterface.o StorageInterface.o ./.libs/*.o \ + $(LIBS) myTimeXMLTree.cpp +# $(CXX) -o testXMLTree $(CXXFLAGS) $(CXXINCLUDES) XMLDocShredder.o \ +# SXSIStorageInterface.o StorageInterface.o ./.libs/*.o \ +# $(LIBS) testXMLTree.cpp rm -rf .libs -SXSIStorageInterface.o: SXSIStorageInterface.h SXSIStorageInterface.cpp StorageInterface.h -StorageInterface.o: StorageInterface.h -XMLDocShredder.o: XMLDocShredder.h XMLDocShredder.cpp SXSIStorageInterface.h StorageInterface.h -OCamlDriver.o: XMLDocShredder.h StorageInterface.h +XMLDocShredder.o: XMLDocShredder.h XMLDocShredder.cpp +OCamlDriver.o: XMLDocShredder.h +results.o: results.h compute_depend: @echo [DEP]