Everything is broken as experiments with subarch
stuff are underway. svn path=/branches/kernel-image-2.6.11/; revision=3137
This commit is contained in:
parent
67696af0b0
commit
a73371c89f
|
@ -33,14 +33,34 @@ ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
|
||||||
CROSS := $(DEB_HOST_ARCH)-linux-
|
CROSS := $(DEB_HOST_ARCH)-linux-
|
||||||
endif
|
endif
|
||||||
karch := $(DEB_HOST_ARCH)
|
karch := $(DEB_HOST_ARCH)
|
||||||
|
controls := $(wildcard arch/*/control.in arch/*/*/control.in)
|
||||||
controls := $(wildcard arch/*/control.in)
|
|
||||||
default := arch/$(karch)/config.default
|
default := arch/$(karch)/config.default
|
||||||
configs := $(notdir $(wildcard arch/$(karch)/config.*))
|
configs := $(notdir $(wildcard arch/$(karch)/config.*))
|
||||||
configs := $(filter-out config.common config.default, $(configs))
|
configs := $(filter-out config.common config.default, $(configs))
|
||||||
|
#
|
||||||
|
# We can have different subarchs within the arch and different flavours
|
||||||
|
# within each subarch. We allow to override the choice of what to build
|
||||||
|
# via subarchs and flavours variables, so if they are defined, we leave
|
||||||
|
# them alone. Otherwise we get a list of subarchs as a list of subdirs
|
||||||
|
# in the arch/$(karch) directory.
|
||||||
|
#
|
||||||
|
ifndef subarchs
|
||||||
|
subarchs := $(shell find arch/$(karch) \
|
||||||
|
-type d -mindepth 1 -maxdepth 1 \
|
||||||
|
! -name '.svn' -printf '%f\n')
|
||||||
|
endif
|
||||||
|
ifeq ($(subarchs),)
|
||||||
|
subarchs := none
|
||||||
|
endif
|
||||||
ifndef flavours
|
ifndef flavours
|
||||||
flavours := $(patsubst config.%,%,$(configs))
|
flavours := $(patsubst config.%,%,$(configs))
|
||||||
endif
|
endif
|
||||||
|
#
|
||||||
|
# Build the lists of the kernel and build dirs which need to be
|
||||||
|
# created based on the selected subarch and flavour values.
|
||||||
|
#
|
||||||
|
kdirs := $(addprefix $(kdir)-, $(subarchs))
|
||||||
|
bdirs := foreach(sub, $(subarchs), $(addprefix build-$(sub)-, $(flavours)))
|
||||||
|
|
||||||
-include arch/$(karch)/Makefile.inc
|
-include arch/$(karch)/Makefile.inc
|
||||||
#
|
#
|
||||||
|
@ -75,6 +95,8 @@ ifndef headers_dirs
|
||||||
headers_dirs = $(karch)
|
headers_dirs = $(karch)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
all:
|
||||||
|
echo "$(kdirs)"
|
||||||
#
|
#
|
||||||
# TODO:
|
# TODO:
|
||||||
# * Check that make oldconfig does not actually
|
# * Check that make oldconfig does not actually
|
||||||
|
@ -82,7 +104,7 @@ endif
|
||||||
# is wrong (missing/extra options, etc).
|
# is wrong (missing/extra options, etc).
|
||||||
#
|
#
|
||||||
unpack: unpack-stamp
|
unpack: unpack-stamp
|
||||||
unpack-stamp: $(kdir) $(configs) header-install
|
unpack-stamp: $(kdirs) $(configs) header-install
|
||||||
for i in $(flavours); do \
|
for i in $(flavours); do \
|
||||||
cp -al $(kdir) build-$$i; \
|
cp -al $(kdir) build-$$i; \
|
||||||
cp config.$$i build-$$i/.config; \
|
cp config.$$i build-$$i/.config; \
|
||||||
|
@ -204,17 +226,36 @@ debian/control:
|
||||||
-e 's,@kbpkg@,$(kbpkg),g' | \
|
-e 's,@kbpkg@,$(kbpkg),g' | \
|
||||||
sed '/^[[:space:]]*$$/d' | \
|
sed '/^[[:space:]]*$$/d' | \
|
||||||
sed 's/^Package:/\n&/g' > debian/control
|
sed 's/^Package:/\n&/g' > debian/control
|
||||||
|
#
|
||||||
$(kdir): post-install
|
# This is a general target to create the ready-to-build directory
|
||||||
|
# for the correct subarch and flavour. For the arches with subarchs
|
||||||
|
# the directory will have the name build-$(subarch)-$(flavour). For
|
||||||
|
# the ones with subarch, it will be just build-$(flavour).
|
||||||
|
#
|
||||||
|
build-%:
|
||||||
|
set $(subst -, ,$@); shift; \
|
||||||
|
subarch="$${1}"; \
|
||||||
|
flavour="$${2}"; \
|
||||||
|
if [ -z "$${flavour}" ]; then \
|
||||||
|
cp -al $(kdir) build-$${subarch}; \
|
||||||
|
else \
|
||||||
|
cp -al $(kdir)-$${subarch} build-$${subarch}-$${flavour}; \
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
$(kdir)-%: post-install
|
||||||
dh_testdir
|
dh_testdir
|
||||||
tar jxf /usr/src/kernel-source-$(version).tar.bz2
|
tar jxf /usr/src/$(kdir).tar.bz2
|
||||||
cd $(kdir) && $(kpatch) $(version)-$(ktver)
|
|
||||||
mkdir -p $(kdir)/debian
|
mkdir -p $(kdir)/debian
|
||||||
cp debian/changelog $(kdir)/debian
|
cp debian/changelog $(kdir)/debian
|
||||||
cp debian/control $(kdir)/debian
|
cp debian/control $(kdir)/debian
|
||||||
cp debian/copyright $(kdir)/debian
|
cp debian/copyright $(kdir)/debian
|
||||||
|
# File below must be the proper subarch file
|
||||||
cp $(default) $(kdir)/.config
|
cp $(default) $(kdir)/.config
|
||||||
touch $(kdir)/debian/official
|
touch $(kdir)/debian/official
|
||||||
install post-install $(kdir)/debian
|
install post-install $(kdir)/debian
|
||||||
|
# Here we need to do the subarch-specific patching
|
||||||
|
mv $(kdir) $@
|
||||||
|
|
||||||
.PHONY: clean build unpack binary-indep binary-arch binary
|
.PHONY: clean build unpack binary-indep binary-arch binary
|
||||||
|
|
Loading…
Reference in New Issue