-
Notifications
You must be signed in to change notification settings - Fork 58
Description
When not using merged imports, every individual import module M can be explicitly refreshed on its own by calling make refresh-M. This is the corresponding pattern rule:
.PHONY: refresh-%
refresh-%:
$(MAKE) --assume-new=$(SRC) --assume-new=$(IMPORTDIR)/$*_terms.txt \
IMP=true IMP_LARGE=true MIR=true PAT=false $(IMPORTDIR)/$*_import.owlwhich merely invokes the $(IMPORTDIR)/$*_import.owl target to remake the M_import.owl module.
When using merged imports, the above rule is still present in the Makefile, but it cannot possibly work since there is no longer a rule to make the M_import.owl module.
This can’t be fixed. By definition, when using merged imports, either all the imports are refreshed, or none of them are. Refreshing a single import simply does not make any sense in the context of merged imports.
So when using merged imports, either:
(A) the refresh-% rule should not be included in the Makefile, so as not to give the user the false impression that they can still refresh one import module at a time;
(B) the rule should trigger a refresh of the entire merged import module (so, make refresh-M would do the same thing as make refresh-imports) – this way the rule would still do what it is supposed to do: it would still refresh the requested import, except that now it would do that by refreshing all imports.