From: Scott Branden <scott.bran...@broadcom.com> Allow kernel artifacts to be located in output directory specific by RTE_KERNELDIR_OUT. If RTE_KERNELDIR_OUT not specified than source directory RTE_KERNEL is used.
Signed-off-by: Scott Branden <scott.bran...@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com> --- mk/rte.module.mk | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mk/rte.module.mk b/mk/rte.module.mk index 1ada528a0..e2e1af716 100644 --- a/mk/rte.module.mk +++ b/mk/rte.module.mk @@ -39,6 +39,9 @@ _postinstall: build .PHONY: build build: _postbuild +# Allow kernel artifacts to be located in a different location that source +RTE_KERNELDIR_OUT ?= ${RTE_KERNELDIR} + # Link all sources in build directory %_link: FORCE $(if $(call compare,$(notdir $*),$*),\ @@ -48,7 +51,7 @@ build: _postbuild # build module $(MODULE).ko: $(SRCS_LINKS) @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi - @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \ + @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \ CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0) # install module in $(RTE_OUTPUT)/kmod @@ -59,7 +62,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko # install module modules_install: - @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \ + @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \ modules_install .PHONY: clean @@ -69,7 +72,7 @@ clean: _postclean .PHONY: doclean doclean: @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi - $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean + $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean @$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\ if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;) @if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi -- 2.14.3 (Apple Git-98)