e179176b28
Somewhat kludgy unfortunately and might need even more tweaking, I have only armv7l board handy at the moment to verify that the transformation is going to work. QEMU is bailing out here and now ("Exec format error"). Example sources.list.sisyphus.armh of the season: rpm http://ftp.altlinux.ru/pub/people/asdus/sisyphus armh classic rpm http://ftp.altlinux.ru/pub/people/asdus/sisyphus noarch classic
68 lines
1.6 KiB
Makefile
68 lines
1.6 KiB
Makefile
# umbrella mkimage-profiles makefile:
|
|
# iterate over multiple goals/arches,
|
|
# collect proceedings
|
|
|
|
# preferences
|
|
-include $(HOME)/.mkimage/profiles.mk
|
|
|
|
# for immediate assignment
|
|
ifndef ARCHES
|
|
ifdef ARCH
|
|
ARCHES := $(ARCH)
|
|
else
|
|
ARCHES := $(shell arch \
|
|
| sed 's/i686/i586/; s/armv7.*/armh/; s/armv.*/arm/; s/ppc.*/ppc/')
|
|
endif
|
|
endif
|
|
export ARCHES
|
|
|
|
export PATH := $(CURDIR)/bin:$(PATH)
|
|
|
|
# supervise target tracing; leave stderr alone
|
|
ifdef REPORT
|
|
export REPORT_PATH := $(shell mktemp --tmpdir mkimage-profiles.report.XXXXXXX)
|
|
POSTPROC := | report-filter > $(REPORT_PATH)
|
|
endif
|
|
|
|
# recursive make considered useful for m-p
|
|
MAKE += -r --no-print-directory
|
|
|
|
DIRECT_TARGETS := help help/distro help/ve help/vm clean distclean check
|
|
.PHONY: $(DIRECT_TARGETS)
|
|
$(DIRECT_TARGETS):
|
|
@$(MAKE) -f main.mk $@
|
|
|
|
export NUM_TARGETS := $(words $(MAKECMDGOALS))
|
|
|
|
# for pipefail
|
|
SHELL = /bin/bash
|
|
|
|
# don't even consider remaking a configuration file
|
|
.PHONY: $(HOME)/.mkimage/profiles.mk
|
|
|
|
# real targets need real work
|
|
%:
|
|
@n=1; \
|
|
set -o pipefail; \
|
|
say() { echo "$$@" >&2; }; \
|
|
if [ "$(NUM_TARGETS)" -gt 1 ]; then \
|
|
n="`echo $(MAKECMDGOALS) \
|
|
| tr '[[:space:]]' '\n' \
|
|
| grep -nx "$@" \
|
|
| cut -d: -f1`"; \
|
|
say "** goal: $@ [$$n/$(NUM_TARGETS)]"; \
|
|
fi; \
|
|
for ARCH in $(ARCHES); do \
|
|
if [ "$$ARCH" != "$(firstword $(ARCHES))" ]; then say; fi; \
|
|
say "** ARCH: $$ARCH"; \
|
|
if $(MAKE) -f main.mk ARCH=$$ARCH $@ $(POSTPROC); then \
|
|
if [ -n "$$REPORT" ]; then \
|
|
$(MAKE) -f reports.mk ARCH=$$ARCH; \
|
|
fi; \
|
|
fi; \
|
|
done; \
|
|
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then say; fi
|
|
|
|
docs:
|
|
@$(MAKE) -C doc
|