11bc15386SPeter Tyser# 21bc15386SPeter Tyser# (C) Copyright 2000-2006 31bc15386SPeter Tyser# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 41bc15386SPeter Tyser# 51bc15386SPeter Tyser# See file CREDITS for list of people who contributed to this 61bc15386SPeter Tyser# project. 71bc15386SPeter Tyser# 81bc15386SPeter Tyser# This program is free software; you can redistribute it and/or 91bc15386SPeter Tyser# modify it under the terms of the GNU General Public License as 101bc15386SPeter Tyser# published by the Free Software Foundation; either version 2 of 111bc15386SPeter Tyser# the License, or (at your option) any later version. 121bc15386SPeter Tyser# 131bc15386SPeter Tyser# This program is distributed in the hope that it will be useful, 141bc15386SPeter Tyser# but WITHOUT ANY WARRANTY; without even the implied warranty of 151bc15386SPeter Tyser# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 161bc15386SPeter Tyser# GNU General Public License for more details. 171bc15386SPeter Tyser# 181bc15386SPeter Tyser# You should have received a copy of the GNU General Public License 191bc15386SPeter Tyser# along with this program; if not, write to the Free Software 201bc15386SPeter Tyser# Foundation, Inc., 59 Temple Place, Suite 330, Boston, 211bc15386SPeter Tyser# MA 02111-1307 USA 221bc15386SPeter Tyser# 231bc15386SPeter Tyser 241bc15386SPeter Tyserinclude $(TOPDIR)/config.mk 251bc15386SPeter Tyser 261bc15386SPeter TyserELF = hello_world 271bc15386SPeter TyserSREC = hello_world.srec 281bc15386SPeter TyserBIN = hello_world.bin 291bc15386SPeter Tyser 3065f6f07bSMike FrysingerELF += atmel_df_pow2 3165f6f07bSMike FrysingerSREC += atmel_df_pow2.srec 3265f6f07bSMike FrysingerBIN += atmel_df_pow2.bin 3365f6f07bSMike Frysinger 341bc15386SPeter Tyserifeq ($(CPU),mpc8xx) 351bc15386SPeter TyserELF += test_burst 361bc15386SPeter TyserSREC += test_burst.srec 371bc15386SPeter TyserBIN += test_burst.bin 381bc15386SPeter Tyserendif 391bc15386SPeter Tyser 401bc15386SPeter Tyserifeq ($(ARCH),i386) 411bc15386SPeter TyserELF += 82559_eeprom 421bc15386SPeter TyserSREC += 82559_eeprom.srec 431bc15386SPeter TyserBIN += 82559_eeprom.bin 441bc15386SPeter Tyserendif 451bc15386SPeter Tyser 461bc15386SPeter Tyserifeq ($(ARCH),ppc) 471bc15386SPeter TyserELF += sched 481bc15386SPeter TyserSREC += sched.srec 491bc15386SPeter TyserBIN += sched.bin 501bc15386SPeter Tyserendif 511bc15386SPeter Tyser 521bc15386SPeter Tyserifeq ($(ARCH),blackfin) 531bc15386SPeter TyserBFIN_BIN = smc91111_eeprom smc911x_eeprom 541bc15386SPeter TyserELF += $(BFIN_BIN) 551bc15386SPeter TyserSREC += $(addsuffix .srec,$(BFIN_BIN)) 561bc15386SPeter TyserBIN += $(addsuffix .bin,$(BFIN_BIN)) 571bc15386SPeter Tyserendif 581bc15386SPeter Tyser 591bc15386SPeter Tyser# The following example is pretty 8xx specific... 601bc15386SPeter Tyserifeq ($(CPU),mpc8xx) 611bc15386SPeter TyserELF += timer 621bc15386SPeter TyserSREC += timer.srec 631bc15386SPeter TyserBIN += timer.bin 641bc15386SPeter Tyserendif 651bc15386SPeter Tyser 661bc15386SPeter Tyser# The following example is 8260 specific... 671bc15386SPeter Tyserifeq ($(CPU),mpc8260) 681bc15386SPeter TyserELF += mem_to_mem_idma2intr 691bc15386SPeter TyserSREC += mem_to_mem_idma2intr.srec 701bc15386SPeter TyserBIN += mem_to_mem_idma2intr.bin 711bc15386SPeter Tyserendif 721bc15386SPeter Tyser 731bc15386SPeter Tyser# Demo for 52xx IRQs 741bc15386SPeter Tyserifeq ($(CPU),mpc5xxx) 751bc15386SPeter TyserELF += interrupt 761bc15386SPeter TyserSREC += interrupt.srec 771bc15386SPeter TyserBIN += interrupt.bin 781bc15386SPeter Tyserendif 791bc15386SPeter Tyser 801bc15386SPeter Tyser# Utility for resetting i82559 EEPROM 811bc15386SPeter Tyserifeq ($(BOARD),oxc) 821bc15386SPeter TyserELF += eepro100_eeprom 831bc15386SPeter TyserSREC += eepro100_eeprom.srec 841bc15386SPeter TyserBIN += eepro100_eeprom.bin 851bc15386SPeter Tyserendif 861bc15386SPeter Tyser 871bc15386SPeter Tyser 881bc15386SPeter TyserCOBJS := $(SREC:.srec=.o) 891bc15386SPeter Tyser 901bc15386SPeter TyserLIB = $(obj)libstubs.a 911bc15386SPeter TyserLIBAOBJS= 921bc15386SPeter Tyserifeq ($(ARCH),ppc) 931bc15386SPeter TyserLIBAOBJS+= $(ARCH)_longjmp.o $(ARCH)_setjmp.o 941bc15386SPeter Tyserendif 951bc15386SPeter Tyserifeq ($(CPU),mpc8xx) 961bc15386SPeter TyserLIBAOBJS+= test_burst_lib.o 971bc15386SPeter Tyserendif 981bc15386SPeter TyserLIBCOBJS= stubs.o 991bc15386SPeter Tyser 1001bc15386SPeter TyserLIBOBJS = $(addprefix $(obj),$(LIBAOBJS) $(LIBCOBJS)) 1011bc15386SPeter Tyser 1021bc15386SPeter TyserSRCS := $(COBJS:.o=.c) $(LIBCOBJS:.o=.c) $(if $(LIBAOBJS),$(LIBAOBJS:.o=.S)) 1031bc15386SPeter TyserOBJS := $(addprefix $(obj),$(COBJS)) 1041bc15386SPeter TyserELF := $(addprefix $(obj),$(ELF)) 1051bc15386SPeter TyserBIN := $(addprefix $(obj),$(BIN)) 1061bc15386SPeter TyserSREC := $(addprefix $(obj),$(SREC)) 1071bc15386SPeter Tyser 1081bc15386SPeter Tysergcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`) 1091bc15386SPeter Tyser 1101bc15386SPeter TyserCPPFLAGS += -I.. 1111bc15386SPeter Tyser 1121bc15386SPeter Tyserall: $(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF) 1131bc15386SPeter Tyser 1141bc15386SPeter Tyser######################################################################### 1151bc15386SPeter Tyser$(LIB): $(obj).depend $(LIBOBJS) 1161bc15386SPeter Tyser $(AR) $(ARFLAGS) $@ $(LIBOBJS) 1171bc15386SPeter Tyser 1181bc15386SPeter Tyser$(ELF): 1191bc15386SPeter Tyser$(obj)%: $(obj)%.o $(LIB) 120*262ae0a6SMike Frysinger $(LD) -g -Ttext $(STANDALONE_LOAD_ADDR) \ 1211bc15386SPeter Tyser -o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \ 1221bc15386SPeter Tyser -L$(gcclibdir) -lgcc 1231bc15386SPeter Tyser 1241bc15386SPeter Tyser$(SREC): 1251bc15386SPeter Tyser$(obj)%.srec: $(obj)% 1261bc15386SPeter Tyser $(OBJCOPY) -O srec $< $@ 2>/dev/null 1271bc15386SPeter Tyser 1281bc15386SPeter Tyser$(BIN): 1291bc15386SPeter Tyser$(obj)%.bin: $(obj)% 1301bc15386SPeter Tyser $(OBJCOPY) -O binary $< $@ 2>/dev/null 1311bc15386SPeter Tyser 1321bc15386SPeter Tyser######################################################################### 1331bc15386SPeter Tyser 1341bc15386SPeter Tyser# defines $(obj).depend target 1351bc15386SPeter Tyserinclude $(SRCTREE)/rules.mk 1361bc15386SPeter Tyser 1371bc15386SPeter Tysersinclude $(obj).depend 1381bc15386SPeter Tyser 1391bc15386SPeter Tyser######################################################################### 140