xref: /rk3399_rockchip-uboot/examples/standalone/Makefile (revision 262ae0a6193f10b6a94e86d2f752e7f5510416fa)
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