build: build-root/Makefile rm of install tree 18/22418/4
authorBurt Silverman <burtms@gmail.com>
Mon, 30 Sep 2019 13:50:42 +0000 (09:50 -0400)
committerDave Barach <openvpp@barachs.net>
Mon, 30 Sep 2019 22:02:56 +0000 (22:02 +0000)
Type: fix

The scenario is touch of a dpdk source file in places like
<TOP>/build-root/build-vpp-native/external/dpdk-19.08/.  The subsequent
build will trigger an rm -rf $(PACKAGE_INSTALL_DIR) by
build-root/Makefile at around line 709.  Because the package in
question, "external", consists of various "sub" packages, all of which
are controlled with files like .quicly.install.ok located in
build-root/build-vpp[_debug]-native/external, we end up not handling the
.*.install.ok files to reflect the removal of that PACKAGE_INSTALL_DIR.
This fix will correct that, at least for the case of touching/changing
dpdk files. A better long term solution would be to change the "sub"
packages to be full fledged build system packages, as Dave Barach points
out.

Signed-off-by: Burt Silverman <burtms@gmail.com>
Change-Id: Ia94ccaa2795cbf354b5921c3001a7141313b66be

build/external/packages/dpdk.mk

index c370f45..5b64703 100644 (file)
@@ -288,6 +288,7 @@ dpdk-config: $(B)/.dpdk-config.ok
 
 $(B)/.dpdk-build.ok: dpdk-config $(DPDK_BUILD_DEPS)
        @if [ ! -e $(B)/.dpdk-config.ok ] ; then echo 'Please run "make config" first' && false ; fi
+       @rm -f $(B)/.*.install.ok #deals with build-root/Makefile line 709
        @make $(DPDK_MAKE_ARGS) install
        @touch $@