]> matita.cs.unibo.it Git - helm.git/commitdiff
- lambda-delta: some speed up (not very much :) actually)
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Tue, 1 Jul 2008 18:21:22 +0000 (18:21 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Tue, 1 Jul 2008 18:21:22 +0000 (18:21 +0000)
- LAMBDA-TYPES: bug fix in Makefile

helm/software/lambda-delta/toplevel/metaAut.ml
helm/software/matita/contribs/LAMBDA-TYPES/Makefile

index 52aa7314dfd2aa48c945b7769e8028be956da152..370bf4cfd6cee01bfc68f5c1d78a8f9e248b5060 100644 (file)
@@ -74,7 +74,7 @@ let relax_opt_qid f = function
    | None     -> f None
    | Some qid -> let f qid = f (Some qid) in relax_qid f qid
 
-let resolve_gref f st lenv gref =
+let resolve_gref f st local lenv gref =
   let rec get_local f i = function
      | []                                      -> f None
      | (name, _) :: _ when fst name = fst gref -> f (Some i)
@@ -93,14 +93,14 @@ let resolve_gref f st lenv gref =
       | Some i -> f gref (Some (Local i))
       | None   -> get_global g
   in
-  get_local f 0 lenv
+  if local then get_local f 0 lenv else f None
 
 let resolve_gref_relaxed f st lenv gref =
    let rec g gref = function
-      | None          -> relax_qid (resolve_gref g st lenv) gref
+      | None          -> relax_qid (resolve_gref g st false lenv) gref
       | Some resolved -> f gref resolved
    in
-   resolve_gref g st lenv gref
+   resolve_gref g st true lenv gref
 
 let get_pars f st = function
    | None              -> f [] None
index 9608434b6afc4f115a1e431456bada8527380578..a7046636cd8f2bbfbb8ed7058aa910a17d31f443 100644 (file)
@@ -4,31 +4,31 @@ H=@
 
 MATITAOPTIONS=$(MATITAUSEROPTIONS) -onepass
 
-DIR=$(shell basename $$PWD)
-
 LOG = log.txt
 
-MMAS = $(shell find Legacy-2 Base-2 -name "*.mma") 
-MAS = $(MMAS:%.mma=%.ma)
-XMAS = Legacy-2/theory.ma Base-2/theory.ma LambdaDelta-2/theory.ma
+DIRS = Legacy-2 Base-2
+
+SILENTMAKE = $(H)$(MAKE) H=$(H) -s --no-print-directory
+
+MAS = $(patsubst %.mma, %.ma, $(shell find $(DIRS) -name "*.mma"))
 
-$(DIR) all: depends
+all: depends
        $(H)$(RM) $(LOG)
-       $(H)$(MAKE) H=$(H) --no-print-directory build
+       $(SILENTMAKE) build
 
-$(DIR).opt opt all.opt: depends
+opt all.opt: depends
        $(H)$(RM) $(LOG)
-       $(H)$(MAKE) H=$(H) --no-print-directory build.opt
+       $(SILENTMAKE) build.opt
 
-build: $(MAS)
-       $(H)echo Legacy-2/theory.ma `$(BIN)matitadep.opt -stdout Legacy-2/theory.ma` >> depends
-       $(H)echo Base-2/theory.ma `$(BIN)matitadep.opt -stdout Base-2/theory.ma` >> depends
+%.build.opt:
+       $(SILENTMAKE) $(patsubst %.mma, %.ma, $(shell find $* -name "*.mma"))
+       $(H)echo $*/theory.ma `$(BIN)matitadep.opt -stdout $*/theory.ma` >> depends
+
+build: $(DIRS:%=%.build.opt)
        $(H)$(BIN)matitac $(MATITAOPTIONS) 2>> $(LOG)
        $(H)$(RM) depends
 
-build.opt: $(MAS)
-       $(H)echo Legacy-2/theory.ma `$(BIN)matitadep.opt -stdout Legacy-2/theory.ma` >> depends
-       $(H)echo Base-2/theory.ma `$(BIN)matitadep.opt -stdout Base-2/theory.ma` >> depends
+build.opt: $(DIRS:%=%.build.opt)
        $(H)$(BIN)matitac.opt $(MATITAOPTIONS) 2>> $(LOG)
        $(H)$(RM) depends
 
@@ -42,17 +42,17 @@ clean.opt:
 
 clean.ma:
        $(H)$(BIN)matitaclean.opt $(MATITAOPTIONS) $(MAS)
-       $(H)rm -f $(MAS) depends
+       $(H)$(RM) $(MAS) depends
 
 depend:
        @echo matitadep
-       $(H)$(BIN)matitadep $(foreach FILE,$(XMAS),-exclude $(FILE))
-       $(H)cat Legacy-2/depends Base-2/depends >> depends
-       
+       $(H)$(BIN)matitadep $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma) -exclude LambdaDelta-2/theory.ma
+       $(H)cat $(DIRS:%=%/depends) >> depends
+
 depend.opt:
        @echo matitadep.opt
-       $(H)$(BIN)matitadep.opt $(foreach FILE,$(XMAS),-exclude $(FILE))
-       $(H)cat Legacy-2/depends Base-2/depends >> depends
+       $(H)$(BIN)matitadep.opt $(foreach DIR, $(DIRS), -exclude $(DIR)/theory.ma) -exclude LambdaDelta-2/theory.ma
+       $(H)cat $(DIRS:%=%/depends) >> depends
 
 depends: depend.opt