[dpdk-dev] [PATCH] External app builds need to locate common make fragments and includes.
Olivier MATZ
olivier.matz at 6wind.com
Wed Mar 4 10:08:20 CET 2015
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}
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
More information about the dev
mailing list