blob: bf38ca0ad78116eb0246053d51a6352bdb673cba [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# arch/v850/Makefile
3#
Miles Baderf307d362005-07-27 11:44:53 -07004# Copyright (C) 2001,02,03,05 NEC Corporation
5# Copyright (C) 2001,02,03,05 Miles Bader <miles@gnu.org>
Linus Torvalds1da177e2005-04-16 15:20:36 -07006#
7# This file is included by the global makefile so that you can add your own
8# architecture-specific flags and dependencies. Remember to do have actions
9# for "archclean" and "archdep" for cleaning up and making dependencies for
10# this architecture
11#
12# This file is subject to the terms and conditions of the GNU General Public
13# License. See the file "COPYING" in the main directory of this archive
14# for more details.
15#
16
17arch_dir = arch/v850
18
19CFLAGS += -mv850e
20# r16 is a fixed pointer to the current task
21CFLAGS += -ffixed-r16 -mno-prolog-function
22CFLAGS += -fno-builtin
23CFLAGS += -D__linux__ -DUTS_SYSNAME=\"uClinux\"
24
Miles Baderf307d362005-07-27 11:44:53 -070025# By default, build a kernel that runs on the gdb v850 simulator.
26KBUILD_DEFCONFIG := sim_defconfig
27
Linus Torvalds1da177e2005-04-16 15:20:36 -070028# This prevents the linker from consolidating the .gnu.linkonce.this_module
29# section into .text (which the v850 default linker script for -r does for
30# some reason)
31LDFLAGS_MODULE += --unique=.gnu.linkonce.this_module
32
33OBJCOPY_FLAGS_BLOB := -I binary -O elf32-little -B v850e
34
35
36head-y := $(arch_dir)/kernel/head.o $(arch_dir)/kernel/init_task.o
37core-y += $(arch_dir)/kernel/
38libs-y += $(arch_dir)/lib/
39
40
41# Deal with the initial contents of the root device
42ifdef ROOT_FS_IMAGE
43core-y += root_fs_image.o
44
45# Because the kernel build-system erases all explicit .o build rules, we
46# have to use an intermediate target to fool it into building for us.
47# This results in it being built anew each time, but that's alright.
48root_fs_image.o: root_fs_image_force
49
50root_fs_image_force: $(ROOT_FS_IMAGE)
51 $(OBJCOPY) $(OBJCOPY_FLAGS_BLOB) --rename-section .data=.root,alloc,load,readonly,data,contents $< root_fs_image.o
52endif
53
54
55prepare: include/asm-$(ARCH)/asm-consts.h
56
57# Generate constants from C code for use by asm files
58arch/$(ARCH)/kernel/asm-consts.s: include/asm include/linux/version.h \
59 include/config/MARKER
60
61include/asm-$(ARCH)/asm-consts.h: arch/$(ARCH)/kernel/asm-consts.s
62 $(call filechk,gen-asm-offsets)
63
64CLEAN_FILES += include/asm-$(ARCH)/asm-consts.h \
65 arch/$(ARCH)/kernel/asm-consts.s \
66 root_fs_image.o