2002-08-14 08:04:29 +00:00
|
|
|
#
|
2006-09-01 17:49:50 +00:00
|
|
|
# (C) Copyright 2000-2006
|
2002-08-14 08:04:29 +00:00
|
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
#
|
|
|
|
# See file CREDITS for list of people who contributed to this
|
|
|
|
# project.
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License as
|
|
|
|
# published by the Free Software Foundation; either version 2 of
|
|
|
|
# the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
|
|
# MA 02111-1307 USA
|
|
|
|
#
|
|
|
|
|
|
|
|
include $(TOPDIR)/config.mk
|
|
|
|
|
2011-02-23 06:40:38 +00:00
|
|
|
## Build a couple of necessary functions into a private libgcc
|
|
|
|
LIBGCC = $(obj)libgcc.o
|
|
|
|
GLSOBJS += _ashldi3.o
|
|
|
|
GLSOBJS += _ashrdi3.o
|
|
|
|
GLSOBJS += _lshrdi3.o
|
|
|
|
LGOBJS := $(addprefix $(obj),$(GLSOBJS)) \
|
|
|
|
$(addprefix $(obj),$(GLCOBJS))
|
|
|
|
|
|
|
|
## But only build it if the user asked for it
|
|
|
|
ifdef USE_PRIVATE_LIBGCC
|
|
|
|
TARGETS += $(LIBGCC)
|
|
|
|
endif
|
|
|
|
|
2010-11-05 14:48:07 +00:00
|
|
|
LIB = $(obj)lib$(ARCH).o
|
2002-08-14 08:04:29 +00:00
|
|
|
|
2012-09-20 21:35:21 +00:00
|
|
|
MINIMAL=
|
|
|
|
|
|
|
|
ifdef CONFIG_SPL_BUILD
|
|
|
|
ifdef CONFIG_SPL_INIT_MINIMAL
|
|
|
|
MINIMAL=y
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef MINIMAL
|
2012-12-06 13:33:17 +00:00
|
|
|
COBJS-y += cache.o time.o
|
|
|
|
SOBJS-y += ticks.o
|
2012-09-20 21:35:21 +00:00
|
|
|
else
|
|
|
|
|
2008-02-27 10:00:47 +00:00
|
|
|
SOBJS-y += ppcstring.o
|
2012-09-20 21:35:21 +00:00
|
|
|
|
|
|
|
SOBJS-y += ppccache.o
|
2008-02-27 10:00:47 +00:00
|
|
|
SOBJS-y += ticks.o
|
2010-01-19 13:41:55 +00:00
|
|
|
SOBJS-y += reloc.o
|
2008-02-27 10:00:47 +00:00
|
|
|
|
2010-10-08 03:32:48 +00:00
|
|
|
COBJS-$(CONFIG_BAT_RW) += bat_rw.o
|
2012-08-16 15:53:18 +00:00
|
|
|
ifndef CONFIG_SPL_BUILD
|
2008-02-27 10:00:47 +00:00
|
|
|
COBJS-y += board.o
|
2012-08-16 15:53:18 +00:00
|
|
|
endif
|
2008-02-27 10:00:47 +00:00
|
|
|
COBJS-y += bootm.o
|
|
|
|
COBJS-y += cache.o
|
|
|
|
COBJS-y += extable.o
|
|
|
|
COBJS-y += interrupts.o
|
2009-11-04 05:31:07 +00:00
|
|
|
COBJS-$(CONFIG_CMD_KGDB) += kgdb.o
|
2012-10-09 07:01:56 +00:00
|
|
|
COBJS-${CONFIG_CMD_IDE} += ide.o
|
2008-02-27 10:00:47 +00:00
|
|
|
COBJS-y += time.o
|
|
|
|
|
2012-08-16 15:53:18 +00:00
|
|
|
# Don't include the MPC5xxx special memcpy into the
|
|
|
|
# SPL U-Boot image. memcpy is used in the SPL NOR
|
|
|
|
# flash driver. And we need the real, fast memcpy
|
|
|
|
# here. We have no problems with unaligned access.
|
|
|
|
ifndef CONFIG_SPL_BUILD
|
2010-06-28 23:33:35 +00:00
|
|
|
# Workaround for local bus unaligned access problems
|
|
|
|
# on MPC512x and MPC5200
|
|
|
|
ifdef CONFIG_MPC512X
|
|
|
|
$(obj)ppcstring.o: AFLAGS += -Dmemcpy=__memcpy
|
|
|
|
COBJS-y += memcpy_mpc5200.o
|
|
|
|
endif
|
2010-06-21 20:29:59 +00:00
|
|
|
ifdef CONFIG_MPC5200
|
|
|
|
$(obj)ppcstring.o: AFLAGS += -Dmemcpy=__memcpy
|
2010-06-28 23:33:35 +00:00
|
|
|
COBJS-y += memcpy_mpc5200.o
|
2010-06-21 20:29:59 +00:00
|
|
|
endif
|
2012-08-16 15:53:18 +00:00
|
|
|
endif
|
2010-06-21 20:29:59 +00:00
|
|
|
|
2012-09-20 21:35:21 +00:00
|
|
|
endif # not minimal
|
|
|
|
|
2012-08-23 06:34:21 +00:00
|
|
|
ifdef CONFIG_SPL_BUILD
|
|
|
|
COBJS-$(CONFIG_SPL_FRAMEWORK) += spl.o
|
|
|
|
endif
|
|
|
|
|
2010-06-28 23:33:35 +00:00
|
|
|
COBJS += $(sort $(COBJS-y))
|
|
|
|
|
2011-02-23 06:40:38 +00:00
|
|
|
SRCS := $(GLSOBJS:.o=.S) $(GLCOBJS:.o=.c) \
|
|
|
|
$(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
|
2010-06-28 23:33:35 +00:00
|
|
|
OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
|
|
|
|
|
2011-02-23 06:40:38 +00:00
|
|
|
TARGETS += $(LIB)
|
|
|
|
|
|
|
|
all: $(TARGETS)
|
|
|
|
|
2006-09-01 17:49:50 +00:00
|
|
|
$(LIB): $(obj).depend $(OBJS)
|
2010-11-05 14:48:07 +00:00
|
|
|
$(call cmd_link_o_target, $(OBJS))
|
2002-08-14 08:04:29 +00:00
|
|
|
|
2011-02-23 06:40:38 +00:00
|
|
|
$(LIBGCC): $(obj).depend $(LGOBJS)
|
|
|
|
$(call cmd_link_o_target, $(LGOBJS))
|
|
|
|
|
2002-08-14 08:04:29 +00:00
|
|
|
#########################################################################
|
|
|
|
|
2006-09-01 17:49:50 +00:00
|
|
|
# defines $(obj).depend target
|
|
|
|
include $(SRCTREE)/rules.mk
|
2002-08-14 08:04:29 +00:00
|
|
|
|
2006-09-01 17:49:50 +00:00
|
|
|
sinclude $(obj).depend
|
2002-08-14 08:04:29 +00:00
|
|
|
|
|
|
|
#########################################################################
|