functions.mk 1.01 KB
Newer Older
1 2
# globals
PKGDIR := $(GLOBAL_BUILDDIR)/pkg
3

4
# duplicated from metaprofile makefiles for the sake of "local" builds
5
ARCH ?= $(shell arch | sed 's/i686/i586/; s/armv.*/arm/; s/ppc.*/ppc/')
6
DATE ?= $(shell date +%Y%m%d)
7

8 9 10
# prefix pkglist name with its directory to form a path (relative/absolute)
rlist = $(1:%=lists/%)
list  = $(addprefix $(PKGDIR)/,$(call rlist,$(1)))
11

12 13 14
# prefix/suffix group name to form a path (relative/absolute)
rgroup = $(1:%=groups/%.directory)
group  = $(addprefix $(PKGDIR)/,$(call rgroup,$(1)))
Michael Shigorin's avatar
Michael Shigorin committed
15 16 17 18 19 20 21

# 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
22

Michael Shigorin's avatar
Michael Shigorin committed
23
list2re = $(subst $(SPACE),|,$(strip $(1)))
24

25
# args: KMODULES, KFLAVOURS
26 27
kpackages = $(and $(1),$(2), \
	^kernel-(image|modules-($(call list2re,$(1))))-($(call list2re,$(2)))$$)
28 29

# arg: branding subpackages
30
branding = $(and $(1),^branding-$(BRANDING)-($(call list2re,$(1)))$$)