kbuild: full dependency check on asm-offsets.h
[linux-2.6.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 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 #CFLAGS := $(CFLAGS) -g -pipe -fcall-used-g5 -fcall-used-g7
19 CFLAGS := $(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 # Export what is needed by arch/sparc/boot/Makefile
34 # Renaming is done to avoid confusing pattern matching rules in 2.5.45 (multy-)
35 INIT_Y          := $(patsubst %/, %/built-in.o, $(init-y))
36 CORE_Y          := $(core-y)
37 CORE_Y          += kernel/ mm/ fs/ ipc/ security/ crypto/
38 CORE_Y          := $(patsubst %/, %/built-in.o, $(CORE_Y))
39 DRIVERS_Y       := $(patsubst %/, %/built-in.o, $(drivers-y))
40 NET_Y           := $(patsubst %/, %/built-in.o, $(net-y))
41 LIBS_Y1         := $(patsubst %/, %/lib.a, $(libs-y))
42 LIBS_Y2         := $(patsubst %/, %/built-in.o, $(libs-y))
43 LIBS_Y          := $(LIBS_Y1) $(LIBS_Y2)
44
45 ifdef CONFIG_KALLSYMS
46 kallsyms.o := .tmp_kallsyms2.o
47 endif
48
49 export INIT_Y CORE_Y DRIVERS_Y NET_Y LIBS_Y HEAD_Y kallsyms.o
50
51 # Default target
52 all: image
53
54 boot := arch/sparc/boot
55
56 image tftpboot.img: vmlinux
57         $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
58
59 archclean:
60         $(Q)$(MAKE) $(clean)=$(boot)
61
62 prepare: include/asm-$(ARCH)/asm_offsets.h
63
64 arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
65                                    include/config/MARKER
66
67 include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
68         $(call filechk,gen-asm-offsets)
69
70 CLEAN_FILES +=  include/asm-$(ARCH)/asm_offsets.h       \
71                 arch/$(ARCH)/kernel/asm-offsets.s       \
72                 arch/$(ARCH)/boot/System.map
73
74 # Don't use tabs in echo arguments.
75 define archhelp
76   echo  '* image        - kernel image ($(boot)/image)'
77   echo  '  tftpboot.img - image prepared for tftp'
78 endef