1*7ebf7443Swdenk# 2*7ebf7443Swdenk# (C) Copyright 2000, 2001, 2002 3*7ebf7443Swdenk# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*7ebf7443Swdenk# 5*7ebf7443Swdenk# See file CREDITS for list of people who contributed to this 6*7ebf7443Swdenk# project. 7*7ebf7443Swdenk# 8*7ebf7443Swdenk# This program is free software; you can redistribute it and/or 9*7ebf7443Swdenk# modify it under the terms of the GNU General Public License as 10*7ebf7443Swdenk# published by the Free Software Foundation; either version 2 of 11*7ebf7443Swdenk# the License, or (at your option) any later version. 12*7ebf7443Swdenk# 13*7ebf7443Swdenk# This program is distributed in the hope that it will be useful, 14*7ebf7443Swdenk# but WITHOUT ANY WARRANTY; without even the implied warranty of 15*7ebf7443Swdenk# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*7ebf7443Swdenk# GNU General Public License for more details. 17*7ebf7443Swdenk# 18*7ebf7443Swdenk# You should have received a copy of the GNU General Public License 19*7ebf7443Swdenk# along with this program; if not, write to the Free Software 20*7ebf7443Swdenk# Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21*7ebf7443Swdenk# MA 02111-1307 USA 22*7ebf7443Swdenk# 23*7ebf7443Swdenk 24*7ebf7443SwdenkHOSTARCH := $(shell uname -m | \ 25*7ebf7443Swdenk sed -e s/i.86/i386/ \ 26*7ebf7443Swdenk -e s/sun4u/sparc64/ \ 27*7ebf7443Swdenk -e s/arm.*/arm/ \ 28*7ebf7443Swdenk -e s/sa110/arm/ \ 29*7ebf7443Swdenk -e s/powerpc/ppc/ \ 30*7ebf7443Swdenk -e s/macppc/ppc/) 31*7ebf7443Swdenk 32*7ebf7443SwdenkHOSTOS := $(shell uname -s | tr A-Z a-z | \ 33*7ebf7443Swdenk sed -e 's/\(cygwin\).*/cygwin/') 34*7ebf7443Swdenk 35*7ebf7443Swdenkexport HOSTARCH 36*7ebf7443Swdenk 37*7ebf7443Swdenk# Deal with colliding definitions from tcsh etc. 38*7ebf7443SwdenkVENDOR= 39*7ebf7443Swdenk 40*7ebf7443Swdenk######################################################################### 41*7ebf7443Swdenk 42*7ebf7443SwdenkTOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi) 43*7ebf7443Swdenkexport TOPDIR 44*7ebf7443Swdenk 45*7ebf7443Swdenkifeq (include/config.mk,$(wildcard include/config.mk)) 46*7ebf7443Swdenk# load ARCH, BOARD, and CPU configuration 47*7ebf7443Swdenkinclude include/config.mk 48*7ebf7443Swdenkexport ARCH CPU BOARD VENDOR 49*7ebf7443Swdenk# load other configuration 50*7ebf7443Swdenkinclude $(TOPDIR)/config.mk 51*7ebf7443Swdenk 52*7ebf7443Swdenkifndef CROSS_COMPILE 53*7ebf7443Swdenkifeq ($(HOSTARCH),ppc) 54*7ebf7443SwdenkCROSS_COMPILE = 55*7ebf7443Swdenkelse 56*7ebf7443Swdenk## #ifeq ($(CPU),mpc8xx) 57*7ebf7443Swdenk## CROSS_COMPILE = ppc_8xx- 58*7ebf7443Swdenk## #endif 59*7ebf7443Swdenk## #ifeq ($(CPU),ppc4xx) 60*7ebf7443Swdenk## #CROSS_COMPILE = ppc_4xx- 61*7ebf7443Swdenk## #endif 62*7ebf7443Swdenk## #ifeq ($(CPU),mpc824x) 63*7ebf7443Swdenk## #CROSS_COMPILE = ppc_82xx- 64*7ebf7443Swdenk## #endif 65*7ebf7443Swdenk## #ifeq ($(CPU),mpc8260) 66*7ebf7443Swdenk## #CROSS_COMPILE = ppc_82xx- 67*7ebf7443Swdenk## #endif 68*7ebf7443Swdenk## #ifeq ($(CPU),74xx_7xx) 69*7ebf7443Swdenk## #CROSS_COMPILE = ppc_74xx-) 70*7ebf7443Swdenk## #endif 71*7ebf7443Swdenkifeq ($(ARCH),ppc) 72*7ebf7443SwdenkCROSS_COMPILE = ppc_8xx- 73*7ebf7443Swdenkendif 74*7ebf7443Swdenkifeq ($(ARCH),arm) 75*7ebf7443SwdenkCROSS_COMPILE = arm_920TDI- 76*7ebf7443Swdenkendif 77*7ebf7443Swdenkendif 78*7ebf7443Swdenkendif 79*7ebf7443Swdenk 80*7ebf7443Swdenkexport CROSS_COMPILE 81*7ebf7443Swdenk 82*7ebf7443Swdenk# The "tools" are needed early, so put this first 83*7ebf7443SwdenkSUBDIRS = tools \ 84*7ebf7443Swdenk lib_generic \ 85*7ebf7443Swdenk lib_$(ARCH) \ 86*7ebf7443Swdenk cpu/$(CPU) \ 87*7ebf7443Swdenk board/$(BOARDDIR) \ 88*7ebf7443Swdenk common \ 89*7ebf7443Swdenk disk \ 90*7ebf7443Swdenk fs \ 91*7ebf7443Swdenk net \ 92*7ebf7443Swdenk rtc \ 93*7ebf7443Swdenk dtt \ 94*7ebf7443Swdenk drivers \ 95*7ebf7443Swdenk post \ 96*7ebf7443Swdenk post/cpu \ 97*7ebf7443Swdenk examples 98*7ebf7443Swdenk 99*7ebf7443Swdenk######################################################################### 100*7ebf7443Swdenk# U-Boot objects....order is important (i.e. start must be first) 101*7ebf7443Swdenk 102*7ebf7443SwdenkOBJS = cpu/$(CPU)/start.o 103*7ebf7443Swdenk 104*7ebf7443Swdenkifeq ($(CPU),ppc4xx) 105*7ebf7443SwdenkOBJS += cpu/$(CPU)/resetvec.o 106*7ebf7443Swdenkendif 107*7ebf7443Swdenk 108*7ebf7443SwdenkLIBS = board/$(BOARDDIR)/lib$(BOARD).a 109*7ebf7443SwdenkLIBS += cpu/$(CPU)/lib$(CPU).a 110*7ebf7443SwdenkLIBS += lib_$(ARCH)/lib$(ARCH).a 111*7ebf7443SwdenkLIBS += fs/jffs2/libjffs2.a 112*7ebf7443SwdenkLIBS += net/libnet.a 113*7ebf7443SwdenkLIBS += disk/libdisk.a 114*7ebf7443SwdenkLIBS += rtc/librtc.a 115*7ebf7443SwdenkLIBS += dtt/libdtt.a 116*7ebf7443SwdenkLIBS += drivers/libdrivers.a 117*7ebf7443SwdenkLIBS += post/libpost.a post/cpu/libcpu.a 118*7ebf7443SwdenkLIBS += common/libcommon.a 119*7ebf7443SwdenkLIBS += lib_generic/libgeneric.a 120*7ebf7443Swdenk 121*7ebf7443Swdenk######################################################################### 122*7ebf7443Swdenk 123*7ebf7443Swdenkall: u-boot.srec u-boot.bin System.map 124*7ebf7443Swdenk 125*7ebf7443Swdenkinstall: all 126*7ebf7443Swdenk cp u-boot.bin /tftpboot/u-boot.bin 127*7ebf7443Swdenk cp u-boot.bin /net/sam/tftpboot/u-boot.bin 128*7ebf7443Swdenk 129*7ebf7443Swdenku-boot.srec: u-boot 130*7ebf7443Swdenk $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ 131*7ebf7443Swdenk 132*7ebf7443Swdenku-boot.bin: u-boot 133*7ebf7443Swdenk $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ 134*7ebf7443Swdenk 135*7ebf7443Swdenku-boot.dis: u-boot 136*7ebf7443Swdenk $(OBJDUMP) -d $< > $@ 137*7ebf7443Swdenk 138*7ebf7443Swdenku-boot: depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT) 139*7ebf7443Swdenk $(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(LIBS) -Map u-boot.map -o u-boot 140*7ebf7443Swdenk 141*7ebf7443Swdenksubdirs: 142*7ebf7443Swdenk @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done 143*7ebf7443Swdenk 144*7ebf7443Swdenkdepend dep: 145*7ebf7443Swdenk @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done 146*7ebf7443Swdenk 147*7ebf7443Swdenktags: 148*7ebf7443Swdenk ctags -w `find $(SUBDIRS) include \ 149*7ebf7443Swdenk \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)` 150*7ebf7443Swdenk 151*7ebf7443Swdenketags: 152*7ebf7443Swdenk etags -a `find $(SUBDIRS) include \ 153*7ebf7443Swdenk \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)` 154*7ebf7443Swdenk 155*7ebf7443SwdenkSystem.map: u-boot 156*7ebf7443Swdenk @$(NM) $< | \ 157*7ebf7443Swdenk grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ 158*7ebf7443Swdenk sort > System.map 159*7ebf7443Swdenk 160*7ebf7443Swdenk######################################################################### 161*7ebf7443Swdenkelse 162*7ebf7443Swdenkall install u-boot u-boot.srec depend dep: 163*7ebf7443Swdenk @echo "System not configured - see README" >&2 164*7ebf7443Swdenk @ exit 1 165*7ebf7443Swdenkendif 166*7ebf7443Swdenk 167*7ebf7443Swdenk######################################################################### 168*7ebf7443Swdenk 169*7ebf7443Swdenkunconfig: 170*7ebf7443Swdenk rm -f include/config.h include/config.mk 171*7ebf7443Swdenk 172*7ebf7443Swdenk#======================================================================== 173*7ebf7443Swdenk# PowerPC 174*7ebf7443Swdenk#======================================================================== 175*7ebf7443Swdenk######################################################################### 176*7ebf7443Swdenk## MPC8xx Systems 177*7ebf7443Swdenk######################################################################### 178*7ebf7443Swdenk 179*7ebf7443SwdenkADS860_config: unconfig 180*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx fads 181*7ebf7443Swdenk 182*7ebf7443SwdenkAMX860_config : unconfig 183*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx amx860 westel 184*7ebf7443Swdenk 185*7ebf7443Swdenkc2mon_config: unconfig 186*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx c2mon 187*7ebf7443Swdenk 188*7ebf7443SwdenkCCM_config: unconfig 189*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx CCM siemens 190*7ebf7443Swdenk 191*7ebf7443Swdenkcogent_mpc8xx_config: unconfig 192*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx cogent 193*7ebf7443Swdenk 194*7ebf7443SwdenkESTEEM192E_config: unconfig 195*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx esteem192e 196*7ebf7443Swdenk 197*7ebf7443SwdenkETX094_config : unconfig 198*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx etx094 199*7ebf7443Swdenk 200*7ebf7443SwdenkFADS823_config \ 201*7ebf7443SwdenkFADS850SAR_config \ 202*7ebf7443SwdenkFADS860T_config: unconfig 203*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx fads 204*7ebf7443Swdenk 205*7ebf7443SwdenkFLAGADM_config: unconfig 206*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx flagadm 207*7ebf7443Swdenk 208*7ebf7443SwdenkGEN860T_config: unconfig 209*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx gen860t 210*7ebf7443Swdenk 211*7ebf7443SwdenkGENIETV_config: unconfig 212*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx genietv 213*7ebf7443Swdenk 214*7ebf7443SwdenkGTH_config: unconfig 215*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx gth 216*7ebf7443Swdenk 217*7ebf7443Swdenkhermes_config : unconfig 218*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx hermes 219*7ebf7443Swdenk 220*7ebf7443SwdenkIAD210_config: unconfig 221*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens 222*7ebf7443Swdenk 223*7ebf7443Swdenkxtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1)) 224*7ebf7443Swdenk 225*7ebf7443SwdenkICU862_100MHz_config \ 226*7ebf7443SwdenkICU862_config: unconfig 227*7ebf7443Swdenk @ >include/config.h 228*7ebf7443Swdenk @[ -z "$(findstring _100MHz,$@)" ] || \ 229*7ebf7443Swdenk { echo "#define CONFIG_100MHz" >>include/config.h ; \ 230*7ebf7443Swdenk echo "... with 100MHz system clock" ; \ 231*7ebf7443Swdenk } 232*7ebf7443Swdenk @./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862 233*7ebf7443Swdenk 234*7ebf7443SwdenkIP860_config : unconfig 235*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx ip860 236*7ebf7443Swdenk 237*7ebf7443SwdenkIVML24_256_config \ 238*7ebf7443SwdenkIVML24_128_config \ 239*7ebf7443SwdenkIVML24_config: unconfig 240*7ebf7443Swdenk @ >include/config.h 241*7ebf7443Swdenk @[ -z "$(findstring IVML24_config,$@)" ] || \ 242*7ebf7443Swdenk { echo "#define CONFIG_IVML24_16M" >>include/config.h ; \ 243*7ebf7443Swdenk } 244*7ebf7443Swdenk @[ -z "$(findstring IVML24_128_config,$@)" ] || \ 245*7ebf7443Swdenk { echo "#define CONFIG_IVML24_32M" >>include/config.h ; \ 246*7ebf7443Swdenk } 247*7ebf7443Swdenk @[ -z "$(findstring IVML24_256_config,$@)" ] || \ 248*7ebf7443Swdenk { echo "#define CONFIG_IVML24_64M" >>include/config.h ; \ 249*7ebf7443Swdenk } 250*7ebf7443Swdenk @./mkconfig -a IVML24 ppc mpc8xx ivm 251*7ebf7443Swdenk 252*7ebf7443SwdenkIVMS8_256_config \ 253*7ebf7443SwdenkIVMS8_128_config \ 254*7ebf7443SwdenkIVMS8_config: unconfig 255*7ebf7443Swdenk @ >include/config.h 256*7ebf7443Swdenk @[ -z "$(findstring IVMS8_config,$@)" ] || \ 257*7ebf7443Swdenk { echo "#define CONFIG_IVMS8_16M" >>include/config.h ; \ 258*7ebf7443Swdenk } 259*7ebf7443Swdenk @[ -z "$(findstring IVMS8_128_config,$@)" ] || \ 260*7ebf7443Swdenk { echo "#define CONFIG_IVMS8_32M" >>include/config.h ; \ 261*7ebf7443Swdenk } 262*7ebf7443Swdenk @[ -z "$(findstring IVMS8_256_config,$@)" ] || \ 263*7ebf7443Swdenk { echo "#define CONFIG_IVMS8_64M" >>include/config.h ; \ 264*7ebf7443Swdenk } 265*7ebf7443Swdenk @./mkconfig -a IVMS8 ppc mpc8xx ivm 266*7ebf7443Swdenk 267*7ebf7443SwdenkLANTEC_config : unconfig 268*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx lantec 269*7ebf7443Swdenk 270*7ebf7443Swdenklwmon_config: unconfig 271*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx lwmon 272*7ebf7443Swdenk 273*7ebf7443SwdenkMBX_config \ 274*7ebf7443SwdenkMBX860T_config: unconfig 275*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx mbx8xx 276*7ebf7443Swdenk 277*7ebf7443SwdenkMHPC_config: unconfig 278*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec 279*7ebf7443Swdenk 280*7ebf7443SwdenkMVS1_config : unconfig 281*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx mvs1 282*7ebf7443Swdenk 283*7ebf7443SwdenkNETVIA_config: unconfig 284*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx netvia 285*7ebf7443Swdenk 286*7ebf7443SwdenkNX823_config: unconfig 287*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx nx823 288*7ebf7443Swdenk 289*7ebf7443Swdenkpcu_e_config: unconfig 290*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens 291*7ebf7443Swdenk 292*7ebf7443SwdenkR360MPI_config: unconfig 293*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx r360mpi 294*7ebf7443Swdenk 295*7ebf7443SwdenkRPXClassic_config: unconfig 296*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx RPXClassic 297*7ebf7443Swdenk 298*7ebf7443SwdenkRPXlite_config: unconfig 299*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx RPXlite 300*7ebf7443Swdenk 301*7ebf7443SwdenkRRvision_config: unconfig 302*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx RRvision 303*7ebf7443Swdenk 304*7ebf7443SwdenkRRvision_LCD_config: unconfig 305*7ebf7443Swdenk @echo "#define CONFIG_LCD" >include/config.h 306*7ebf7443Swdenk @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h 307*7ebf7443Swdenk @./mkconfig -a RRvision ppc mpc8xx RRvision 308*7ebf7443Swdenk 309*7ebf7443SwdenkSM850_config : unconfig 310*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx 311*7ebf7443Swdenk 312*7ebf7443SwdenkSPD823TS_config: unconfig 313*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx spd8xx 314*7ebf7443Swdenk 315*7ebf7443SwdenkSXNI855T_config: unconfig 316*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8xx sixnet 317*7ebf7443Swdenk 318*7ebf7443Swdenk# Play some tricks for configuration selection 319*7ebf7443Swdenk# All boards can come with 50 MHz (default), 66MHz or 80MHz clock, 320*7ebf7443Swdenk# but only 855 and 860 boards may come with FEC 321*7ebf7443Swdenk# and 823 boards may have LCD support 322*7ebf7443Swdenkxtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1))))) 323*7ebf7443Swdenk 324*7ebf7443SwdenkFPS850L_config \ 325*7ebf7443SwdenkTQM823L_config \ 326*7ebf7443SwdenkTQM823L_66MHz_config \ 327*7ebf7443SwdenkTQM823L_80MHz_config \ 328*7ebf7443SwdenkTQM823L_LCD_config \ 329*7ebf7443SwdenkTQM823L_LCD_66MHz_config \ 330*7ebf7443SwdenkTQM823L_LCD_80MHz_config \ 331*7ebf7443SwdenkTQM850L_config \ 332*7ebf7443SwdenkTQM850L_66MHz_config \ 333*7ebf7443SwdenkTQM850L_80MHz_config \ 334*7ebf7443SwdenkTQM855L_config \ 335*7ebf7443SwdenkTQM855L_66MHz_config \ 336*7ebf7443SwdenkTQM855L_80MHz_config \ 337*7ebf7443SwdenkTQM855L_FEC_config \ 338*7ebf7443SwdenkTQM855L_FEC_66MHz_config \ 339*7ebf7443SwdenkTQM855L_FEC_80MHz_config \ 340*7ebf7443SwdenkTQM860L_config \ 341*7ebf7443SwdenkTQM860L_66MHz_config \ 342*7ebf7443SwdenkTQM860L_80MHz_config \ 343*7ebf7443SwdenkTQM860L_FEC_config \ 344*7ebf7443SwdenkTQM860L_FEC_66MHz_config \ 345*7ebf7443SwdenkTQM860L_FEC_80MHz_config: unconfig 346*7ebf7443Swdenk @ >include/config.h 347*7ebf7443Swdenk @[ -z "$(findstring _FEC,$@)" ] || \ 348*7ebf7443Swdenk { echo "#define CONFIG_FEC_ENET" >>include/config.h ; \ 349*7ebf7443Swdenk echo "... with FEC support" ; \ 350*7ebf7443Swdenk } 351*7ebf7443Swdenk @[ -z "$(findstring _66MHz,$@)" ] || \ 352*7ebf7443Swdenk { echo "#define CONFIG_66MHz" >>include/config.h ; \ 353*7ebf7443Swdenk echo "... with 66MHz system clock" ; \ 354*7ebf7443Swdenk } 355*7ebf7443Swdenk @[ -z "$(findstring _80MHz,$@)" ] || \ 356*7ebf7443Swdenk { echo "#define CONFIG_80MHz" >>include/config.h ; \ 357*7ebf7443Swdenk echo "... with 80MHz system clock" ; \ 358*7ebf7443Swdenk } 359*7ebf7443Swdenk @[ -z "$(findstring _LCD,$@)" ] || \ 360*7ebf7443Swdenk { echo "#define CONFIG_LCD" >>include/config.h ; \ 361*7ebf7443Swdenk echo "#define CONFIG_NEC_NL6648BC20" >>include/config.h ; \ 362*7ebf7443Swdenk echo "... with LCD display" ; \ 363*7ebf7443Swdenk } 364*7ebf7443Swdenk @./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx 365*7ebf7443Swdenk 366*7ebf7443SwdenkTTTech_config: unconfig 367*7ebf7443Swdenk @echo "#define CONFIG_LCD" >include/config.h 368*7ebf7443Swdenk @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h 369*7ebf7443Swdenk @./mkconfig -a TQM823L ppc mpc8xx tqm8xx 370*7ebf7443Swdenk 371*7ebf7443Swdenk######################################################################### 372*7ebf7443Swdenk## PPC4xx Systems 373*7ebf7443Swdenk######################################################################### 374*7ebf7443Swdenk 375*7ebf7443SwdenkADCIOP_config: unconfig 376*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx adciop esd 377*7ebf7443Swdenk 378*7ebf7443SwdenkAR405_config: unconfig 379*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx ar405 esd 380*7ebf7443Swdenk 381*7ebf7443SwdenkCANBT_config: unconfig 382*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx canbt esd 383*7ebf7443Swdenk 384*7ebf7443SwdenkCPCI405_config \ 385*7ebf7443SwdenkCPCI4052_config: unconfig 386*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd 387*7ebf7443Swdenk @echo "BOARD_REVISION = $(@:_config=)" >>include/config.mk 388*7ebf7443Swdenk 389*7ebf7443SwdenkCPCI440_config: unconfig 390*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd 391*7ebf7443Swdenk 392*7ebf7443SwdenkCPCIISER4_config: unconfig 393*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd 394*7ebf7443Swdenk 395*7ebf7443SwdenkCRAYL1_config:unconfig 396*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx L1 cray 397*7ebf7443Swdenk 398*7ebf7443SwdenkDASA_SIM_config: unconfig 399*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd 400*7ebf7443Swdenk 401*7ebf7443SwdenkDU405_config: unconfig 402*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx du405 esd 403*7ebf7443Swdenk 404*7ebf7443SwdenkEBONY_config:unconfig 405*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx ebony 406*7ebf7443Swdenk 407*7ebf7443SwdenkERIC_config:unconfig 408*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx eric 409*7ebf7443Swdenk 410*7ebf7443SwdenkMIP405_config:unconfig 411*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl 412*7ebf7443Swdenk 413*7ebf7443SwdenkML2_config:unconfig 414*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx ml2 415*7ebf7443Swdenk 416*7ebf7443SwdenkOCRTC_config \ 417*7ebf7443SwdenkORSG_config: unconfig 418*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd 419*7ebf7443Swdenk 420*7ebf7443SwdenkPCI405_config: unconfig 421*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx pci405 esd 422*7ebf7443Swdenk 423*7ebf7443SwdenkPIP405_config:unconfig 424*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl 425*7ebf7443Swdenk 426*7ebf7443SwdenkW7OLMC_config \ 427*7ebf7443SwdenkW7OLMG_config: unconfig 428*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx w7o 429*7ebf7443Swdenk 430*7ebf7443SwdenkWALNUT405_config:unconfig 431*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc ppc4xx walnut405 432*7ebf7443Swdenk 433*7ebf7443Swdenk######################################################################### 434*7ebf7443Swdenk## MPC824x Systems 435*7ebf7443Swdenk######################################################################### 436*7ebf7443SwdenkBMW_config: unconfig 437*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x bmw 438*7ebf7443Swdenk 439*7ebf7443SwdenkCU824_config: unconfig 440*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x cu824 441*7ebf7443Swdenk 442*7ebf7443SwdenkMOUSSE_config: unconfig 443*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x mousse 444*7ebf7443Swdenk 445*7ebf7443SwdenkMUSENKI_config: unconfig 446*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x musenki 447*7ebf7443Swdenk 448*7ebf7443SwdenkOXC_config: unconfig 449*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x oxc 450*7ebf7443Swdenk 451*7ebf7443SwdenkPN62_config: unconfig 452*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x pn62 453*7ebf7443Swdenk 454*7ebf7443SwdenkSandpoint8240_config: unconfig 455*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x sandpoint 456*7ebf7443Swdenk 457*7ebf7443SwdenkSandpoint8245_config: unconfig 458*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x sandpoint 459*7ebf7443Swdenk 460*7ebf7443Swdenkutx8245_config: unconfig 461*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc824x utx8245 462*7ebf7443Swdenk 463*7ebf7443Swdenk######################################################################### 464*7ebf7443Swdenk## MPC8260 Systems 465*7ebf7443Swdenk######################################################################### 466*7ebf7443Swdenkxtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))) 467*7ebf7443Swdenk 468*7ebf7443Swdenkcogent_mpc8260_config: unconfig 469*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 cogent 470*7ebf7443Swdenk 471*7ebf7443SwdenkCPU86_config \ 472*7ebf7443SwdenkCPU86_ROMBOOT_config: unconfig 473*7ebf7443Swdenk @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86 474*7ebf7443Swdenk @cd ./include ; \ 475*7ebf7443Swdenk if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ 476*7ebf7443Swdenk echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ 477*7ebf7443Swdenk echo "... booting from 8-bit flash" ; \ 478*7ebf7443Swdenk else \ 479*7ebf7443Swdenk echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ 480*7ebf7443Swdenk echo "... booting from 64-bit flash" ; \ 481*7ebf7443Swdenk fi; \ 482*7ebf7443Swdenk echo "export CONFIG_BOOT_ROM" >> config.mk; 483*7ebf7443Swdenk 484*7ebf7443Swdenkep8260_config: unconfig 485*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 ep8260 486*7ebf7443Swdenk 487*7ebf7443Swdenkgw8260_config: unconfig 488*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 gw8260 489*7ebf7443Swdenk 490*7ebf7443Swdenkhymod_config: unconfig 491*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 hymod 492*7ebf7443Swdenk 493*7ebf7443SwdenkIPHASE4539_config: unconfig 494*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 iphase4539 495*7ebf7443Swdenk 496*7ebf7443SwdenkMPC8260ADS_config: unconfig 497*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads 498*7ebf7443Swdenk 499*7ebf7443SwdenkPM826_config \ 500*7ebf7443SwdenkPM826_ROMBOOT_config: unconfig 501*7ebf7443Swdenk @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826 502*7ebf7443Swdenk @cd ./include ; \ 503*7ebf7443Swdenk if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ 504*7ebf7443Swdenk echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ 505*7ebf7443Swdenk echo "... booting from 8-bit flash" ; \ 506*7ebf7443Swdenk else \ 507*7ebf7443Swdenk echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ 508*7ebf7443Swdenk echo "... booting from 64-bit flash" ; \ 509*7ebf7443Swdenk fi; \ 510*7ebf7443Swdenk echo "export CONFIG_BOOT_ROM" >> config.mk; \ 511*7ebf7443Swdenk 512*7ebf7443Swdenkppmc8260_config: unconfig 513*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260 514*7ebf7443Swdenk 515*7ebf7443SwdenkRPXsuper_config: unconfig 516*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 rpxsuper 517*7ebf7443Swdenk 518*7ebf7443Swdenkrsdproto_config: unconfig 519*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 rsdproto 520*7ebf7443Swdenk 521*7ebf7443Swdenksacsng_config: unconfig 522*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 sacsng 523*7ebf7443Swdenk 524*7ebf7443Swdenksbc8260_config: unconfig 525*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 sbc8260 526*7ebf7443Swdenk 527*7ebf7443SwdenkSCM_config: unconfig 528*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc mpc8260 SCM siemens 529*7ebf7443Swdenk 530*7ebf7443SwdenkTQM8260_config \ 531*7ebf7443SwdenkTQM8260_L2_config \ 532*7ebf7443SwdenkTQM8260_266MHz_config \ 533*7ebf7443SwdenkTQM8260_L2_266MHz_config \ 534*7ebf7443SwdenkTQM8260_300MHz_config: unconfig 535*7ebf7443Swdenk @ >include/config.h 536*7ebf7443Swdenk @if [ "$(findstring _L2_,$@)" ] ; then \ 537*7ebf7443Swdenk echo "#define CONFIG_L2_CACHE" >>include/config.h ; \ 538*7ebf7443Swdenk echo "... with L2 Cache support (60x Bus Mode)" ; \ 539*7ebf7443Swdenk else \ 540*7ebf7443Swdenk echo "#undef CONFIG_L2_CACHE" >>include/config.h ; \ 541*7ebf7443Swdenk echo "... without L2 Cache support" ; \ 542*7ebf7443Swdenk fi 543*7ebf7443Swdenk @[ -z "$(findstring _266MHz,$@)" ] || \ 544*7ebf7443Swdenk { echo "#define CONFIG_266MHz" >>include/config.h ; \ 545*7ebf7443Swdenk echo "... with 266MHz system clock" ; \ 546*7ebf7443Swdenk } 547*7ebf7443Swdenk @[ -z "$(findstring _300MHz,$@)" ] || \ 548*7ebf7443Swdenk { echo "#define CONFIG_300MHz" >>include/config.h ; \ 549*7ebf7443Swdenk echo "... with 300MHz system clock" ; \ 550*7ebf7443Swdenk } 551*7ebf7443Swdenk @./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260 552*7ebf7443Swdenk 553*7ebf7443Swdenk######################################################################### 554*7ebf7443Swdenk## 74xx/7xx Systems 555*7ebf7443Swdenk######################################################################### 556*7ebf7443Swdenk 557*7ebf7443SwdenkEVB64260_config \ 558*7ebf7443SwdenkEVB64260_750CX_config: unconfig 559*7ebf7443Swdenk @./mkconfig EVB64260 ppc 74xx_7xx evb64260 560*7ebf7443Swdenk 561*7ebf7443SwdenkZUMA_config: unconfig 562*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260 563*7ebf7443Swdenk 564*7ebf7443SwdenkPCIPPC2_config \ 565*7ebf7443SwdenkPCIPPC6_config: unconfig 566*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2 567*7ebf7443Swdenk 568*7ebf7443SwdenkBAB7xx_config: unconfig 569*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec 570*7ebf7443Swdenk 571*7ebf7443SwdenkELPPC_config: unconfig 572*7ebf7443Swdenk @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec 573*7ebf7443Swdenk 574*7ebf7443Swdenk#======================================================================== 575*7ebf7443Swdenk# ARM 576*7ebf7443Swdenk#======================================================================== 577*7ebf7443Swdenk######################################################################### 578*7ebf7443Swdenk## StrongARM Systems 579*7ebf7443Swdenk######################################################################### 580*7ebf7443Swdenk 581*7ebf7443Swdenklart_config : unconfig 582*7ebf7443Swdenk @./mkconfig $(@:_config=) arm sa1100 lart 583*7ebf7443Swdenk 584*7ebf7443Swdenkdnp1110_config : unconfig 585*7ebf7443Swdenk @./mkconfig $(@:_config=) arm sa1100 dnp1110 586*7ebf7443Swdenk 587*7ebf7443Swdenkshannon_config : unconfig 588*7ebf7443Swdenk @./mkconfig $(@:_config=) arm sa1100 shannon 589*7ebf7443Swdenk 590*7ebf7443Swdenk######################################################################### 591*7ebf7443Swdenk## ARM920T Systems 592*7ebf7443Swdenk######################################################################### 593*7ebf7443Swdenk 594*7ebf7443Swdenksmdk2400_config : unconfig 595*7ebf7443Swdenk @./mkconfig $(@:_config=) arm arm920t smdk2400 596*7ebf7443Swdenk 597*7ebf7443Swdenksmdk2410_config : unconfig 598*7ebf7443Swdenk @./mkconfig $(@:_config=) arm arm920t smdk2410 599*7ebf7443Swdenk 600*7ebf7443Swdenktrab_config : unconfig 601*7ebf7443Swdenk @./mkconfig $(@:_config=) arm arm920t trab 602*7ebf7443Swdenk 603*7ebf7443Swdenk######################################################################### 604*7ebf7443Swdenk## ARM720T Systems 605*7ebf7443Swdenk######################################################################### 606*7ebf7443Swdenk 607*7ebf7443Swdenkimpa7_config : unconfig 608*7ebf7443Swdenk @./mkconfig $(@:_config=) arm arm720t impa7 609*7ebf7443Swdenk 610*7ebf7443Swdenkep7312_config : unconfig 611*7ebf7443Swdenk @./mkconfig $(@:_config=) arm arm720t ep7312 612*7ebf7443Swdenk 613*7ebf7443Swdenk######################################################################### 614*7ebf7443Swdenk## Xscale Systems 615*7ebf7443Swdenk######################################################################### 616*7ebf7443Swdenk 617*7ebf7443Swdenklubbock_config : unconfig 618*7ebf7443Swdenk @./mkconfig $(@:_config=) arm xscale lubbock 619*7ebf7443Swdenk 620*7ebf7443Swdenkcradle_config : unconfig 621*7ebf7443Swdenk @./mkconfig $(@:_config=) arm xscale cradle 622*7ebf7443Swdenk 623*7ebf7443Swdenkcsb226_config : unconfig 624*7ebf7443Swdenk @./mkconfig $(@:_config=) arm xscale csb226 625*7ebf7443Swdenk 626*7ebf7443Swdenk######################################################################### 627*7ebf7443Swdenk 628*7ebf7443Swdenkclean: 629*7ebf7443Swdenk find . -type f \ 630*7ebf7443Swdenk \( -name 'core' -o -name '*.bak' -o -name '*~' \ 631*7ebf7443Swdenk -o -name '*.o' -o -name '*.a' \) -print \ 632*7ebf7443Swdenk | xargs rm -f 633*7ebf7443Swdenk rm -f examples/hello_world examples/timer examples/eepro100_eeprom 634*7ebf7443Swdenk rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr 635*7ebf7443Swdenk rm -f tools/easylogo/easylogo tools/bmp_logo 636*7ebf7443Swdenk rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend 637*7ebf7443Swdenk 638*7ebf7443Swdenkclobber: clean 639*7ebf7443Swdenk find . -type f \ 640*7ebf7443Swdenk \( -name .depend -o -name '*.srec' -o -name '*.bin' \) \ 641*7ebf7443Swdenk -print \ 642*7ebf7443Swdenk | xargs rm -f 643*7ebf7443Swdenk rm -f $(OBJS) *.bak tags TAGS 644*7ebf7443Swdenk rm -fr *.*~ 645*7ebf7443Swdenk rm -f u-boot u-boot.bin u-boot.elf u-boot.srec u-boot.map System.map 646*7ebf7443Swdenk rm -f tools/crc32.c tools/environment.c 647*7ebf7443Swdenk rm -f include/asm/arch include/asm 648*7ebf7443Swdenk 649*7ebf7443Swdenkmrproper \ 650*7ebf7443Swdenkdistclean: clobber unconfig 651*7ebf7443Swdenk 652*7ebf7443Swdenkbackup: 653*7ebf7443Swdenk F=`basename $(TOPDIR)` ; cd .. ; \ 654*7ebf7443Swdenk gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F 655*7ebf7443Swdenk 656*7ebf7443Swdenk######################################################################### 657