| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # | 
 | 2 | # s390/Makefile | 
 | 3 | # | 
 | 4 | # This file is included by the global makefile so that you can add your own | 
 | 5 | # architecture-specific flags and dependencies. Remember to do have actions | 
 | 6 | # for "archclean" and "archdep" for cleaning up and making dependencies for | 
 | 7 | # this architecture | 
 | 8 | # | 
 | 9 | # This file is subject to the terms and conditions of the GNU General Public | 
 | 10 | # License.  See the file "COPYING" in the main directory of this archive | 
 | 11 | # for more details. | 
 | 12 | # | 
 | 13 | # Copyright (C) 1994 by Linus Torvalds | 
 | 14 | # | 
 | 15 |  | 
 | 16 | ifdef CONFIG_ARCH_S390_31 | 
 | 17 | LDFLAGS		:= -m elf_s390 | 
 | 18 | CFLAGS		+= -m31 | 
 | 19 | AFLAGS		+= -m31 | 
 | 20 | UTS_MACHINE	:= s390 | 
 | 21 | STACK_SIZE	:= 8192 | 
 | 22 | endif | 
 | 23 |  | 
 | 24 | ifdef CONFIG_ARCH_S390X | 
 | 25 | LDFLAGS		:= -m elf64_s390 | 
 | 26 | MODFLAGS	+= -fpic -D__PIC__ | 
 | 27 | CFLAGS		+= -m64 | 
 | 28 | AFLAGS		+= -m64 | 
 | 29 | UTS_MACHINE	:= s390x | 
 | 30 | STACK_SIZE	:= 16384 | 
 | 31 | endif | 
 | 32 |  | 
 | 33 | cflags-$(CONFIG_MARCH_G5)   += $(call cc-option,-march=g5) | 
 | 34 | cflags-$(CONFIG_MARCH_Z900) += $(call cc-option,-march=z900) | 
 | 35 | cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990) | 
 | 36 |  | 
 | 37 | # old style option for packed stacks | 
 | 38 | ifeq ($(call cc-option-yn,-mkernel-backchain),y) | 
 | 39 | cflags-$(CONFIG_PACK_STACK)  += -mkernel-backchain -D__PACK_STACK | 
 | 40 | aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK | 
 | 41 | cflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK | 
 | 42 | aflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK | 
 | 43 | ifdef CONFIG_SMALL_STACK | 
 | 44 | STACK_SIZE := $(shell echo $$(($(STACK_SIZE)/2)) ) | 
 | 45 | endif | 
 | 46 | endif | 
 | 47 |  | 
 | 48 | # new style option for packed stacks | 
 | 49 | ifeq ($(call cc-option-yn,-mpacked-stack),y) | 
 | 50 | cflags-$(CONFIG_PACK_STACK)  += -mpacked-stack -D__PACK_STACK | 
 | 51 | aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK | 
 | 52 | cflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK | 
 | 53 | aflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK | 
 | 54 | ifdef CONFIG_SMALL_STACK | 
 | 55 | STACK_SIZE := $(shell echo $$(($(STACK_SIZE)/2)) ) | 
 | 56 | endif | 
 | 57 | endif | 
 | 58 |  | 
 | 59 | ifeq ($(call cc-option-yn,-mstack-size=8192 -mstack-guard=128),y) | 
 | 60 | cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE) | 
 | 61 | cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD) | 
 | 62 | endif | 
 | 63 |  | 
 | 64 | ifeq ($(call cc-option-yn,-mwarn-dynamicstack),y) | 
 | 65 | cflags-$(CONFIG_WARN_STACK) += -mwarn-dynamicstack | 
 | 66 | cflags-$(CONFIG_WARN_STACK) += -mwarn-framesize=$(CONFIG_WARN_STACK_SIZE) | 
 | 67 | endif | 
 | 68 |  | 
 | 69 | CFLAGS		+= -mbackchain -msoft-float $(cflags-y) | 
 | 70 | CFLAGS		+= $(call cc-option,-finline-limit=10000) | 
 | 71 | CFLAGS 		+= -pipe -fno-strength-reduce -Wno-sign-compare  | 
 | 72 | AFLAGS		+= $(aflags-y) | 
 | 73 |  | 
 | 74 | OBJCOPYFLAGS	:= -O binary | 
 | 75 | LDFLAGS_vmlinux := -e start | 
 | 76 |  | 
 | 77 | head-$(CONFIG_ARCH_S390_31)	+= arch/$(ARCH)/kernel/head.o | 
 | 78 | head-$(CONFIG_ARCH_S390X)	+= arch/$(ARCH)/kernel/head64.o | 
 | 79 | head-y				+= arch/$(ARCH)/kernel/init_task.o | 
 | 80 |  | 
 | 81 | core-y		+= arch/$(ARCH)/mm/ arch/$(ARCH)/kernel/ arch/$(ARCH)/crypto/ \ | 
 | 82 | 		   arch/$(ARCH)/appldata/ | 
 | 83 | libs-y		+= arch/$(ARCH)/lib/ | 
 | 84 | drivers-y	+= drivers/s390/ | 
 | 85 | drivers-$(CONFIG_MATHEMU) += arch/$(ARCH)/math-emu/ | 
 | 86 |  | 
 | 87 | # must be linked after kernel | 
 | 88 | drivers-$(CONFIG_OPROFILE)	+= arch/s390/oprofile/ | 
 | 89 |  | 
 | 90 | boot		:= arch/$(ARCH)/boot | 
 | 91 |  | 
 | 92 | all: image | 
 | 93 |  | 
 | 94 | install: vmlinux | 
 | 95 | 	$(Q)$(MAKE) $(build)=$(boot) $@ | 
 | 96 |  | 
 | 97 | image: vmlinux | 
 | 98 | 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | 
 | 99 |  | 
 | 100 | archclean: | 
 | 101 | 	$(Q)$(MAKE) $(clean)=$(boot) | 
 | 102 |  | 
 | 103 | prepare: include/asm-$(ARCH)/offsets.h | 
 | 104 |  | 
 | 105 | arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \ | 
 | 106 | 				   include/config/MARKER | 
 | 107 |  | 
 | 108 | include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s | 
 | 109 | 	$(call filechk,gen-asm-offsets) | 
 | 110 |  | 
 | 111 | CLEAN_FILES += include/asm-$(ARCH)/offsets.h | 
 | 112 |  | 
 | 113 | # Don't use tabs in echo arguments | 
 | 114 | define archhelp | 
 | 115 |   echo  '* image           - Kernel image for IPL ($(boot)/image)' | 
 | 116 | endef |