[U-Boot] [PATCH v9 04/38] board: samsung: refactor host programs

Masahiro Yamada
2014-02-04T08:24:11Z

Some Samsung boards have their own tools under board/samsung/<board>/tools/.
This commit refactor more makefiles with "hostprogs-y".

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

Note1:
Samsung boards have tools under board/samsung/<board>/tools/
and have tools/mkexynosspl.c too.
It is inconsistent, so we should choose the appropriate
directory in which Samsung-specific tools are stored.

Note2:

I marded TODO item in board/samsung/origen/Makefile.

Samsung engineers, I hope you will fix the root cause of the warning.

# omit -O2 option to suppress
# warning: dereferencing type-punned pointer will break strict-aliasing rules
#
# TODO:
# Fix the root cause in tools/mkorigenspl.c and delete the following work-around
$(obj)/tools/mkorigenspl: HOSTCFLAGS:=$(filter-out -O2,$(HOSTCFLAGS))

Changes in v9: None
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5:
- Rebase on the current u-boot/master

Changes in v4: None
Changes in v3: None
Changes in v2: None

Makefile | 1 +
board/samsung/origen/Makefile | 20 ++++++++++----------
.../origen/tools/{mkv310_image.c => mkorigenspl.c} | 0
board/samsung/smdkv310/Makefile | 15 ++++-----------
.../tools/{mkv310_image.c => mksmdkv310spl.c} | 0
spl/Makefile | 4 ++--
6 files changed, 17 insertions(+), 23 deletions(-)
rename board/samsung/origen/tools/{mkv310_image.c => mkorigenspl.c} (100%)
rename board/samsung/smdkv310/tools/{mkv310_image.c => mksmdkv310spl.c} (100%)

diff --git a/Makefile b/Makefile
index a1e2810..8c585b6 100644
--- a/Makefile
+++ b/Makefile
@@ -809,6 +809,7 @@ clean:
$(obj)tools/proftool
@rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image} \
$(obj)board/matrix_vision/*/bootscript.img \
+ $(obj)spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl \
$(obj)u-boot.lds \
$(obj)arch/blackfin/cpu/init.{lds,elf}
@rm -f $(obj)include/bmp_logo.h
diff --git a/board/samsung/origen/Makefile b/board/samsung/origen/Makefile
index e8818bf..31e88f4 100644
--- a/board/samsung/origen/Makefile
+++ b/board/samsung/origen/Makefile
@@ -4,16 +4,16 @@
# SPDX-License-Identifier: GPL-2.0+
#

-ifndef CONFIG_SPL_BUILD
-obj-y += origen.o
-endif
-
ifdef CONFIG_SPL_BUILD
-all: $(OBJTREE)/tools/mk$(BOARD)spl
-endif
+hostprogs-y := tools/mkorigenspl
+always := $(hostprogs-y)

-# Fix ME after we implement hostprogs-y.
-ifdef CONFIG_SPL_BUILD
-$(OBJTREE)/tools/mk$(BOARD)spl: tools/mkv310_image.c
- $(HOSTCC) tools/mkv310_image.c -o $(OBJTREE)/tools/mk$(BOARD)spl
+# omit -O2 option to suppress
+# warning: dereferencing type-punned pointer will break strict-aliasing rules
+#
+# TODO:
+# Fix the root cause in tools/mkorigenspl.c and delete the following work-around
+$(obj)tools/mkorigenspl: HOSTCFLAGS:=$(filter-out -O2,$(HOSTCFLAGS))
+else
+obj-y += origen.o
endif
diff --git a/board/samsung/origen/tools/mkv310_image.c b/board/samsung/origen/tools/mkorigenspl.c
similarity index 100%
rename from board/samsung/origen/tools/mkv310_image.c
rename to board/samsung/origen/tools/mkorigenspl.c
diff --git a/board/samsung/smdkv310/Makefile b/board/samsung/smdkv310/Makefile
index dbc621b..9e37b4e 100644
--- a/board/samsung/smdkv310/Makefile
+++ b/board/samsung/smdkv310/Makefile
@@ -4,16 +4,9 @@
# SPDX-License-Identifier: GPL-2.0+
#

-ifndef CONFIG_SPL_BUILD
-obj-y += smdkv310.o
-endif
-
ifdef CONFIG_SPL_BUILD
-all: $(OBJTREE)/tools/mk$(BOARD)spl
-endif
-
-# Fix ME after we implement hostprogs-y.
-ifdef CONFIG_SPL_BUILD
-$(OBJTREE)/tools/mk$(BOARD)spl: tools/mkv310_image.c
- $(HOSTCC) tools/mkv310_image.c -o $(OBJTREE)/tools/mk$(BOARD)spl
+hostprogs-y := tools/mksmdkv310spl
+always := $(hostprogs-y)
+else
+obj-y += smdkv310.o
endif
diff --git a/board/samsung/smdkv310/tools/mkv310_image.c b/board/samsung/smdkv310/tools/mksmdkv310spl.c
similarity index 100%
rename from board/samsung/smdkv310/tools/mkv310_image.c
rename to board/samsung/smdkv310/tools/mksmdkv310spl.c
diff --git a/spl/Makefile b/spl/Makefile
index d5164e0..e76b2b4 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -164,8 +164,8 @@ else
VAR_SIZE_PARAM =
endif
$(obj)$(BOARD)-spl.bin: $(obj)u-boot-spl.bin
- $(if $(wildcard $(OBJTREE)/tools/mk$(BOARD)spl),\
- $(OBJTREE)/tools/mk$(BOARD)spl,\
+ $(if $(wildcard $(OBJTREE)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl),\
+ $(OBJTREE)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl,\
$(OBJTREE)/tools/mkexynosspl) $(VAR_SIZE_PARAM) $< $@
endif

--
1.8.3.2