mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-23 07:01:38 +00:00
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:
parent
22433fc54b
commit
6825a95b0b
77 changed files with 525 additions and 324 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue