xref: /rk3399_rockchip-uboot/examples/standalone/Makefile (revision 65f6f07b72a71b83d775c4d20d7ebcd6b2d2086d)
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 Tyserifeq ($(ARCH),ppc)
251bc15386SPeter TyserLOAD_ADDR = 0x40000
261bc15386SPeter Tyserendif
271bc15386SPeter Tyser
281bc15386SPeter Tyserifeq ($(ARCH),i386)
291bc15386SPeter TyserLOAD_ADDR = 0x40000
301bc15386SPeter Tyserendif
311bc15386SPeter Tyser
321bc15386SPeter Tyserifeq ($(ARCH),arm)
331bc15386SPeter Tyserifeq ($(BOARD),omap2420h4)
341bc15386SPeter TyserLOAD_ADDR = 0x80300000
351bc15386SPeter Tyserelse
3661c68ae0SMichael Evansifeq ($(SOC),omap3)
371bc15386SPeter TyserLOAD_ADDR = 0x80300000
381bc15386SPeter Tyserelse
391bc15386SPeter TyserLOAD_ADDR = 0xc100000
401bc15386SPeter Tyserendif
411bc15386SPeter Tyserendif
421bc15386SPeter Tyserendif
431bc15386SPeter Tyser
441bc15386SPeter Tyserifeq ($(ARCH),mips)
451bc15386SPeter TyserLOAD_ADDR = 0x80200000 -T mips.lds
461bc15386SPeter Tyserendif
471bc15386SPeter Tyser
481bc15386SPeter Tyserifeq ($(ARCH),nios)
491bc15386SPeter TyserLOAD_ADDR = 0x00800000 -L $(gcclibdir)/m32 -T nios.lds
501bc15386SPeter Tyserendif
511bc15386SPeter Tyser
521bc15386SPeter Tyserifeq ($(ARCH),nios2)
531bc15386SPeter TyserLOAD_ADDR = 0x02000000 -L $(gcclibdir) -T nios2.lds
541bc15386SPeter Tyserendif
551bc15386SPeter Tyser
561bc15386SPeter Tyserifeq ($(ARCH),m68k)
571bc15386SPeter TyserLOAD_ADDR = 0x20000  -L $(clibdir)
581bc15386SPeter Tyserendif
591bc15386SPeter Tyser
601bc15386SPeter Tyserifeq ($(ARCH),microblaze)
611bc15386SPeter TyserLOAD_ADDR = 0x80F00000
621bc15386SPeter Tyserendif
631bc15386SPeter Tyser
641bc15386SPeter Tyserifeq ($(ARCH),blackfin)
651bc15386SPeter TyserLOAD_ADDR = 0x1000
661bc15386SPeter Tyserendif
671bc15386SPeter Tyser
681bc15386SPeter Tyserifeq ($(ARCH),avr32)
691bc15386SPeter TyserLOAD_ADDR = 0x00000000
701bc15386SPeter Tyserendif
711bc15386SPeter Tyser
721bc15386SPeter Tyserifeq ($(ARCH),sh)
731bc15386SPeter TyserLOAD_ADDR = 0x8C000000
741bc15386SPeter Tyserifeq ($(CPU),sh2)
751bc15386SPeter TyserBIG_ENDIAN=y
761bc15386SPeter Tyserendif
771bc15386SPeter Tyserendif
781bc15386SPeter Tyser
791bc15386SPeter Tyserifeq ($(ARCH),sparc)
801bc15386SPeter TyserLOAD_ADDR = 0x00000000 -L $(gcclibdir) -T sparc.lds
811bc15386SPeter Tyserendif
821bc15386SPeter Tyser
831bc15386SPeter Tyserinclude $(TOPDIR)/config.mk
841bc15386SPeter Tyser
851bc15386SPeter TyserELF	= hello_world
861bc15386SPeter TyserSREC	= hello_world.srec
871bc15386SPeter TyserBIN	= hello_world.bin
881bc15386SPeter Tyser
89*65f6f07bSMike FrysingerELF	+= atmel_df_pow2
90*65f6f07bSMike FrysingerSREC	+= atmel_df_pow2.srec
91*65f6f07bSMike FrysingerBIN	+= atmel_df_pow2.bin
92*65f6f07bSMike Frysinger
931bc15386SPeter Tyserifeq ($(CPU),mpc8xx)
941bc15386SPeter TyserELF	+= test_burst
951bc15386SPeter TyserSREC	+= test_burst.srec
961bc15386SPeter TyserBIN	+= test_burst.bin
971bc15386SPeter Tyserendif
981bc15386SPeter Tyser
991bc15386SPeter Tyserifeq ($(ARCH),i386)
1001bc15386SPeter TyserELF	+= 82559_eeprom
1011bc15386SPeter TyserSREC	+= 82559_eeprom.srec
1021bc15386SPeter TyserBIN	+= 82559_eeprom.bin
1031bc15386SPeter Tyserendif
1041bc15386SPeter Tyser
1051bc15386SPeter Tyserifeq ($(ARCH),ppc)
1061bc15386SPeter TyserELF	+= sched
1071bc15386SPeter TyserSREC	+= sched.srec
1081bc15386SPeter TyserBIN	+= sched.bin
1091bc15386SPeter Tyserendif
1101bc15386SPeter Tyser
1111bc15386SPeter Tyserifeq ($(ARCH),blackfin)
1121bc15386SPeter TyserBFIN_BIN = smc91111_eeprom smc911x_eeprom
1131bc15386SPeter TyserELF	+= $(BFIN_BIN)
1141bc15386SPeter TyserSREC	+= $(addsuffix .srec,$(BFIN_BIN))
1151bc15386SPeter TyserBIN	+= $(addsuffix .bin,$(BFIN_BIN))
1161bc15386SPeter Tyserendif
1171bc15386SPeter Tyser
1181bc15386SPeter Tyser# The following example is pretty 8xx specific...
1191bc15386SPeter Tyserifeq ($(CPU),mpc8xx)
1201bc15386SPeter TyserELF	+= timer
1211bc15386SPeter TyserSREC	+= timer.srec
1221bc15386SPeter TyserBIN	+= timer.bin
1231bc15386SPeter Tyserendif
1241bc15386SPeter Tyser
1251bc15386SPeter Tyser# The following example is 8260 specific...
1261bc15386SPeter Tyserifeq ($(CPU),mpc8260)
1271bc15386SPeter TyserELF	+= mem_to_mem_idma2intr
1281bc15386SPeter TyserSREC	+= mem_to_mem_idma2intr.srec
1291bc15386SPeter TyserBIN	+= mem_to_mem_idma2intr.bin
1301bc15386SPeter Tyserendif
1311bc15386SPeter Tyser
1321bc15386SPeter Tyser# Demo for 52xx IRQs
1331bc15386SPeter Tyserifeq ($(CPU),mpc5xxx)
1341bc15386SPeter TyserELF	+= interrupt
1351bc15386SPeter TyserSREC	+= interrupt.srec
1361bc15386SPeter TyserBIN	+= interrupt.bin
1371bc15386SPeter Tyserendif
1381bc15386SPeter Tyser
1391bc15386SPeter Tyser# Utility for resetting i82559 EEPROM
1401bc15386SPeter Tyserifeq ($(BOARD),oxc)
1411bc15386SPeter TyserELF	+= eepro100_eeprom
1421bc15386SPeter TyserSREC	+= eepro100_eeprom.srec
1431bc15386SPeter TyserBIN	+= eepro100_eeprom.bin
1441bc15386SPeter Tyserendif
1451bc15386SPeter Tyser
1461bc15386SPeter Tyserifeq ($(BIG_ENDIAN),y)
1471bc15386SPeter TyserEX_LDFLAGS += -EB
1481bc15386SPeter Tyserendif
1491bc15386SPeter Tyser
1501bc15386SPeter TyserCOBJS	:= $(SREC:.srec=.o)
1511bc15386SPeter Tyser
1521bc15386SPeter TyserLIB	= $(obj)libstubs.a
1531bc15386SPeter TyserLIBAOBJS=
1541bc15386SPeter Tyserifeq ($(ARCH),ppc)
1551bc15386SPeter TyserLIBAOBJS+= $(ARCH)_longjmp.o $(ARCH)_setjmp.o
1561bc15386SPeter Tyserendif
1571bc15386SPeter Tyserifeq ($(CPU),mpc8xx)
1581bc15386SPeter TyserLIBAOBJS+= test_burst_lib.o
1591bc15386SPeter Tyserendif
1601bc15386SPeter TyserLIBCOBJS= stubs.o
1611bc15386SPeter Tyser
1621bc15386SPeter TyserLIBOBJS	= $(addprefix $(obj),$(LIBAOBJS) $(LIBCOBJS))
1631bc15386SPeter Tyser
1641bc15386SPeter TyserSRCS	:= $(COBJS:.o=.c) $(LIBCOBJS:.o=.c) $(if $(LIBAOBJS),$(LIBAOBJS:.o=.S))
1651bc15386SPeter TyserOBJS	:= $(addprefix $(obj),$(COBJS))
1661bc15386SPeter TyserELF	:= $(addprefix $(obj),$(ELF))
1671bc15386SPeter TyserBIN	:= $(addprefix $(obj),$(BIN))
1681bc15386SPeter TyserSREC	:= $(addprefix $(obj),$(SREC))
1691bc15386SPeter Tyser
1701bc15386SPeter Tysergcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
1711bc15386SPeter Tyserclibdir := $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)
1721bc15386SPeter Tyser
1731bc15386SPeter TyserCPPFLAGS += -I..
1741bc15386SPeter Tyser
1751bc15386SPeter Tyserall:	$(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF)
1761bc15386SPeter Tyser
1771bc15386SPeter Tyser#########################################################################
1781bc15386SPeter Tyser$(LIB):	$(obj).depend $(LIBOBJS)
1791bc15386SPeter Tyser		$(AR) $(ARFLAGS) $@ $(LIBOBJS)
1801bc15386SPeter Tyser
1811bc15386SPeter Tyser$(ELF):
1821bc15386SPeter Tyser$(obj)%:	$(obj)%.o $(LIB)
1831bc15386SPeter Tyser		$(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
1841bc15386SPeter Tyser			-o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
1851bc15386SPeter Tyser			-L$(gcclibdir) -lgcc
1861bc15386SPeter Tyser
1871bc15386SPeter Tyser$(SREC):
1881bc15386SPeter Tyser$(obj)%.srec:	$(obj)%
1891bc15386SPeter Tyser		$(OBJCOPY) -O srec $< $@ 2>/dev/null
1901bc15386SPeter Tyser
1911bc15386SPeter Tyser$(BIN):
1921bc15386SPeter Tyser$(obj)%.bin:	$(obj)%
1931bc15386SPeter Tyser		$(OBJCOPY) -O binary $< $@ 2>/dev/null
1941bc15386SPeter Tyser
1951bc15386SPeter Tyser#########################################################################
1961bc15386SPeter Tyser
1971bc15386SPeter Tyser# defines $(obj).depend target
1981bc15386SPeter Tyserinclude $(SRCTREE)/rules.mk
1991bc15386SPeter Tyser
2001bc15386SPeter Tysersinclude $(obj).depend
2011bc15386SPeter Tyser
2021bc15386SPeter Tyser#########################################################################
203