mkimage-profiles/Makefile

39 lines
1.1 KiB
Makefile
Raw Normal View History

# steps to build a distribution image:
# --- here
# 1. initialize new profile (BUILDDIR) as a copy of image.in/
# 2. configure distro
# 3. copy subprofiles, package lists/groups and script hooks
# from metaprofile to new profile (as needed)
# --- in BUILDDIR
# 4. build subprofiles and subsequently image
all help:
@echo '** available distribution targets:'
@echo $(DISTROS) | fmt -sw65 | column -t
include clean.mk
include distro.mk
include profile.mk
include iso.mk
# this could have come from environment;
# if not, can be symlinked if r/w, or made anew (NB: immediate assignment)
ifndef BUILDDIR
PREFIX := mkimage-profiles.build
BUILDDIR := $(shell [ -s build ] && realpath build || bin/mktmpdir $(PREFIX))
endif
ifdef DEBUG
GLOBAL_VERBOSE ?= 1
SHELL += -x
endif
# we can't use implicit rules for top-level targets, only for prereqs
CONFIGS := $(shell sed -n 's,^distro/\([^:.]\+\):.*$$,\1,p' distro.mk)
DISTROS := $(addsuffix .iso,$(CONFIGS))
ARCH ?= $(shell arch | sed 's/i686/i586/')
export ARCH BUILDDIR DEBUG GLOBAL_VERBOSE SHELL
$(DISTROS): %.iso: | profile/init distro/% boot/isolinux profile/populate iso