[dpdk-dev] [PATCH v2] mk: allow renaming of build directories

Bruce Richardson bruce.richardson at intel.com
Mon Nov 12 13:26:15 CET 2018


When building using make, the Makefile in the build directory contained
the name of the build directory to be passed as an "O=" parameter to
the DPDK SDK makefiles. Unfortunately, this meant that the compilation
would always fail if the build directory was renamed. To remove this
limitation, we can use $(CURDIR) instead of the directory name.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>

---
v2: remove comment at the top of the script about the now-deleted
    second parameter.
---
 buildtools/gen-build-mk.sh | 5 ++---
 mk/rte.sdkconfig.mk        | 3 +--
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/buildtools/gen-build-mk.sh b/buildtools/gen-build-mk.sh
index c18b205e3..636920b63 100755
--- a/buildtools/gen-build-mk.sh
+++ b/buildtools/gen-build-mk.sh
@@ -5,7 +5,6 @@
 # Auto-generate a Makefile in build directory
 # Args:
 #   $1: path of project src root
-#   $2: path of build dir (can be relative to $1)
 
 echo "# Automatically generated by gen-build-mk.sh"
 echo
@@ -18,7 +17,7 @@ echo
 echo "MAKEFLAGS += --no-print-directory"
 echo
 echo "all:"
-echo "	@\$(MAKE) -C $1 O=$2"
+echo "	@\$(MAKE) -C $1 O=\$(CURDIR)"
 echo
 echo "%::"
-echo "	@\$(MAKE) -C $1 O=$2 \$@"
+echo "	@\$(MAKE) -C $1 O=\$(CURDIR) \$@"
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index d90d62cc6..fa77331cb 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -114,8 +114,7 @@ SDK_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_SRCDIR)) \
 OUTPUT_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_OUTPUT)) \
 				$(abspath $(RTE_SRCDIR)))
 $(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
-	$(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \
-		> $(RTE_OUTPUT)/Makefile
+	$(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) > $@
 
 # clean installed files, and generate a new config header file
 # if NODOTCONF variable is defined, don't try to rebuild .config
-- 
2.19.1



More information about the dev mailing list