summaryrefslogtreecommitdiff
path: root/examples/api
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-02-04 17:24:28 +0900
committerTom Rini <trini@ti.com>2014-02-19 11:07:50 -0500
commit6825a95b0ba72c4e5667d02d8b31986e2e9abd5a (patch)
treef4c6e81fa45afba6662781eeee3f32b11f0b090d /examples/api
parent22433fc54b19b0578c43a9983fa45f22ca262a0f (diff)
downloadu-boot-6825a95b0ba72c4e5667d02d8b31986e2e9abd5a.tar.gz
u-boot-6825a95b0ba72c4e5667d02d8b31986e2e9abd5a.tar.bz2
u-boot-6825a95b0ba72c4e5667d02d8b31986e2e9abd5a.zip
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 'examples/api')
-rw-r--r--examples/api/Makefile15
1 files changed, 5 insertions, 10 deletions
diff --git a/examples/api/Makefile b/examples/api/Makefile
index db0bb34afe..8b79886074 100644
--- a/examples/api/Makefile
+++ b/examples/api/Makefile
@@ -5,7 +5,7 @@
#
ifdef FTRACE
-CFLAGS += -finstrument-functions -DFTRACE
+ccflags-y += -finstrument-functions -DFTRACE
endif
ifeq ($(ARCH),powerpc)
@@ -33,12 +33,6 @@ EXT_COBJ_FILES-y += lib/time.o
EXT_COBJ_FILES-y += lib/vsprintf.o
EXT_SOBJ_FILES-$(CONFIG_PPC) += arch/powerpc/lib/ppcstring.o
-# Create a list of source files so their dependencies can be auto-generated
-SRCS += $(addprefix $(SRCTREE)/,$(EXT_COBJ_FILES-y:.o=.c))
-SRCS += $(addprefix $(SRCTREE)/,$(EXT_SOBJ_FILES-y:.o=.S))
-SRCS += $(addprefix $(SRCTREE)/examples/api/,$(COBJ_FILES-y:.o=.c))
-SRCS += $(addprefix $(SRCTREE)/examples/api/,$(SOBJ_FILES-y:.o=.S))
-
# Create a list of object files to be compiled
OBJS += $(addprefix $(obj)/,$(SOBJ_FILES-y))
OBJS += $(addprefix $(obj)/,$(COBJ_FILES-y))
@@ -54,9 +48,10 @@ $(obj)/demo.bin: $(obj)/demo
$(OBJCOPY) -O binary $< $@ 2>/dev/null
# Rule to build generic library C files
-$(addprefix $(obj)/,$(notdir $(EXT_COBJ_FILES-y))): $(obj)/%.o: $(SRCTREE)/lib/%.c
- $(CC) -g $(CFLAGS) -c -o $@ $<
+$(addprefix $(obj)/,$(notdir $(EXT_COBJ_FILES-y))): $(obj)/%.o: $(SRCTREE)/lib/%.c FORCE
+ $(call cmd,force_checksrc)
+ $(call if_changed_rule,cc_o_c)
# Rule to build architecture-specific library assembly files
$(addprefix $(obj)/,$(notdir $(EXT_SOBJ_FILES-y))): $(obj)/%.o: $(SRCTREE)/arch/$(ARCH)/lib/%.S
- $(CC) -g $(CFLAGS) -c -o $@ $<
+ $(call if_changed_dep,as_o_S)