aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorletouzey2010-03-04 16:18:09 +0000
committerletouzey2010-03-04 16:18:09 +0000
commit139bf11029dc16bf95c56646c41457b14cc35fdc (patch)
treea3033255a7780e7a6d83408adc16a3084c9b5a9f
parent58a5a535b138c6a3e98bc3631ebe3e0e2bc3fcd5 (diff)
Makefile: factorization of default rules for .cmi/.cmo/.cmx
We use some conditional variables $(if ...) to set the proper flags instead of fully duplicating the rules according to the path checker/%.cm? ide/%.cm? %.cm? git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12834 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--Makefile.build38
1 files changed, 12 insertions, 26 deletions
diff --git a/Makefile.build b/Makefile.build
index 4303798ee6..85a1512410 100644
--- a/Makefile.build
+++ b/Makefile.build
@@ -306,18 +306,6 @@ $(COQIDEBYTE): $(COQMKTOP) $(LINKCMO) $(LIBCOQRUN) ide/ide.cma
$(COQIDE):
cd bin; ln -sf coqide.$(HASCOQIDE)$(EXE) coqide$(EXE)
-ide/%.cmo: ide/%.ml | ide/%.ml.d
- $(SHOW)'OCAMLC $<'
- $(HIDE)$(OCAMLC) -g $(COQIDEFLAGS) $(BYTEFLAGS) -c $<
-
-ide/%.cmi: ide/%.mli | ide/%.mli.d
- $(SHOW)'OCAMLC $<'
- $(HIDE)$(OCAMLC) -g $(COQIDEFLAGS) $(BYTEFLAGS) -c $<
-
-ide/%.cmx: ide/%.ml | ide/%.ml.d
- $(SHOW)'OCAMLOPT $<'
- $(HIDE)$(OCAMLOPT) $(COQIDEFLAGS) $(OPTFLAGS) -c $<
-
# install targets
FULLIDELIB=$(FULLCOQLIB)/ide
@@ -738,33 +726,31 @@ endif
# Default rules
###########################################################################
-checker/%.cmo: checker/%.ml | checker/%.ml.d
- $(SHOW)'OCAMLC $<'
- $(HIDE)$(OCAMLC) -c $(CHKBYTEFLAGS) $<
+## Three flavor of flags: checker/* ide/* and normal files
-checker/%.cmx: checker/%.ml | checker/%.ml.d
- $(SHOW)'OCAMLOPT $<'
- $(HIDE)$(OCAMLOPT) -c $(CHKOPTFLAGS) $<
+COND_BYTEFLAGS= \
+ $(if $(filter checker/%,$<), $(CHKBYTEFLAGS), \
+ $(if $(filter ide/%,$<),$(COQIDEFLAGS),) $(BYTEFLAGS))
-checker/%.cmi: checker/%.mli | checker/%.mli.d
- $(SHOW)'OCAMLC $<'
- $(HIDE)$(OCAMLC) -c $(CHKBYTEFLAGS) $<
+COND_OPTFLAGS= \
+ $(if $(filter checker/%,$<), $(CHKOPTFLAGS), \
+ $(if $(filter ide/%,$<),$(COQIDEFLAGS),) $(OPTFLAGS))
%.o: %.c
$(SHOW)'OCAMLC $<'
$(HIDE)cd $(dir $<) && $(OCAMLC) -ccopt "$(CFLAGS)" -c $(notdir $<)
-%.cmo: %.ml | %.ml.d
+%.cmi: %.mli | %.mli.d
$(SHOW)'OCAMLC $<'
- $(HIDE)$(OCAMLC) $(BYTEFLAGS) -c $<
+ $(HIDE)$(OCAMLC) $(COND_BYTEFLAGS) -c $<
-%.cmi: %.mli | %.mli.d
+%.cmo: %.ml | %.ml.d
$(SHOW)'OCAMLC $<'
- $(HIDE)$(OCAMLC) $(BYTEFLAGS) -c $<
+ $(HIDE)$(OCAMLC) $(COND_BYTEFLAGS) -c $<
%.cmx: %.ml | %.ml.d
$(SHOW)'OCAMLOPT $<'
- $(HIDE)$(OCAMLOPT) $(OPTFLAGS) -c $<
+ $(HIDE)$(OCAMLOPT) $(COND_OPTFLAGS) -c $<
%.cmxs: %.cmxa
$(SHOW)'OCAMLOPT -shared -o $@'