diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2007-10-25 13:42:04 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2007-10-25 16:27:34 -0400 |
commit | 74b469f2e6b1589118b6ac05c7256add01e572d2 (patch) | |
tree | d963009bef4f36ae610dd56ca69961e0de9ee29c /arch/x86/Makefile_32 | |
parent | c9927c2bf4f45bb85e8b502ab3fb79ad6483c244 (diff) |
x86: move i386 and x86_64 Makefiles to arch/x86
Moving the ARCH specific Makefiles for i386 and x86_64
required a litle bit tweaking in the top-lvel Makefile.
SRCARCH is now set in the top-level Makefile
because we need this info to include the correct
arch Makefile.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'arch/x86/Makefile_32')
-rw-r--r-- | arch/x86/Makefile_32 | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/arch/x86/Makefile_32 b/arch/x86/Makefile_32 new file mode 100644 index 000000000000..346ac0766875 --- /dev/null +++ b/arch/x86/Makefile_32 | |||
@@ -0,0 +1,175 @@ | |||
1 | # | ||
2 | # i386 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" cleaning up for this architecture. | ||
7 | # | ||
8 | # This file is subject to the terms and conditions of the GNU General Public | ||
9 | # License. See the file "COPYING" in the main directory of this archive | ||
10 | # for more details. | ||
11 | # | ||
12 | # Copyright (C) 1994 by Linus Torvalds | ||
13 | # | ||
14 | # 19990713 Artur Skawina <skawina@geocities.com> | ||
15 | # Added '-march' and '-mpreferred-stack-boundary' support | ||
16 | # | ||
17 | # 20050320 Kianusch Sayah Karadji <kianusch@sk-tech.net> | ||
18 | # Added support for GEODE CPU | ||
19 | |||
20 | # BITS is used as extension for files which are available in a 32 bit | ||
21 | # and a 64 bit version to simplify shared Makefiles. | ||
22 | # e.g.: obj-y += foo_$(BITS).o | ||
23 | BITS := 32 | ||
24 | export BITS | ||
25 | |||
26 | HAS_BIARCH := $(call cc-option-yn, -m32) | ||
27 | ifeq ($(HAS_BIARCH),y) | ||
28 | AS := $(AS) --32 | ||
29 | LD := $(LD) -m elf_i386 | ||
30 | CC := $(CC) -m32 | ||
31 | endif | ||
32 | |||
33 | LDFLAGS := -m elf_i386 | ||
34 | OBJCOPYFLAGS := -O binary -R .note -R .comment -S | ||
35 | ifdef CONFIG_RELOCATABLE | ||
36 | LDFLAGS_vmlinux := --emit-relocs | ||
37 | endif | ||
38 | CHECKFLAGS += -D__i386__ | ||
39 | |||
40 | KBUILD_CFLAGS += -pipe -msoft-float -mregparm=3 -freg-struct-return | ||
41 | |||
42 | # prevent gcc from keeping the stack 16 byte aligned | ||
43 | KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2) | ||
44 | |||
45 | # CPU-specific tuning. Anything which can be shared with UML should go here. | ||
46 | include $(srctree)/arch/x86/Makefile_32.cpu | ||
47 | |||
48 | # temporary until string.h is fixed | ||
49 | cflags-y += -ffreestanding | ||
50 | |||
51 | # this works around some issues with generating unwind tables in older gccs | ||
52 | # newer gccs do it by default | ||
53 | cflags-y += -maccumulate-outgoing-args | ||
54 | |||
55 | # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use | ||
56 | # a lot more stack due to the lack of sharing of stacklots: | ||
57 | KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;) | ||
58 | |||
59 | # do binutils support CFI? | ||
60 | cflags-y += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,) | ||
61 | KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,) | ||
62 | |||
63 | # is .cfi_signal_frame supported too? | ||
64 | cflags-y += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,) | ||
65 | KBUILD_AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,) | ||
66 | |||
67 | KBUILD_CFLAGS += $(cflags-y) | ||
68 | |||
69 | # Default subarch .c files | ||
70 | mcore-y := arch/x86/mach-default | ||
71 | |||
72 | # Voyager subarch support | ||
73 | mflags-$(CONFIG_X86_VOYAGER) := -Iinclude/asm-x86/mach-voyager | ||
74 | mcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager | ||
75 | |||
76 | # VISWS subarch support | ||
77 | mflags-$(CONFIG_X86_VISWS) := -Iinclude/asm-x86/mach-visws | ||
78 | mcore-$(CONFIG_X86_VISWS) := arch/x86/mach-visws | ||
79 | |||
80 | # NUMAQ subarch support | ||
81 | mflags-$(CONFIG_X86_NUMAQ) := -Iinclude/asm-x86/mach-numaq | ||
82 | mcore-$(CONFIG_X86_NUMAQ) := arch/x86/mach-default | ||
83 | |||
84 | # BIGSMP subarch support | ||
85 | mflags-$(CONFIG_X86_BIGSMP) := -Iinclude/asm-x86/mach-bigsmp | ||
86 | mcore-$(CONFIG_X86_BIGSMP) := arch/x86/mach-default | ||
87 | |||
88 | #Summit subarch support | ||
89 | mflags-$(CONFIG_X86_SUMMIT) := -Iinclude/asm-x86/mach-summit | ||
90 | mcore-$(CONFIG_X86_SUMMIT) := arch/x86/mach-default | ||
91 | |||
92 | # generic subarchitecture | ||
93 | mflags-$(CONFIG_X86_GENERICARCH) := -Iinclude/asm-x86/mach-generic | ||
94 | mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default | ||
95 | core-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/ | ||
96 | |||
97 | # ES7000 subarch support | ||
98 | mflags-$(CONFIG_X86_ES7000) := -Iinclude/asm-x86/mach-es7000 | ||
99 | mcore-$(CONFIG_X86_ES7000) := arch/x86/mach-default | ||
100 | core-$(CONFIG_X86_ES7000) := arch/x86/mach-es7000/ | ||
101 | |||
102 | # Xen paravirtualization support | ||
103 | core-$(CONFIG_XEN) += arch/x86/xen/ | ||
104 | |||
105 | # lguest paravirtualization support | ||
106 | core-$(CONFIG_LGUEST_GUEST) += arch/x86/lguest/ | ||
107 | |||
108 | # default subarch .h files | ||
109 | mflags-y += -Iinclude/asm-x86/mach-default | ||
110 | |||
111 | head-y := arch/x86/kernel/head_32.o arch/x86/kernel/init_task.o | ||
112 | |||
113 | libs-y += arch/x86/lib/ | ||
114 | core-y += arch/x86/kernel/ \ | ||
115 | arch/x86/mm/ \ | ||
116 | $(mcore-y)/ \ | ||
117 | arch/x86/crypto/ | ||
118 | drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/ | ||
119 | drivers-$(CONFIG_PCI) += arch/x86/pci/ | ||
120 | # must be linked after kernel/ | ||
121 | drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/ | ||
122 | drivers-$(CONFIG_PM) += arch/x86/power/ | ||
123 | drivers-$(CONFIG_FB) += arch/x86/video/ | ||
124 | |||
125 | KBUILD_CFLAGS += $(mflags-y) | ||
126 | KBUILD_AFLAGS += $(mflags-y) | ||
127 | |||
128 | boot := arch/x86/boot | ||
129 | |||
130 | PHONY += zImage bzImage compressed zlilo bzlilo \ | ||
131 | zdisk bzdisk fdimage fdimage144 fdimage288 isoimage install | ||
132 | |||
133 | all: bzImage | ||
134 | |||
135 | # KBUILD_IMAGE specify target image being built | ||
136 | KBUILD_IMAGE := $(boot)/bzImage | ||
137 | zImage zlilo zdisk: KBUILD_IMAGE := arch/x86/boot/zImage | ||
138 | |||
139 | zImage bzImage: vmlinux | ||
140 | $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE) | ||
141 | $(Q)mkdir -p $(objtree)/arch/i386/boot | ||
142 | $(Q)ln -fsn ../../x86/boot/bzImage $(objtree)/arch/i386/boot/bzImage | ||
143 | |||
144 | compressed: zImage | ||
145 | |||
146 | zlilo bzlilo: vmlinux | ||
147 | $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zlilo | ||
148 | |||
149 | zdisk bzdisk: vmlinux | ||
150 | $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zdisk | ||
151 | |||
152 | fdimage fdimage144 fdimage288 isoimage: vmlinux | ||
153 | $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ | ||
154 | |||
155 | install: | ||
156 | $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install | ||
157 | |||
158 | archclean: | ||
159 | $(Q)rm -rf $(objtree)/arch/i386/boot | ||
160 | $(Q)$(MAKE) $(clean)=arch/x86/boot | ||
161 | |||
162 | define archhelp | ||
163 | echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' | ||
164 | echo ' install - Install kernel using' | ||
165 | echo ' (your) ~/bin/installkernel or' | ||
166 | echo ' (distribution) /sbin/installkernel or' | ||
167 | echo ' install to $$(INSTALL_PATH) and run lilo' | ||
168 | echo ' bzdisk - Create a boot floppy in /dev/fd0' | ||
169 | echo ' fdimage - Create a boot floppy image' | ||
170 | echo ' isoimage - Create a boot CD-ROM image' | ||
171 | endef | ||
172 | |||
173 | CLEAN_FILES += arch/$(ARCH)/boot/fdimage \ | ||
174 | arch/$(ARCH)/boot/image.iso \ | ||
175 | arch/$(ARCH)/boot/mtools.conf | ||