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. --- board/voiceblue/Makefile | 36 ++++++++++++++++++++++-------------- board/voiceblue/config.mk | 2 +- 2 files changed, 23 insertions(+), 15 deletions(-) (limited to 'board/voiceblue') diff --git a/board/voiceblue/Makefile b/board/voiceblue/Makefile index 6302fa854a..fa614f8d44 100644 --- a/board/voiceblue/Makefile +++ b/board/voiceblue/Makefile @@ -1,4 +1,4 @@ -# (C) Copyright 2000-2002 +# (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de # # (C) Copyright 2005 @@ -24,43 +24,51 @@ include $(TOPDIR)/config.mk -LIB = lib$(BOARD).a +LIB = $(obj)lib$(BOARD).a -OBJS := voiceblue.o +COBJS := voiceblue.o SOBJS := setup.o +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) eeprom.c eeprom_start.S +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`) LOAD_ADDR = 0x10400000 LDSCRIPT = $(TOPDIR)/board/$(BOARDDIR)/eeprom.lds +lnk = $(if $(obj),$(obj),.) -all: $(LIB) eeprom.srec eeprom.bin +all: $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin $(LIB): $(OBJS) $(SOBJS) $(AR) crv $@ $(OBJS) $(SOBJS) -eeprom.srec: eeprom.o eeprom_start.o - $(LD) -T $(LDSCRIPT) -g -Ttext $(LOAD_ADDR) \ - -o $(<:.o=) -e $(<:.o=) $^ \ - -L../../examples -lstubs \ - -L../../lib_generic -lgeneric \ +$(obj)eeprom.srec: $(obj)eeprom.o $(obj)eeprom_start.o + cd $(lnk) && $(LD) -T $(LDSCRIPT) -g -Ttext $(LOAD_ADDR) \ + -o $(<:.o=) -e eeprom eeprom.o eeprom_start.o \ + -L$(obj)../../examples -lstubs \ + -L$(obj)../../lib_generic -lgeneric \ -L$(gcclibdir) -lgcc $(OBJCOPY) -O srec $(<:.o=) $@ -eeprom.bin: eeprom.srec +$(obj)eeprom.bin: $(obj)eeprom.srec $(OBJCOPY) -I srec -O binary $< $@ 2>/dev/null clean: - rm -f $(SOBJS) $(OBJS) eeprom eeprom.srec eeprom.bin + rm -f $(SOBJS) $(OBJS) $(obj)eeprom \ + $(obj)eeprom.srec $(obj)eeprom.bin \ + $(obj)eeprom.o $(obj)eeprom_start.o + distclean: clean rm -f $(LIB) core config.tmp *.bak .depend ######################################################################### -.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) - $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ +# defines $(obj).depend target +include $(SRCTREE)/rules.mk --include .depend +sinclude $(obj).depend ######################################################################### diff --git a/board/voiceblue/config.mk b/board/voiceblue/config.mk index b77c91c65e..d55daa41d9 100644 --- a/board/voiceblue/config.mk +++ b/board/voiceblue/config.mk @@ -3,7 +3,7 @@ # entry 1000'8000 (mem base + reserved) # -sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp +sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp ifeq ($(VOICEBLUE_SMALL_FLASH),y) # We load ourself to internal SRAM at 2001'2000 -- cgit From 2b208f5308ae0c72a6840180e59ed1ab4f9b69fc Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Mon, 9 Oct 2006 01:02:05 +0200 Subject: Move "ar" flags to config.mk to allow for silent "make -s" Based on patch by Mike Frysinger, 20 Jun 2006 --- board/voiceblue/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'board/voiceblue') diff --git a/board/voiceblue/Makefile b/board/voiceblue/Makefile index fa614f8d44..5f340b47f0 100644 --- a/board/voiceblue/Makefile +++ b/board/voiceblue/Makefile @@ -42,7 +42,7 @@ lnk = $(if $(obj),$(obj),.) all: $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin $(LIB): $(OBJS) $(SOBJS) - $(AR) crv $@ $(OBJS) $(SOBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) $(obj)eeprom.srec: $(obj)eeprom.o $(obj)eeprom_start.o cd $(lnk) && $(LD) -T $(LDSCRIPT) -g -Ttext $(LOAD_ADDR) \ -- cgit From 1265581502ab8ea8c08e8edbe9bf64fbd62fd776 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Sat, 28 Oct 2006 17:12:58 +0200 Subject: [PATCH] Add some missing machtypes for netstar & voiceblue boards Use MACH_TYPE_NETSTAR and MACH_TYPE_VOICEBLUE defines instead of numbers in code. Signed-off-by: Ladislav Michl Signed-off-by: Stefan Roese --- board/voiceblue/voiceblue.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'board/voiceblue') diff --git a/board/voiceblue/voiceblue.c b/board/voiceblue/voiceblue.c index 04093d172c..c8dde3651e 100644 --- a/board/voiceblue/voiceblue.c +++ b/board/voiceblue/voiceblue.c @@ -28,8 +28,7 @@ int board_init(void) *((volatile unsigned char *) VOICEBLUE_LED_REG) = 0xaa; /* arch number of VoiceBlue board */ - /* TODO: use define from asm/mach-types.h */ - gd->bd->bi_arch_number = 218; + gd->bd->bi_arch_number = MACH_TYPE_VOICEBLUE; /* adress of boot parameters */ gd->bd->bi_boot_params = 0x10000100; @@ -41,8 +40,8 @@ int dram_init(void) { *((volatile unsigned short *) VOICEBLUE_LED_REG) = 0xff; - /* Take the Ethernet controller out of reset and wait - * for the EEPROM load to complete. */ + /* Take the Ethernet controller out of reset and wait + * for the EEPROM load to complete. */ *((volatile unsigned short *) GPIO_DATA_OUTPUT_REG) |= 0x80; udelay(10); /* doesn't work before interrupt_init call */ *((volatile unsigned short *) GPIO_DATA_OUTPUT_REG) &= ~0x80; -- cgit