2f307ffffb
The former toplevel Makefile is now toplevel main.mk; this change allows for multi-target, multi-arch processing in the current toplevel Makefile. As the "build" symlink semantics change quite considerably when one is doing bulk builds (several pruned builddirs might be useful for comparison), BUILDDIR is now much more likely to be recreated: the cases when it will persist are when it's either a single-image build or when the prefix hasn't changed. There are some more or less subtle bugfixes and enhancements all over the map as well. Done within 20111230..20120102 timeframe, actually...
36 lines
744 B
Makefile
36 lines
744 B
Makefile
# umbrella mkimage-profiles makefile:
|
|
# iterate over multiple goals/arches
|
|
|
|
# immediate assignment
|
|
ifndef ARCHES
|
|
ifdef ARCH
|
|
ARCHES := $(ARCH)
|
|
else
|
|
ARCHES := $(shell arch | sed 's/i686/i586/')
|
|
endif
|
|
endif
|
|
export ARCHES
|
|
|
|
# recursive make considered useful for m-p
|
|
MAKE += --no-print-directory
|
|
|
|
.PHONY: clean distclean help
|
|
clean distclean help:
|
|
@$(MAKE) -f main.mk $@
|
|
|
|
export NUM_TARGETS := $(words $(MAKECMDGOALS))
|
|
|
|
%:
|
|
@n=1; \
|
|
if [ "$(NUM_TARGETS)" -gt 1 ]; then \
|
|
n="`echo $(MAKECMDGOALS) \
|
|
| tr '[[:space:]]' '\n' \
|
|
| grep -nx "$@" \
|
|
| cut -d: -f1`"; \
|
|
echo "** goal: $@ [$$n/$(NUM_TARGETS)]"; \
|
|
fi; \
|
|
for ARCH in $(ARCHES); do \
|
|
$(MAKE) -f main.mk ARCH=$$ARCH $@; \
|
|
done; \
|
|
if [ "$$n" -lt "$(NUM_TARGETS)" ]; then echo; fi
|