[dpdk-dev] [PATCH] dpdk1.7.1 rte.app.mk add options not not build targerts

Olivier MATZ olivier.matz at 6wind.com
Tue Jun 9 16:37:20 CEST 2015


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



More information about the dev mailing list