[dpdk-dev] [vmxnet3-usermap PATCH 05/16] pmd: allow to build outside of the source directory
Thomas Monjalon
thomas.monjalon at 6wind.com
Tue Feb 4 16:54:20 CET 2014
S specify source directory (when not already in).
O specify output directory (when different of current one).
Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
pmd/Makefile | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/pmd/Makefile b/pmd/Makefile
index d8eff33..2d66fb7 100644
--- a/pmd/Makefile
+++ b/pmd/Makefile
@@ -36,19 +36,29 @@ override CPPFLAGS += -Wall -Wextra -Werror
override CFLAGS += -fPIC
override LDFLAGS += -shared
-KMOD_INCLUDE ?= ../kmod
+KMOD_INCLUDE ?= $S/../kmod
+S ?= .
+O ?= .
-all :
+all : $O/$(SOLIB)
+
+$O :
+ mkdir -p $@
+
+$O/$(SOLIB) : $S/vmxnet3.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 \
-I$(KMOD_INCLUDE) -I$(KMOD_INCLUDE)/shared \
- -o $(SOLIB) vmxnet3.c
+ -o $@ $<
clean :
- rm -f $(SOLIB)
+ - rm -f $O/$(SOLIB)
+ifneq '$(abspath $O)' '$(CURDIR)'
+ - rmdir -p $O 2>&-
+endif
help :
@ echo 'rules:'
@@ -56,6 +66,7 @@ help :
@ echo ' clean'
@ echo 'build 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
More information about the dev
mailing list