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
INSTALL_FILES=$(wildcard archiso/initcpio/install/*)
HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*)
SCRIPT_FILES=$(wildcard archiso/initcpio/script/*)
INSTALL_DIR=$(DESTDIR)/usr/lib/initcpio/install
HOOKS_DIR=$(DESTDIR)/usr/lib/initcpio/hooks
SCRIPT_DIR=$(DESTDIR)/usr/lib/initcpio
PREFIX ?= /usr/local
BIN_DIR=$(DESTDIR)$(PREFIX)/bin
DOC_DIR=$(DESTDIR)$(PREFIX)/share/doc/archiso
PROFILE_DIR=$(DESTDIR)$(PREFIX)/share/archiso
DOC_FILES=$(wildcard docs/*) $(wildcard *.rst)
DOC_DIR=$(DESTDIR)/usr/share/doc/archiso
SCRIPT_FILES=$(wildcard archiso/*) $(wildcard scripts/*.sh) $(wildcard .gitlab/ci/*.sh) \
$(wildcard configs/*/profiledef.sh) $(wildcard configs/*/airootfs/usr/local/bin/*)
all:
check: lint
check: shellcheck
lint:
shellcheck -s bash archiso/mkarchiso \
$(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)
shellcheck:
shellcheck -s bash $(SCRIPT_FILES)
install: install-program install-examples install-doc
install: install-scripts install-profiles install-doc
install-program:
install -vDm 755 archiso/mkarchiso -t "$(DESTDIR)/usr/bin/"
install -vDm 755 scripts/run_archiso.sh "$(DESTDIR)/usr/bin/run_archiso"
install-scripts:
install -vDm 755 archiso/mkarchiso -t "$(BIN_DIR)/"
install -vDm 755 scripts/run_archiso.sh "$(BIN_DIR)/run_archiso"
install-initcpio:
install -d $(SCRIPT_DIR) $(HOOKS_DIR) $(INSTALL_DIR)
install -m 755 -t $(SCRIPT_DIR) $(SCRIPT_FILES)
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-profiles:
install -d -m 755 $(PROFILE_DIR)
cp -a --no-preserve=ownership configs $(PROFILE_DIR)/
install-doc:
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