package: add <pkg>-rebuild and <pkg>-reconfigure
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 29 Sep 2011 19:57:39 +0000 (21:57 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 29 Sep 2011 20:21:51 +0000 (22:21 +0200)
We are often asked "how can I restart the build of a package ?" or
"how can I restart the build of package from the configure part
?". Obviously, tweaking with stamp files is possible, but not very
user friendly.

Therefore this patch adds two new per-package targets: <pkg>-rebuild
and <pkg>-reconfigure. They will remove the right stamp files and
restart the complete build process (by using the 'all' target, so that
not only the package is reconfigured, recompiled and reinstalled, but
the root filesystem images are also regenerated).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/Makefile.package.in

index 15fc08541e66659d10cb54e5b4b47eb4230f832f..53cc8eba0b1469a3f2f0b527372fe4d1b997e330 100644 (file)
@@ -557,6 +557,22 @@ $(1)-clean:                $(1)-uninstall \
 
 $(1)-dirclean:         $$($(2)_TARGET_DIRCLEAN)
 
+$(1)-clean-for-rebuild:
+ifneq ($$($(2)_OVERRIDE_SRCDIR),)
+                       rm -f $$($(2)_TARGET_RSYNC)
+endif
+                       rm -f $$($(2)_TARGET_BUILD)
+                       rm -f $$($(2)_TARGET_INSTALL_STAGING)
+                       rm -f $$($(2)_TARGET_INSTALL_TARGET)
+                       rm -f $$($(2)_TARGET_INSTALL_HOST)
+
+$(1)-rebuild:          $(1)-clean-for-rebuild all
+
+$(1)-clean-for-reconfigure: $(1)-clean-for-rebuild
+                       rm -f $$($(2)_TARGET_CONFIGURE)
+
+$(1)-reconfigure:      $(1)-clean-for-reconfigure all
+
 # define the PKG variable for all targets, containing the
 # uppercase package variable prefix
 $$($(2)_TARGET_INSTALL_TARGET):                PKG=$(2)