a0f97e06a4
The variable CFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of CFLAGS with KBUILD_CFLAGS all over the tree and enabling one to use: make CFLAGS=... to specify additional gcc commandline options. One usecase is when trying to find gcc bugs but other use cases has been requested too. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k Test was simple to do a defconfig build, apply the patch and check that nothing got rebuild. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
54 lines
1.8 KiB
Makefile
54 lines
1.8 KiB
Makefile
#
|
|
# arch/v850/Makefile
|
|
#
|
|
# Copyright (C) 2001,02,03,05 NEC Corporation
|
|
# Copyright (C) 2001,02,03,05 Miles Bader <miles@gnu.org>
|
|
#
|
|
# This file is included by the global makefile so that you can add your own
|
|
# architecture-specific flags and dependencies. Remember to do have actions
|
|
# for "archclean" and "archdep" for cleaning up and making dependencies for
|
|
# this architecture
|
|
#
|
|
# This file is subject to the terms and conditions of the GNU General Public
|
|
# License. See the file "COPYING" in the main directory of this archive
|
|
# for more details.
|
|
#
|
|
|
|
arch_dir = arch/v850
|
|
|
|
KBUILD_CFLAGS += -mv850e
|
|
# r16 is a fixed pointer to the current task
|
|
KBUILD_CFLAGS += -ffixed-r16 -mno-prolog-function
|
|
KBUILD_CFLAGS += -fno-builtin
|
|
KBUILD_CFLAGS += -D__linux__ -DUTS_SYSNAME=\"uClinux\"
|
|
|
|
# By default, build a kernel that runs on the gdb v850 simulator.
|
|
KBUILD_DEFCONFIG := sim_defconfig
|
|
|
|
# This prevents the linker from consolidating the .gnu.linkonce.this_module
|
|
# section into .text (which the v850 default linker script for -r does for
|
|
# some reason)
|
|
LDFLAGS_MODULE += --unique=.gnu.linkonce.this_module
|
|
|
|
OBJCOPY_FLAGS_BLOB := -I binary -O elf32-little -B v850e
|
|
|
|
|
|
head-y := $(arch_dir)/kernel/head.o $(arch_dir)/kernel/init_task.o
|
|
core-y += $(arch_dir)/kernel/
|
|
libs-y += $(arch_dir)/lib/
|
|
|
|
|
|
# Deal with the initial contents of the root device
|
|
ifdef ROOT_FS_IMAGE
|
|
core-y += root_fs_image.o
|
|
|
|
# Because the kernel build-system erases all explicit .o build rules, we
|
|
# have to use an intermediate target to fool it into building for us.
|
|
# This results in it being built anew each time, but that's alright.
|
|
root_fs_image.o: root_fs_image_force
|
|
|
|
root_fs_image_force: $(ROOT_FS_IMAGE)
|
|
$(OBJCOPY) $(OBJCOPY_FLAGS_BLOB) --rename-section .data=.root,alloc,load,readonly,data,contents $< root_fs_image.o
|
|
endif
|
|
|
|
CLEAN_FILES += root_fs_image.o
|