automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Overwriting targets.


From: Ralf Wildenhues
Subject: Re: Overwriting targets.
Date: Mon, 23 Apr 2007 07:56:15 +0200
User-agent: Mutt/1.5.15 (2007-04-13)

Hello Brendon,

* Brendon Costa wrote on Mon, Apr 23, 2007 at 03:34:21AM CEST:
[...]
> $buildir/patched/gcc-4.0.1/Makefile
> $buildir/patched/doxygen-1.5.1/Makefile
> 
> When i do a make distclean i want to perform the distclean as normal
> for all directories EXCEPT when descending into $builddir/patched
> 
> When distclean is recursively invoked in the patched subdir, i want to
> perform a rm -r gcc-4.0.1 doxygen-1.5.1

Then, with current Automake, you cannot put these dirs in SUBDIRS nor
DIST_SUBDIRS.  So I guess you need to write proxy *-local rules for all
the operations you want to support:
<http://sources.redhat.com/automake/automake.html#Third_002dParty-Makefiles>

For example:
  all-local:
        cd gcc-4.0.1 && $(MAKE) all

I suppose you could also build a construct similar to the
$(RECURSIVE_TARGETS) rule in automake/lib/am/subdirs.am
and fill MY_RECURSIVE_TARGETS with all but distclean (untested).

Maybe a much easier solution is to patch the gcc-4.0.1/Makefile
to let distclean be a no-op, then avoid all the manual overriding
above, put gcc-4.0.1 in SUBDIRS, and let distclean-local do the
cleanup.  In that case, you cannot use parallel `make -j distclean',
however.  I suppose that's a minor inconvenience only.

Hope that helps.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]