From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Uvarov Subject: Re: [PATCH] dpdk1.7.1 rte.app.mk add options not not build targerts Date: Tue, 09 Jun 2015 18:29:21 +0300 Message-ID: <55770651.8000604@linaro.org> References: <1433844953-29887-1-git-send-email-maxim.uvarov@linaro.org> <5576D68F.7040804@6wind.com> <5576E343.9050309@linaro.org> <5576FA20.9090809@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit To: Olivier MATZ , dev@dpdk.org Return-path: Received: from mail-la0-f43.google.com (mail-la0-f43.google.com [209.85.215.43]) by dpdk.org (Postfix) with ESMTP id CB603DE0 for ; Tue, 9 Jun 2015 17:29:25 +0200 (CEST) Received: by laar3 with SMTP id r3so15018081laa.3 for ; Tue, 09 Jun 2015 08:29:25 -0700 (PDT) In-Reply-To: <5576FA20.9090809@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 06/09/15 17:37, Olivier MATZ wrote: > Hi Maxim, > > On 06/09/2015 02:59 PM, Maxim Uvarov wrote: >> On 06/09/15 15:05, Olivier MATZ wrote: >>> Hello Maxim, >>> >>> On 06/09/2015 12:15 PM, Maxim Uvarov wrote: >>>> Inherit build varibles only so that this file can be included >>>> from other projects. >>>> >>>> Signed-off-by: Maxim Uvarov >>> >>> Can you detail a bit more what you want to do? >>> Why do you need to include rte.app.mk? This file is >>> internal to the dpdk framework. >>> >>> By the way, the title is not understandable: >>> - why dpdk1.7.1 ? >>> - targerts -> targets >>> - not not ? >>> >>> Regards, >>> Olivier >> >> Sorry it was quick patch, some typos there. I intended to discuss the >> idea of what I need and might it it's useful for others. >> I did ODP implementation with dpdk as back end. And staid on v1.7.1. But >> that patch should be good for the latest git, >> if not I can update it. >> >> So my environment is: I build library which calls dpdk functions. That >> library is used to build applications. I need to steal CFLAGS, LDFLAGS, >> and build script from dpdk for my library and example apps. So I just >> point where dpdk is and my library build system should inherit the same >> env which dpdk used. One reason is optimization and second reason is to >> compile in dpdk PMD drivers the same way as dpdk does that. >> >> So in my Makefile I do: include $dpdk/mk/rte.app.mk >> >> Is that needed for somebody else? > > Maybe you can use rte.extapp.mk and rte.extlib.mk instead? > > There is no example for rte.extlib.mk, but it works the same > as rte.extapp.mk. You can start from an example in dpdk/examples > directory (for instance skeleton): > - remove the main() > - change "APP = basicfwd" to "LIB = basicfwd.a" > - change "include $(RTE_SDK)/mk/rte.extapp.mk" to > "include $(RTE_SDK)/mk/rte.extlib.mk" > > Then: > cd examples/skeleton > make RTE_SDK=/path/to/dpdk \ > RTE_TARGET=x86_64-native-linuxapp-gcc \ > O=/path/to/dstdir > > This should generate a static lib that you can use in another > application example. > > If you cannot use this model, another solution would be to generate > a pkg-config file in dpdk framework that could be used by other > build frameworks. > > Regards, > Olivier > mk/rte.extlib.mk also references to mk/rte.lib.mk which has all: target. And as soon I will include that Makefile it will do make all first. But I need only cflags and ldflags. To link pmds we did that hack: https://git.linaro.org/lng/odp-dpdk.git/commitdiff/9e41f167a8f44b74af6a1e1ffe00dc6d305ac8a4?hp=ac1789bfe9ceb6bbe04b6455f996680a20441813 Which mostly solved problem. But I would add sse and other cflags especially for inline functions to or link. Will take a look at examples/skeleton. Before I looked only to 1.7.1 and there is no such example. Looks like it appeared later. Thank you, Maxim.