Re: make install in the brave new build system world

Dave Chinner
2010-02-05T10:43:09Z

On Fri, Feb 05, 2010 at 04:22:29AM -0500, Christoph Hellwig wrote:
> When doing make install in xfsprogs I get a lot of spew like this:
>
> /usr/bin/make -C include install
> make[1]: Entering directory `/root/xfsprogs-dev/include'
> make[1]: Nothing to be done for `install'.
> make[1]: Leaving directory `/root/xfsprogs-dev/include'
> /usr/bin/make -C libxfs install
> make[1]: Entering directory `/root/xfsprogs-dev/libxfs'
> [DEP]
> gcc -MM -I. -g -O2 -DNDEBUG -DVERSION=\"3.1.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -D_GNU_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 -funsigned-char -fno-strict-aliasing -Wall cache.c init.c kmem.c logitem.c rdwr.c trans.c util.c xfs_alloc.c xfs_ialloc.c xfs_inode.c xfs_btree.c xfs_alloc_btree.c xfs_ialloc_btree.c xfs_bmap_btree.c xfs_da_btree.c xfs_dir2.c xfs_dir2_leaf.c xfs_attr_leaf.c xfs_dir2_block.c xfs_dir2_node.c xfs_dir2_data.c xfs_dir2_sf.c xfs_bmap.c xfs_mount.c xfs_rtalloc.c xfs_trans.c xfs_attr.c linux.c | /bin/sed -e 's,^\([^:]*\)\.o,\1.lo,' > .dep
> make[1]: Leaving directory `/root/xfsprogs-dev/libxfs'
>
>
> So it seems like for some reason we do
>
> a) regenerate the dependencies in the install target (we already re-did
> them once before as part of the all target implied by make install)

The dependencies are always regenerated due to the default target
requiring the depend target. Rebuilding the dependencies is the only
way to catch changes between builds and so ensure the correct files
are rebuilt.

The install target is building the dependencies because it has a
dependency on the default target.

> b) for some reason the new silent make rules don't apply to this.

That's something I can't answer off the top of my head. I'll have a
look into it.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com