@@ -501,11 +501,10 @@ ifneq ($(do_full_build),false)
endif
$(stamp)
-headers_tmp := $(CURDIR)/debian/tmp-headers
headers_dir := $(CURDIR)/debian/linux-libc-dev
-.PHONY: install-arch-headers
-install-arch-headers:
+$(stampdir)/stamp-install-arch-headers: headers_tmp = $(CURDIR)/debian/tmp-headers
+$(stampdir)/stamp-install-arch-headers:
@echo Debug: $@
dh_testdir
dh_testroot
@@ -515,6 +514,7 @@ install-arch-headers:
mkdir $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)
mv $(headers_dir)/usr/include/asm $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)/
rm -rf $(headers_tmp)
+ $(stamp)
define dh_all
dh_installchangelogs -p$(1)
@@ -539,7 +539,7 @@ define dh_all_inline
endef
.PHONY: binary-arch-headers
-binary-arch-headers: install-arch-headers
+binary-arch-headers: $(stampdir)/stamp-install-arch-headers
@echo Debug: $@
dh_testdir
dh_testroot
@@ -642,7 +642,7 @@ ifeq ($(do_any_tools),true)
endif
$(stamp)
-$(stampdir)/stamp-build-perarch: install-arch-headers $(stampdir)/stamp-prepare-perarch
+$(stampdir)/stamp-build-perarch: $(stampdir)/stamp-install-arch-headers $(stampdir)/stamp-prepare-perarch
@echo Debug: $@
ifeq ($(do_linux_tools),true)
ifeq ($(do_tools_usbip),true)
Currently, subsequent calls of the build-% target result in a rebuild of the kernel. That is not good and also causes issues with DKMS modules builds. I.e., currently: $ debian/rules build-generic | grep ^Debug Debug: install-arch-headers Debug: debian/stamps/stamp-prepare-indep Debug: debian/stamps/stamp-install-headers Debug: debian/stamps/stamp-prepare-perarch Debug: debian/stamps/stamp-build-perarch Debug: debian/stamps/stamp-prepare-tree-generic Debug: config-prepare-check-generic Debug: debian/stamps/stamp-prepare-generic Debug: debian/stamps/stamp-build-generic Debug: debian/stamps/stamp-install-generic Debug: build-generic $ $ debian/rules build-generic | grep ^Debug Debug: install-arch-headers Debug: debian/stamps/stamp-build-perarch Debug: debian/stamps/stamp-build-generic Debug: debian/stamps/stamp-install-generic Debug: build-generic This is because the dependency chain constains the phony install-arch-headers target. To fix that, convert it to a stamped target which runs only once. With this change, we get: $ debian/rules build-generic | grep ^Debug Debug: install-arch-headers Debug: debian/stamps/stamp-prepare-indep Debug: debian/stamps/stamp-install-headers Debug: debian/stamps/stamp-prepare-perarch Debug: debian/stamps/stamp-build-perarch Debug: debian/stamps/stamp-prepare-tree-generic Debug: config-prepare-check-generic Debug: debian/stamps/stamp-prepare-generic Debug: debian/stamps/stamp-build-generic Debug: debian/stamps/stamp-install-generic Debug: build-generic $ $ debian/rules build-generic | grep ^Debug Debug: build-generic While at it, make headers_tmp a 'local' variable. Signed-off-by: Juerg Haefliger <juerg.haefliger@canonical.com> --- debian/rules.d/2-binary-arch.mk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)