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.owl
which 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.
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:which merely invokes the
$(IMPORTDIR)/$*_import.owltarget to remake theM_import.owlmodule.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.owlmodule.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-Mwould do the same thing asmake 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.