Blame view

arch/s390/Makefile 3.73 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  #
  # s390/Makefile
  #
  # 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.
  #
  # Copyright (C) 1994 by Linus Torvalds
  #
347a8dc3b   Martin Schwidefsky   [PATCH] s390: cle...
15
  ifndef CONFIG_64BIT
1844c9bc0   Martin Schwidefsky   [S390] add suppor...
16
  LD_BFD		:= elf32-s390
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
17
  LDFLAGS		:= -m elf_s390
a0f97e06a   Sam Ravnborg   kbuild: enable 'm...
18
  KBUILD_CFLAGS	+= -m31
222d394d3   Sam Ravnborg   kbuild: enable 'm...
19
  KBUILD_AFLAGS	+= -m31
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20
21
  UTS_MACHINE	:= s390
  STACK_SIZE	:= 8192
22bb3e9e2   Al Viro   pass -msize-long ...
22
  CHECKFLAGS	+= -D__s390__ -msize-long
347a8dc3b   Martin Schwidefsky   [PATCH] s390: cle...
23
  else
1844c9bc0   Martin Schwidefsky   [S390] add suppor...
24
  LD_BFD		:= elf64-s390
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
25
  LDFLAGS		:= -m elf64_s390
6588169d5   Sam Ravnborg   kbuild: allow ass...
26
27
  KBUILD_AFLAGS_MODULE += -fpic -D__PIC__
  KBUILD_CFLAGS_MODULE += -fpic -D__PIC__
a0f97e06a   Sam Ravnborg   kbuild: enable 'm...
28
  KBUILD_CFLAGS	+= -m64
222d394d3   Sam Ravnborg   kbuild: enable 'm...
29
  KBUILD_AFLAGS	+= -m64
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
30
31
  UTS_MACHINE	:= s390x
  STACK_SIZE	:= 16384
d310a35a4   Al Viro   [PATCH] missing C...
32
  CHECKFLAGS	+= -D__s390__ -D__s390x__
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
33
  endif
1844c9bc0   Martin Schwidefsky   [S390] add suppor...
34
  export LD_BFD
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
35
36
37
  cflags-$(CONFIG_MARCH_G5)   += $(call cc-option,-march=g5)
  cflags-$(CONFIG_MARCH_Z900) += $(call cc-option,-march=z900)
  cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990)
0efa47036   Christian Borntraeger   [S390] config opt...
38
  cflags-$(CONFIG_MARCH_Z9_109) += $(call cc-option,-march=z9-109)
e37f50e18   Martin Schwidefsky   [S390] Add proces...
39
  cflags-$(CONFIG_MARCH_Z10) += $(call cc-option,-march=z10)
f861e4057   Heiko Carstens   [S390] Add config...
40
  cflags-$(CONFIG_MARCH_Z196) += $(call cc-option,-march=z196)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
41

1681cedae   Christian Borntraeger   [S390] set KBUILD...
42
43
  #KBUILD_IMAGE is necessary for make rpm
  KBUILD_IMAGE	:=arch/s390/boot/image
cbbd1fa72   Heiko Carstens   [PATCH] lockdep: ...
44
45
46
47
  #
  # Prevent tail-call optimizations, to get clearer backtraces:
  #
  cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
  # old style option for packed stacks
  ifeq ($(call cc-option-yn,-mkernel-backchain),y)
  cflags-$(CONFIG_PACK_STACK)  += -mkernel-backchain -D__PACK_STACK
  aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK
  cflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK
  aflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK
  ifdef CONFIG_SMALL_STACK
  STACK_SIZE := $(shell echo $$(($(STACK_SIZE)/2)) )
  endif
  endif
  
  # new style option for packed stacks
  ifeq ($(call cc-option-yn,-mpacked-stack),y)
  cflags-$(CONFIG_PACK_STACK)  += -mpacked-stack -D__PACK_STACK
  aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK
  cflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK
  aflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK
  ifdef CONFIG_SMALL_STACK
  STACK_SIZE := $(shell echo $$(($(STACK_SIZE)/2)) )
  endif
  endif
  
  ifeq ($(call cc-option-yn,-mstack-size=8192 -mstack-guard=128),y)
  cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE)
be7962856   Martin Schwidefsky   [S390] Improved k...
72
  ifneq ($(call cc-option-yn,-mstack-size=8192),y)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
73
74
  cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD)
  endif
be7962856   Martin Schwidefsky   [S390] Improved k...
75
  endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
76
77
  
  ifeq ($(call cc-option-yn,-mwarn-dynamicstack),y)
2c190da47   Jan Glauber   [S390] remove red...
78
  cflags-$(CONFIG_WARN_DYNAMIC_STACK) += -mwarn-dynamicstack
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
79
  endif
a0f97e06a   Sam Ravnborg   kbuild: enable 'm...
80
81
  KBUILD_CFLAGS	+= -mbackchain -msoft-float $(cflags-y)
  KBUILD_CFLAGS	+= -pipe -fno-strength-reduce -Wno-sign-compare
222d394d3   Sam Ravnborg   kbuild: enable 'm...
82
  KBUILD_AFLAGS	+= $(aflags-y)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
83
84
85
  
  OBJCOPYFLAGS	:= -O binary
  LDFLAGS_vmlinux := -e start
1844c9bc0   Martin Schwidefsky   [S390] add suppor...
86
87
88
  head-y		:= arch/s390/kernel/head.o
  head-y		+= arch/s390/kernel/$(if $(CONFIG_64BIT),head64.o,head31.o)
  head-y		+= arch/s390/kernel/init_task.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
89

014859430   Heiko Carstens   [S390] standardiz...
90
91
  # See arch/s390/Kbuild for content of core part of the kernel
  core-y		+= arch/s390/
155af2f95   Hans-Joachim Picht   [S390] s390: hibe...
92

4562c9fff   Michael Holzheu   [S390] Replace $(...
93
  libs-y		+= arch/s390/lib/
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
94
  drivers-y	+= drivers/s390/
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
95
96
97
  
  # must be linked after kernel
  drivers-$(CONFIG_OPROFILE)	+= arch/s390/oprofile/
4562c9fff   Michael Holzheu   [S390] Replace $(...
98
  boot		:= arch/s390/boot
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
99

1844c9bc0   Martin Schwidefsky   [S390] add suppor...
100
  all: image bzImage
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
101
102
103
  
  install: vmlinux
  	$(Q)$(MAKE) $(build)=$(boot) $@
1844c9bc0   Martin Schwidefsky   [S390] add suppor...
104
  image bzImage: vmlinux
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
105
  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
411ed3225   Michael Holzheu   [S390] zfcpdump s...
106
107
  zfcpdump:
  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
f3cb31e49   Hendrik Brueckner   [S390] vdso: add ...
108
109
110
111
112
  vdso_install:
  ifeq ($(CONFIG_64BIT),y)
  	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@
  endif
  	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso32 $@
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
113
114
  archclean:
  	$(Q)$(MAKE) $(clean)=$(boot)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
115
116
117
  # Don't use tabs in echo arguments
  define archhelp
    echo  '* image           - Kernel image for IPL ($(boot)/image)'
1844c9bc0   Martin Schwidefsky   [S390] add suppor...
118
    echo	'* bzImage         - Compressed kernel image for IPL ($(boot)/bzImage)'
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
119
  endef