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 <maxim.uvarov at linaro.org> >>> >>> 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.