make: Support INSTALL_PREFIXDIR

During "make install", the packaging machinery should run "$(LOG_INSTALL)
-D /opt/<pkg>" but runs "mkdir -p /opt/<pkg>" instead. As a consequence,
the created directory is not owned by any of the created packages. This
commit fixes that by introducing INSTALL_PREFIXDIR and installing it like
all other directories.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-09-06 21:43:17 +02:00
commit ddf310d3ad
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61
8 changed files with 9 additions and 5 deletions

View file

@ -31,6 +31,7 @@ LOG_PREFIX ?= $(PREFIX)/log
JAVA_PREFIX ?= $(PREFIX) JAVA_PREFIX ?= $(PREFIX)
HDR_SCOPE_PREFIX ?= HDR_SCOPE_PREFIX ?=
INSTALL_PREFIXDIR ?= $(PREFIX)
DATA_DIR ?= $(FLAVOUR_PATH_PREFIX)$(PREFIX)/data DATA_DIR ?= $(FLAVOUR_PATH_PREFIX)$(PREFIX)/data
IMAGEDIR ?= $(DATA_DIR)/images IMAGEDIR ?= $(DATA_DIR)/images
JSON_DIR ?= $(DATA_DIR)/json JSON_DIR ?= $(DATA_DIR)/json

View file

@ -31,6 +31,7 @@ LOG_PREFIX ?= $(ENV_PREFIX)/var/log
JAVA_PREFIX ?= $(PREFIX) JAVA_PREFIX ?= $(PREFIX)
HDR_SCOPE_PREFIX ?= HDR_SCOPE_PREFIX ?=
INSTALL_PREFIXDIR ?= $(PREFIX)
DATA_DIR ?= $(FLAVOUR_PATH_PREFIX)$(PREFIX)/data DATA_DIR ?= $(FLAVOUR_PATH_PREFIX)$(PREFIX)/data
IMAGEDIR ?= $(DATA_DIR)/images IMAGEDIR ?= $(DATA_DIR)/images
JSON_DIR ?= $(DATA_DIR)/json JSON_DIR ?= $(DATA_DIR)/json

View file

@ -307,6 +307,8 @@ LOCAL_MKFILES ?= $(wildcard GNUmakefile makefile Makefile *.mk)
LOG_QUAL_PREFIX ?= $(LOGID): LOG_QUAL_PREFIX ?= $(LOGID):
# -- standard dirs and files for build and install # -- standard dirs and files for build and install
INSTALLATION_FILE_TYPES += PREFIX
# -- CFG # -- CFG
INSTALLATION_FILE_TYPES += CFG INSTALLATION_FILE_TYPES += CFG
CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf

View file

@ -8,7 +8,7 @@ SRC_H += $(PROJ_H) $(wildcard $(HDRDIR_SCOPE_SUFFIX)/*.h)
# mandatory targets # mandatory targets
all: $(PROJ_H) all: $(PROJ_H)
clean: clean.include clean: clean.include
install: install_HDR install: install_dir_PREFIX install_HDR
# not wäry naaice # not wäry naaice
ifneq ($(HDRDIR_SCOPE_SUFFIX),) ifneq ($(HDRDIR_SCOPE_SUFFIX),)

View file

@ -31,7 +31,7 @@ endif
ifeq ($(CREATE_PKG_CONFIG),true) ifeq ($(CREATE_PKG_CONFIG),true)
all: build_PKG_CONFIG all: build_PKG_CONFIG
endif endif
install: $(DEVEL_TARGETS) install: install_dir_PREFIX $(DEVEL_TARGETS)
clean: textclean localclean doneclean clean.pkg-config clean: textclean localclean doneclean clean.pkg-config
test: all test: all

View file

@ -1,5 +1,5 @@
all: build_EXE build_CGI all: build_EXE build_CGI
install: install_files_INIT install_EXE install_files_CGI install_files_SYSCFG install: install_dir_PREFIX install_files_INIT install_EXE install_files_CGI install_files_SYSCFG
clean:allclean localclean doneclean textclean clean.init clean:allclean localclean doneclean textclean clean.init
test: all test: all

View file

@ -18,7 +18,7 @@ include $(JWBDIR)/make/rules.mk
all: $(SHOBJS) $(BUILD_SHOBJS) all: $(SHOBJS) $(BUILD_SHOBJS)
clean: objclean textclean localclean profclean clean: objclean textclean localclean profclean
install: $(ALL) install_dir_LIB installso install: $(ALL) install_dir_PREFIX install_dir_LIB installso
$(BUILD_LIBDIR)/%.so: %.so $(BUILD_LIBDIR)/%.so: %.so
install -m 755 $< $@ install -m 755 $< $@

View file

@ -13,7 +13,7 @@ endif
include $(JWBDIR)/make/exe.mk include $(JWBDIR)/make/exe.mk
all: build_EXE all: build_EXE
install: install_EXE install: install_dir_PREFIX install_EXE
clean: clean.yapp clean: clean.yapp
distclean: distclean: