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>
This commit is contained in:
committed by
Tom Rini
parent
22433fc54b
commit
6825a95b0b
@@ -2,7 +2,16 @@
|
||||
# Building
|
||||
# ==========================================================================
|
||||
|
||||
src := $(obj)
|
||||
# Modified for U-Boot
|
||||
ifeq ($(CONFIG_TPL_BUILD),y)
|
||||
src := $(patsubst tpl/%,%,$(obj))
|
||||
else
|
||||
ifeq ($(CONFIG_SPL_BUILD),y)
|
||||
src := $(patsubst spl/%,%,$(obj))
|
||||
else
|
||||
src := $(obj)
|
||||
endif
|
||||
endif
|
||||
|
||||
PHONY := __build
|
||||
__build:
|
||||
@@ -35,6 +44,11 @@ subdir-ccflags-y :=
|
||||
|
||||
include scripts/Kbuild.include
|
||||
|
||||
# Added for U-Boot
|
||||
# We must include config.mk after Kbuild.include
|
||||
# so that some config.mk can use cc-option.
|
||||
include config.mk
|
||||
|
||||
# For backward compatibility check that these variables do not change
|
||||
save-cflags := $(CFLAGS)
|
||||
|
||||
@@ -115,14 +129,16 @@ ifneq ($(hostprogs-y)$(hostprogs-m),)
|
||||
include scripts/Makefile.host
|
||||
endif
|
||||
|
||||
ifneq ($(KBUILD_SRC),)
|
||||
# Uncommented for U-Boot
|
||||
# We need to create output dicrectory for SPL and TPL even for in-tree build
|
||||
#ifneq ($(KBUILD_SRC),)
|
||||
# Create output directory if not already present
|
||||
_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
|
||||
|
||||
# Create directories for object files if directory does not exist
|
||||
# Needed when obj-y := dir/file.o syntax is used
|
||||
_dummy := $(foreach d,$(obj-dirs), $(shell [ -d $(d) ] || mkdir -p $(d)))
|
||||
endif
|
||||
#endif
|
||||
|
||||
ifndef obj
|
||||
$(warning kbuild: Makefile.build is included improperly)
|
||||
|
||||
Reference in New Issue
Block a user