530 lines
23 KiB
Makefile
530 lines
23 KiB
Makefile
#
|
|
# This Makefile executes the unpack/build/binary targets for a single
|
|
# subarch, which is passed in the subarch variable. Empty subarch
|
|
# variable means that we are building for an arch without the subarch.
|
|
# Additionally, variables version, abiname and ltver are
|
|
# expected to be available (need to be exported from the parent process).
|
|
#
|
|
SHELL := bash -e
|
|
DEB_HOST_ARCH := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_ARCH)
|
|
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_GNU_TYPE)
|
|
DEB_BUILD_ARCH := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_BUILD_ARCH)
|
|
UPLOADER := $(shell dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<\([^>]*\)>,\1,p')
|
|
|
|
export PYTHONPATH = $(CURDIR)/debian/lib/python
|
|
export DH_OPTIONS
|
|
export DEB_HOST_ARCH DEB_HOST_GNU_TYPE DEB_BUILD_ARCH
|
|
|
|
include debian/rules.defs
|
|
|
|
#
|
|
# Here we construct the command lines for different make-kpkg
|
|
# calls (build, linux-image, linux-headers) based on the values
|
|
# of variables defined so far and provided by the arch/subarch
|
|
# in Makefile.inc. @flavour@ in the expressions is going to be
|
|
# replaced by the flavour for which the command is run.
|
|
#
|
|
kpkg_image := make-kpkg
|
|
kpkg_image += --arch '$(firstword $(KPKG_ARCH) $(ARCH))' --cross-compile=-
|
|
kpkg_image += --stem linux
|
|
kpkg_image += --config silentoldconfig
|
|
ifneq ($(INITRAMFS),False)
|
|
kpkg_image += --initrd
|
|
endif
|
|
ifdef KPKG_SUBARCH
|
|
kpkg_image += --subarch '$(KPKG_SUBARCH)'
|
|
endif
|
|
setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION -u MAKEFLAGS
|
|
|
|
ifdef DEBIAN_KERNEL_JOBS
|
|
setup_env_kpkg_jobs = CONCURRENCY_LEVEL=$(DEBIAN_KERNEL_JOBS)
|
|
JOBS_ARG = -j$(DEBIAN_KERNEL_JOBS)
|
|
endif
|
|
|
|
setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTION_UPLOADER=$(UPLOADER) DISTRIBUTION_VERSION="$(SOURCEVERSION)"
|
|
|
|
#
|
|
# Targets
|
|
#
|
|
binary-arch-arch: install-headers_$(ARCH)
|
|
binary-arch-arch: install-libc-dev_$(ARCH)
|
|
binary-arch-featureset: install-headers_$(ARCH)_$(FEATURESET)
|
|
binary-arch-flavour: install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
|
ifeq ($(MODULES),True)
|
|
binary-arch-flavour: install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
endif
|
|
|
|
binary-indep: install-doc
|
|
binary-indep: install-manual
|
|
binary-indep: install-patch
|
|
binary-indep: install-source
|
|
binary-indep: install-support
|
|
binary-indep: install-tree
|
|
|
|
build: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
|
|
|
setup-flavour: $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
|
|
|
source-arch: $(STAMPS_DIR)/source
|
|
source-featureset: $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
|
|
$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
|
|
python2.4 debian/bin/kconfig.py '$@' $(KCONFIG)
|
|
|
|
$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: SOURCE_DIR=$(BUILD_DIR)/source
|
|
$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: DIR = $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION)
|
|
$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: $(STAMPS_DIR)/source
|
|
rm -rf '$@' '$(DIR)'
|
|
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
|
chmod -R u+rw,go=rX '$(DIR)'
|
|
cd '$(BUILD_DIR)'; tar -cjf 'linux-source-$(UPSTREAMVERSION).tar.bz2' 'linux-source-$(UPSTREAMVERSION)'
|
|
rm -rf '$(DIR)'
|
|
|
|
define patch_cmd
|
|
cd '$(DIR)'; python2.4 '$(CURDIR)/debian/bin/patch.apply' --overwrite-home='$(CURDIR)/debian/patches'
|
|
endef
|
|
|
|
$(STAMPS_DIR)/source: SOURCE_FILES = $(filter-out debian, $(wildcard * .[^.]*))
|
|
$(STAMPS_DIR)/source: DIR = $(BUILD_DIR)/source
|
|
$(STAMPS_DIR)/source:
|
|
rm -rf '$(DIR)'
|
|
mkdir -p '$(DIR)'
|
|
cp -al $(SOURCE_FILES) '$(DIR)'
|
|
$(patch_cmd)
|
|
touch '$@'
|
|
|
|
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
|
|
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source
|
|
rm -rf '$(DIR)'
|
|
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
|
$(patch_cmd) -a $(ARCH) -s $(FEATURESET)
|
|
touch '$@'
|
|
|
|
setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: SOURCE_DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
rm -rf '$(DIR)'
|
|
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
|
cp '$(CONFIG)' '$(DIR)/.config'
|
|
echo '$(ABINAME)$(LOCALVERSION)' > '$(DIR)/localversion'
|
|
echo 'override ARCH = $(KERNEL_ARCH)' >> '$(DIR)/.kernelvariables'
|
|
echo 'CCACHE = ccache' >> '$(DIR)/.kernelvariables'
|
|
echo 'CC = $$(if $$(DEBIAN_KERNEL_USE_CCACHE),$$(CCACHE)) $$(CROSS_COMPILE)$(COMPILER)' >> '$(DIR)/.kernelvariables'
|
|
# TODO: Should we set CROSS_COMPILE always?
|
|
ifdef OVERRIDE_HOST_TYPE
|
|
echo 'override CROSS_COMPILE = $(OVERRIDE_HOST_TYPE)-' >> '$(DIR)/.kernelvariables'
|
|
else
|
|
echo 'ifneq ($$(DEB_BUILD_ARCH),$$(DEB_HOST_ARCH))' >> '$(DIR)/.kernelvariables'
|
|
echo 'override CROSS_COMPILE = $$(DEB_HOST_GNU_TYPE)-' >> '$(DIR)/.kernelvariables'
|
|
echo 'endif' >> '$(DIR)/.kernelvariables'
|
|
endif
|
|
ifdef CFLAGS
|
|
echo 'CFLAGS += $(CFLAGS)' >> '$(DIR)/.kernelvariables'
|
|
endif
|
|
cd '$(DIR)'; $(setup_env) make reportoldconfig
|
|
|
|
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
|
|
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
|
|
$(MAKE) -f debian/rules.real setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all
|
|
mkdir -p '$(DIR)/debian'
|
|
cp debian/{changelog,control,copyright} '$(DIR)/debian'
|
|
touch '$(DIR)/debian/official'
|
|
cd '$(DIR)'; $(setup_env) $(kpkg_image) configure
|
|
touch '$@'
|
|
|
|
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain \
|
|
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape \
|
|
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
|
|
$(MAKE) -f debian/rules.real setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all
|
|
cd '$(DIR)'; $(setup_env) make prepare $(JOBS_ARG)
|
|
touch '$@'
|
|
|
|
$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
|
|
|
$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
|
|
cd '$(DIR)'; $(setup_env) $(setup_env_kpkg_jobs) $(kpkg_image) build
|
|
python2.4 debian/bin/abicheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
|
|
touch '$@'
|
|
|
|
$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain \
|
|
$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape \
|
|
$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
|
|
cd '$(DIR)'; $(setup_env) make $(JOBS_ARG)
|
|
python2.4 debian/bin/abicheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
|
|
touch '$@'
|
|
|
|
$(STAMPS_DIR)/build-doc: SOURCE_DIR=$(BUILD_DIR)/source
|
|
$(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc
|
|
$(STAMPS_DIR)/build-doc: $(STAMPS_DIR)/source
|
|
rm -rf '$(DIR)'
|
|
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
|
$(setup_env) make -C '$(DIR)' $(JOBS_ARG) htmldocs mandocs
|
|
touch '$@'
|
|
|
|
$(STAMPS_DIR)/build-libc-dev: SOURCE_DIR = $(BUILD_DIR)/source
|
|
$(STAMPS_DIR)/build-libc-dev: DIR = $(BUILD_DIR)/build-libc-dev
|
|
$(STAMPS_DIR)/build-libc-dev: $(STAMPS_DIR)/source
|
|
rm -rf '$(DIR)'
|
|
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
|
touch '$@'
|
|
|
|
install-base:
|
|
dh_installchangelogs
|
|
dh_installdocs
|
|
dh_compress
|
|
dh_fixperms
|
|
dh_installdeb
|
|
dh_gencontrol -- $(GENCONTROL_ARGS)
|
|
dh_md5sums
|
|
dh_builddeb
|
|
|
|
install-doc: PACKAGE_NAME = linux-doc-$(VERSION)
|
|
install-doc: DIR = $(BUILD_DIR)/build-doc
|
|
install-doc: PACKAGE_DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
|
|
install-doc: OUT_DIR = $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)
|
|
install-doc: DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-doc: $(STAMPS_DIR)/build-doc
|
|
dh_clean -d -k
|
|
cd $(DIR); ls -1 COPYING CREDITS MAINTAINERS README REPORTING-BUGS \
|
|
| cpio -pd --preserve-modification-time '$(OUT_DIR)'
|
|
cd $(DIR)/Documentation; \
|
|
find . \
|
|
-path './DocBook/man/*' -prune -o \
|
|
-path './DocBook/*' -a \( -name '*.tmpl' -o -name '*.xml' -o -name '*.9' \) -prune -o \
|
|
\( -name 'Makefile*' -o -name '.*.cmd' -o -name '.gitignore' \) -prune -o \
|
|
-print \
|
|
| \
|
|
cpio -pd --preserve-modification-time '$(OUT_DIR)/Documentation'
|
|
mv '$(OUT_DIR)/Documentation/DocBook' '$(OUT_DIR)/html'
|
|
-gzip -9qfr '$(OUT_DIR)/Documentation'
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-manual: PACKAGE_NAME = linux-manual-$(VERSION)
|
|
install-manual: DIR=$(BUILD_DIR)/build-doc
|
|
install-manual: PACKAGE_DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
|
|
install-manual: DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-manual: $(STAMPS_DIR)/build-doc
|
|
dh_clean -d -k
|
|
find '$(DIR)/Documentation/DocBook/' -name '*.9' | xargs dh_installman
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-dummy:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -d -k
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-headers_$(ARCH): PACKAGE_NAMES = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all-$(ARCH)
|
|
install-headers_$(ARCH): DH_OPTIONS = $(foreach p, $(PACKAGE_NAMES), -p$(p))
|
|
install-headers_$(ARCH):
|
|
dh_testdir
|
|
dh_testroot
|
|
$(MAKE) -f debian/rules.real install-base GENCONTROL_ARGS='-Vkernel:Arch=$(ARCH)'
|
|
|
|
install-headers_$(ARCH)_$(FEATURESET): PACKAGE_NAME = linux-headers-$(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION_HEADERS)
|
|
install-headers_$(ARCH)_$(FEATURESET): DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-headers_$(ARCH)_$(FEATURESET): BASE_DIR = /usr/src/$(PACKAGE_NAME)
|
|
install-headers_$(ARCH)_$(FEATURESET): SOURCE_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
install-headers_$(ARCH)_$(FEATURESET): DIR = $(CURDIR)/debian/$(PACKAGE_NAME)/$(BASE_DIR)
|
|
install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -k -d
|
|
cd $(SOURCE_DIR); \
|
|
( \
|
|
find . \
|
|
-path './Documentation/*' -prune -o \
|
|
-path './arch/*' -prune -o \
|
|
-path './include/asm*' -prune -o \
|
|
-path './scripts/*' -prune -o \
|
|
-path './include/*' -print -o \
|
|
\( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Rules.make' \) -print; \
|
|
find include/asm-generic -print; \
|
|
for i in $(KERNEL_HEADER_DIRS); do \
|
|
find arch/$$i \
|
|
\( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Rules.make' -o -name 'module.lds' \) -print; \
|
|
find include/asm-$$i -print; \
|
|
done; \
|
|
) \
|
|
| \
|
|
cpio -pd --preserve-modification-time $(DIR)
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-headers-$(REAL_VERSION)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_HEADERS = linux-headers-$(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION_HEADERS)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_KBUILD = linux-kbuild-$(VERSION)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): BASE_DIR = /usr/src/$(PACKAGE_NAME)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REF_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
|
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -k -d
|
|
|
|
mkdir -p "${DIR}/arch/${KERNEL_ARCH}/kernel"
|
|
mkdir -p "${DIR}/include"
|
|
cp -a ${SOURCE_DIR}/{.config,.kernel*,Module.symvers} "${DIR}"
|
|
|
|
cd ${SOURCE_DIR}; \
|
|
find . -mindepth 1 -maxdepth 1 \
|
|
! -name debian -a ! -name Documentation -a ! -name include -a \
|
|
! -name DEBIAN -a ! -name scripts -a ! -name arch -a ! -name '.*' -a \( \
|
|
-name Makefile -o -type d \) \
|
|
-printf "../${PACKAGE_NAME_HEADERS}/%f\n" | \
|
|
xargs ln -s --target-directory="${DIR}"
|
|
|
|
cd ${SOURCE_DIR}; \
|
|
find "arch/${KERNEL_ARCH}" -mindepth 1 -maxdepth 1 \( \
|
|
-type d -a ! -name include -a ! -name kernel -o \
|
|
-type f -a \( -name 'Makefile*' -o -name 'Kconfig*' \) \) \
|
|
-printf "../../../${PACKAGE_NAME_HEADERS}/%p\n" | \
|
|
xargs ln -s --target-directory="${DIR}/arch/${KERNEL_ARCH}"
|
|
|
|
[ -d "${SOURCE_DIR}/arch/${KERNEL_ARCH}/include" ] && \
|
|
cp -a "${SOURCE_DIR}/arch/${KERNEL_ARCH}/include" "${DIR}/arch/${KERNEL_ARCH}/include" || :
|
|
[ -f "${SOURCE_DIR}/arch/${KERNEL_ARCH}/kernel/asm-offsets.s" ] && \
|
|
ln -f "${SOURCE_DIR}/arch/${KERNEL_ARCH}/kernel/asm-offsets.s" "${DIR}/arch/${KERNEL_ARCH}/kernel" || :
|
|
[ -f "${SOURCE_DIR}/arch/${KERNEL_ARCH}/module.lds" ] && \
|
|
ln -f "${SOURCE_DIR}/arch/${KERNEL_ARCH}/module.lds" "${DIR}/arch/${KERNEL_ARCH}" || :
|
|
[ -f "${SOURCE_DIR}/arch/${KERNEL_ARCH}/kernel/module.lds" ] && \
|
|
ln -f "${SOURCE_DIR}/arch/${KERNEL_ARCH}/kernel/module.lds" "${DIR}/arch/${KERNEL_ARCH}" || :
|
|
ln -s "../../../../${PACKAGE_NAME_HEADERS}/arch/${KERNEL_ARCH}/kernel/Makefile" "${DIR}/arch/${KERNEL_ARCH}/kernel"
|
|
|
|
cd ${SOURCE_DIR}; \
|
|
find include -mindepth 1 -maxdepth 1 \
|
|
! -name config -a ! -name linux -a ! -name 'asm*' \
|
|
-printf "../../${PACKAGE_NAME_HEADERS}/%p\n" | \
|
|
xargs ln -s --target-directory="${DIR}/include"
|
|
cp -a ${SOURCE_DIR}/include/config "${DIR}/include"
|
|
|
|
ln -sf "asm-${KERNEL_ARCH}" "${DIR}/include/asm"
|
|
|
|
cd ${SOURCE_DIR}; \
|
|
for dir in linux asm-generic $(foreach t, $(KERNEL_HEADER_DIRS), asm-$(t)); do \
|
|
mkdir "${DIR}/include/$$dir"; \
|
|
for file in $$(find "include/$$dir" -mindepth 1 -maxdepth 1); do \
|
|
if [ -e ${CURDIR}/${REF_DIR}/$$file ]; then \
|
|
ln -s --target-directory="${DIR}/include/$$dir" "../../../${PACKAGE_NAME_HEADERS}/$$file"; \
|
|
elif [ -d ${CURDIR}/${SOURCE_DIR}/$$file ]; then \
|
|
cp -a "${CURDIR}/${SOURCE_DIR}/$$file" "${DIR}/include/$$dir"; \
|
|
else \
|
|
ln -f --target-directory="${DIR}/include/$$dir" "${CURDIR}/${SOURCE_DIR}/$$file"; \
|
|
fi \
|
|
done \
|
|
done
|
|
|
|
mkdir -p "${PACKAGE_DIR}/lib/modules/${REAL_VERSION}"
|
|
ln -s "/usr/src/${PACKAGE_NAME}" "${PACKAGE_DIR}/lib/modules/${REAL_VERSION}/build"
|
|
|
|
ln -s "../${PACKAGE_NAME_KBUILD}/scripts" "${DIR}"
|
|
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-libc-dev_$(ARCH): PACKAGE_NAME = linux-libc-dev
|
|
install-libc-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-libc-dev_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/build-libc-dev
|
|
install-libc-dev_$(ARCH): DIR = $(CURDIR)/debian/$(PACKAGE_NAME)/usr
|
|
install-libc-dev_$(ARCH): $(STAMPS_DIR)/build-libc-dev
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -d -k
|
|
$(setup_env) make -C '$(SOURCE_DIR)' headers_check ARCH=$(HEADERS_ARCH)
|
|
$(setup_env) make -C '$(SOURCE_DIR)' headers_install ARCH=$(HEADERS_ARCH) INSTALL_HDR_PATH='$(DIR)'
|
|
# XXX: Needs to be removed from libc6-dev
|
|
rm -rf '$(DIR)'/include/scsi
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
# XXX: This needs to be moved into the config
|
|
install-libc-dev_$(ARCH): HEADERS_ARCH = $(ARCH)
|
|
install-libc-dev_amd64 \
|
|
install-libc-dev_i386: HEADERS_ARCH = x86_64
|
|
install-libc-dev_armel: HEADERS_ARCH = arm
|
|
install-libc-dev_hppa: HEADERS_ARCH = parisc
|
|
install-libc-dev_mipsel: HEADERS_ARCH = mips
|
|
install-libc-dev_sparc: HEADERS_ARCH = sparc64
|
|
|
|
install-support: PACKAGE_NAME = linux-support-$(UPSTREAMVERSION)$(ABINAME)
|
|
install-support: DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-support: PACKAGE_DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
|
|
install-support:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -k -d
|
|
chmod a+x debian/modules/gencontrol.py
|
|
dh_install debian/config debian/lib debian/modules /usr/src/$(PACKAGE_NAME)
|
|
dh_python -V 2.4 /usr/src/$(PACKAGE_NAME)/lib/python
|
|
echo -e "[version]\nsource: $(SOURCEVERSION)\nabiname: $(ABINAME)" > $(PACKAGE_DIR)/usr/src/$(PACKAGE_NAME)/version
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_NAME = linux-image-$(REAL_VERSION)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): INSTALL_DIR = $(PACKAGE_DIR)/boot
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
|
|
ifdef IMAGE_POSTPROC
|
|
# Install the postproc script into the hook directory
|
|
install -d '$(DIR)/debian/image.d'
|
|
install 'debian/bin/$(IMAGE_POSTPROC)' '$(DIR)/debian/image.d'
|
|
endif
|
|
cd '$(DIR)'; $(setup_env) $(kpkg_image) kernel-image
|
|
cat '$(DIR)/debian/files' >> debian/files
|
|
@for i in $$(awk '{ print $$1; }' '$(DIR)/debian/files'); do \
|
|
echo "mv \"$(BUILD_DIR)/$$i\" .."; \
|
|
mv "$(BUILD_DIR)/$$i" ..; \
|
|
done
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -d -k
|
|
dh_installdirs 'boot'
|
|
$(MAKE) -f debian/rules.real \
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_image \
|
|
DIR='$(DIR)' PACKAGE_DIR='$(PACKAGE_DIR)' INSTALL_DIR='$(INSTALL_DIR)' REAL_VERSION='$(REAL_VERSION)'
|
|
ifeq ($(MODULES),True)
|
|
cd $(DIR); $(setup_env) make modules_install INSTALL_MOD_PATH=$(PACKAGE_DIR)
|
|
cp $(DIR)/.config $(PACKAGE_DIR)/boot/config-$(REAL_VERSION)
|
|
cp $(DIR)/System.map $(PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
|
|
rm $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/{build,source,modules.*}
|
|
endif
|
|
$(MAKE) -f debian/rules.real \
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates \
|
|
PACKAGE_DIR='$(PACKAGE_DIR)' REAL_VERSION='$(REAL_VERSION)'
|
|
$(MAKE) -f debian/rules.real \
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug \
|
|
PACKAGE_DIR='$(PACKAGE_DIR)' PACKAGE_NAME='$(PACKAGE_NAME)' REAL_VERSION='$(REAL_VERSION)'
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \
|
|
install-image_i386_$(FEATURESET)_$(FLAVOUR)_plain_image:
|
|
cp '$(DIR)/arch/$(KERNEL_ARCH)/boot/bzImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
|
|
|
|
install-image_m68k_$(FEATURESET)_$(FLAVOUR)_plain_image:
|
|
install -m644 '$(DIR)/vmlinux.gz' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
|
|
|
|
install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_image:
|
|
install -m644 '$(DIR)/vmlinux' $(INSTALL_DIR)/vmlinux-$(REAL_VERSION)
|
|
ifeq ($(KERNEL_ARCH),ppc)
|
|
# TODO: GNA
|
|
$(setup_env) make -C '$(DIR)/arch/ppc/boot' mkvmlinuz_support_install \
|
|
INSTALL_MKVMLINUZ=$(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
|
|
else
|
|
$(setup_env) make -C '$(DIR)' mkvmlinuz_support_install \
|
|
INSTALL_MKVMLINUZ=$(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
|
|
endif
|
|
|
|
install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_image:
|
|
cp '$(DIR)/arch/s390/boot/image' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
|
|
|
|
ifneq ($(INITRAMFS),False)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_INITRD = YES
|
|
endif
|
|
|
|
install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_KIMAGE = vmlinux
|
|
|
|
install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = zipl
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates:
|
|
install -d $(PACKAGE_DIR)/DEBIAN
|
|
for i in $(notdir $(wildcard debian/templates/temp.image.plain/*)); do \
|
|
sed \
|
|
-e 's,=D,/boot,g' \
|
|
-e 's/=OF/YES/g' \
|
|
-e 's/=ST/linux/g' \
|
|
-e 's@=A@$(DEB_HOST_ARCH)@g' \
|
|
-e 's@=B@$(KERNEL_ARCH)@g' \
|
|
-e 's/=I/$(ARG_INITRD)/g' \
|
|
-e 's/=K/$(ARG_KIMAGE)/g' \
|
|
-e 's/=L/$(ARG_BOOTLOADER)/g' \
|
|
-e 's@=MK@$(INITRD_CMD)@g' \
|
|
-e 's/=V/$(REAL_VERSION)/g' \
|
|
-e 's/=IB//g' \
|
|
-e 's/=M//g' \
|
|
-e 's/=MD//g' \
|
|
-e 's/=R//g' \
|
|
-e 's/=S//g' \
|
|
'$(CURDIR)'/debian/templates/temp.image.plain/$$i > '$(PACKAGE_DIR)'/DEBIAN/$$i; \
|
|
done
|
|
chmod 755 '$(PACKAGE_DIR)'/DEBIAN/{config,{pre,post}*}
|
|
chmod 644 '$(PACKAGE_DIR)'/DEBIAN/templates
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug:
|
|
dh_installdirs usr/share/bug/$(PACKAGE_NAME)
|
|
dh_install debian/templates/image.plain.bug/* usr/share/bug/$(PACKAGE_NAME)
|
|
chmod 755 '$(PACKAGE_DIR)'/usr/share/bug/$(PACKAGE_NAME)/script
|
|
echo "RELEASE='$(REAL_VERSION)'" > '$(PACKAGE_DIR)'/usr/share/bug/$(PACKAGE_NAME)/info
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -d -k
|
|
dh_installdirs 'boot'
|
|
cp '$(DIR)/arch/s390/boot/image' $(PACKAGE_DIR)/boot/vmlinuz-$(REAL_VERSION)
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: MODULES_PACKAGE_NAME = linux-modules-$(REAL_VERSION)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: MODULES_PACKAGE_DIR = $(CURDIR)/debian/$(MODULES_PACKAGE_NAME)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: DH_OPTIONS = -p$(PACKAGE_NAME) -p$(MODULES_PACKAGE_NAME)
|
|
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -d -k
|
|
DH_OPTIONS= dh_installdirs -p$(PACKAGE_NAME) 'boot' 'var/lib/$(PACKAGE_NAME)'
|
|
DH_OPTIONS= dh_installdirs -p$(MODULES_PACKAGE_NAME) 'boot'
|
|
ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
|
|
$(DEB_HOST_GNU_TYPE)-objcopy -g --strip-unneeded $(DIR)/vmlinux $(DIR)/vmlinux-stripped
|
|
else
|
|
objcopy -g --strip-unneeded $(DIR)/vmlinux $(DIR)/vmlinux-stripped
|
|
endif
|
|
gzip -c -9 $(DIR)/vmlinux-stripped > $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
|
|
cd $(DIR); $(setup_env) make modules_install INSTALL_MOD_PATH=$(MODULES_PACKAGE_DIR)
|
|
cp $(DIR)/.config $(MODULES_PACKAGE_DIR)/boot/config-$(REAL_VERSION)
|
|
cp $(DIR)/System.map $(MODULES_PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
|
|
rm $(MODULES_PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/{build,source}
|
|
DH_OPTIONS= dh_installmodules -p$(MODULES_PACKAGE_NAME)
|
|
for i in $(XEN_VERSIONS); do echo $$i; done > $(PACKAGE_DIR)/var/lib/$(PACKAGE_NAME)/xen-versions
|
|
install -d $(PACKAGE_DIR)/DEBIAN
|
|
echo /var/lib/$(PACKAGE_NAME)/xen-versions >> $(PACKAGE_DIR)/DEBIAN/conffiles
|
|
$(MAKE) -f debian/rules.real install-base
|
|
|
|
install-patch: PACKAGE = linux-patch-debian-$(VERSION)
|
|
install-patch: pbase := /usr/src/kernel-patches/all/$(UPSTREAMVERSION)
|
|
install-patch: pfull := debian/$(PACKAGE)$(pbase)
|
|
install-patch: DH_OPTIONS = -p$(PACKAGE)
|
|
install-patch:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -d -k $(DH_OPTIONS)
|
|
dh_installdirs $(DH_OPTIONS) '$(pbase)/apply' '$(pbase)/debian' '$(pbase)/unpatch'
|
|
dh_install $(DH_OPTIONS) debian/patches/* '$(pbase)/debian'
|
|
install debian/bin/patch.apply '$(pfull)/apply/debian'
|
|
install debian/bin/patch.unpatch '$(pfull)/unpatch/debian'
|
|
find '$(pfull)/debian' ! -path '*/series/*' -type f -execdir bzip2 '{}' ';' -execdir chmod 644 '{}.bz2' ';'
|
|
$(MAKE) -f debian/rules.real install-base DH_OPTIONS='$(DH_OPTIONS)'
|
|
|
|
install-source: DH_OPTIONS = -plinux-source-$(VERSION)
|
|
install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_install $(DH_OPTIONS) '$<' /usr/src
|
|
$(MAKE) -f debian/rules.real install-base DH_OPTIONS='$(DH_OPTIONS)'
|
|
|
|
install-tree: DH_OPTIONS = -plinux-tree-$(VERSION)
|
|
install-tree:
|
|
$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='$(DH_OPTIONS)'
|
|
|
|
# vim: filetype=make
|