^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # ia64/Makefile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # This file is included by the global makefile so that you can add your own
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) # architecture-specific flags and dependencies.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) # This file is subject to the terms and conditions of the GNU General Public
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) # License. See the file "COPYING" in the main directory of this archive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) # for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) # Copyright (C) 1998-2004 by David Mosberger-Tang <davidm@hpl.hp.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) KBUILD_DEFCONFIG := generic_defconfig
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) NM := $(CROSS_COMPILE)nm -B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) READELF := $(CROSS_COMPILE)readelf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) CHECKFLAGS += -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) OBJCOPYFLAGS := --strip-all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) LDFLAGS_vmlinux := -static
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) KBUILD_AFLAGS_KERNEL := -mconstant-gp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) EXTRA :=
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) -falign-functions=32 -frename-registers -fno-optimize-sibling-calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) KBUILD_CFLAGS_KERNEL := -mconstant-gp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ifeq ($(GAS_STATUS),buggy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) $(error Sorry, you need a newer version of the assember, one that is built from \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) a source-tree that post-dates 18-Dec-2002. You can find a pre-compiled \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) static binary of such an assembler at: \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) quiet_cmd_gzip = GZIP $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) cmd_gzip = cat $(real-prereqs) | $(KGZIP) -n -f -9 > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) quiet_cmd_objcopy = OBJCOPY $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) KBUILD_CFLAGS += $(cflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) head-y := arch/ia64/kernel/head.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) libs-y += arch/ia64/lib/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) core-y += arch/ia64/kernel/ arch/ia64/mm/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) drivers-y += arch/ia64/pci/ arch/ia64/hp/common/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) drivers-$(CONFIG_OPROFILE) += arch/ia64/oprofile/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) PHONY += compressed check
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) all: compressed unwcheck
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) compressed: vmlinux.gz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) vmlinuz: vmlinux.gz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) vmlinux.gz: vmlinux.bin FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) $(call if_changed,gzip)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) vmlinux.bin: vmlinux FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) $(call if_changed,objcopy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) unwcheck: vmlinux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) -$(Q)READELF=$(READELF) $(PYTHON) $(srctree)/arch/ia64/scripts/unwcheck.py $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) archclean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) archheaders:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) $(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) CLEAN_FILES += vmlinux.gz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) install: vmlinux.gz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) sh $(srctree)/arch/ia64/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) define archhelp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) echo '* compressed - Build compressed kernel image'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) echo ' install - Install compressed kernel image'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) echo '* unwcheck - Check vmlinux for invalid unwind info'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) endef
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) archprepare: make_nr_irqs_h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) PHONY += make_nr_irqs_h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) make_nr_irqs_h:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) $(Q)$(MAKE) $(build)=arch/ia64/kernel include/generated/nr-irqs.h