3c26cc869d
The only thing to be fixed was setarch(8) symlinks assumption that is correct for x86 but not for ARM. There's also some hasher(7) setup to be done: mkdir -p ~/.hasher echo >> ~/.hasher/config <<-EOF def_target=arm #cache_dir=$HOME/tmp # depends on RAM/storage configuration EOF ...and of course apt(8) should be properly set up too. An example PoC build on a CM-A510 board (tmpfs): $ make BRANDING=altlinux-centaurus ve/bare.tar.gz ** ARCH: arm 18:10:45 initializing BUILDDIR: build/ 18:10:45 preparing distro config: build/distcfg.mk 18:10:46 starting image build: tail -f build/build.log 18:14:49 done (4:02) ** image: $TMP/out/bare-20120706-arm.tar.gz [23M]
31 lines
1022 B
Makefile
31 lines
1022 B
Makefile
# globals
|
|
PKGDIR := $(GLOBAL_BUILDDIR)/pkg
|
|
|
|
# duplicated from metaprofile makefiles for the sake of "local" builds
|
|
ARCH ?= $(shell arch | sed 's/i686/i586/; s/armv.*/arm/')
|
|
DATE ?= $(shell date +%Y%m%d)
|
|
|
|
# prefix pkglist name with its directory to form a path (relative/absolute)
|
|
rlist = $(1:%=lists/%)
|
|
list = $(addprefix $(PKGDIR)/,$(call rlist,$(1)))
|
|
|
|
# prefix/suffix group name to form a path (relative/absolute)
|
|
rgroup = $(1:%=groups/%.directory)
|
|
group = $(addprefix $(PKGDIR)/,$(call rgroup,$(1)))
|
|
|
|
# map first argument (a function) onto second one (an argument list)
|
|
map = $(foreach a,$(2),$(call $(1),$(a)))
|
|
|
|
# kernel package list generation; see also #24669
|
|
NULL :=
|
|
SPACE := $(NULL) # the officially documented way of getting a space
|
|
|
|
list2re = $(subst $(SPACE),|,$(strip $(1)))
|
|
|
|
# args: KMODULES, KFLAVOURS
|
|
kpackages = $(and $(1),$(2), \
|
|
^kernel-(image|modules-($(call list2re,$(1))))-($(call list2re,$(2)))$$)
|
|
|
|
# arg: branding subpackages
|
|
branding = $(and $(1),^branding-$(BRANDING)-($(call list2re,$(1)))$$)
|