Blame view

kernel/linux-rt-4.4.41/arch/s390/Makefile 3.69 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
  #
  # 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
  #
  
  LD_BFD		:= elf64-s390
  LDFLAGS		:= -m elf64_s390
  KBUILD_AFLAGS_MODULE += -fPIC
  KBUILD_CFLAGS_MODULE += -fPIC
  KBUILD_CFLAGS	+= -m64
  KBUILD_AFLAGS	+= -m64
  UTS_MACHINE	:= s390x
  STACK_SIZE	:= 16384
  CHECKFLAGS	+= -D__s390__ -D__s390x__
  
  export LD_BFD
  
  mflags-$(CONFIG_MARCH_Z900)   := -march=z900
  mflags-$(CONFIG_MARCH_Z990)   := -march=z990
  mflags-$(CONFIG_MARCH_Z9_109) := -march=z9-109
  mflags-$(CONFIG_MARCH_Z10)    := -march=z10
  mflags-$(CONFIG_MARCH_Z196)   := -march=z196
  mflags-$(CONFIG_MARCH_ZEC12)  := -march=zEC12
  mflags-$(CONFIG_MARCH_Z13)   := -march=z13
  
  export CC_FLAGS_MARCH := $(mflags-y)
  
  aflags-y += $(mflags-y)
  cflags-y += $(mflags-y)
  
  cflags-$(CONFIG_MARCH_Z900_TUNE)	+= -mtune=z900
  cflags-$(CONFIG_MARCH_Z990_TUNE)	+= -mtune=z990
  cflags-$(CONFIG_MARCH_Z9_109_TUNE)	+= -mtune=z9-109
  cflags-$(CONFIG_MARCH_Z10_TUNE)		+= -mtune=z10
  cflags-$(CONFIG_MARCH_Z196_TUNE)	+= -mtune=z196
  cflags-$(CONFIG_MARCH_ZEC12_TUNE)	+= -mtune=zEC12
  cflags-$(CONFIG_MARCH_Z13_TUNE)	+= -mtune=z13
  
  #KBUILD_IMAGE is necessary for make rpm
  KBUILD_IMAGE	:=arch/s390/boot/image
  
  #
  # Prevent tail-call optimizations, to get clearer backtraces:
  #
  cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
  
  # 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
  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
  endif
  
  ifeq ($(call cc-option-yn,-mstack-size=8192 -mstack-guard=128),y)
  cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE)
  ifneq ($(call cc-option-yn,-mstack-size=8192),y)
  cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD)
  endif
  endif
  
  ifeq ($(call cc-option-yn,-mwarn-dynamicstack),y)
  cflags-$(CONFIG_WARN_DYNAMIC_STACK) += -mwarn-dynamicstack
  endif
  
  ifdef CONFIG_FUNCTION_TRACER
  # make use of hotpatch feature if the compiler supports it
  cc_hotpatch	:= -mhotpatch=0,3
  ifeq ($(call cc-option-yn,$(cc_hotpatch)),y)
  CC_FLAGS_FTRACE := $(cc_hotpatch)
  KBUILD_AFLAGS	+= -DCC_USING_HOTPATCH
  KBUILD_CFLAGS	+= -DCC_USING_HOTPATCH
  endif
  endif
  
  KBUILD_CFLAGS	+= -mbackchain -msoft-float $(cflags-y)
  KBUILD_CFLAGS	+= -pipe -fno-strength-reduce -Wno-sign-compare
  KBUILD_AFLAGS	+= $(aflags-y)
  
  OBJCOPYFLAGS	:= -O binary
  
  head-y		:= arch/s390/kernel/head.o
  head-y		+= arch/s390/kernel/head64.o
  
  # See arch/s390/Kbuild for content of core part of the kernel
  core-y		+= arch/s390/
  
  libs-y		+= arch/s390/lib/
  drivers-y	+= drivers/s390/
  
  # must be linked after kernel
  drivers-$(CONFIG_OPROFILE)	+= arch/s390/oprofile/
  
  boot		:= arch/s390/boot
  
  all: image bzImage
  
  install: vmlinux
  	$(Q)$(MAKE) $(build)=$(boot) $@
  
  image bzImage: vmlinux
  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
  
  zfcpdump:
  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
  
  vdso_install:
  	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@
  	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso32 $@
  
  archclean:
  	$(Q)$(MAKE) $(clean)=$(boot)
  
  # Don't use tabs in echo arguments
  define archhelp
    echo  '* image           - Kernel image for IPL ($(boot)/image)'
    echo	'* bzImage         - Compressed kernel image for IPL ($(boot)/bzImage)'
  endef