From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [vmxnet3-usermap PATCH 05/16] pmd: allow to build outside of the source directory Date: Tue, 4 Feb 2014 16:54:20 +0100 Message-ID: <1391529271-24606-6-git-send-email-thomas.monjalon@6wind.com> References: <1391529271-24606-1-git-send-email-thomas.monjalon@6wind.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1391529271-24606-1-git-send-email-thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" S specify source directory (when not already in). O specify output directory (when different of current one). Signed-off-by: Thomas Monjalon --- 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