diff options
Diffstat (limited to 'arch/sparc64/Makefile')
-rw-r--r-- | arch/sparc64/Makefile | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile new file mode 100644 index 000000000000..43fe382da078 --- /dev/null +++ b/arch/sparc64/Makefile | |||
@@ -0,0 +1,83 @@ | |||
1 | # $Id: Makefile,v 1.52 2002/02/09 19:49:31 davem Exp $ | ||
2 | # sparc64/Makefile | ||
3 | # | ||
4 | # Makefile for the architecture dependent flags and dependencies on the | ||
5 | # 64-bit Sparc. | ||
6 | # | ||
7 | # Copyright (C) 1996,1998 David S. Miller (davem@caip.rutgers.edu) | ||
8 | # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) | ||
9 | # | ||
10 | |||
11 | CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -m64 | ||
12 | |||
13 | CPPFLAGS_vmlinux.lds += -Usparc | ||
14 | |||
15 | CC := $(shell if $(CC) -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo $(CC); else echo sparc64-linux-gcc; fi ) | ||
16 | |||
17 | NEW_GCC := $(call cc-option-yn, -m64 -mcmodel=medlow) | ||
18 | NEW_GAS := $(shell if $(LD) -V 2>&1 | grep 'elf64_sparc' > /dev/null; then echo y; else echo n; fi) | ||
19 | UNDECLARED_REGS := $(shell if $(CC) -c -x assembler /dev/null -Wa,--help | grep undeclared-regs > /dev/null; then echo y; else echo n; fi; ) | ||
20 | INLINE_LIMIT := $(call cc-option-yn, -m64 -finline-limit=100000) | ||
21 | |||
22 | export NEW_GCC | ||
23 | |||
24 | ifneq ($(NEW_GAS),y) | ||
25 | AS = sparc64-linux-as | ||
26 | LD = sparc64-linux-ld | ||
27 | NM = sparc64-linux-nm | ||
28 | AR = sparc64-linux-ar | ||
29 | RANLIB = sparc64-linux-ranlib | ||
30 | else | ||
31 | AS := $(AS) -64 | ||
32 | LDFLAGS := -m elf64_sparc | ||
33 | endif | ||
34 | |||
35 | ifneq ($(UNDECLARED_REGS),y) | ||
36 | CC_UNDECL = | ||
37 | else | ||
38 | CC_UNDECL = -Wa,--undeclared-regs | ||
39 | AS := $(AS) --undeclared-regs | ||
40 | endif | ||
41 | |||
42 | ifneq ($(NEW_GCC),y) | ||
43 | CFLAGS := $(CFLAGS) -pipe -mno-fpu -mtune=ultrasparc -mmedlow \ | ||
44 | -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare | ||
45 | else | ||
46 | CFLAGS := $(CFLAGS) -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \ | ||
47 | -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare \ | ||
48 | $(CC_UNDECL) | ||
49 | AFLAGS += -m64 -mcpu=ultrasparc $(CC_UNDECL) | ||
50 | endif | ||
51 | |||
52 | ifeq ($(INLINE_LIMIT),y) | ||
53 | CFLAGS := $(CFLAGS) -finline-limit=100000 | ||
54 | endif | ||
55 | |||
56 | ifeq ($(CONFIG_MCOUNT),y) | ||
57 | CFLAGS := $(CFLAGS) -pg | ||
58 | endif | ||
59 | |||
60 | head-y := arch/sparc64/kernel/head.o arch/sparc64/kernel/init_task.o | ||
61 | |||
62 | core-y += arch/sparc64/kernel/ arch/sparc64/mm/ | ||
63 | core-$(CONFIG_SOLARIS_EMUL) += arch/sparc64/solaris/ | ||
64 | core-y += arch/sparc64/math-emu/ | ||
65 | libs-y += arch/sparc64/prom/ arch/sparc64/lib/ | ||
66 | |||
67 | # FIXME: is drivers- right? | ||
68 | drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ | ||
69 | |||
70 | boot := arch/sparc64/boot | ||
71 | |||
72 | image tftpboot.img vmlinux.aout: vmlinux | ||
73 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | ||
74 | |||
75 | archclean: | ||
76 | $(Q)$(MAKE) $(clean)=$(boot) | ||
77 | |||
78 | define archhelp | ||
79 | echo '* vmlinux - Standard sparc64 kernel' | ||
80 | echo ' vmlinux.aout - a.out kernel for sparc64' | ||
81 | echo ' tftpboot.img - Image prepared for tftp' | ||
82 | endef | ||
83 | |||