rules.mk / defs.mk: Disable BUILD_MAKEDIR

BUILD_MAKEDIR is a variable which exists for consistency's sake. On
the other hand, nor jw-pkg nor any downstream package ever copies
makefile snippets during build time. The rule introduced by
BUILD_MAKEDIR is quite costly in terms of performance and makes
caching harder to understand. This commit disables the variable.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-07-09 06:57:03 +02:00
commit b53fdd2fea
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61
2 changed files with 4 additions and 1 deletions

View file

@ -405,7 +405,8 @@ INSTALLED_INIT += $(addprefix $(INSTALL_INITDIR)/,$(INIT_SCRIPTS))
# -- MAKE
INSTALLATION_FILE_TYPES += MAKE
BUILD_MAKEDIR = $(TOPDIR)/make
#BUILD_MAKEDIR is currently not used anywhere and costs performance. Disabled for the time being.
#BUILD_MAKEDIR = $(TOPDIR)/make
MKFILES += $(filter-out pckg-defs.mk pckg-deps.mk local.mk,$(filter-out $(DONT_INSTALL),$(wildcard *.mk)))
INSTALL_MAKEDIR ?= $(PREFIX)/make
INSTALLED_MAKE += $(addprefix $(INSTALL_MAKEDIR)/,$(MKFILES))

View file

@ -390,12 +390,14 @@ $$(TOPDIR)/dir_install_$(1).done:
mkdir -p $$(INSTALL_$(1)DIR)
touch $$@
ifneq ($$(BUILD_$(1)DIR),)
$$(BUILD_$(1)DIR)/%: % | $$(TOPDIR)/dir_build_$(1).done
$(Q)if [ ! $$< -ef $$@ -a "`echo $$< | $(SED) 's/\..*//'`" != local ]; then \
echo $(BIN_INSTALL) -D -p -m $($(1)MODE) $$< $$@ ;\
$(BIN_INSTALL) -D -p -m $($(1)MODE) $$< $$@ ;\
$(RM) -f $$(TOPDIR)/dirs-*.done ;\
fi
endif
$$(INSTALL_$(1)DIR):
ifeq ($(PACKAGE_INSTALL_DIR),true)