]> git.proxmox.com Git - grub2.git/blame - conf/i386-pc.rmk
2008-01-27 Robert Millan <rmh@aybabtu.com>
[grub2.git] / conf / i386-pc.rmk
CommitLineData
6a161fa9 1# -*- makefile -*-
2
261bd4bc 3GRUB_MEMORY_MACHINE_LINK_ADDR = 0x8200
4
43e7f879 5COMMON_ASFLAGS = -nostdinc -fno-builtin -m32
59b8208a 6COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32
6b146090 7COMMON_LDFLAGS = -m32 -nostdlib
6a161fa9 8
9# Images.
4931827f 10pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img
6a161fa9 11
12# For boot.img.
13boot_img_SOURCES = boot/i386/pc/boot.S
14boot_img_ASFLAGS = $(COMMON_ASFLAGS)
6433b448 15boot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,7C00
6a161fa9 16
020616c2 17# For pxeboot.img
18pxeboot_img_SOURCES = boot/i386/pc/pxeboot.S
19pxeboot_img_ASFLAGS = $(COMMON_ASFLAGS)
6433b448 20pxeboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,7C00
020616c2 21
6a161fa9 22# For diskboot.img.
23diskboot_img_SOURCES = boot/i386/pc/diskboot.S
24diskboot_img_ASFLAGS = $(COMMON_ASFLAGS)
6433b448 25diskboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,8000
6a161fa9 26
84be7599 27# For lnxboot.img.
28lnxboot_img_SOURCES = boot/i386/pc/lnxboot.S
29lnxboot_img_ASFLAGS = $(COMMON_ASFLAGS)
30lnxboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,6000
31
6a161fa9 32# For kernel.img.
33kernel_img_SOURCES = kern/i386/pc/startup.S kern/main.c kern/device.c \
34 kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
35 kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
04ccf3ec 36 kern/i386/dl.c kern/i386/pc/init.c kern/parser.c kern/partition.c \
73fcb0f3 37 kern/env.c \
6a161fa9 38 term/i386/pc/console.c \
39 symlist.c
2166cc83 40kernel_img_HEADERS = arg.h boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
41 env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
3381d274 42 partition.h pc_partition.h rescue.h symbol.h term.h time.h types.h \
8ceafda2 43 machine/biosdisk.h machine/boot.h machine/console.h machine/init.h \
55a581dc 44 machine/memory.h machine/loader.h machine/vga.h machine/vbe.h machine/kernel.h
6a161fa9 45kernel_img_CFLAGS = $(COMMON_CFLAGS)
46kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
261bd4bc 47kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,$(GRUB_MEMORY_MACHINE_LINK_ADDR) $(COMMON_CFLAGS)
6a161fa9 48
49MOSTLYCLEANFILES += symlist.c kernel_syms.lst
50DEFSYMFILES += kernel_syms.lst
51
7b455f4d 52symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh
53 /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
6a161fa9 54
7b455f4d 55kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh
56 /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
6a161fa9 57
58# Utilities.
4b13b216 59bin_UTILITIES = grub-mkimage
4fe9862e 60sbin_UTILITIES = grub-setup grub-mkdevicemap grub-probe
61ifeq ($(enable_grub_emu), yes)
62sbin_UTILITIES += grub-emu
63endif
6a161fa9 64
4b13b216 65# For grub-mkimage.
66grub_mkimage_SOURCES = util/i386/pc/grub-mkimage.c util/misc.c \
6a161fa9 67 util/resolve.c
261bd4bc 68grub_mkimage_CFLAGS = -DGRUB_MEMORY_MACHINE_LINK_ADDR=$(GRUB_MEMORY_MACHINE_LINK_ADDR)
4ac9bd04 69grub_mkimage_LDFLAGS = $(LIBLZO)
6a161fa9 70
4b13b216 71# For grub-setup.
38da6516 72util/i386/pc/grub-setup.c_DEPENDENCIES = grub_setup_init.h
8fff7c2f 73grub_setup_SOURCES = util/i386/pc/grub-setup.c util/biosdisk.c \
74 util/misc.c util/getroot.c kern/device.c kern/disk.c \
2a9525e6 75 kern/err.c kern/misc.c kern/parser.c kern/partition.c \
76 kern/file.c kern/fs.c kern/env.c fs/fshelp.c \
77 \
78 fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
79 fs/hfsplus.c fs/iso9660.c fs/jfs.c fs/minix.c \
80 fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \
81 fs/ufs.c fs/xfs.c \
82 \
f5db4291 83 partmap/pc.c partmap/gpt.c \
daf0f0ba 84 util/raid.c util/lvm.c grub_setup_init.c
1f7315a3 85
e0f050c2 86# For grub-mkdevicemap.
29d0928c 87grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c \
88 util/i386/get_disk_name.c
e0f050c2 89
ddd5cee9 90# For grub-probe.
38da6516 91util/grub-probe.c_DEPENDENCIES = grub_probe_init.h
8fff7c2f 92grub_probe_SOURCES = util/grub-probe.c \
2a9525e6 93 util/biosdisk.c util/misc.c util/getroot.c \
94 kern/device.c kern/disk.c kern/err.c kern/misc.c \
95 kern/parser.c kern/partition.c kern/file.c \
96 \
97 fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
98 fs/hfsplus.c fs/iso9660.c fs/jfs.c fs/minix.c \
99 fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \
100 fs/ufs.c fs/xfs.c \
101 \
102 partmap/pc.c partmap/apple.c partmap/gpt.c \
103 kern/fs.c kern/env.c fs/fshelp.c \
104 disk/lvm.c disk/raid.c grub_probe_init.c
8b5f3938 105
e0f050c2 106# For grub-emu.
f75172d9 107util/grub-emu.c_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \
daf0f0ba 108 grub_emu_init.h
4e93851c 109grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \
b5ef1102 110 commands/configfile.c commands/echo.c commands/help.c \
daac212a 111 commands/terminal.c commands/ls.c commands/test.c \
c405c391 112 commands/search.c commands/blocklist.c commands/hexdump.c \
e6b92c8a 113 commands/i386/pc/halt.c commands/i386/pc/reboot.c \
5beb2291 114 commands/i386/cpuid.c \
0a203f83 115 disk/host.c disk/loopback.c disk/raid.c disk/lvm.c \
2a9525e6 116 fs/fshelp.c \
117 \
d9864ee1 118 io/gzio.c \
2166cc83 119 kern/device.c kern/disk.c kern/dl.c kern/elf.c kern/env.c \
120 kern/err.c \
daac212a 121 normal/execute.c kern/file.c kern/fs.c normal/lexer.c \
122 kern/loader.c kern/main.c kern/misc.c kern/parser.c \
123 grub_script.tab.c kern/partition.c kern/rescue.c kern/term.c \
124 normal/arg.c normal/cmdline.c normal/command.c normal/function.c\
0ece25b1 125 normal/completion.c normal/main.c normal/color.c \
daac212a 126 normal/menu.c normal/menu_entry.c normal/misc.c normal/script.c \
4ed2e1dd 127 partmap/amiga.c partmap/apple.c partmap/pc.c partmap/sun.c \
b04216ab 128 partmap/acorn.c partmap/gpt.c \
2a9525e6 129 \
130 fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
131 fs/hfsplus.c fs/iso9660.c fs/jfs.c fs/minix.c \
132 fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \
133 fs/ufs.c fs/xfs.c \
134 \
0a203f83 135 util/console.c util/hostfs.c util/grub-emu.c util/misc.c \
8fff7c2f 136 util/biosdisk.c util/getroot.c \
6d099807 137 util/i386/pc/misc.c grub_emu_init.c
e6b92c8a 138
f4917dfd 139grub_emu_LDFLAGS = $(LIBCURSES)
1cc73a62 140
075a1650 141# Scripts.
142sbin_SCRIPTS = grub-install
7ee367e4 143bin_SCRIPTS = grub-mkrescue
075a1650 144
145# For grub-install.
146grub_install_SOURCES = util/i386/pc/grub-install.in
147
7ee367e4 148# For grub-mkrescue.
149grub_mkrescue_SOURCES = util/i386/pc/grub-mkrescue.in
7ee367e4 150
6a161fa9 151# Modules.
4931827f 152pkglib_MODULES = biosdisk.mod _chain.mod _linux.mod linux.mod normal.mod \
233b1628 153 _multiboot.mod chain.mod multiboot.mod reboot.mod halt.mod \
bd0d7896 154 vbe.mod vbetest.mod vbeinfo.mod video.mod gfxterm.mod \
f5db4291 155 videotest.mod play.mod bitmap.mod tga.mod cpuid.mod serial.mod \
34842f2d 156 ata.mod vga.mod memdisk.mod jpeg.mod
6a161fa9 157
73fcb0f3 158# For biosdisk.mod.
159biosdisk_mod_SOURCES = disk/i386/pc/biosdisk.c
160biosdisk_mod_CFLAGS = $(COMMON_CFLAGS)
161biosdisk_mod_LDFLAGS = $(COMMON_LDFLAGS)
162
ce5bf700 163# For _chain.mod.
164_chain_mod_SOURCES = loader/i386/pc/chainloader.c
165_chain_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 166_chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
6a161fa9 167
8ddad845 168# For chain.mod.
169chain_mod_SOURCES = loader/i386/pc/chainloader_normal.c
170chain_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 171chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
8ddad845 172
ce5bf700 173# For _linux.mod.
174_linux_mod_SOURCES = loader/i386/pc/linux.c
175_linux_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 176_linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
177
b47efe30 178# For linux.mod.
179linux_mod_SOURCES = loader/i386/pc/linux_normal.c
180linux_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 181linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
ce5bf700 182
183# For normal.mod.
e02ac02c 184normal_mod_DEPENDENCIES = grub_script.tab.c grub_script.tab.h
4d4e372e 185normal_mod_SOURCES = normal/arg.c normal/cmdline.c normal/command.c \
4e93851c 186 normal/completion.c normal/execute.c \
daac212a 187 normal/function.c normal/lexer.c normal/main.c normal/menu.c \
0ece25b1 188 normal/color.c \
daac212a 189 normal/menu_entry.c normal/misc.c grub_script.tab.c \
190 normal/script.c normal/i386/setjmp.S
ce5bf700 191normal_mod_CFLAGS = $(COMMON_CFLAGS)
43e7f879 192normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
59b8208a 193normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
977329f5 194
990cf3aa 195# For reboot.mod.
196reboot_mod_SOURCES = commands/i386/pc/reboot.c
197reboot_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 198reboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
990cf3aa 199
200# For halt.mod.
201halt_mod_SOURCES = commands/i386/pc/halt.c
202halt_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 203halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
990cf3aa 204
47d2d65e 205# For serial.mod.
206serial_mod_SOURCES = term/i386/pc/serial.c
207serial_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 208serial_mod_LDFLAGS = $(COMMON_LDFLAGS)
47d2d65e 209
9a5c1ade 210# For _multiboot.mod.
e5dfe777 211_multiboot_mod_SOURCES = loader/i386/pc/multiboot.c \
212 loader/i386/pc/multiboot2.c \
213 loader/multiboot2.c \
214 loader/multiboot_loader.c
9a5c1ade 215_multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 216_multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
b47efe30 217
218# For multiboot.mod.
e5dfe777 219multiboot_mod_SOURCES = loader/multiboot_loader_normal.c
b47efe30 220multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 221multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
3f1578fe 222
6323696a 223# For vbe.mod.
b4b93674 224vbe_mod_SOURCES = video/i386/pc/vbe.c video/i386/pc/vbeblit.c \
ad2a06ed 225 video/i386/pc/vbefill.c video/i386/pc/vbeutil.c
6323696a 226vbe_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 227vbe_mod_LDFLAGS = $(COMMON_LDFLAGS)
6323696a 228
1f0a95e4 229# For vbeinfo.mod.
230vbeinfo_mod_SOURCES = commands/i386/pc/vbeinfo.c
231vbeinfo_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 232vbeinfo_mod_LDFLAGS = $(COMMON_LDFLAGS)
6323696a 233
1f0a95e4 234# For vbetest.mod.
235vbetest_mod_SOURCES = commands/i386/pc/vbetest.c
236vbetest_mod_CFLAGS = $(COMMON_CFLAGS)
59b8208a 237vbetest_mod_LDFLAGS = $(COMMON_LDFLAGS)
6a85ce79 238
41730ed9 239# For play.mod.
240play_mod_SOURCES = commands/i386/pc/play.c
241play_mod_CFLAGS = $(COMMON_CFLAGS)
242play_mod_LDFLAGS = $(COMMON_LDFLAGS)
243
bd0d7896 244# For video.mod.
245video_mod_SOURCES = video/video.c
246video_mod_CFLAGS = $(COMMON_CFLAGS)
247video_mod_LDFLAGS = $(COMMON_LDFLAGS)
248
249# For gfxterm.mod.
250gfxterm_mod_SOURCES = term/gfxterm.c
251gfxterm_mod_CFLAGS = $(COMMON_CFLAGS)
252gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS)
253
254# For videotest.mod.
255videotest_mod_SOURCES = commands/videotest.c
256videotest_mod_CFLAGS = $(COMMON_CFLAGS)
257videotest_mod_LDFLAGS = $(COMMON_LDFLAGS)
258
ad2a06ed 259# For bitmap.mod
260bitmap_mod_SOURCES = video/bitmap.c
261bitmap_mod_CFLAGS = $(COMMON_CFLAGS)
262bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
263
264# For tga.mod
265tga_mod_SOURCES = video/readers/tga.c
266tga_mod_CFLAGS = $(COMMON_CFLAGS)
267tga_mod_LDFLAGS = $(COMMON_LDFLAGS)
268
5beb2291 269# For cpuid.mod.
270cpuid_mod_SOURCES = commands/i386/cpuid.c
271cpuid_mod_CFLAGS = $(COMMON_CFLAGS)
272cpuid_mod_LDFLAGS = $(COMMON_LDFLAGS)
273
e911ecc1 274# For ata.mod.
275ata_mod_SOURCES = disk/ata.c
276ata_mod_CFLAGS = $(COMMON_CFLAGS)
277ata_mod_LDFLAGS = $(COMMON_LDFLAGS)
278
a87783bf 279# For vga.mod.
280vga_mod_SOURCES = term/i386/pc/vga.c
281vga_mod_CFLAGS = $(COMMON_CFLAGS)
282vga_mod_LDFLAGS = $(COMMON_LDFLAGS)
283
55a581dc 284# For memdisk.mod.
285memdisk_mod_SOURCES = disk/memdisk.c
286memdisk_mod_CFLAGS = $(COMMON_CFLAGS)
287memdisk_mod_LDFLAGS = $(COMMON_LDFLAGS)
288
34842f2d 289# For jpeg.mod.
290jpeg_mod_SOURCES = video/readers/jpeg.c
291jpeg_mod_CFLAGS = $(COMMON_CFLAGS)
292jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS)
293
233b1628 294include $(srcdir)/conf/common.mk