diff --git a/debian/Makefile.image b/debian/Makefile.image deleted file mode 100755 index e650fb6c5..000000000 --- a/debian/Makefile.image +++ /dev/null @@ -1,225 +0,0 @@ -# -# 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 ktver are -# expected to be available (need to be exported from the parent process). -# It is possible to override the flavours by setting the flavours -# variable. -# -# This Makefile is run from the debian subdir -# -SHELL := sh -e -debver := $(version)-$(abiname) -uver := $(subst .,_,$(version)) -debnum := -$(abiname) -kbpkg := kernel-kbuild-$(version)-$(abiname) -# This will eventually have to be changed to a command, applying -# the debian's patches from the local tree (arch/patches?) -kpatch := /usr/src/kernel-patches/all/$(version)/apply/debian $(version)-$(ktver) -DEBIAN_UPSTREAM_VERSION := $(version) -ifeq (,$(DEB_HOST_ARCH)) - DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) - DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) -endif -export version debnum DEBIAN_UPSTREAM_VERSION - -karch := $(DEB_HOST_ARCH) -# -# Build the list of common config files to be included -# -ifeq ($(subarch),none) - basedir := arch/$(karch) - append := -else - basedir := arch/$(karch)/$(subarch) - append := -$(subarch) -endif -default := $(basedir)/config.default -configs := $(notdir $(wildcard $(basedir)/config.*)) -configs := $(filter-out config.common config.default, $(configs)) -tkdir := kernel-source-$(version) -kdir := kernel-source-$(version)-$(subarch) -ifndef flavours - flavours := $(patsubst config.%,%,$(configs)) -endif - --include $(basedir)/Makefile.inc - -# -# Here we construct the command lines for different make-kpkg -# calls (build, kernel-image, kernel-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_headers_cmd := HEADER_CLEAN_HOOK='$(CURDIR)/header-install-$(subarch)' -kpkg_headers_cmd += make-kpkg --append-to-version $(debnum)$(append) -kpkg_build_cmd := make-kpkg --append-to-version $(debnum)-@flavour@ -ifdef added_patches - kpkg_headers_cmd += --added_patches $(subst @uver@,$(uver),$(added_patches)) - kpkg_build_cmd += --added_patches $(subst @uver@,$(uver),$(added_patches)) -endif -ifdef build_subarch - kpkg_build_cmd += --subarch $(build_subarch) -endif -ifdef headers_subarch - kpkg_headers_cmd += --subarch $(headers_subarch) -endif -ifdef build_makeflags - kpkg_build_cmd := MAKEFLAGS=$(build_makeflags) $(kpkg_build_cmd) -endif -# -# Note that next variable (kpkg_image_pre) is not going to be evaluated -# immediately. When referenced, the variable $* will have the current -# flavour for which the command is executed. So if this flavour will -# happen to be in the image_prefix_flavours list, the call to make-kpkg -# will be prepended with contents if image_prefix. -# -kpkg_image_pre = $(if $(filter $*,$(image_prefix_flavours)),$(image_prefix)) -kpkg_image_cmd := $(kpkg_build_cmd) --initrd kernel_image -kpkg_build_cmd += build -kpkg_headers_cmd += kernel-headers -ifndef headers_dirs - headers_dirs = $(karch) -endif -ifneq (no,$(include_common_config)) - ccommon := arch/config.common -endif -ccommon += arch/$(karch)/config.common arch/$(karch)/$(subarch)/config.common -# -# Here we build lists of directories and stamps which we will depend on. -# For each class of such targets there is a pattern rule which will catch -# it and do the right thing. -# -bdirs := $(addprefix build-$(subarch)-, $(flavours)) -bstamps := $(addprefix build-stamp-$(subarch)-, $(flavours)) -istamps := $(addprefix install-stamp-$(subarch)-, $(flavours)) -# -# Targets -# -unpack: unpack-stamp-$(subarch) -unpack-stamp-$(subarch): $(configs) header-install-$(subarch) $(bdirs) - touch unpack-stamp-$(subarch) - -build: build-stamp-$(subarch) -build-stamp-$(subarch): unpack-stamp-$(subarch) $(bstamps) - touch build-stamp-$(subarch) - -binary-indep: build -binary-arch: build headers-stamp $(istamps) - mv *.deb ../.. - -install-stamp-$(subarch)-%: build-$(subarch)-% build-stamp-$(subarch)-% - cp -al $< install-$*; - cd install-$*; \ - $(strip $(kpkg_image_pre) $(subst @flavour@,$*,$(kpkg_image_cmd))) - cat install-$*/debian/files >> files; - rm -rf install-$*; - touch install-stamp-$(subarch)-$* - -headers-stamp: $(kdir) - dh_testdir - dh_clean -k - dh_installdirs - cp $(default) $(kdir)/.config - cd $(kdir); $(kpkg_headers_cmd) - cat $(kdir)/debian/files >> files - touch headers-stamp - -binary: binary-indep binary-arch - -header-install-$(subarch): templates/header-install.in - sed -e 's,@kbpkg@,$(kbpkg),g' \ - -e 's,@ksource_dir@,$(CURDIR)/$(kdir),g' \ - -e 's,@headers_dirs@,$(headers_dirs),g' \ - -e 's,@headers_extra@,$(headers_extra),g' \ - templates/header-install.in > header-install-$(subarch) - chmod u+x header-install-$(subarch) -# -# The way to make the correct package names is to make a -# subarch-specific post-install script... -# -post-install-$(subarch): templates/post-install.in - sed -e 's,@initrd_modules@,$(initrd_modules),' \ - -e 's,@append_subarch@,$(append),' \ - templates/post-install.in > post-install-$(subarch) -# -# Generates the kernel config file for a subarch by merging -# the arch-independent config file (arch/config.common), -# arch-specific config file (arch/$(karch)/config.common), -# and subarch specific one (arch/$(karch)/config.subarch). -# It is possible to avoid the inclusion of the arch-indep -# config file by setting include_common_config = no in the -# arch/$(karch)/Makefile.inc. -# -config.%: - @echo "configs=$(configs)" - @echo "Generating configuration file $@:" - rm -f $@ - for i in $(ccommon); do \ - if [ -f $${i} ]; then \ - cat $${i} >> $@; \ - fi; \ - done -# Flavour config file must be present - cat $(basedir)/$@ >> $@ - -$(kdir): post-install-$(subarch) - dh_testdir - tar jxf /usr/src/$(tkdir).tar.bz2 - mkdir -p $(tkdir)/debian - cp debian/changelog $(tkdir)/debian - cp debian/control $(tkdir)/debian - cp debian/copyright $(tkdir)/debian - touch $(tkdir)/debian/official - install post-install-$(subarch) $(tkdir)/debian/post-install - cd $(tkdir) && $(kpatch) -# Arch/subarch-specific patches - if [ -d $(basedir)/patches ] && \ - [ -s $(basedir)/patches/list ]; then \ - cd $(tkdir); \ - for i in $$(cat ../$(basedir)/patches/list); do \ - patch -p1 < ../$(basedir)/patches/$${i}; \ - done; \ - fi - mv $(tkdir) $@ -# -# This target performs a build for a particular flavour. Note -# that in this file it should be always placed *before* the -# build-$(subarch)-% target, which creates the build directory. -# -# Some arches have extra arch/${ARCH}/kernel/asm-offsets.s files -# which have to be included in kernel-headers. The problem is that -# they are only generated during build and we never performed a -# full build in the directory $(kdir) where kernel-headers are -# built. So, after build we check whether current build arch has -# such a file and symlink it into the $(kdir) if necessary. -# Note that to get into the kernel-headers package the arch/subarch -# still needs variables headers_dirs and headers_extra set. -# -build-stamp-$(subarch)-%: build-$(subarch)-% - dh_testdir - PATH=$$PWD/bin:$$PATH; \ - cd $<; \ - $(subst @flavour@,$*,$(kpkg_build_cmd)); \ - $(if $(image_postproc),$(image_postproc),true); \ - arch=$$(basename $$(readlink include/asm)); \ - arch="$${arch#asm-}"; \ - src="arch/$${arch}/kernel/asm-offsets.s"; \ - dst="../$(kdir)/$${src}"; \ - if [ -f "$${src}" ] && [ ! -e "$${dst}" ]; then \ - ln -s "$$(pwd)/$${src}" "$${dst}"; \ - fi - touch build-stamp-$(subarch)-$* -# -# Creates a build directory for a particular flavour -# -build-$(subarch)-%: $(kdir) config.% - dh_testdir - if [ ! -d $@ ]; then \ - cp -al $(kdir) $@; \ - cp config.$* $@/.config; \ - fi - -.PHONY: build unpack binary-indep binary-arch binary