Re: question releated to Makefile dependencies

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

 



On Tue, 2011-04-26 at 19:16 +0200, Toralf Förster wrote:
> I changed my configure + build 1-liner of wine :
> 
> $>export CFLAGS="-O2 -march=native -pipe -g -ggdb"; export CXXFLAGS="$CFLAGS"; 
> export CC="ccache gcc"; ./configure --enable-tests; make -j 2
> 
> with respect to the CFLAGS and wonders now, why make after the "make depend" 
> step didn't found anything new to build.
> 
Did you edit any of the source files or delete the .o files and/or
libraries and/or executable? If you left them in place, make would not
find anything to do because: 
- all sources are older than the corresponding .o files so no
  compilations are needed.
- all .o files are older than libraries that include them, so no
  libraries need to be rebuilt.  
- nothing to link because the .o files and libraries are older than
  the executable 

Never forget that make is designed for speed, which it maximises by only
doing the minimum amount of work needed to rebuild the target, which
defaults to 'all'. Make decides what needs to be recreated by comparing
the timestamps of each output file with the files it depends on and
recreates the output if any dependency is more recent.

> Doesn't depend the main target from a configure file ?
> 
Not necessarily. In this case configure probably only recreated the
Makefile.

I'd expect every properly defined makefile to have a 'clean' target, so
running  "make clean; make" should force a full rebuild. Its up to you
to know when this is necessary.


Martin






[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux