Makefile: Remove mkinitcpio-archiso specific targets

Makefile:
Remove all code specific to mkinitcpio-archiso.
Allow overriding PREFIX (defaults to /usr/local).
Gather scripts to check more generically.
Add abstractions for installation directories.
This commit is contained in:
David Runge 2021-07-31 17:27:17 +02:00
parent 571ea81069
commit 874166ec7b
No known key found for this signature in database
GPG Key ID: 7258734B41C31549

View File

@ -1,52 +1,33 @@
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
INSTALL_FILES=$(wildcard archiso/initcpio/install/*) PREFIX ?= /usr/local
HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*) BIN_DIR=$(DESTDIR)$(PREFIX)/bin
SCRIPT_FILES=$(wildcard archiso/initcpio/script/*) DOC_DIR=$(DESTDIR)$(PREFIX)/share/doc/archiso
PROFILE_DIR=$(DESTDIR)$(PREFIX)/share/archiso
INSTALL_DIR=$(DESTDIR)/usr/lib/initcpio/install
HOOKS_DIR=$(DESTDIR)/usr/lib/initcpio/hooks
SCRIPT_DIR=$(DESTDIR)/usr/lib/initcpio
DOC_FILES=$(wildcard docs/*) $(wildcard *.rst) DOC_FILES=$(wildcard docs/*) $(wildcard *.rst)
SCRIPT_FILES=$(wildcard archiso/*) $(wildcard scripts/*.sh) $(wildcard .gitlab/ci/*.sh) \
DOC_DIR=$(DESTDIR)/usr/share/doc/archiso $(wildcard configs/*/profiledef.sh) $(wildcard configs/*/airootfs/usr/local/bin/*)
all: all:
check: lint check: shellcheck
lint: shellcheck:
shellcheck -s bash archiso/mkarchiso \ shellcheck -s bash $(SCRIPT_FILES)
$(wildcard scripts/*.sh) \
$(wildcard .gitlab/ci/*.sh) \
$(INSTALL_FILES) \
$(wildcard configs/*/build.sh) \
$(wildcard configs/*/profiledef.sh) \
configs/releng/airootfs/root/.automated_script.sh \
configs/releng/airootfs/usr/local/bin/choose-mirror \
configs/releng/airootfs/usr/local/bin/livecd-sound
shellcheck -s dash $(HOOKS_FILES) $(SCRIPT_FILES)
install: install-program install-examples install-doc install: install-scripts install-profiles install-doc
install-program: install-scripts:
install -vDm 755 archiso/mkarchiso -t "$(DESTDIR)/usr/bin/" install -vDm 755 archiso/mkarchiso -t "$(BIN_DIR)/"
install -vDm 755 scripts/run_archiso.sh "$(DESTDIR)/usr/bin/run_archiso" install -vDm 755 scripts/run_archiso.sh "$(BIN_DIR)/run_archiso"
install-initcpio: install-profiles:
install -d $(SCRIPT_DIR) $(HOOKS_DIR) $(INSTALL_DIR) install -d -m 755 $(PROFILE_DIR)
install -m 755 -t $(SCRIPT_DIR) $(SCRIPT_FILES) cp -a --no-preserve=ownership configs $(PROFILE_DIR)/
install -m 644 -t $(HOOKS_DIR) $(HOOKS_FILES)
install -m 644 -t $(INSTALL_DIR) $(INSTALL_FILES)
install-examples:
install -d -m 755 $(DESTDIR)/usr/share/archiso/
cp -a --no-preserve=ownership configs $(DESTDIR)/usr/share/archiso/
install-doc: install-doc:
install -vDm 644 $(DOC_FILES) -t $(DOC_DIR) install -vDm 644 $(DOC_FILES) -t $(DOC_DIR)
.PHONY: check install install-program install-initcpio install-examples install-doc lint .PHONY: check install install-doc install-profiles install-scripts shellcheck