From: "Wiles, Keith" <keith.wiles@intel.com>
To: Olivier MATZ <olivier.matz@6wind.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] External app builds need to locate common make fragments and includes.
Date: Wed, 4 Mar 2015 16:11:59 +0000 [thread overview]
Message-ID: <D11C87BC.15CE3%keith.wiles@intel.com> (raw)
In-Reply-To: <54F6CB84.2050202@6wind.com>
On 3/4/15, 3:08 AM, "Olivier MATZ" <olivier.matz@6wind.com> wrote:
>Hi Keith,
>
>On 02/28/2015 05:56 PM, Keith Wiles wrote:
>> When building an external application like Pktgen and using the proper
>> makefile fragments rte.extXYZ.mk NOT rte.XYZ.mk files as you would
>> use with example applications in the same RTE_SDK directory the
>>rte.extXYZ.mk
>> files are missing some defines/includes.
>>
>> 1 - Add missing tests for RTE_SDK/RTE_TARGET not defined code.
>> 2 - The build of external applications are forced to be verbose ouput
>> as the Q=@ define is not present.
>> 3 - Missing include of target/generic/rte.vars.mk file which includes
>> the information to locate the rte_config.h and other DPDK include
>> files.
>>
>> A patch like this one was submitted before and was rejected because it
>> seemed it was not required, because target/generic/rte.vars.mk already
>> included by rte.vars.mk.
>>
>> This is not the cause for external applications like Pktgen which are
>> built outside of the RTE_SDK directory and only include the
>>rte.extXYZ.mk
>> makefile fragments.
>
>I still not understand what is your problem. If you take an example from
>dpdk, let's say examples/l2fwd.
>
> cd test
> # compile dpdk
> git clone http://dpdk.org/git/dpdk
> cd dpdk
> DPDK=${PWD}
> make -j8 install T=x86_64-native-linuxapp-gcc
> cd ..
> # copy l2fwd in an external directory
> cp -r dpdk/examples/l2fwd .
> cd l2fwd
> # build it
> make RTE_TARGET=x86_64-native-linuxapp-gcc RTE_SDK=${DPDK}
Yes, this very trivial example works, but only because the makefiles are
combining the two different make fragments IMO.
Then why do we have rte.extvars.mk fragment at all if it was not to be
used for building outside the DPDK build directory?
Why were the rte.extXYZ.mk make fragments created at all, but to provide a
clean building system outside of DPDK build?
It seem like to me we are combining two different build systems when
building the examples. If rte.extvars.mk is not used then lets delete it
or replace it with a single line to include rte.vars.mk.
IMO combining the two different make fragment styles is confusing and we
need to remove rte.extvars.mk or replace it with my changes or replace it
with a single line just to include rte.vars.mk, pick one.
>
>So if you use a Makefile similar to l2fwd, I think it should work.
>As I explained in [1], you need to include "rte.vars.mk" at the
>beginning of the Makefile, not "rte.extvars.mk". But you will use
>"rte.extapp.mk" at the end, like in l2fwd Makefile.
>
>Regards,
>Olivier
>
>
>[1] http://dpdk.org/ml/archives/dev/2015-February/013301.html
next prev parent reply other threads:[~2015-03-04 16:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-28 16:56 Keith Wiles
2015-03-04 9:08 ` Olivier MATZ
2015-03-04 16:11 ` Wiles, Keith [this message]
2015-03-04 16:40 ` Olivier MATZ
2015-03-04 16:47 ` Wiles, Keith
2015-03-04 17:03 ` Wiles, Keith
2015-03-04 17:04 ` Olivier MATZ
2015-03-04 17:06 ` Wiles, Keith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D11C87BC.15CE3%keith.wiles@intel.com \
--to=keith.wiles@intel.com \
--cc=dev@dpdk.org \
--cc=olivier.matz@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).