CPKGS = -package "$(MATITA_CREQUIRES)"
OCAML_THREADS_FLAGS = -thread
OCAML_DEBUG_FLAGS = -g
+#OCAML_PROF=p -p a
+#OCAMLOPT_DEBUG_FLAGS = -p
OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_FLAGS)
-OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS)
-OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS)
+OCAMLC = $(OCAMLFIND) ocamlc$(OCAML_PROF) $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS)
+OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS) $(OCAMLOPT_DEBUG_FLAGS)
OCAMLDEP = $(OCAMLFIND) ocamldep $(OCAML_FLAGS)
INSTALL_PROGRAMS= matita matitac
INSTALL_PROGRAMS_LINKS_MATITA= cicbrowser
CMXS = $(patsubst %.cmo,%.cmx,$(CMOS))
CCMXS = $(patsubst %.cmo,%.cmx,$(CCMOS))
MAINCMXS = $(patsubst %.cmo,%.cmx,$(MAINCMOS))
-$(CMOS): $(LIB_DEPS)
+$(CMOS) : $(LIB_DEPS)
$(CMXOS): $(LIBX_DEPS)
LIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(MATITA_REQUIRES))
$(H)echo " OCAMLDEP -native"
$(H)$(OCAMLDEP) -native *.ml *.mli > .depend.opt
-ifeq ($(MAKECMDGOALS),)
- include .depend
+# this should be sligtly better, since should work with 'make all opt'
+ifneq (,$(findstring all,$(MAKECMDGOALS)))
+ # if we 'make all opt' the deps for 'all' should be fine also for opt
+ # if we 'make opt all' it should not work...
+ TO_INCLUDE+=.depend
+ TO_DEPEND_ON=$(LIB_DEPS)
+else ifneq (,$(findstring opt,$(MAKECMDGOALS)))
+ TO_INCLUDE+=.depend.opt
+ TO_DEPEND_ON=$(LIBX_DEPS)
+else ifneq (,$(findstring world,$(MAKECMDGOALS)))
+ ifeq ($(HAVE_OCAMLOPT),yes)
+ TO_INCLUDE+=.depend.opt
+ TO_DEPEND_ON=$(LIBX_DEPS)
+ else
+ TO_INCLUDE+=.depend
+ TO_DEPEND_ON=$(LIB_DEPS)
+ endif
+else
+ TO_INCLUDE+=.depend
+ TO_DEPEND_ON=$(LIB_DEPS)
endif
-ifeq ($(MAKECMDGOALS), all)
- include .depend
-endif
+$(MLI:%.mli=%.cmi): $(TO_DEPEND_ON)
-ifeq ($(MAKECMDGOALS), opt)
- include .depend.opt
-endif
-
-ifeq ($(MAKECMDGOALS), world)
- include .depend.opt
-endif
+include $(TO_INCLUDE)
%.cmi: %.mli
$(H)echo " OCAMLC $<"