From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [virtio-net-pmd PATCH 10/16] mk: allow to build outside of the source directory
Date: Tue, 4 Feb 2014 16:54:25 +0100 [thread overview]
Message-ID: <1391529271-24606-11-git-send-email-thomas.monjalon@6wind.com> (raw)
In-Reply-To: <1391529271-24606-1-git-send-email-thomas.monjalon@6wind.com>
S specify source directory (when not already in).
O specify output directory (when different of current one).
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
Makefile | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 4b51057..4ff4c1d 100644
--- a/Makefile
+++ b/Makefile
@@ -36,16 +36,27 @@ override CPPFLAGS += -Wall -Wextra -Werror
override CFLAGS += -fPIC
override LDFLAGS += -shared
-all :
+S ?= .
+O ?= .
+
+all : $O/$(SOLIB)
+
+$O :
+ mkdir -p $@
+
+$O/$(SOLIB) : $S/virtio_user.c | $O
ifeq '$(RTE_INCLUDE)' ''
@ echo 'ERROR: RTE_INCLUDE is not set' && false
endif
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) \
-I$(RTE_INCLUDE) -include $(RTE_INCLUDE)/rte_config.h \
- -o $(SOLIB) virtio_user.c
+ -o $@ $<
clean :
- rm -f $(SOLIB)
+ - rm -f $O/$(SOLIB)
+ifneq '$(abspath $O)' '$(CURDIR)'
+ - rmdir -p $O 2>&-
+endif
help :
@ echo 'rules:'
@@ -53,6 +64,7 @@ help :
@ echo ' clean'
@ echo 'variables:'
@ echo ' RTE_INCLUDE (e.g. ../dpdk/build/include),'
- @ echo ' CPPFLAGS, CFLAGS, LDFLAGS'
+ @ echo ' CPPFLAGS, CFLAGS, LDFLAGS,'
+ @ echo ' S (source directory), O (build directory)'
.PHONY : all clean help
--
1.7.10.4
next prev parent reply other threads:[~2014-02-04 15:53 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-04 15:54 [dpdk-dev] [PATCH 00/16] recipes for RPM packages Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [PATCH 01/16] tools: rename pci_unbind script Thomas Monjalon
2014-02-24 16:03 ` Chris Wright
2014-03-20 17:06 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [PATCH 02/16] virtio: rename library Thomas Monjalon
2014-02-24 16:05 ` Chris Wright
2014-03-20 17:06 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [PATCH 03/16] pkg: add recipe for RPM Thomas Monjalon
2014-02-24 16:29 ` Chris Wright
2014-02-24 16:52 ` Chris Wright
2014-04-02 9:01 ` Thomas Monjalon
2014-04-02 11:11 ` Thomas Graf
2014-02-26 13:07 ` Thomas Graf
2014-02-26 16:19 ` Chris Wright
2014-04-02 9:53 ` Thomas Monjalon
2014-04-02 11:04 ` Thomas Graf
2014-04-02 11:29 ` Neil Horman
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 04/16] pmd: add make help Thomas Monjalon
2014-02-24 18:17 ` Chris Wright
2014-03-26 21:59 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 05/16] pmd: allow to build outside of the source directory Thomas Monjalon
2014-02-24 18:13 ` Chris Wright
2014-03-26 21:59 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 06/16] pmd: allow to install lib and doc Thomas Monjalon
2014-03-26 22:00 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [vmxnet3-usermap PATCH 07/16] pkg: add recipe for RPM Thomas Monjalon
2014-02-26 13:22 ` Thomas Graf
2014-04-02 10:08 ` Thomas Monjalon
2014-04-02 11:07 ` Thomas Graf
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 08/16] pmd: fix initialization of Tx queue header Thomas Monjalon
2014-03-27 8:23 ` Olivier MATZ
2014-03-27 9:34 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 09/16] mk: minor fixes Thomas Monjalon
2014-03-27 8:26 ` Olivier MATZ
2014-03-27 9:35 ` Thomas Monjalon
2014-02-04 15:54 ` Thomas Monjalon [this message]
2014-03-27 8:31 ` [dpdk-dev] [virtio-net-pmd PATCH 10/16] mk: allow to build outside of the source directory Olivier MATZ
2014-03-27 9:35 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 11/16] mk: allow to install lib and doc Thomas Monjalon
2014-03-27 8:32 ` Olivier MATZ
2014-03-27 9:35 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [virtio-net-pmd PATCH 12/16] pkg: add recipe for RPM Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 13/16] pmd: rename doc when installing Thomas Monjalon
2014-03-27 8:36 ` Olivier MATZ
2014-03-27 10:29 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 14/16] pmd: fix doc uninstalling Thomas Monjalon
2014-03-27 8:45 ` Olivier MATZ
2014-03-27 10:30 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 15/16] pmd: remove useless makefile variables Thomas Monjalon
2014-03-27 8:45 ` Olivier MATZ
2014-03-27 10:30 ` Thomas Monjalon
2014-02-04 15:54 ` [dpdk-dev] [memnic PATCH 16/16] pkg: add recipe for RPM Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1391529271-24606-11-git-send-email-thomas.monjalon@6wind.com \
--to=thomas.monjalon@6wind.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).