From: Rob Landley Date: Thu, 28 Jul 2005 19:38:52 +0000 (-0000) Subject: From Rich Paul: X-Git-Tag: 1_1_0~869 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=088ee4134b7e912ec79d927c6cf157b2bccedf98;p=platform%2Fupstream%2Fbusybox.git From Rich Paul: I've noticed that when I compile busybox on my laptop, it compiles more slowly than one would expect, and although it's a (more-or-less) multiprocessor system and I use -j5, make never seems to run more than one job at a time. I believe I have found the culprit:  each time a file is compiled, gcc runs about 5 times.  This is because the $(check_gcc) macros and the TARGET_ARCH macros are late binding. The attached patch cuts the compilation time by 66%, from 1.5 minutes to 30 seconds.  Your mileage may very.  These statements have not been evaluated by the FDA. --- diff --git a/Rules.mak b/Rules.mak index 6a2e17a..ec03ce0 100644 --- a/Rules.mak +++ b/Rules.mak @@ -86,7 +86,7 @@ ARFLAGS=cru #-------------------------------------------------------- export VERSION BUILDTIME TOPDIR HOSTCC HOSTCFLAGS CROSS CC AR AS LD NM STRIP CPP ifeq ($(strip $(TARGET_ARCH)),) -TARGET_ARCH=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \ +TARGET_ARCH:=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \ -e 's/i.86/i386/' \ -e 's/sparc.*/sparc/' \ -e 's/arm.*/arm/g' \ @@ -115,8 +115,7 @@ check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; # for OPTIMIZATION... # use '-Os' optimization if available, else use -O2 -OPTIMIZATION= -OPTIMIZATION=${call check_gcc,-Os,-O2} +OPTIMIZATION:=${call check_gcc,-Os,-O2} # Some nice architecture specific optimizations ifeq ($(strip $(TARGET_ARCH)),arm)