]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/imx-common/Makefile
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / arch / arm / imx-common / Makefile
index 44b68228057d800e02eea66024a076f2aa52d2aa..25a9d4ce125692c933f646a2deee3feed292b6fd 100644 (file)
@@ -4,80 +4,79 @@
 #
 # (C) Copyright 2011 Freescale Semiconductor, Inc.
 #
-# See file CREDITS for list of people who contributed to this
-# project.
+# SPDX-License-Identifier:     GPL-2.0+
 #
-# 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
-
-LIB     = $(obj)libimx-common.o
 
+ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 vf610))
+obj-y  = iomux-v3.o
+endif
 ifeq ($(SOC),$(filter $(SOC),mx5 mx6))
-COBJS-y        = iomux-v3.o timer.o cpu.o speed.o
-COBJS-$(CONFIG_I2C_MXC) += i2c-mxv7.o
+obj-y  += timer.o cpu.o speed.o
+obj-$(CONFIG_SYS_I2C_MXC) += i2c-mxv7.o
+endif
+ifeq ($(SOC),$(filter $(SOC),mx6 mxs))
+obj-y  += misc.o
+obj-$(CONFIG_SPL_BUILD)        += spl.o
 endif
-COBJS-$(CONFIG_CMD_BMODE) += cmd_bmode.o
-COBJS-$(CONFIG_CMD_HDMIDETECT) += cmd_hdmidet.o
-COBJS  := $(sort $(COBJS-y))
+ifeq ($(SOC),$(filter $(SOC),mx6))
+obj-$(CONFIG_CMD_SATA) += sata.o
+obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o
+endif
+obj-$(CONFIG_CMD_BMODE) += cmd_bmode.o
+obj-$(CONFIG_CMD_HDMIDETECT) += cmd_hdmidet.o
+
+quiet_cmd_cpp_cfg = CFGS    $@
+      cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $<
+
+IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp
+
+$(IMX_CONFIG): %.cfgtmp: % FORCE
+       $(Q)mkdir -p $(dir $@)
+       $(call if_changed_dep,cpp_cfg)
 
-SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
+MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $< $(PHONY),$^) -T imximage \
+       -e $(CONFIG_SYS_TEXT_BASE)
 
-all:   $(obj).depend $(LIB)
+u-boot.imx: u-boot.bin $(IMX_CONFIG) FORCE
+       $(call if_changed,mkimage)
+
+ifeq ($(CONFIG_OF_SEPARATE),y)
+MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $< $(PHONY),$^) -T imximage \
+       -e $(CONFIG_SYS_TEXT_BASE)
+
+u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) FORCE
+       $(call if_changed,mkimage)
+endif
 
-$(LIB):        $(OBJS)
-       $(call cmd_link_o_target, $(OBJS))
+MKIMAGEFLAGS_SPL = -n $(filter-out $< $(PHONY),$^) -T imximage \
+       -e $(CONFIG_SPL_TEXT_BASE)
 
-$(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp: $(OBJTREE)/%.cfgtmp : $(SRCTREE)/%
-       mkdir -p $(dir $@)
-       $(CC) -E -x c $< $(CPPFLAGS) -o $@
+SPL: spl/u-boot-spl.bin $(IMX_CONFIG) FORCE
+       $(call if_changed,mkimage)
 
-$(OBJTREE)/u-boot.imx: $(OBJTREE)/u-boot.bin $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp
-       $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \
-       -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
+MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \
+               -e $(CONFIG_SYS_TEXT_BASE) -C none
 
-$(OBJTREE)/SPL: $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp
-       $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \
-       -e $(CONFIG_SPL_TEXT_BASE) -d $< $@
+u-boot.uim: u-boot.bin FORCE
+       $(call if_changed,mkimage)
 
-$(OBJTREE)/u-boot-with-spl.imx: $(OBJTREE)/SPL $(OBJTREE)/u-boot.bin
-       $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_PAD_TO) \
-               -I binary -O binary $< $(OBJTREE)/spl/u-boot-spl-pad.imx
-       cat $(OBJTREE)/spl/u-boot-spl-pad.imx $(OBJTREE)/u-boot.bin > $@
-       rm $(OBJTREE)/spl/u-boot-spl-pad.imx
+OBJCOPYFLAGS += -I binary -O binary --pad-to=$(CONFIG_SPL_PAD_TO)
+append = cat $(filter-out $< $(PHONY), $^) >> $@
 
-$(OBJTREE)/u-boot-with-nand-spl.imx: $(OBJTREE)/SPL $(OBJTREE)/u-boot.bin
-       (echo -ne '\x00\x00\x00\x00\x46\x43\x42\x20\x01' && \
-                       dd bs=1015 count=1 if=/dev/zero 2>/dev/null) | \
-               cat - $< > $(OBJTREE)/spl/u-boot-nand-spl.imx
-       $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_PAD_TO) \
-               -I binary -O binary $(OBJTREE)/spl/u-boot-nand-spl.imx \
-               $(OBJTREE)/spl/u-boot-nand-spl-pad.imx
-       rm $(OBJTREE)/spl/u-boot-nand-spl.imx
-       cat $(OBJTREE)/spl/u-boot-nand-spl-pad.imx $(OBJTREE)/u-boot.bin > $@
-       rm $(OBJTREE)/spl/u-boot-nand-spl-pad.imx
+quiet_cmd_pad_cat = CAT     $@
+cmd_pad_cat = $(cmd_objcopy) && $(append) || rm -f $@
 
+u-boot-with-spl.imx: SPL u-boot.uim FORCE
+       $(call if_changed,pad_cat)
 
-#########################################################################
+u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u-boot.uim FORCE
+       $(call if_changed,pad_cat)
 
-# defines $(obj).depend target
-include $(SRCTREE)/rules.mk
+quiet_cmd_u-boot-nand-spl_imx = GEN     $@
+cmd_u-boot-nand-spl_imx = (echo -ne '\x00\x00\x00\x00\x46\x43\x42\x20\x01' && \
+       dd bs=1015 count=1 if=/dev/zero 2>/dev/null) | cat - $< > $@
 
-sinclude $(obj).depend
+spl/u-boot-nand-spl.imx: SPL FORCE
+       $(call if_changed,u-boot-nand-spl_imx)
 
-#########################################################################
+targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx)