summaryrefslogtreecommitdiff
path: root/post
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-02-04 08:24:28 (GMT)
committerTom Rini <trini@ti.com>2014-02-19 16:07:50 (GMT)
commit6825a95b0ba72c4e5667d02d8b31986e2e9abd5a (patch)
treef4c6e81fa45afba6662781eeee3f32b11f0b090d /post
parent22433fc54b19b0578c43a9983fa45f22ca262a0f (diff)
downloadu-boot-fsl-qoriq-6825a95b0ba72c4e5667d02d8b31986e2e9abd5a.tar.xz
kbuild: use Linux Kernel build scripts
Now we are ready to switch over to real Kbuild. This commit disables temporary scripts: scripts/{Makefile.build.tmp, Makefile.host.tmp} and enables real Kbuild scripts: scripts/{Makefile.build,Makefile.host,Makefile.lib}. This switch is triggered by the line in scripts/Kbuild.include -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj We need to adjust some build scripts for U-Boot. But smaller amount of modification is preferable. Additionally, we need to fix compiler flags which are locally added or removed. In Kbuild, it is not allowed to change CFLAGS locally. Instead, ccflags-y, asflags-y, cppflags-y, CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o are prepared for that purpose. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Tested-by: Gerhard Sittig <gsi@denx.de>
Diffstat (limited to 'post')
-rw-r--r--post/lib_powerpc/fpu/Makefile29
1 files changed, 14 insertions, 15 deletions
diff --git a/post/lib_powerpc/fpu/Makefile b/post/lib_powerpc/fpu/Makefile
index c720a26..556a833 100644
--- a/post/lib_powerpc/fpu/Makefile
+++ b/post/lib_powerpc/fpu/Makefile
@@ -5,20 +5,19 @@
# SPDX-License-Identifier: GPL-2.0+
#
-obj-y += 20001122-1.o
-obj-y += 20010114-2.o
-obj-y += 20010226-1.o
-obj-y += 980619-1.o
-obj-y += acc1.o
-obj-y += compare-fp-1.o
-obj-y += fpu.o
-obj-y += mul-subnormal-single-1.o
-obj-y += darwin-ldouble.o
+objs-before-objcopy := 20001122-1.o 20010114-2.o 20010226-1.o 980619-1.o \
+ acc1.o compare-fp-1.o fpu.o mul-subnormal-single-1.o darwin-ldouble.o
+targets += $(objs-before-objcopy)
-CFLAGS := $(shell echo $(CFLAGS) | sed s/-msoft-float//)
-CFLAGS += -mhard-float -fkeep-inline-functions
+# remove -msoft-float flag
+$(foreach m, $(objs-before-objcopy), $(eval CFLAGS_REMOVE_$m := -msoft-float))
+ccflags-y := -mhard-float -fkeep-inline-functions
-$(addprefix $(obj)/,$(obj-y)): $(obj)/%.o: $(src)/%.c
- $(CC) $(ALL_CFLAGS) -o $@.fp $< -c
- $(OBJCOPY) -R .gnu.attributes $@.fp $@
- rm -f $@.fp
+# Do not delete intermidiate files (*.o)
+.SECONDARY: $(call objectify, $(objs-before-objcopy))
+
+obj-y := $(objs-before-objcopy:.o=_.o)
+
+OBJCOPYFLAGS := -R .gnu.attributes
+$(obj)/%_.o: $(obj)/%.o
+ $(call if_changed,objcopy)