I guess I read wrong. I am not the one to review build makefiles :-)
Sun

On Fri, Apr 6, 2012 at 1:41 PM, Gilmore, Doug <doug.gilm...@amd.com> wrote:
>> -----Original Message-----
>> From: Sun Chan [mailto:sun.c...@gmail.com]
>> Sent: Thursday, April 05, 2012 7:19 PM
>> To: Gilmore, Doug
>> Cc: open64-devel
>> Subject: Re: [Open64-devel] (no subject)
>>
>> looks like you folks are making the binary one monolithic executable, no?
>> Sun
> This was exposed with the stock Open64 build:
>
> To give a concrete example, here are transcripts involving rebuilding
> the Fortran runtime:
>
> Without this patch touching a header file, nothing gets rebuilt:
>
>    $ touch 
> /scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libu/ffio/layer_def.h
>    $ make BUILD_TARGET=X8664 BUILD_COMPILER=SELF 
> BUILD_AREA=/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2 
> MACHINE_TYPE=X86_64 BUILD_ABI=I64BIT BUILD_ARCH=X8664 BUILD_HOST=IA32 
> BUILD_OPTIMIZE=DEFAULT BUILD_TYPE=SHARED
>    make first
>    make[1]: Entering directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    MAKE   
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/include
>    make[1]: Leaving directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make libfortran.a libfortran_p.a libfortran.so
>    make[1]: Entering directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make[1]: `libfortran.a' is up to date.
>    make[1]: `libfortran_p.a' is up to date.
>    make[1]: `libfortran.so' is up to date.
>    make[1]: Leaving directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make last
>    make[1]: Entering directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make[1]: Leaving directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>
> With this patch I am seeing reasonable rebuild behavior:
>
>    $ touch 
> /scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libu/ffio/layer_def.h
>    $ make BUILD_TARGET=X8664 BUILD_COMPILER=SELF 
> BUILD_AREA=/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2 
> MACHINE_TYPE=X86_64 BUILD_ABI=I64BIT BUILD_ARCH=X8664 BUILD_HOST=IA32 
> BUILD_OPTIMIZE=DEFAULT BUILD_TYPE=SHARED
>    make first
>    make[1]: Entering directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    MAKE   
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/include
>    make[1]: Leaving directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make libfortran.a libfortran_p.a libfortran.so
>    make[1]: Entering directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    C      
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libf/fio/fopn.c
>    C      
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libf/fio/setbuf.c
>    AR     
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran/libfortran.a
>    RANLIB 
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran/libfortran.a
>    C      
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libf/fio/fopn.c
>    C      
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libf/fio/setbuf.c
>    AR     
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran/libfortran_p.a
>    RANLIB 
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran/libfortran_p.a
>    C      
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libf/fio/fopn.c
>    C      
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran//scratch/dgilmore/sot-pp1/bo/osprey/../../osprey/libf/fio/setbuf.c
>    LD     
> /scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran/libfortran.so
>    make[1]: Leaving directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make last
>    make[1]: Entering directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    make[1]: Leaving directory 
> `/scratch/dgilmore/sot-pp1/bo/osprey/targdir_lib2/libfortran'
>    $
>
> Doug
>>
>> On Fri, Apr 6, 2012 at 2:41 AM, Gilmore, Doug <doug.gilm...@amd.com>
>> wrote:
>> > Folks probably noticed that I backed out my "make_libdeps rule"
>> > change.
>> >
>> > I attached a new version of the patch that works with old
>> > versions of make.
>> >
>> > Could someone review this change when they have the chance?
>> >
>> > Thanks,
>> >
>> > Doug
>> >
>> > ---------------------------------------------------------------------
> ...
>

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to