| 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)
| 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
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
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