rules.mk: Pass -D to /usr/bin/install $(BUILD_XXX)/%

This is an experimental commit, mostly facilitating creation of more intricate
include file structures below $(TOPDIR)/include. Probably doesn't hurt but is
only part of the story, since proper clean target support isn't provided per
se.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2018-12-27 16:59:29 +00:00
commit 621c39f076

View file

@ -5,6 +5,10 @@
# -- standard targets # -- standard targets
all: all:
ifndef JW_BUILD_RULES_MK_INCLUDED
JW_BUILD_RULES_MK_INCLUDED = true
install: all install: all
clean: tmpclean clean: tmpclean
distclean: clean distclean: clean
@ -375,16 +379,16 @@ $$(TOPDIR)/dir_install_$(1).done:
$$(BUILD_$(1)DIR)/%: % | $$(TOPDIR)/dir_build_$(1).done $$(BUILD_$(1)DIR)/%: % | $$(TOPDIR)/dir_build_$(1).done
@if [ ! $$< -ef $$@ -a "`echo $$< | $(SED) 's/\..*//'`" != local ]; then \ @if [ ! $$< -ef $$@ -a "`echo $$< | $(SED) 's/\..*//'`" != local ]; then \
echo $(BIN_INSTALL) -p -m $($(1)MODE) $$< $$@ ;\ echo $(BIN_INSTALL) -D -p -m $($(1)MODE) $$< $$@ ;\
$(BIN_INSTALL) -p -m $($(1)MODE) $$< $$@ ;\ $(BIN_INSTALL) -D -p -m $($(1)MODE) $$< $$@ ;\
$(RM) -f $$(TOPDIR)/dirs-*.done ;\ $(RM) -f $$(TOPDIR)/dirs-*.done ;\
fi fi
$$(INSTALL_$(1)DIR): $$(INSTALL_$(1)DIR):
$$(INSTALL) -d -o $$($(1)DIROWNER) -g $$($(1)DIRGROUP) -m $$($(1)DIRMODE) $$(INSTALL_$(1)DIR) $$(INSTALL) -D -d -o $$($(1)DIROWNER) -g $$($(1)DIRGROUP) -m $$($(1)DIRMODE) $$(INSTALL_$(1)DIR)
$$(INSTALL_$(1)DIR)/%: % | $$(INSTALL_$(1)DIR) $$(INSTALL_$(1)DIR)/%: % | $$(INSTALL_$(1)DIR)
$$(INSTALL) -p -o $$($(1)OWNER) -g $$($(1)GROUP) -m $$($(1)MODE) $$< $$@ $$(INSTALL) -D -p -o $$($(1)OWNER) -g $$($(1)GROUP) -m $$($(1)MODE) $$< $$@
endef endef
#endef #endef
@ -411,3 +415,4 @@ find:
collect: collect:
bash $(MOD_SCRIPT_DIR)/collect-installed-pkg-changes.sh -t $(TOPDIR) bash $(MOD_SCRIPT_DIR)/collect-installed-pkg-changes.sh -t $(TOPDIR)
endif # ifndef JW_BUILD_RULES_MK_INCLUDED