blob: a1ca3b805c748de301dcd7da6edce8318a3f9ced [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
3# Makefile for the linux s390-specific parts of the memory manager.
4#
5
Vasily Gorbik8282cd62018-06-12 15:11:40 +02006KCOV_INSTRUMENT := n
7GCOV_PROFILE := n
8UBSAN_SANITIZE := n
9
10KBUILD_AFLAGS := $(KBUILD_AFLAGS_DECOMPRESSOR)
11KBUILD_CFLAGS := $(KBUILD_CFLAGS_DECOMPRESSOR)
12
13#
14# Use -march=z900 for als.c to be able to print an error
15# message if the kernel is started on a machine which is too old
16#
17ifneq ($(CC_FLAGS_MARCH),-march=z900)
Vasily Gorbika1d7d912018-06-12 15:52:01 +020018AFLAGS_REMOVE_head.o += $(CC_FLAGS_MARCH)
19AFLAGS_head.o += -march=z900
Vasily Gorbikcad5b352018-06-12 22:58:50 +020020AFLAGS_REMOVE_mem.o += $(CC_FLAGS_MARCH)
21AFLAGS_mem.o += -march=z900
Vasily Gorbika1d7d912018-06-12 15:52:01 +020022CFLAGS_REMOVE_als.o += $(CC_FLAGS_MARCH)
23CFLAGS_als.o += -march=z900
24CFLAGS_REMOVE_sclp_early_core.o += $(CC_FLAGS_MARCH)
25CFLAGS_sclp_early_core.o += -march=z900
Vasily Gorbik8282cd62018-06-12 15:11:40 +020026endif
27
Vasily Gorbika1d7d912018-06-12 15:52:01 +020028CFLAGS_sclp_early_core.o += -I$(srctree)/drivers/s390/char
29
Vasily Gorbikcad5b352018-06-12 22:58:50 +020030obj-y := head.o als.o ebcdic.o sclp_early_core.o mem.o
Vasily Gorbika1d7d912018-06-12 15:52:01 +020031targets := bzImage setup.a $(obj-y)
Vasily Gorbik8282cd62018-06-12 15:11:40 +020032subdir- := compressed
33
34OBJECTS := $(addprefix $(obj)/,$(obj-y))
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
Martin Schwidefsky1844c9b2010-02-26 22:37:53 +010036$(obj)/bzImage: $(obj)/compressed/vmlinux FORCE
37 $(call if_changed,objcopy)
38
Vasily Gorbik8282cd62018-06-12 15:11:40 +020039$(obj)/compressed/vmlinux: $(obj)/startup.a FORCE
Martin Schwidefsky1844c9b2010-02-26 22:37:53 +010040 $(Q)$(MAKE) $(build)=$(obj)/compressed $@
41
Vasily Gorbik8282cd62018-06-12 15:11:40 +020042quiet_cmd_ar = AR $@
43 cmd_ar = rm -f $@; $(AR) rcsTP$(KBUILD_ARFLAGS) $@ $(filter-out FORCE, $^)
44
45$(obj)/startup.a: $(OBJECTS) FORCE
46 $(call if_changed,ar)
47
Hendrik Brueckneraec644e52013-11-08 13:47:59 +010048install: $(CONFIGURE) $(obj)/bzImage
49 sh -x $(srctree)/$(obj)/install.sh $(KERNELRELEASE) $(obj)/bzImage \
Heiko Carstens679e2ea2011-12-27 11:27:17 +010050 System.map "$(INSTALL_PATH)"
Vasily Gorbik0580bce2018-05-16 10:57:44 +020051
52chkbss := $(OBJECTS)
53chkbss-target := $(obj)/startup.a
54include $(srctree)/arch/s390/scripts/Makefile.chkbss