I've grossly simplified the above example to show the gist of it, but the
intermediate steps
are all first-order targets for debugging and development purposes. I
started using macros
but the amount of nesting and $-escaping needed makes that approach fragile
and hard for
non-expert users to manage (imagine a big team where different people are
responsible
for different phases of some complex process).



On Fri, Aug 9, 2013 at 1:53 PM, Philip Guenther <guent...@gmail.com> wrote:

> On Fri, Aug 9, 2013 at 12:59 PM, Ed Hutchins <e...@demeterr.com> wrote:
> ...
> > In my case I'd like to have "init", "start" and "start_clean" end-user
> > targets which reuse common
> > targets which in turn depend on targets specified by the above semantic
> > intent. If there were a
> > true order-only operator (say ||), I could do:
> >
> > .PHONY: <all of the below>
> >
> > init_server: <some initialization for a running server>
> > start_server: <start a server and load existing database info>
> > start_clean_server: <start a server and create a clean database>
> > common: || init_server start_server start_clean_server
> > init: init_server common
> > start: start_server common
> > start_clean: start_server common
> >
> > If I try the above with the current order-only | operator all three
> dependencies are
> > invoked by common. Is there a way to get the effect of the above that
> anyone can think of?
>
> Sounds to me like the commands currently in 'common' should be saved
> in a macro which is used by the 'init', 'start', and 'start_clean'
> targets and the 'common' target itself eliminated.  Indeed, the same
> may be true of 'init_server', 'start_server', and
> 'start_clean_server', particularly if they don't have any
> dependencies.  How is making them targets useful?
>
>
> Philip Guenther
>
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to