Fix sequoia separate object direcory building problems.

This commit is contained in:
Marian Balakowicz 2006-10-23 22:17:05 +02:00
parent ba999c531e
commit 8318fbf8cc
5 changed files with 62 additions and 40 deletions

View File

@ -2,6 +2,8 @@
Changes for U-Boot 1.1.5: Changes for U-Boot 1.1.5:
====================================================================== ======================================================================
* Fix sequoia separate object direcory building problems.
* Cleanup compile warnings. Prepare for release 1.1.5 * Cleanup compile warnings. Prepare for release 1.1.5
* Fix compile problem in include/configs/ep82xxm.h * Fix compile problem in include/configs/ep82xxm.h

View File

@ -269,10 +269,10 @@ $(SUBDIRS):
$(MAKE) -C $@ all $(MAKE) -C $@ all
$(NAND_SPL): version $(NAND_SPL): version
$(MAKE) -C nand_spl all $(MAKE) -C nand_spl/board/$(BOARDDIR) all
$(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin
cat nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
version: version:
@echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \ @echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \
@ -1146,19 +1146,22 @@ PPChameleonEVB_HI_33_config: unconfig
@$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
rainier_config: unconfig rainier_config: unconfig
@echo "#define CONFIG_RAINIER" > include/config.h @mkdir -p $(obj)include
@echo "#define CONFIG_RAINIER" > $(obj)include/config.h
@echo "Configuring for rainier board as subset of sequoia..." @echo "Configuring for rainier board as subset of sequoia..."
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
rainier_nand_config: unconfig rainier_nand_config: unconfig
@echo "#define CONFIG_RAINIER" > include/config.h @mkdir -p $(obj)include
@mkdir -p $(obj)nand_spl
@mkdir -p $(obj)board/amcc/sequoia
@echo "#define CONFIG_RAINIER" > $(obj)include/config.h
@echo "Configuring for rainier board as subset of sequoia..." @echo "Configuring for rainier board as subset of sequoia..."
@ln -s board/amcc/sequoia/Makefile nand_spl/Makefile @echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h
@echo "#define CONFIG_NAND_U_BOOT" >> include/config.h
@echo "Compile NAND boot image for sequoia" @echo "Compile NAND boot image for sequoia"
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
@echo "TEXT_BASE = 0x01000000" >board/amcc/sequoia/config.tmp @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
@echo "CONFIG_NAND_U_BOOT = y" >> include/config.mk @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
sbc405_config: unconfig sbc405_config: unconfig
@$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405 @$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405
@ -1167,12 +1170,14 @@ sequoia_config: unconfig
@$(MKCONFIG) $(@:_config=) ppc ppc4xx sequoia amcc @$(MKCONFIG) $(@:_config=) ppc ppc4xx sequoia amcc
sequoia_nand_config: unconfig sequoia_nand_config: unconfig
@ln -s board/amcc/sequoia/Makefile nand_spl/Makefile @mkdir -p $(obj)include
@echo "#define CONFIG_NAND_U_BOOT" >include/config.h @mkdir -p $(obj)nand_spl
@mkdir -p $(obj)board/amcc/sequoia
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "Compile NAND boot image for sequoia" @echo "Compile NAND boot image for sequoia"
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
@echo "TEXT_BASE = 0x01000000" >board/amcc/sequoia/config.tmp @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
@echo "CONFIG_NAND_U_BOOT = y" >> include/config.mk @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
sycamore_config: unconfig sycamore_config: unconfig
@echo "Configuring for sycamore board as subset of walnut..." @echo "Configuring for sycamore board as subset of walnut..."
@ -2244,8 +2249,7 @@ clean:
rm -f $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom rm -f $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom
rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds
rm -f $(obj)include/bmp_logo.h rm -f $(obj)include/bmp_logo.h
find nand_spl -lname "*" -print | xargs rm -f rm -f $(obj)nand_spl/u-boot-spl $(obj)nand_spl/u-boot-spl.map
rm -f nand_spl/u-boot-spl nand_spl/u-boot-spl.map
clobber: clean clobber: clean
find $(OBJTREE) -type f \( -name .depend \ find $(OBJTREE) -type f \( -name .depend \
@ -2258,6 +2262,7 @@ clobber: clean
rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c
rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c
rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
[ ! -d $(OBJTREE)/nand_spl ] || find $(obj)nand_spl -lname "*" -print | xargs rm -f
ifeq ($(OBJTREE),$(SRCTREE)) ifeq ($(OBJTREE),$(SRCTREE))
mrproper \ mrproper \

View File

@ -22,7 +22,6 @@
# #
include $(TOPDIR)/config.mk include $(TOPDIR)/config.mk
include $(TOPDIR)/include/config.mk
LIB = $(obj)lib$(BOARD).a LIB = $(obj)lib$(BOARD).a

View File

@ -24,7 +24,7 @@
# AMCC 440EPx Reference Platform (Sequoia) board # AMCC 440EPx Reference Platform (Sequoia) board
# #
sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
ifndef TEXT_BASE ifndef TEXT_BASE
TEXT_BASE = 0xFFFA0000 TEXT_BASE = 0xFFFA0000

View File

@ -22,9 +22,9 @@
# #
include $(TOPDIR)/config.mk include $(TOPDIR)/config.mk
include board/$(BOARDDIR)/config.mk include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk
LDSCRIPT= board/$(BOARDDIR)/u-boot.lds LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds
LDFLAGS = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS) LDFLAGS = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
AFLAGS += -DCONFIG_NAND_SPL AFLAGS += -DCONFIG_NAND_SPL
CFLAGS += -DCONFIG_NAND_SPL CFLAGS += -DCONFIG_NAND_SPL
@ -32,49 +32,65 @@ CFLAGS += -DCONFIG_NAND_SPL
SOBJS = start.o init.o resetvec.o SOBJS = start.o init.o resetvec.o
COBJS = nand_boot.o ndfc.o sdram.o COBJS = nand_boot.o ndfc.o sdram.o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
__OBJS := $(SOBJS) $(COBJS)
LNDIR := $(OBJTREE)/nand_spl/board/$(BOARDDIR)
ALL = u-boot-spl u-boot-spl.bin u-boot-spl-16k.bin nandobj := $(OBJTREE)/nand_spl/
ALL = $(nandobj)u-boot-spl $(nandobj)u-boot-spl.bin $(nandobj)u-boot-spl-16k.bin
all: $(obj).depend $(ALL) all: $(obj).depend $(ALL)
u-boot-spl-16k.bin: u-boot-spl $(nandobj)u-boot-spl-16k.bin: $(nandobj)u-boot-spl
$(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $< $@ $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $< $@
u-boot-spl.bin: u-boot-spl $(nandobj)u-boot-spl.bin: $(nandobj)u-boot-spl
$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
u-boot-spl: $(OBJS) $(nandobj)u-boot-spl: $(OBJS)
$(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \ cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
-Map u-boot-spl.map -o u-boot-spl -Map $(nandobj)u-boot-spl.map \
-o $(nandobj)u-boot-spl
# create symbolic links for common files # create symbolic links for common files
# from cpu directory # from cpu directory
ndfc.c: $(obj)ndfc.c:
@rm -f ndfc.c @rm -f $(obj)ndfc.c
ln -s ../cpu/ppc4xx/ndfc.c ndfc.c ln -s $(SRCTREE)/cpu/ppc4xx/ndfc.c $(obj)ndfc.c
resetvec.S: $(obj)resetvec.S:
@rm -f resetvec.S @rm -f $(obj)resetvec.S
ln -s ../cpu/ppc4xx/resetvec.S resetvec.S ln -s $(SRCTREE)/cpu/ppc4xx/resetvec.S $(obj)resetvec.S
start.S: $(obj)start.S:
@rm -f start.S @rm -f $(obj)start.S
ln -s ../cpu/ppc4xx/start.S start.S ln -s $(SRCTREE)/cpu/ppc4xx/start.S $(obj)start.S
# from board directory # from board directory
init.S: $(obj)init.S:
@rm -f init.S @rm -f $(obj)init.S
ln -s ../board/amcc/sequoia/init.S init.S ln -s $(SRCTREE)/board/amcc/sequoia/init.S $(obj)init.S
sdram.c: $(obj)sdram.c:
@rm -f sdram.c @rm -f $(obj)sdram.c
ln -s ../board/amcc/sequoia/sdram.c sdram.c ln -s $(SRCTREE)/board/amcc/sequoia/sdram.c $(obj)sdram.c
# from nand_spl directory
$(obj)nand_boot.c:
@rm -f $(obj)nand_boot.c
ln -s $(SRCTREE)/nand_spl/nand_boot.c $(obj)nand_boot.c
######################################################################### #########################################################################
$(obj)%.o: $(obj)%.S
$(CC) $(AFLAGS) -c -o $@ $<
$(obj)%.o: $(obj)%.c
$(CC) $(CFLAGS) -c -o $@ $<
# defines $(obj).depend target # defines $(obj).depend target
include $(SRCTREE)/rules.mk include $(SRCTREE)/rules.mk