]>
Commit | Line | Data |
---|---|---|
6a161fa9 | 1 | # -*- makefile -*- |
2 | ||
261bd4bc | 3 | GRUB_MEMORY_MACHINE_LINK_ADDR = 0x8200 |
4 | ||
43e7f879 | 5 | COMMON_ASFLAGS = -nostdinc -fno-builtin -m32 |
59b8208a | 6 | COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32 |
6b146090 | 7 | COMMON_LDFLAGS = -m32 -nostdlib |
6a161fa9 | 8 | |
9 | # Images. | |
4931827f | 10 | pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img |
6a161fa9 | 11 | |
12 | # For boot.img. | |
13 | boot_img_SOURCES = boot/i386/pc/boot.S | |
14 | boot_img_ASFLAGS = $(COMMON_ASFLAGS) | |
6433b448 | 15 | boot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,7C00 |
6a161fa9 | 16 | |
020616c2 | 17 | # For pxeboot.img |
18 | pxeboot_img_SOURCES = boot/i386/pc/pxeboot.S | |
19 | pxeboot_img_ASFLAGS = $(COMMON_ASFLAGS) | |
6433b448 | 20 | pxeboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,7C00 |
020616c2 | 21 | |
6a161fa9 | 22 | # For diskboot.img. |
23 | diskboot_img_SOURCES = boot/i386/pc/diskboot.S | |
24 | diskboot_img_ASFLAGS = $(COMMON_ASFLAGS) | |
6433b448 | 25 | diskboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,8000 |
6a161fa9 | 26 | |
84be7599 | 27 | # For lnxboot.img. |
28 | lnxboot_img_SOURCES = boot/i386/pc/lnxboot.S | |
29 | lnxboot_img_ASFLAGS = $(COMMON_ASFLAGS) | |
30 | lnxboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,6000 | |
31 | ||
6a161fa9 | 32 | # For kernel.img. |
33 | kernel_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 | 40 | kernel_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 | 45 | kernel_img_CFLAGS = $(COMMON_CFLAGS) |
46 | kernel_img_ASFLAGS = $(COMMON_ASFLAGS) | |
261bd4bc | 47 | kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,$(GRUB_MEMORY_MACHINE_LINK_ADDR) $(COMMON_CFLAGS) |
6a161fa9 | 48 | |
49 | MOSTLYCLEANFILES += symlist.c kernel_syms.lst | |
50 | DEFSYMFILES += kernel_syms.lst | |
51 | ||
7b455f4d | 52 | symlist.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 | 55 | kernel_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 | 59 | bin_UTILITIES = grub-mkimage |
4fe9862e | 60 | sbin_UTILITIES = grub-setup grub-mkdevicemap grub-probe |
61 | ifeq ($(enable_grub_emu), yes) | |
62 | sbin_UTILITIES += grub-emu | |
63 | endif | |
6a161fa9 | 64 | |
4b13b216 | 65 | # For grub-mkimage. |
66 | grub_mkimage_SOURCES = util/i386/pc/grub-mkimage.c util/misc.c \ | |
6a161fa9 | 67 | util/resolve.c |
261bd4bc | 68 | grub_mkimage_CFLAGS = -DGRUB_MEMORY_MACHINE_LINK_ADDR=$(GRUB_MEMORY_MACHINE_LINK_ADDR) |
4ac9bd04 | 69 | grub_mkimage_LDFLAGS = $(LIBLZO) |
6a161fa9 | 70 | |
4b13b216 | 71 | # For grub-setup. |
38da6516 | 72 | util/i386/pc/grub-setup.c_DEPENDENCIES = grub_setup_init.h |
8fff7c2f | 73 | grub_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 | 87 | grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c \ |
88 | util/i386/get_disk_name.c | |
e0f050c2 | 89 | |
ddd5cee9 | 90 | # For grub-probe. |
38da6516 | 91 | util/grub-probe.c_DEPENDENCIES = grub_probe_init.h |
8fff7c2f | 92 | grub_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 | 107 | util/grub-emu.c_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \ |
daf0f0ba | 108 | grub_emu_init.h |
4e93851c | 109 | grub_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 | 139 | grub_emu_LDFLAGS = $(LIBCURSES) |
1cc73a62 | 140 | |
075a1650 | 141 | # Scripts. |
142 | sbin_SCRIPTS = grub-install | |
7ee367e4 | 143 | bin_SCRIPTS = grub-mkrescue |
075a1650 | 144 | |
145 | # For grub-install. | |
146 | grub_install_SOURCES = util/i386/pc/grub-install.in | |
147 | ||
7ee367e4 | 148 | # For grub-mkrescue. |
149 | grub_mkrescue_SOURCES = util/i386/pc/grub-mkrescue.in | |
7ee367e4 | 150 | |
6a161fa9 | 151 | # Modules. |
4931827f | 152 | pkglib_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. |
159 | biosdisk_mod_SOURCES = disk/i386/pc/biosdisk.c | |
160 | biosdisk_mod_CFLAGS = $(COMMON_CFLAGS) | |
161 | biosdisk_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. |
169 | chain_mod_SOURCES = loader/i386/pc/chainloader_normal.c | |
170 | chain_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 171 | chain_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. |
179 | linux_mod_SOURCES = loader/i386/pc/linux_normal.c | |
180 | linux_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 181 | linux_mod_LDFLAGS = $(COMMON_LDFLAGS) |
ce5bf700 | 182 | |
183 | # For normal.mod. | |
e02ac02c | 184 | normal_mod_DEPENDENCIES = grub_script.tab.c grub_script.tab.h |
4d4e372e | 185 | normal_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 | 191 | normal_mod_CFLAGS = $(COMMON_CFLAGS) |
43e7f879 | 192 | normal_mod_ASFLAGS = $(COMMON_ASFLAGS) |
59b8208a | 193 | normal_mod_LDFLAGS = $(COMMON_LDFLAGS) |
977329f5 | 194 | |
990cf3aa | 195 | # For reboot.mod. |
196 | reboot_mod_SOURCES = commands/i386/pc/reboot.c | |
197 | reboot_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 198 | reboot_mod_LDFLAGS = $(COMMON_LDFLAGS) |
990cf3aa | 199 | |
200 | # For halt.mod. | |
201 | halt_mod_SOURCES = commands/i386/pc/halt.c | |
202 | halt_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 203 | halt_mod_LDFLAGS = $(COMMON_LDFLAGS) |
990cf3aa | 204 | |
47d2d65e | 205 | # For serial.mod. |
206 | serial_mod_SOURCES = term/i386/pc/serial.c | |
207 | serial_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 208 | serial_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 | 219 | multiboot_mod_SOURCES = loader/multiboot_loader_normal.c |
b47efe30 | 220 | multiboot_mod_CFLAGS = $(COMMON_CFLAGS) |
59b8208a | 221 | multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS) |
3f1578fe | 222 | |
6323696a | 223 | # For vbe.mod. |
b4b93674 | 224 | vbe_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 | 226 | vbe_mod_CFLAGS = $(COMMON_CFLAGS) |
59b8208a | 227 | vbe_mod_LDFLAGS = $(COMMON_LDFLAGS) |
6323696a | 228 | |
1f0a95e4 | 229 | # For vbeinfo.mod. |
230 | vbeinfo_mod_SOURCES = commands/i386/pc/vbeinfo.c | |
231 | vbeinfo_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 232 | vbeinfo_mod_LDFLAGS = $(COMMON_LDFLAGS) |
6323696a | 233 | |
1f0a95e4 | 234 | # For vbetest.mod. |
235 | vbetest_mod_SOURCES = commands/i386/pc/vbetest.c | |
236 | vbetest_mod_CFLAGS = $(COMMON_CFLAGS) | |
59b8208a | 237 | vbetest_mod_LDFLAGS = $(COMMON_LDFLAGS) |
6a85ce79 | 238 | |
41730ed9 | 239 | # For play.mod. |
240 | play_mod_SOURCES = commands/i386/pc/play.c | |
241 | play_mod_CFLAGS = $(COMMON_CFLAGS) | |
242 | play_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
243 | ||
bd0d7896 | 244 | # For video.mod. |
245 | video_mod_SOURCES = video/video.c | |
246 | video_mod_CFLAGS = $(COMMON_CFLAGS) | |
247 | video_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
248 | ||
249 | # For gfxterm.mod. | |
250 | gfxterm_mod_SOURCES = term/gfxterm.c | |
251 | gfxterm_mod_CFLAGS = $(COMMON_CFLAGS) | |
252 | gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
253 | ||
254 | # For videotest.mod. | |
255 | videotest_mod_SOURCES = commands/videotest.c | |
256 | videotest_mod_CFLAGS = $(COMMON_CFLAGS) | |
257 | videotest_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
258 | ||
ad2a06ed | 259 | # For bitmap.mod |
260 | bitmap_mod_SOURCES = video/bitmap.c | |
261 | bitmap_mod_CFLAGS = $(COMMON_CFLAGS) | |
262 | bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
263 | ||
264 | # For tga.mod | |
265 | tga_mod_SOURCES = video/readers/tga.c | |
266 | tga_mod_CFLAGS = $(COMMON_CFLAGS) | |
267 | tga_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
268 | ||
5beb2291 | 269 | # For cpuid.mod. |
270 | cpuid_mod_SOURCES = commands/i386/cpuid.c | |
271 | cpuid_mod_CFLAGS = $(COMMON_CFLAGS) | |
272 | cpuid_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
273 | ||
e911ecc1 | 274 | # For ata.mod. |
275 | ata_mod_SOURCES = disk/ata.c | |
276 | ata_mod_CFLAGS = $(COMMON_CFLAGS) | |
277 | ata_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
278 | ||
a87783bf | 279 | # For vga.mod. |
280 | vga_mod_SOURCES = term/i386/pc/vga.c | |
281 | vga_mod_CFLAGS = $(COMMON_CFLAGS) | |
282 | vga_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
283 | ||
55a581dc | 284 | # For memdisk.mod. |
285 | memdisk_mod_SOURCES = disk/memdisk.c | |
286 | memdisk_mod_CFLAGS = $(COMMON_CFLAGS) | |
287 | memdisk_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
288 | ||
34842f2d | 289 | # For jpeg.mod. |
290 | jpeg_mod_SOURCES = video/readers/jpeg.c | |
291 | jpeg_mod_CFLAGS = $(COMMON_CFLAGS) | |
292 | jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS) | |
293 | ||
233b1628 | 294 | include $(srcdir)/conf/common.mk |