2005-04-17 06:20:36 +08:00
|
|
|
#
|
|
|
|
# ia64/Makefile
|
|
|
|
#
|
2006-03-06 06:14:10 +08:00
|
|
|
# This file is included by the global makefile so that you can add your own
|
|
|
|
# architecture-specific flags and dependencies.
|
|
|
|
#
|
2005-04-17 06:20:36 +08:00
|
|
|
# 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) 1998-2004 by David Mosberger-Tang <davidm@hpl.hp.com>
|
|
|
|
#
|
|
|
|
|
2008-02-27 03:54:46 +08:00
|
|
|
KBUILD_DEFCONFIG := generic_defconfig
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
NM := $(CROSS_COMPILE)nm -B
|
|
|
|
READELF := $(CROSS_COMPILE)readelf
|
|
|
|
|
2018-05-31 04:48:38 +08:00
|
|
|
CHECKFLAGS += -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
OBJCOPYFLAGS := --strip-all
|
|
|
|
LDFLAGS_vmlinux := -static
|
kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line
It is now possible to assign options to AS, CC and LD
on the command line - which is only used when building modules.
{A,C,LD}FLAGS_MODULE was all used both in the top-level Makefile
in the arch makefiles, thus users had no way to specify
additional options to AS, CC, LD when building modules
without overriding the original value.
Introduce a new set of variables KBUILD_{A,C,LD}FLAGS_MODULE
that is used by arch specific files and free up
{A,C,LD}FLAGS_MODULE so they can be assigned on
the command line.
All arch Makefiles that used the old variables has been updated.
Note: Previously we had a MODFLAGS variable for both
AS and CC. But in favour of consistency this was dropped.
So in some cases arch Makefile has one assignmnet replaced by
two assignmnets.
Note2: MODFLAGS was not documented and is dropped
without any notice. I do not expect much/any breakage
from this.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
Acked-by: Mike Frysinger <vapier@gentoo.org> [blackfin]
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [avr32]
Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-07-28 23:33:09 +08:00
|
|
|
KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds
|
2010-07-29 01:11:27 +08:00
|
|
|
KBUILD_AFLAGS_KERNEL := -mconstant-gp
|
2005-04-17 06:20:36 +08:00
|
|
|
EXTRA :=
|
|
|
|
|
|
|
|
cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \
|
|
|
|
-falign-functions=32 -frename-registers -fno-optimize-sibling-calls
|
2010-07-29 01:11:27 +08:00
|
|
|
KBUILD_CFLAGS_KERNEL := -mconstant-gp
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
|
2007-10-16 04:17:25 +08:00
|
|
|
KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
ifeq ($(GAS_STATUS),buggy)
|
|
|
|
$(error Sorry, you need a newer version of the assember, one that is built from \
|
|
|
|
a source-tree that post-dates 18-Dec-2002. You can find a pre-compiled \
|
|
|
|
static binary of such an assembler at: \
|
|
|
|
\
|
|
|
|
ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz)
|
|
|
|
endif
|
|
|
|
|
2019-08-13 15:25:03 +08:00
|
|
|
quiet_cmd_gzip = GZIP $@
|
|
|
|
cmd_gzip = cat $(real-prereqs) | gzip -n -f -9 > $@
|
|
|
|
|
|
|
|
quiet_cmd_objcopy = OBJCOPY $@
|
|
|
|
cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
|
|
|
|
|
2007-10-15 04:21:35 +08:00
|
|
|
KBUILD_CFLAGS += $(cflags-y)
|
2018-01-02 23:12:01 +08:00
|
|
|
head-y := arch/ia64/kernel/head.o
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
libs-y += arch/ia64/lib/
|
|
|
|
core-y += arch/ia64/kernel/ arch/ia64/mm/
|
|
|
|
core-$(CONFIG_IA64_DIG) += arch/ia64/dig/
|
|
|
|
core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
|
|
|
|
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
|
2008-06-14 20:57:25 +08:00
|
|
|
core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2019-08-13 15:25:04 +08:00
|
|
|
drivers-y += arch/ia64/pci/
|
2005-04-17 06:20:36 +08:00
|
|
|
drivers-$(CONFIG_IA64_HP_ZX1) += arch/ia64/hp/common/ arch/ia64/hp/zx1/
|
2019-08-13 15:25:03 +08:00
|
|
|
drivers-$(CONFIG_IA64_GENERIC) += arch/ia64/hp/common/ arch/ia64/hp/zx1/ arch/ia64/uv/
|
2005-04-17 06:20:36 +08:00
|
|
|
drivers-$(CONFIG_OPROFILE) += arch/ia64/oprofile/
|
|
|
|
|
2019-08-13 15:25:03 +08:00
|
|
|
PHONY += compressed check
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
all: compressed unwcheck
|
|
|
|
|
|
|
|
compressed: vmlinux.gz
|
|
|
|
|
2006-06-07 00:23:34 +08:00
|
|
|
vmlinuz: vmlinux.gz
|
|
|
|
|
2019-08-13 15:25:03 +08:00
|
|
|
vmlinux.gz: vmlinux.bin FORCE
|
|
|
|
$(call if_changed,gzip)
|
|
|
|
|
|
|
|
vmlinux.bin: vmlinux FORCE
|
|
|
|
$(call if_changed,objcopy)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
unwcheck: vmlinux
|
2014-07-18 12:40:11 +08:00
|
|
|
-$(Q)READELF=$(READELF) $(PYTHON) $(srctree)/arch/ia64/scripts/unwcheck.py $<
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
archclean:
|
|
|
|
|
2018-11-13 14:57:45 +08:00
|
|
|
archheaders:
|
|
|
|
$(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all
|
|
|
|
|
2019-08-13 15:25:03 +08:00
|
|
|
CLEAN_FILES += vmlinux.gz
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
install: vmlinux.gz
|
|
|
|
sh $(srctree)/arch/ia64/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
|
|
|
|
|
|
|
|
define archhelp
|
|
|
|
echo '* compressed - Build compressed kernel image'
|
|
|
|
echo ' install - Install compressed kernel image'
|
|
|
|
echo '* unwcheck - Check vmlinux for invalid unwind info'
|
|
|
|
endef
|
2008-05-19 21:13:40 +08:00
|
|
|
|
2016-03-13 08:13:55 +08:00
|
|
|
archprepare: make_nr_irqs_h
|
2016-04-08 10:16:10 +08:00
|
|
|
PHONY += make_nr_irqs_h
|
2008-05-19 21:13:40 +08:00
|
|
|
|
2016-03-13 08:13:55 +08:00
|
|
|
make_nr_irqs_h:
|
2009-04-21 01:35:54 +08:00
|
|
|
$(Q)$(MAKE) $(build)=arch/ia64/kernel include/generated/nr-irqs.h
|