kbuild: enable 'make CFLAGS=...' to add additional options to CC
[linux-3.10.git] / arch / sparc / Makefile
1 #
2 # sparc/Makefile
3 #
4 # Makefile for the architecture dependent flags and dependencies on the
5 # Sparc.
6 #
7 # Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu)
8 #
9
10 #
11 # Uncomment the first KBUILD_CFLAGS if you are doing kgdb source level
12 # debugging of the kernel to get the proper debugging information.
13
14 AS              := $(AS) -32
15 LDFLAGS         := -m elf32_sparc
16 CHECKFLAGS      += -D__sparc__
17
18 #KBUILD_CFLAGS += -g -pipe -fcall-used-g5 -fcall-used-g7
19 KBUILD_CFLAGS += -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7
20 AFLAGS := $(AFLAGS) -m32
21
22 #LDFLAGS_vmlinux = -N -Ttext 0xf0004000
23 #  Since 2.5.40, the first stage is left not btfix-ed.
24 #  Actual linking is done with "make image".
25 LDFLAGS_vmlinux = -r
26
27 head-y := arch/sparc/kernel/head.o arch/sparc/kernel/init_task.o
28 HEAD_Y := $(head-y)
29
30 core-y += arch/sparc/kernel/ arch/sparc/mm/ arch/sparc/math-emu/
31 libs-y += arch/sparc/prom/ arch/sparc/lib/
32
33 drivers-$(CONFIG_OPROFILE)      += arch/sparc/oprofile/
34
35 # Export what is needed by arch/sparc/boot/Makefile
36 # Renaming is done to avoid confusing pattern matching rules in 2.5.45 (multy-)
37 INIT_Y          := $(patsubst %/, %/built-in.o, $(init-y))
38 CORE_Y          := $(core-y)
39 CORE_Y          += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
40 CORE_Y          := $(patsubst %/, %/built-in.o, $(CORE_Y))
41 DRIVERS_Y       := $(patsubst %/, %/built-in.o, $(drivers-y))
42 NET_Y           := $(patsubst %/, %/built-in.o, $(net-y))
43 LIBS_Y1         := $(patsubst %/, %/lib.a, $(libs-y))
44 LIBS_Y2         := $(patsubst %/, %/built-in.o, $(libs-y))
45 LIBS_Y          := $(LIBS_Y1) $(LIBS_Y2)
46
47 ifdef CONFIG_KALLSYMS
48 kallsyms.o := .tmp_kallsyms2.o
49 endif
50
51 export INIT_Y CORE_Y DRIVERS_Y NET_Y LIBS_Y HEAD_Y kallsyms.o
52
53 # Default target
54 all: image
55
56 boot := arch/sparc/boot
57
58 image tftpboot.img: vmlinux
59         $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
60
61 archclean:
62         $(Q)$(MAKE) $(clean)=$(boot)
63
64 CLEAN_FILES += arch/$(ARCH)/boot/System.map
65
66 # Don't use tabs in echo arguments.
67 define archhelp
68   echo  '* image        - kernel image ($(boot)/image)'
69   echo  '  tftpboot.img - image prepared for tftp'
70 endef