xref: /rk3399_rockchip-uboot/examples/standalone/Makefile (revision 557555fe0b82940ba7cc69f81d31d6ef4d4933b4)
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
26*557555feSMike FrysingerELF-$(ARCH)  :=
27*557555feSMike FrysingerELF-$(BOARD) :=
28*557555feSMike FrysingerELF-$(CPU)   :=
29*557555feSMike FrysingerELF-y        := hello_world
301bc15386SPeter Tyser
31*557555feSMike FrysingerELF-$(CONFIG_SMC91111)           += smc91111_eeprom
32*557555feSMike FrysingerELF-$(CONFIG_SMC911X)            += smc911x_eeprom
33*557555feSMike FrysingerELF-$(CONFIG_SPI_FLASH_ATMEL)    += atmel_df_pow2
34*557555feSMike FrysingerELF-i386                         += 82559_eeprom
35*557555feSMike FrysingerELF-mpc5xxx                      += interrupt
36*557555feSMike FrysingerELF-mpc8xx                       += test_burst timer
37*557555feSMike FrysingerELF-mpc8260                      += mem_to_mem_idma2intr
38*557555feSMike FrysingerELF-ppc                          += sched
39*557555feSMike FrysingerELF-oxc                          += eepro100_eeprom
4065f6f07bSMike Frysinger
41*557555feSMike FrysingerELF := $(ELF-y) $(ELF-$(ARCH)) $(ELF-$(BOARD)) $(ELF-$(CPU))
42*557555feSMike FrysingerSREC = $(addsuffix .srec,$(ELF))
43*557555feSMike FrysingerBIN  = $(addsuffix .bin,$(ELF))
441bc15386SPeter Tyser
45*557555feSMike FrysingerCOBJS	:= $(ELF:=.o)
461bc15386SPeter Tyser
471bc15386SPeter TyserLIB	= $(obj)libstubs.a
48*557555feSMike Frysinger
49*557555feSMike FrysingerLIBAOBJS-$(ARCH)     :=
50*557555feSMike FrysingerLIBAOBJS-$(CPU)      :=
51*557555feSMike FrysingerLIBAOBJS-ppc         += $(ARCH)_longjmp.o $(ARCH)_setjmp.o
52*557555feSMike FrysingerLIBAOBJS-mpc8xx      += test_burst_lib.o
53*557555feSMike FrysingerLIBAOBJS := $(LIBAOBJS-$(ARCH)) $(LIBAOBJS-$(CPU))
54*557555feSMike Frysinger
551bc15386SPeter TyserLIBCOBJS = stubs.o
561bc15386SPeter Tyser
571bc15386SPeter TyserLIBOBJS	= $(addprefix $(obj),$(LIBAOBJS) $(LIBCOBJS))
581bc15386SPeter Tyser
59*557555feSMike FrysingerSRCS	:= $(COBJS:.o=.c) $(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S)
601bc15386SPeter TyserOBJS	:= $(addprefix $(obj),$(COBJS))
611bc15386SPeter TyserELF	:= $(addprefix $(obj),$(ELF))
621bc15386SPeter TyserBIN	:= $(addprefix $(obj),$(BIN))
631bc15386SPeter TyserSREC	:= $(addprefix $(obj),$(SREC))
641bc15386SPeter Tyser
651bc15386SPeter Tysergcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
661bc15386SPeter Tyser
671bc15386SPeter TyserCPPFLAGS += -I..
681bc15386SPeter Tyser
691bc15386SPeter Tyserall:	$(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF)
701bc15386SPeter Tyser
711bc15386SPeter Tyser#########################################################################
721bc15386SPeter Tyser$(LIB):	$(obj).depend $(LIBOBJS)
731bc15386SPeter Tyser		$(AR) $(ARFLAGS) $@ $(LIBOBJS)
741bc15386SPeter Tyser
751bc15386SPeter Tyser$(ELF):
761bc15386SPeter Tyser$(obj)%:	$(obj)%.o $(LIB)
77262ae0a6SMike Frysinger		$(LD) -g -Ttext $(STANDALONE_LOAD_ADDR) \
781bc15386SPeter Tyser			-o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
791bc15386SPeter Tyser			-L$(gcclibdir) -lgcc
801bc15386SPeter Tyser
811bc15386SPeter Tyser$(SREC):
821bc15386SPeter Tyser$(obj)%.srec:	$(obj)%
831bc15386SPeter Tyser		$(OBJCOPY) -O srec $< $@ 2>/dev/null
841bc15386SPeter Tyser
851bc15386SPeter Tyser$(BIN):
861bc15386SPeter Tyser$(obj)%.bin:	$(obj)%
871bc15386SPeter Tyser		$(OBJCOPY) -O binary $< $@ 2>/dev/null
881bc15386SPeter Tyser
891bc15386SPeter Tyser#########################################################################
901bc15386SPeter Tyser
911bc15386SPeter Tyser# defines $(obj).depend target
921bc15386SPeter Tyserinclude $(SRCTREE)/rules.mk
931bc15386SPeter Tyser
941bc15386SPeter Tysersinclude $(obj).depend
951bc15386SPeter Tyser
961bc15386SPeter Tyser#########################################################################
97