# $HeadURL$ $LastChangedRevision$ ifndef METHOD_DRIVERINSTALL_MK METHOD_DRIVERINSTALL_MK = 1 # Variables (needed by method-*.mk in pass #1 and the file-*.mk in pass #0) MAKEFILE_DRIVERINSTALL_RECIPES = $(PCMS_STATE_PREFIX)/makefiles/driverinstall-recipes.mk MAKEFILE_DRIVERUNINSTALL_RECIPES = $(PCMS_STATE_PREFIX)/makefiles/driveruninstall-recipes.mk MAKEFILE_DRIVERINSTALL_FILES = $(PCMS_STATE_PREFIX)/makefiles/driverinstall-files.mk MAKEFILE_DRIVERUNINSTALL_FILES = $(PCMS_STATE_PREFIX)/makefiles/driveruninstall-files.mk # Generate all recipes and recipe list (but they not be used by pass #0) ifeq ($(PCMS_PASS_NUM),1) all: all.driverinstall all.driveruninstall # Check symbols we'll use in recipes below. # (none) all.driverinstall: force-execution-each-time shopt -s nullglob; \ set -e; \ for FILE in *.driverinstall; do \ PKG=$${FILE%.driverinstall}; \ [ $$PKG != all ] || continue; \ [ -f /var/lib/dpkg/info/$$PKG.list ] || rm -f $$FILE all.driverinstall; \ done msg --progname=$(PROGNAME) --debug=$(VERBOSELEVEL) debug 10 "$@: generating $(MAKEFILE_DRIVERINSTALL_RECIPES) ..." mkdir -p $(dir $(MAKEFILE_DRIVERINSTALL_RECIPES)) set -e; \ { \ for PACKAGE in $(patsubst %.driverinstall,%,$(filter %.driverinstall,$^)); do \ echo 'include facility-repos.mk'; \ echo "$$PACKAGE.driverinstall: repos.facility"; \ echo ' netreach --debug=\$$(VERBOSELEVEL) repos'; \ echo " package --debug=\$$(VERBOSELEVEL) install $$PACKAGE"; \ echo ' touch $$@'; \ echo; \ done; \ } > $(MAKEFILE_DRIVERINSTALL_RECIPES) msg --progname=$(PROGNAME) --debug=$(VERBOSELEVEL) debug 10 "$@: generating $(MAKEFILE_DRIVERINSTALL_FILES) ..." mkdir -p $(dir $(MAKEFILE_DRIVERINSTALL_FILES)) echo "INSTALL_FILES = $(filter %.driverinstall,$^)" > $(MAKEFILE_DRIVERINSTALL_FILES) all.driveruninstall: msg --progname=$(PROGNAME) --debug=$(VERBOSELEVEL) debug 10 "$@: generating $(MAKEFILE_DRIVERUNINSTALL_RECIPES) ..." mkdir -p $(dir $(MAKEFILE_DRIVERUNINSTALL_RECIPES)) { \ echo '%.driveruninstall:'; \ echo ' package --debug=$$(VERBOSELEVEL) remove $$*'; \ echo ' touch $$@'; \ echo; \ } > $(MAKEFILE_DRIVERUNINSTALL_RECIPES) msg --progname=$(PROGNAME) --debug=$(VERBOSELEVEL) debug 10 "$@: generating $(MAKEFILE_DRIVERUNINSTALL_FILES) ..." mkdir -p $(dir $(MAKEFILE_DRIVERUNINSTALL_FILES)) echo "UNINSTALL_FILES = $(filter %.driveruninstall,$^)" > $(MAKEFILE_DRIVERUNINSTALL_FILES) # Stop descent %.driverinstall: ; %.driveruninstall: ; # method-*.mk does nothing in pass #0; see the associated file-*mk. else ifeq ($(PCMS_PASS_NUM),0) # But, since the associated file-*.mk doesn't know what the recipe targets # depend on, tell pass #0 to acquaint itself with how to make *those* here. #include facility-repos.mk # But, as a courtesy, we can load the recipes and recipe list ... include $(MAKEFILE_DRIVERINSTALL_RECIPES) include $(MAKEFILE_DRIVERINSTALL_FILES) include $(MAKEFILE_DRIVERUNINSTALL_RECIPES) include $(MAKEFILE_DRIVERUNINSTALL_FILES) # ... but it's up to the associated file-*.mk to demand that # $(DRIVERINSTALL_FILES) or $(DRIVERUNINSTALL_FILES) be built. endif # PCMS_PASS_NUM endif # METHOD_DRIVERINSTALL_MK