Re: source dependencies cleanup? (fwd)

Rob Riggs (rriggs@tesser.com)
Thu, 05 Dec 1996 01:00:24 -0700 (MST)


On 05-Dec-96 "Joshua M. Thompson" wrote:
>
>Here's a case in point that happened just yesterday: I had a kernel that
>had PPP compiled as a module. I built this kernel a few weeks ago, and
>never did a "make clean" afterwards so the .o files were still lying
>around. Yesterday, I needed to have that same kernel with PPP in the
>kernel. By changing the configuration I was forced to rebuild the _entire_
>kernel. This seems downright silly. Why should I have to recompile, say,
>the sound driver, just for a change in how PPP is configured?
>
>Since the configuration scripts are already divided up by subsystem
>anyway, why not take the next logical step and create an autoconf.h-type
>file for each subsystem? We could do this in three steps:

[snip]

I think there might be a much easier way to achieve what you
want. Rather than changing almost every file in the source tree,
why not write a utility to just 'touch' all of the unaffected
object files after the configuration change.

The hard part here is setting up the dependancy information
for each configurable parameter, but it should be easier than
what you propose.

make config dependancies
copy .config to .config.old
change configuration
compare .config to .config.old
check the config dependancies
remove any .o files that are affected
touch the unaffected files
make new kernel

Of course you could (even easier, but less fine grained) just
touch all object files in unaffected subsystems. i.e. you change
CONFIG_PPP then only files in linux/drivers/net get rebuilt.

Rob
(rriggs@tesser.com)