cvs commit: src/usr.bin/make globals.h job.c job.h main.c make.1 make.h parse.c

Max Khon fjoe at samodelkin.net
Mon Mar 10 06:24:13 UTC 2008


Hi!

David O'Brien wrote:

>>>> fjoe        2007-03-08 09:16:11 UTC
>>>>   Modified files:
>>>>     usr.bin/make         globals.h job.c job.h main.c make.1              
>>>>             make.h parse.c   Log:
>>>>   Implement "Remaking Makefiles" feature:
>>>>     After reading Makefile and all the files that are included using
>>>>   .include or .sinclude directives (source Makefiles) make considers
>>>>   each source Makefile as a target and tries to rebuild it.  Both
>>>>   explicit and implicit rules are checked and all source Makefiles are
>>>>   updated if necessary. If any of the source Makefiles were rebuilt,
>>>>   make restarts from clean state.
>>> How does one turn this off?  It causes SuffFindDeps to be run over every
>>> .MAKEFILE_LIST member.  This causes a problem if you try to build in
>>> src/gnu/usr.bin/cvs/contrib and ./Makefile has an older date than
>>> src/contrib/cvs/contrib/Makefile.in.
>>> I'm curious, is this functionality depended on to build world?  Or it
>>> is a feature to do cool stuff outside of /usr/src?
>> I wanted to use this feature to auto-calculate depends during build world. 
>> I know about Makefile.in issue in contrib/cvs and this seems to be the only 
>> issue in FreeBSD src tree. I'd better remove Makefile.in from there.
> 
> While I think the functionality is pretty cool, and a really neat future.
> I'd actually like to have this functionality off by default.  I think
> this is seriously dangerous, and I'd like to know about prior art to
> justify having it on by default.  I've talked to one of the NetBSD
> make(1) maintainers, and he was quite suprised we'd have this on by
> default too.

It is turned on for GNU make by default. That was the only justification.

>>> commit).  I really do think 'make -n' really does mean "DO NOT ACTUALLY
>>> EXECUTE THEM".
>>> At a minimum, make.1 needs updating to make it clear that 'make -n' can
>>> have side affects.
>> Will do it.
> 
> That was at a minimum - the more I think about it, 'make -n' cannot have
> side affects.

/fjoe


More information about the cvs-all mailing list