]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/Makefile
fixed to allow make-dist
[helm.git] / matita / Makefile
index 81e67db6447e3e51e84e7dfb44394c5d69115865..15a3a8c2cbbb22a19e98c4d2c0dd2203bfcb6fc1 100644 (file)
@@ -41,7 +41,6 @@ MLI = \
        matitaScript.mli        \
        matitaMathView.mli      \
        matitaGui.mli           \
-       matitaAutoGui.cmo               \
        $(NULL)
 CMLI =                         \
        matitaTypes.mli         \
@@ -62,7 +61,7 @@ MAINCMLI =                    \
        gragrep.mli             \
        $(NULL)
 # objects for matita (GTK GUI)
-ML = buildTimeConf.ml matitaGeneratedGui.ml $(MLI:%.mli=%.ml)
+ML = buildTimeConf.ml matitaGeneratedGui.ml matitaAutoGui.ml $(MLI:%.mli=%.ml)
 # objects for matitac (batch compiler)
 CML = buildTimeConf.ml $(CMLI:%.mli=%.ml)
 MAINCML = $(MAINCMLI:%.mli=%.ml)
@@ -86,11 +85,6 @@ CCMXS = $(patsubst %.cmo,%.cmx,$(CCMOS))
 MAINCMXS = $(patsubst %.cmo,%.cmx,$(MAINCMOS))
 $(CMOS) : $(LIB_DEPS)
 $(CMXOS): $(LIBX_DEPS)
-ifeq ($(MAKECMDGOALS),opt)
-       $(MLI:%.mli=%.cmi): $(LIBX_DEPS)
-else
-        $(MLI:%.mli=%.cmi): $(LIB_DEPS)
-endif
 
 LIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(MATITA_REQUIRES))
 LIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(MATITA_REQUIRES))
@@ -404,20 +398,40 @@ depend.opt:
        $(H)echo "  OCAMLDEP -native"
        $(H)$(OCAMLDEP) -native *.ml *.mli > .depend.opt
 
-ifeq ($(MAKECMDGOALS),)
-  include .depend   
-endif
-
-ifeq ($(MAKECMDGOALS), all)
-  include .depend   
+# this should be sligtly better, since should work with 'make all opt'
+MAKECMDGOALS_DELIM=$(addprefix _x_,$(addsuffix _x_,$(MAKECMDGOALS)))
+ifneq (,$(findstring _x_all_x_,$(MAKECMDGOALS_DELIM)))
+  # if we 'make all opt' the deps for 'all' should be fine also for opt
+  # if we 'make opt all' it should not work...
+  INCLUDE_MANDATORY=yes
+  TO_INCLUDE+=.depend
+  TO_DEPEND_ON=$(LIB_DEPS)
+else ifneq (,$(findstring _x_opt_x_,$(MAKECMDGOALS_DELIM)))
+  INCLUDE_MANDATORY=yes
+  TO_INCLUDE+=.depend.opt
+  TO_DEPEND_ON=$(LIBX_DEPS)
+else ifneq (,$(findstring _x_world_x_,$(MAKECMDGOALS_DELIM)))
+  ifeq ($(HAVE_OCAMLOPT),yes)
+    INCLUDE_MANDATORY=yes
+    TO_INCLUDE+=.depend.opt
+    TO_DEPEND_ON=$(LIBX_DEPS)
+  else
+    INCLUDE_MANDATORY=yes
+    TO_INCLUDE+=.depend
+    TO_DEPEND_ON=$(LIB_DEPS)
+  endif
+else
+  TO_INCLUDE+=.depend
+  INCLUDE_MANDATORY=no
+  TO_DEPEND_ON=$(LIB_DEPS)
 endif
 
-ifeq ($(MAKECMDGOALS), opt)
-  include .depend.opt   
-endif
+$(MLI:%.mli=%.cmi) $(ML:%.ml=%.cmo) $(ML:%.ml=%.cmx): $(TO_DEPEND_ON)
 
-ifeq ($(MAKECMDGOALS), world)
-  include .depend.opt   
+ifeq (no,$(INCLUDE_MANDATORY))
+  -include $(TO_INCLUDE)
+else
+  include $(TO_INCLUDE)
 endif
 
 %.cmi: %.mli