ifeq ($(ARCH),mips)
CROSS_COMPILE = mips_4KC-
endif
+ifeq ($(ARCH),nios)
+CROSS_COMPILE = nios-elf-
+endif
+ifeq ($(ARCH),m68k)
+CROSS_COMPILE = m68k-elf-
+endif
endif
endif
export CROSS_COMPILE
-# The "tools" are needed early, so put this first
-SUBDIRS = tools \
- lib_generic \
- lib_$(ARCH) \
- cpu/$(CPU) \
- board/$(BOARDDIR) \
- common \
- disk \
- fs \
- net \
- rtc \
- dtt \
- drivers \
- drivers/sk98lin \
- post \
- post/cpu \
- examples
-
#########################################################################
# U-Boot objects....order is important (i.e. start must be first)
-OBJS = cpu/$(CPU)/start.o
+OBJS = cpu/$(CPU)/start.o
ifeq ($(CPU),i386)
-OBJS += cpu/$(CPU)/start16.o
-OBJS += cpu/$(CPU)/reset.o
+OBJS += cpu/$(CPU)/start16.o
+OBJS += cpu/$(CPU)/reset.o
endif
ifeq ($(CPU),ppc4xx)
-OBJS += cpu/$(CPU)/resetvec.o
+OBJS += cpu/$(CPU)/resetvec.o
+endif
+ifeq ($(CPU),mpc85xx)
+OBJS += cpu/$(CPU)/resetvec.o
endif
-LIBS = board/$(BOARDDIR)/lib$(BOARD).a
+LIBS = lib_generic/libgeneric.a
+LIBS += board/$(BOARDDIR)/lib$(BOARD).a
LIBS += cpu/$(CPU)/lib$(CPU).a
LIBS += lib_$(ARCH)/lib$(ARCH).a
LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a fs/fat/libfat.a
LIBS += drivers/sk98lin/libsk98lin.a
LIBS += post/libpost.a post/cpu/libcpu.a
LIBS += common/libcommon.a
-LIBS += lib_generic/libgeneric.a
+.PHONY : $(LIBS)
+
# Add GCC lib
-PLATFORM_LIBS += -L $(shell dirname `$(CC) -print-libgcc-file-name`) -lgcc
+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+
+# The "tools" are needed early, so put this first
+# Don't include stuff already done in $(LIBS)
+SUBDIRS = tools \
+ examples \
+ post \
+ post/cpu
+.PHONY : $(SUBDIRS)
#########################################################################
#########################################################################
u-boot.dis: u-boot
$(OBJDUMP) -d $< > $@
-u-boot: depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
+u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
$(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \
--start-group $(LIBS) $(PLATFORM_LIBS) --end-group \
-Map u-boot.map -o u-boot
-subdirs:
- @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
+$(LIBS):
+ $(MAKE) -C `dirname $@`
+
+$(SUBDIRS):
+ $(MAKE) -C $@ all
gdbtools:
$(MAKE) -C tools/gdb || exit 1
#########################################################################
## MPC5xxx Systems
#########################################################################
-IceCube_5200_config \
+MPC5200LITE_config \
+MPC5200LITE_LOWBOOT_config \
+MPC5200LITE_LOWBOOT08_config \
+icecube_5200_DDR_config \
+IceCube_5200_DDR_config \
+icecube_5200_config \
+IceCube_5200_config \
IceCube_5100_config: unconfig
@ >include/config.h
- @[ -z "$(findstring _5200,$@)" ] || \
+ @[ -z "$(findstring LOWBOOT,$@)" ] || \
+ { echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
+ echo "... with LOWBOOT configuration" ; \
+ }
+ @[ -z "$(findstring LOWBOOT08,$@)" ] || \
+ { echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
+ echo "... with 8 MB flash only" ; \
+ }
+ @[ -z "$(findstring 5200,$@)" ] || \
{ echo "#define CONFIG_MPC5200" >>include/config.h ; \
echo "... with MPC5200 processor" ; \
}
- @[ -z "$(findstring _5100,$@)" ] || \
+ @[ -z "$(findstring DDR,$@)" ] || \
+ { echo "#define CONFIG_MPC5200_DDR" >>include/config.h ; \
+ echo "... DDR memory revision" ; \
+ }
+ @[ -z "$(findstring 5100,$@)" ] || \
{ echo "#define CONFIG_MGT5100" >>include/config.h ; \
echo "... with MGT5100 processor" ; \
}
AMX860_config : unconfig
@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
+bms2003_config : unconfig
+ @echo "#define CONFIG_BMS2003" >include/config.h
+ @echo "#define CONFIG_LCD" >>include/config.h
+ @echo "#define CONFIG_NEC_NL6448BC33_54" >>include/config.h
+ @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
+
c2mon_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx c2mon
pcu_e_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
+QS850_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
+
+QS823_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
+
+QS860T_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
+
R360MPI_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx r360mpi
}
@[ -z "$(findstring _LCD,$@)" ] || \
{ echo "#define CONFIG_LCD" >>include/config.h ; \
- echo "#define CONFIG_NEC_NL6648BC20" >>include/config.h ; \
+ echo "#define CONFIG_NEC_NL6448BC20" >>include/config.h ; \
echo "... with LCD display" ; \
}
@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
@echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
@./mkconfig $(@:_config=) ppc mpc8xx v37
+wtk_config: unconfig
+ @echo "#define CONFIG_LCD" >include/config.h
+ @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>include/config.h
+ @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
+
#########################################################################
## PPC4xx Systems
#########################################################################
+xtract_4xx = $(subst _MODEL_BA,,$(subst _MODEL_ME,,$(subst _MODEL_HI,,$(subst _config,,$1))))
ADCIOP_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
PMC405_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
+PPChameleonEVB_MODEL_BA_config \
+PPChameleonEVB_MODEL_ME_config \
+PPChameleonEVB_MODEL_HI_config \
PPChameleonEVB_config: unconfig
- @./mkconfig $(@:_config=) ppc ppc4xx PPChameleonEVB dave
+ @ >include/config.h
+ @[ -z "$(findstring _MODEL_BA,$@)" ] || \
+ { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
+ echo "... BASIC model" ; \
+ }
+ @[ -z "$(findstring _MODEL_ME,$@)" ] || \
+ { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
+ echo "... MEDIUM model" ; \
+ }
+ @[ -z "$(findstring _MODEL_HI,$@)" ] || \
+ { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
+ echo "... HIGH-END model" ; \
+ }
+ @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
VOH405_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
MUSENKI_config: unconfig
@./mkconfig $(@:_config=) ppc mpc824x musenki
+MVBLUE_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc824x mvblue
+
OXC_config: unconfig
@./mkconfig $(@:_config=) ppc mpc824x oxc
## MPC8260 Systems
#########################################################################
+atc_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8260 atc
+
cogent_mpc8260_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8260 cogent
fi
@./mkconfig -a TQM8260 ppc mpc8260 tqm8260
-atc_config: unconfig
- @./mkconfig $(@:_config=) ppc mpc8260 atc
+ZPC1900_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8260 zpc1900
+
+#========================================================================
+# M68K
+#========================================================================
+#########################################################################
+## Coldfire
+#########################################################################
+
+M5272C3_config : unconfig
+ @./mkconfig $(@:_config=) m68k coldfire m5272c3
+
+M5282EVB_config : unconfig
+ @./mkconfig $(@:_config=) m68k coldfire m5282evb
+
+#########################################################################
+## MPC85xx Systems
+#########################################################################
+
+MPC8540ADS_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
+
+MPC8560ADS_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
#########################################################################
## 74xx/7xx Systems
AmigaOneG3SE_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
+BAB7xx_config: unconfig
+ @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
+
+debris_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc824x debris etin
+
+ELPPC_config: unconfig
+ @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
+
EVB64260_config \
EVB64260_750CX_config: unconfig
@./mkconfig EVB64260 ppc 74xx_7xx evb64260
-ZUMA_config: unconfig
+P3G4_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
PCIPPC2_config \
PCIPPC6_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
-BAB7xx_config: unconfig
- @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
-
-ELPPC_config: unconfig
- @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
-
-P3G4_config: unconfig
+ZUMA_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
#========================================================================
## ARM92xT Systems
#########################################################################
-xtract_trab = $(subst _big_flash,,$(subst _config,,$1))
+xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
omap1510inn_config : unconfig
@./mkconfig $(@:_config=) arm arm925t omap1510inn
smdk2410_config : unconfig
@./mkconfig $(@:_config=) arm arm920t smdk2410
+# TRAB default configuration: 8 MB Flash, 32 MB RAM
trab_config \
-trab_big_flash_config: unconfig
+trab_bigram_config \
+trab_bigflash_config \
+trab_old_config: unconfig
@ >include/config.h
- @[ -z "$(findstring _big_flash,$@)" ] || \
- { echo "#define CONFIG_BIG_FLASH" >>include/config.h ; \
- echo "... with big flash support" ; \
+ @[ -z "$(findstring _bigram,$@)" ] || \
+ { echo "#define CONFIG_FLASH_8MB" >>include/config.h ; \
+ echo "#define CONFIG_RAM_32MB" >>include/config.h ; \
+ echo "... with 8 MB Flash, 32 MB RAM" ; \
+ }
+ @[ -z "$(findstring _bigflash,$@)" ] || \
+ { echo "#define CONFIG_FLASH_16MB" >>include/config.h ; \
+ echo "#define CONFIG_RAM_16MB" >>include/config.h ; \
+ echo "... with 16 MB Flash, 16 MB RAM" ; \
+ echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
+ }
+ @[ -z "$(findstring _old,$@)" ] || \
+ { echo "#define CONFIG_FLASH_8MB" >>include/config.h ; \
+ echo "#define CONFIG_RAM_16MB" >>include/config.h ; \
+ echo "... with 8 MB Flash, 16 MB RAM" ; \
+ echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
}
@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
innokom_config : unconfig
@./mkconfig $(@:_config=) arm pxa innokom
+ixdp425_config : unconfig
+ @./mkconfig $(@:_config=) arm ixp ixdp425
+
lubbock_config : unconfig
@./mkconfig $(@:_config=) arm pxa lubbock
purple_config : unconfig
@./mkconfig $(@:_config=) mips mips purple
+#========================================================================
+# Nios
+#========================================================================
+#########################################################################
+## Nios32
+#########################################################################
+
+DK1C20_config: unconfig
+ @./mkconfig $(@:_config=) nios nios dk1c20
+
+
+#########################################################################
+## MIPS32 AU1X00
+#########################################################################
+dbau1000_config : unconfig
+ @ >include/config.h
+ @echo "#define CONFIG_DBAU1000 1" >>include/config.h
+ @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1100_config : unconfig
+ @ >include/config.h
+ @echo "#define CONFIG_DBAU1100 1" >>include/config.h
+ @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1500_config : unconfig
+ @ >include/config.h
+ @echo "#define CONFIG_DBAU1500 1" >>include/config.h
+ @./mkconfig -a dbau1x00 mips mips dbau1x00
+
#########################################################################
#########################################################################
rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
rm -f tools/env/fw_printenv tools/env/fw_setenv
rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
+ rm -f board/trab/trab_fkt board/*/config.tmp
clobber: clean
find . -type f \