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

Re: Best practice for cleaning autotools-generated files?



On Thu, Mar 17, 2011 at 09:17:05AM +0100, Michael Biebl wrote:
> Am 17.03.2011 08:51, schrieb Sean Finney:
> >>> So Makefile rules can then re-run auto* tools at build time and you
> >>> lost the benefit you want to have.
> >>
> >> Makefile rules should not rerun auto* stuff at build time.
> > 
> > they will if AM_MAINTAINER_MODE is being used, in some cases.
> 
> It's really the other way around.
> By default automake generates rules which will regenerate the build system if
> affected files are changed.

Ie, consistently with all regular commands in a makefile: if a source file
has been modified, everything that is generated from that source needs to be
rebuilt.

Which works just fine if timestamps haven't been trampled over.

The problem in the past stemmed from "patch" not preserving them, but dpkg
since version 1.13.15 (five years ago) works around that by setting the
timestamps of patched files to current time.

> AM_MAINTAINER_MODE (which is optional and not used by most packages) allows to
> explicitl disable this dependency checking via AM_MAINTAINER_MODE(disable) or as
> configure switch --disable-maintainer-mode.

AM_MAINTAINER_MODE is also strongly depreciated and discouraged.  Using it,
you are effectively patching compiler output rather than source.

You're likely to end up shipping things without source, obviously failing
DFSG and being in a breach of the GPL.  There's no way you can argue for
./configure to be a preferred form for modification...

-- 
1KB		// Microsoft corollary to Hanlon's razor:
		//	Never attribute to stupidity what can be
		//	adequately explained by malice.


Reply to: