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