From: Tom Rini This changes how the ppc32 'checkbin' target works. Previously we did all of the tests using variables which would be evaluated for any and every make target. This meant that 'make tags' for example would leave behind a '.tmp_gas_check' file even though we didn't actually compile up anything, and would get in the way of diffs. By moving all of this logic directly into the 'checkbin' target, we only test gcc/gas versions when we're going to compile. Signed-off-by: Olaf Hering Signed-off-by: Tom Rini Signed-off-by: Andrew Morton --- 25-akpm/arch/ppc/Makefile | 30 ++++++++++++++---------------- 1 files changed, 14 insertions(+), 16 deletions(-) diff -puN arch/ppc/Makefile~ppc32-dont-create-tmp_gas_check arch/ppc/Makefile --- 25/arch/ppc/Makefile~ppc32-dont-create-tmp_gas_check Mon Feb 7 15:55:06 2005 +++ 25-akpm/arch/ppc/Makefile Mon Feb 7 15:55:06 2005 @@ -112,26 +112,24 @@ include/asm-$(ARCH)/offsets.h: arch/$(AR TOUT := .tmp_gas_check # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec # instructions. -AS_ALTIVEC := $(shell echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1 ; echo $$?) # gcc-3.4 and binutils-2.14 are a fatal combination. GCC_VERSION := $(call cc-version) -BAD_GCC_AS := $(shell echo mftb 5 | $(AS) -mppc -many -o $(TOUT) >/dev/null 2>&1 && echo 0 || echo 1) checkbin: -ifeq ($(GCC_VERSION)$(BAD_GCC_AS),03041) - @echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build ' - @echo 'correctly with gcc-3.4 and your version of binutils.' - @echo '*** Please upgrade your binutils or downgrade your gcc' - @false -endif -ifneq ($(AS_ALTIVEC),0) - echo $(AS_ALTIVEC) - @echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build ' - @echo 'correctly with old versions of binutils.' - @echo '*** Please upgrade your binutils to 2.12.1 or newer' - @false -endif - @true + @if test "$(GCC_VERSION)" = "0304" ; then \ + if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ + echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \ + echo 'correctly with gcc-3.4 and your version of binutils.'; \ + echo '*** Please upgrade your binutils or downgrade your gcc'; \ + false; \ + fi ; \ + fi + @if ! /bin/echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1 ; then \ + echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build ' ; \ + echo 'correctly with old versions of binutils.' ; \ + echo '*** Please upgrade your binutils to 2.12.1 or newer' ; \ + false ; \ + fi CLEAN_FILES += include/asm-$(ARCH)/offsets.h \ arch/$(ARCH)/kernel/asm-offsets.s \ _