From 1c264a258be01623b8936657a32f2251ca2059c1 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Wed, 5 Jan 2022 15:22:22 +0100 Subject: ccomp profiling --- Makefile.extr | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'Makefile.extr') diff --git a/Makefile.extr b/Makefile.extr index 6106aff2..0d2ec61f 100644 --- a/Makefile.extr +++ b/Makefile.extr @@ -77,6 +77,9 @@ endif OCAMLC=ocamlc$(DOTOPT) $(COMPFLAGS) OCAMLOPT=ocamlopt$(DOTOPT) $(COMPFLAGS) OCAMLDEP=ocamldep$(DOTOPT) -slash $(INCLUDES) +OCAMLFIND=ocamlfind +LMFLAGS_LINK=-package landmarks -linkpkg +LMFLAGS_COMP=-package landmarks -package landmarks-ppx -ppxopt landmarks-ppx,--auto OCAMLLEX=ocamllex -q MODORDER=tools/modorder .depend.extr @@ -99,9 +102,15 @@ ifeq ($(wildcard .depend.extr),.depend.extr) CCOMP_OBJS:=$(shell $(MODORDER) driver/Driver.cmx) ifeq ($(OCAML_NATIVE_COMP),true) +ifeq ($(OCAML_LM_PROF), true) +ccomp: $(CCOMP_OBJS) + @echo "Linking $@ with landmarks profiling" + @$(OCAMLFIND) opt $(COMPFLAGS) -o $@ $(LMFLAGS_LINK) $(LIBS) $(LINK_OPT) $+ +else ccomp: $(CCOMP_OBJS) @echo "Linking $@" @$(OCAMLOPT) -o $@ $(LIBS) $(LINK_OPT) $+ +endif else ccomp: ccomp.byte @echo "Copying to $@" @@ -112,16 +121,28 @@ endif ccomp.force: $(OCAMLOPT) -o $@ $(LIBS) $(LINK_OPT) $(CCOMP_OBJS) +ifeq ($(OCAML_LM_PROF), true) +ccomp.byte: $(CCOMP_OBJS:.cmx=.cmo) + @echo "Linking $@ with landmarks profiling" + @$(OCAMLFIND) ocamlc $(COMPFLAGS) -o $@ $(LMFLAGS_LINK) $(LIBS_BYTE) $+ +else ccomp.byte: $(CCOMP_OBJS:.cmx=.cmo) @echo "Linking $@" @$(OCAMLC) -o $@ $(LIBS_BYTE) $+ +endif CLIGHTGEN_OBJS:=$(shell $(MODORDER) export/ExportDriver.cmx) ifeq ($(OCAML_NATIVE_COMP),true) +ifeq ($(OCAML_LM_PROF), true) +clightgen: $(CLIGHTGEN_OBJS) + @echo "Linking $@ with landmarks profiling" + @$(OCAMLFIND) opt $(COMPFLAGS) -o $@ $(LMFLAGS_LINK) $(LIBS) $(LINK_OPT) $+ +else clightgen: $(CLIGHTGEN_OBJS) @echo "Linking $@" @$(OCAMLOPT) -o $@ $(LIBS) $(LINK_OPT) $+ +endif else clightgen: clightgen.byte @echo "Copying to $@" @@ -138,15 +159,33 @@ endif # End of part that assumes .depend.extr already exists +ifeq ($(OCAML_LM_PROF), true) %.cmi: %.mli - @echo "OCAMLC $<" + @echo "OCAMLC $< with landmarks profiling" + @$(OCAMLFIND) ocamlc $(COMPFLAGS) -c $(LMFLAGS_COMP) $< +else +%.cmi: %.mli + @echo "OCAMLC $<" @$(OCAMLC) -c $< +endif +ifeq ($(OCAML_LM_PROF), true) +%.cmo: %.ml + @echo "OCAMLC $< with landmarks profiling" + @$(OCAMLFIND) ocamlc $(COMPFLAGS) -c $(LMFLAGS_COMP) $< +else %.cmo: %.ml - @echo "OCAMLC $<" + @echo "OCAMLC $<" @$(OCAMLC) -c $< +endif +ifeq ($(OCAML_LM_PROF), true) +%.cmx: %.ml + @echo "OCAMLOPT $< with landmarks profiling" + @$(OCAMLFIND) opt $(COMPFLAGS) -c $(LMFLAGS_COMP) $< +else %.cmx: %.ml @echo "OCAMLOPT $<" @$(OCAMLOPT) -c $< +endif %.ml: %.mll $(OCAMLLEX) $< -- cgit