From f93286397ed2a7084efb0362a43ee09f11702349 Mon Sep 17 00:00:00 2001 From: Marian Balakowicz Date: Fri, 1 Sep 2006 19:49:50 +0200 Subject: Add support for a saving build objects in a separate directory. Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory. --- tools/env/Makefile | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'tools/env') diff --git a/tools/env/Makefile b/tools/env/Makefile index 9ce477c542..1f16768aaf 100644 --- a/tools/env/Makefile +++ b/tools/env/Makefile @@ -1,5 +1,5 @@ # -# (C) Copyright 2002 +# (C) Copyright 2002-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this @@ -21,25 +21,28 @@ # MA 02111-1307 USA # -SOURCES := crc32.c fw_env.c fw_env_main.c -HEADERS := fw_env.h +include $(TOPDIR)/config.mk -all: fw_printenv +SRCS := $(obj)crc32.c fw_env.c fw_env_main.c +HEADERS := fw_env.h -fw_printenv: $(SOURCES) $(HEADERS) - $(CROSS_COMPILE)gcc -Wall -DUSE_HOSTCC $(SOURCES) -o fw_printenv +CPPFLAGS := -Wall -DUSE_HOSTCC + +all: $(obj)fw_printenv + +$(obj)fw_printenv: $(SRCS) $(HEADERS) + $(CROSS_COMPILE)gcc $(CPPFLAGS) $(SRCS) -o $(obj)fw_printenv clean: - rm -f fw_printenv crc32.c + rm -f $(obj)fw_printenv $(obj)crc32.c -crc32.c: - ln -s ../../lib_generic/crc32.c crc32.c +$(obj)crc32.c: + ln -s $(src)../../lib_generic/crc32.c $(obj)crc32.c ######################################################################### -.depend: Makefile $(SOURCES) - $(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -DUSE_HOSTCC $(SOURCES) > $@ +include $(TOPDIR)/rules.mk -sinclude .depend +sinclude $(obj).depend ######################################################################### -- cgit v1.2.1