DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Olivier MATZ <olivier.matz@6wind.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 0/5] examples: add a new makefile to build all examples
Date: Fri, 25 Apr 2014 14:39:18 -0400	[thread overview]
Message-ID: <20140425183918.GH14074@hmsreliant.think-freely.org> (raw)
In-Reply-To: <1574258.EreYUAxBJs@platinum>

On Fri, Apr 25, 2014 at 06:24:48PM +0200, Olivier MATZ wrote:
> Hi Neil,
> 
> First, thank you for your reviews.
> 
You're welcome, glad to do it.

> On Friday, April 25, 2014 10:05:26 AM Neil Horman wrote:
> > > After applying the patches, it is possible to build all examples by doing
> > > the following:
> > >   user@droids:~/dpdk.org$ cd examples
> > >   user@droids:~/dpdk.org/examples$ make RTE_SDK=${PWD}/.. \
> > >       RTE_TARGET=x86_64-default-linuxapp-gcc
> > 
> > What you actually want here is RTE_TARGET=build, as the Makefile looks for
> > the ${RTE_TARGET}/.config file, it doesn't just parse whatever target file
> > you specify.
> > 
> > That begs the bigger point, RTE_TARGET will always be =build, so why not
> > just add a top level make rule for the examples subdirectory, then RTE_SDK
> > and RTE_TARGET will just be automatically set.
> 
> When we compile an example or an external application, RTE_SDK references
> a binary DPDK, or more precisely a DPDK source workspace that has been
> compiled with "make install T=my-targets".
> 
> You're right that RTE_TARGET corresponds to the name of the build directory
> but the logic is that the name of the directory is the name of the target.
> 
> To be clearer, the commit log should probably be updated with the
> following list of commands:
> 
>   user@droids:~/dpdk.org$ make install T=x86_64-default-linuxapp-gcc
>   user@droids:~/dpdk.org$ cd examples
>   user@droids:~/dpdk.org/examples$ make RTE_SDK=${PWD}/.. \
>         RTE_TARGET=x86_64-default-linuxapp-gcc
> 
Ah, I see, yes, that does make it more clear.  You're moving the built files to
a private directory so that you can target multiple platforms in parallel.
Please add the install step to the log file, I think that helps alot.

> About adding a top level makefile rule, it's a good idea as it can
> be documented in "make help", but I wasn't very confident about where
> to put the output files. I can check if doing something like below is
> possible or too complex:
> 
>   user@droids:~/dpdk.org$ make install T=x86_64-default-linuxapp-gcc
>   user@droids:~/dpdk.org$ cd x86_64-default-linuxapp-gcc
>   user@droids:~/dpdk.org/x86_64-default-linuxapp-gcc$ make examples
>   # generate examples in $PWD/examples
> 
That might work.  My thought was to simply add an examples rule like this to the
top level make file

examples:
	ifeq ($(T),)
	T := build
	endif
	$MAKE -C examples

The syntax isn't perfect, but you get the idea, basically just a rule to hand
off control to the examples subdirectory, that defaults the target directory to
build, should no other be specified.  The result is that the examples are built
for the last compiled target.

Regards
Neil
 
> Regards,
> Olivier
> 
> 

      reply	other threads:[~2014-04-25 18:39 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-25 12:00 Olivier Matz
2014-04-25 12:00 ` [dpdk-dev] [PATCH 1/5] mk: introduce rte.extsubdir.mk Olivier Matz
2014-04-25 12:00 ` [dpdk-dev] [PATCH 2/5] examples: use rte.extsubdir.mk to process subdirectories Olivier Matz
2014-04-25 12:00 ` [dpdk-dev] [PATCH 3/5] examples: add a makefile to build all examples Olivier Matz
2014-04-25 12:00 ` [dpdk-dev] [PATCH 4/5] examples: fix qos_sched makefile Olivier Matz
2014-04-25 12:00 ` [dpdk-dev] [PATCH 5/5] examples: fix netmap_compat example Olivier Matz
2014-04-25 14:05 ` [dpdk-dev] [PATCH 0/5] examples: add a new makefile to build all examples Neil Horman
2014-04-25 16:24   ` Olivier MATZ
2014-04-25 18:39     ` Neil Horman [this message]

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=20140425183918.GH14074@hmsreliant.think-freely.org \
    --to=nhorman@tuxdriver.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).