iw: support and enable separate build dir

(From OE-Core rev: bc5401009332eb639d73fa4cbba217ff6899c787)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Christopher Larson 2015-08-28 13:23:02 -07:00 committed by Richard Purdie
parent fbb8b53730
commit 464f4e2079
2 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,57 @@
From 9e27fc2e1b3dc8c36ef6a502edffc3a3d84d9dd9 Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
Date: Wed, 26 Aug 2015 17:23:48 -0700
Subject: [PATCH] Support separation of SRCDIR and OBJDIR
Typical use of VPATH to locate the sources.
Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
---
Makefile | 7 +++++--
version.sh | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 548591a..da8d33a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,8 @@
MAKEFLAGS += --no-print-directory
+SRCDIR ?= $(dir $(lastword $(MAKEFILE_LIST)))
+OBJDIR ?= $(PWD)
+VPATH = $(SRCDIR)
PREFIX ?= /usr
SBINDIR ?= $(PREFIX)/sbin
MANDIR ?= $(PREFIX)/share/man
@@ -95,11 +98,11 @@ VERSION_OBJS := $(filter-out version.o, $(OBJS))
version.c: version.sh $(patsubst %.o,%.c,$(VERSION_OBJS)) nl80211.h iw.h Makefile \
$(wildcard .git/index .git/refs/tags)
@$(NQ) ' GEN ' $@
- $(Q)./version.sh $@
+ $(Q)cd $(SRCDIR) && ./version.sh $(OBJDIR)/$@
%.o: %.c iw.h nl80211.h
@$(NQ) ' CC ' $@
- $(Q)$(CC) $(CFLAGS) -c -o $@ $<
+ $(Q)$(CC) -I$(SRCDIR) $(CFLAGS) -c -o $@ $<
ifeq ($(IW_ANDROID_BUILD),)
iw: $(OBJS)
diff --git a/version.sh b/version.sh
index 5354383..fa954cf 100755
--- a/version.sh
+++ b/version.sh
@@ -5,5 +5,5 @@ OUT="$1"
v="$VERSION"
-echo '#include "iw.h"' > "$OUT"
+echo '#include <iw.h>' > "$OUT"
echo "const char iw_version[] = \"$v\";" >> "$OUT"
--
2.2.1

View File

@ -11,6 +11,7 @@ DEPENDS = "libnl"
SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \
file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \
file://separate-objdir.patch \
"
SRC_URI[md5sum] = "68c282285c71c956069957e9ca10a6a7"
@ -19,10 +20,13 @@ SRC_URI[sha256sum] = "14bfc627b37f7f607e4ffa63a70ded15fa2ea85177f703cb17d7fe36f9
inherit pkgconfig
EXTRA_OEMAKE = "\
-f '${S}/Makefile' \
\
'PREFIX=${prefix}' \
'SBINDIR=${sbindir}' \
'MANDIR=${mandir}' \
"
B = "${WORKDIR}/build"
do_install() {
oe_runmake 'DESTDIR=${D}' install