[GRASS-dev] reducing make noise

Glynn Clements glynn at gclements.plus.com
Wed Oct 22 11:13:32 EDT 2008


Hamish wrote:

> when compiling modules a huge amount of text flies by making it hard to
> spot Warnings etc without taking care to redirect stderr and other tricks.
> ie the signal:noise ratio is very low.
> 
> Would it be possible to filter Makefile LIBES, DEPENDENCIES through some
> sort of sort|uniq? (I understand that calling order may be important)

You need to preserve the order in case any of the libraries are static
libraries. Actually, the only reason why the the various *LIB
variables include the dependencies is in case of static libraries. 

I don't think that there's any practical approach using only make
functions, so you would need to invoke an external command using
$(shell ...).

> e.g.
> gcc -L/usr/local/src/grass/svn/grass64/dist.i686-pc-linux-gnu/lib
> -Wl,--export-dynamic
> -Wl,-rpath-link,/usr/local/src/grass/svn/grass64/dist.i686-pc-linux-gnu/lib
> -o /usr/local/src/grass/svn/grass64/dist.i686-pc-linux-gnu/bin/v.lidar.growing
> OBJ.i686-pc-linux-gnu/ConvexHull.o OBJ.i686-pc-linux-gnu/growing.o
> OBJ.i686-pc-linux-gnu/main.o  -lgrass_lidar -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz
> -lgrass_gis -lgrass_datetime -lz     -lgrass_gmath -lgrass_gis
> -lgrass_datetime -lz      -lgrass_vect -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz
> -lgrass_dgl -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz
> -lgrass_rtree  -lgrass_gis -lgrass_datetime -lz     -lgrass_linkm
> -lgrass_rtree   -lgrass_vect -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis
> -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz
> -lgrass_dgl -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz
> -lgrass_rtree  -lgrass_gis -lgrass_datetime -lz     -lgrass_linkm
> -lgrass_rtree  -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz
> -lgrass_rtree  -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient
> -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis
> -lgrass_datetime -lz      -lgrass_dbmibase -lgrass_gis -lgrass_datetime
> -lz       -L/usr/lib -lgdal1.5.0 -lgrass_dbmiclient -lgrass_dbmibase
> -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime
> -lz      -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz
> -lgrass_gis -lgrass_datetime -lz     -lm  -lgrass_segment -lgrass_gis
> -lgrass_datetime -lz      -lgrass_gmath -lgrass_gis -lgrass_datetime
> -lz      -lm  -lz

Another suggestion: find a terminal emulator which allows
line-wrapping to be disabled. Or:

	make 2>&1 | tee build.log | cut -b 1-79

-- 
Glynn Clements <glynn at gclements.plus.com>



More information about the grass-dev mailing list