]> git.proxmox.com Git - grub2.git/blob - grub-core/Makefile.core.def
Fix FreeBSD compilation problem.
[grub2.git] / grub-core / Makefile.core.def
1 AutoGen definitions Makefile.tpl;
2
3 script = {
4 installdir = noinst;
5 name = gensyminfo.sh;
6 common = gensyminfo.sh.in;
7 };
8
9 script = {
10 installdir = noinst;
11 name = genmod.sh;
12 common = genmod.sh.in;
13 };
14
15 kernel = {
16 name = kernel;
17
18 nostrip = emu;
19
20 emu_ldflags = '-Wl,-r,-d';
21 x86_efi_ldflags = '-Wl,-r,-d';
22 x86_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment';
23
24 i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
25 i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x8200';
26
27 i386_qemu_ldflags = '$(TARGET_IMG_LDFLAGS)';
28 i386_qemu_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x8200';
29
30 ldadd = '$(LDADD_KERNEL)';
31
32 i386_coreboot_ldflags = '-Wl,-Ttext=0x8200';
33 i386_multiboot_ldflags = '-Wl,-Ttext=0x8200';
34 i386_ieee1275_ldflags = '-Wl,-Ttext=0x10000';
35 mips_yeeloong_ldflags = '-Wl,-Ttext,0x80200000';
36 powerpc_ieee1275_ldflags = '-Wl,-Ttext,0x200000';
37 sparc64_ieee1275_ldflags = '-Wl,-Ttext,0x4400';
38
39 mips_yeeloong_cppflags = '-DUSE_ASCII_FAILBACK';
40 i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
41 emu_cflags = '$(CFLAGS_GNULIB)';
42 emu_cppflags = '$(CPPFLAGS_GNULIB)';
43
44 i386_pc_startup = kern/i386/pc/startup.S;
45 i386_efi_startup = kern/i386/efi/startup.S;
46 x86_64_efi_startup = kern/x86_64/efi/startup.S;
47 i386_qemu_startup = kern/i386/qemu/startup.S;
48 i386_ieee1275_startup = kern/i386/ieee1275/startup.S;
49 i386_coreboot_startup = kern/i386/coreboot/startup.S;
50 i386_multiboot_startup = kern/i386/coreboot/startup.S;
51 mips_yeeloong_startup = kern/mips/startup.S;
52 sparc64_ieee1275_startup = kern/sparc64/ieee1275/crt0.S;
53 powerpc_ieee1275_startup = kern/powerpc/ieee1275/startup.S;
54
55 common = kern/command.c;
56 common = kern/corecmd.c;
57 common = kern/device.c;
58 common = kern/disk.c;
59 common = kern/dl.c;
60 common = kern/env.c;
61 common = kern/err.c;
62 common = kern/file.c;
63 common = kern/fs.c;
64 common = kern/list.c;
65 common = kern/main.c;
66 common = kern/misc.c;
67 common = kern/parser.c;
68 common = kern/partition.c;
69 common = kern/rescue_parser.c;
70 common = kern/rescue_reader.c;
71 common = kern/term.c;
72
73 noemu = kern/mm.c;
74 noemu = kern/time.c;
75 noemu = kern/generic/millisleep.c;
76
77 noemu_nodist = symlist.c;
78
79 i386_pc = kern/generic/rtc_get_time_ms.c;
80 x86_efi = kern/generic/rtc_get_time_ms.c;
81 i386_qemu = kern/generic/rtc_get_time_ms.c;
82 i386_coreboot = kern/generic/rtc_get_time_ms.c;
83 i386_multiboot = kern/generic/rtc_get_time_ms.c;
84 mips_yeeloong = kern/generic/rtc_get_time_ms.c;
85
86 ieee1275 = disk/ieee1275/ofdisk.c;
87 ieee1275 = kern/ieee1275/cmain.c;
88 ieee1275 = kern/ieee1275/ieee1275.c;
89 ieee1275 = kern/ieee1275/mmap.c;
90 ieee1275 = kern/ieee1275/openfw.c;
91 ieee1275 = term/ieee1275/ofconsole.c;
92
93 terminfoinkernel = term/terminfo.c;
94 terminfoinkernel = term/tparm.c;
95 terminfoinkernel = commands/extcmd.c;
96 terminfoinkernel = lib/arg.c;
97
98 i386 = kern/i386/dl.c;
99
100 i386_coreboot_multiboot_qemu = kern/i386/coreboot/init.c;
101 i386_coreboot_multiboot_qemu = term/i386/pc/vga_text.c;
102
103 i386_coreboot_multiboot_qemu = term/i386/vga_common.c;
104 i386_pc = term/i386/vga_common.c;
105
106 x86 = kern/i386/pit.c;
107
108 x86_efi = disk/efi/efidisk.c;
109 x86_efi = kern/efi/efi.c;
110 x86_efi = kern/efi/init.c;
111 x86_efi = kern/efi/mm.c;
112 x86_efi = kern/i386/efi/init.c;
113 x86_efi = term/efi/console.c;
114
115 i386_efi = kern/i386/tsc.c;
116
117 x86_64_efi = kern/i386/tsc.c;
118 x86_64_efi = kern/x86_64/dl.c;
119 x86_64_efi = kern/x86_64/efi/callwrap.S;
120
121 i386_pc = kern/i386/pc/init.c;
122 i386_pc = kern/i386/pc/mmap.c;
123 i386_pc = kern/i386/tsc.c;
124 i386_pc = term/i386/pc/console.c;
125
126 i386_qemu = bus/pci.c;
127 i386_qemu = kern/i386/qemu/init.c;
128 i386_qemu = kern/i386/qemu/mmap.c;
129 i386_qemu = kern/i386/tsc.c;
130
131 i386_coreboot = kern/i386/coreboot/mmap.c;
132 i386_coreboot = kern/i386/tsc.c;
133
134 i386_multiboot = kern/i386/multiboot_mmap.c;
135 i386_multiboot = kern/i386/tsc.c;
136
137 i386_ieee1275 = kern/ieee1275/init.c;
138
139 mips_yeeloong = term/ns8250.c;
140 mips_yeeloong = bus/bonito.c;
141 mips_yeeloong = bus/cs5536.c;
142 mips_yeeloong = bus/pci.c;
143 mips_yeeloong = kern/mips/cache.S;
144 mips_yeeloong = kern/mips/dl.c;
145 mips_yeeloong = kern/mips/init.c;
146 mips_yeeloong = kern/mips/yeeloong/init.c;
147 mips_yeeloong = term/at_keyboard.c;
148 mips_yeeloong = term/serial.c;
149 mips_yeeloong = video/sm712.c;
150 extra_dist = video/sm712_init.c;
151 mips_yeeloong = commands/keylayouts.c;
152
153 powerpc_ieee1275 = kern/ieee1275/init.c;
154 powerpc_ieee1275 = kern/powerpc/cache.S;
155 powerpc_ieee1275 = kern/powerpc/dl.c;
156
157 sparc64_ieee1275 = kern/sparc64/cache.S;
158 sparc64_ieee1275 = kern/sparc64/dl.c;
159 sparc64_ieee1275 = kern/sparc64/ieee1275/ieee1275.c;
160 sparc64_ieee1275 = kern/sparc64/ieee1275/init.c;
161
162 emu = disk/host.c;
163 emu = gnulib/progname.c;
164 emu = gnulib/error.c;
165 emu = kern/emu/cache.S;
166 emu = kern/emu/console.c;
167 emu = kern/emu/getroot.c;
168 emu = kern/emu/hostdisk.c;
169 emu = kern/emu/hostfs.c;
170 emu = kern/emu/main.c;
171 emu = kern/emu/misc.c;
172 emu = kern/emu/mm.c;
173 emu = kern/emu/time.c;
174
175 videoinkernel = term/gfxterm.c;
176 videoinkernel = font/font.c;
177 videoinkernel = font/font_cmd.c;
178 videoinkernel = io/bufio.c;
179 videoinkernel = video/bitmap.c;
180 videoinkernel = video/bitmap_scale.c;
181 videoinkernel = video/fb/fbblit.c;
182 videoinkernel = video/fb/fbfill.c;
183 videoinkernel = video/fb/fbutil.c;
184 videoinkernel = video/fb/video_fb.c;
185 videoinkernel = video/video.c;
186
187 videoinkernel = commands/boot.c;
188
189 extra_dist = kern/i386/realmode.S;
190 extra_dist = kern/i386/pc/lzma_decode.S;
191 extra_dist = kern/mips/cache_flush.S;
192 };
193
194 program = {
195 name = grub-emu;
196 mansection = 1;
197
198 emu = kern/emu/full.c;
199 emu_nodist = grub_emu_init.c;
200
201 ldadd = 'kernel.img$(EXEEXT)';
202 ldadd = '$(MODULE_FILES)';
203 ldadd = '$(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
204
205 enable = emu;
206 };
207
208 program = {
209 name = grub-emu-lite;
210
211 emu = kern/emu/lite.c;
212 emu_nodist = symlist.c;
213
214 ldadd = 'kernel.img$(EXEEXT)';
215 ldadd = '$(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
216
217 enable = emu;
218 };
219
220 image = {
221 name = boot;
222 i386_pc = boot/i386/pc/boot.S;
223 i386_qemu = boot/i386/qemu/boot.S;
224 sparc64_ieee1275 = boot/sparc64/ieee1275/boot.S;
225
226 i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
227 i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
228
229 i386_qemu_ldflags = '$(TARGET_IMG_LDFLAGS)';
230 i386_qemu_ldflags = '$(TARGET_IMG_BASE_LDOPT),$(GRUB_BOOT_MACHINE_LINK_ADDR)';
231 i386_qemu_ccasflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
232
233 sparc64_ieee1275_objcopyflags = '-O a.out-sunos-big';
234 sparc64_ieee1275_ldflags = ' -Wl,-Ttext=0x4000';
235
236 objcopyflags = '-O binary';
237 enable = i386_pc;
238 enable = i386_qemu;
239 enable = sparc64_ieee1275;
240 };
241
242 image = {
243 name = cdboot;
244 i386_pc = boot/i386/pc/cdboot.S;
245 i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
246 i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
247 objcopyflags = '-O binary';
248 enable = i386_pc;
249 };
250
251 image = {
252 name = pxeboot;
253 i386_pc = boot/i386/pc/pxeboot.S;
254
255 i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
256 i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
257
258 objcopyflags = '-O binary';
259 enable = i386_pc;
260 };
261
262 image = {
263 name = diskboot;
264 i386_pc = boot/i386/pc/diskboot.S;
265
266 i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
267 i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x8000';
268
269 sparc64_ieee1275 = boot/sparc64/ieee1275/diskboot.S;
270 sparc64_ieee1275_ldflags = '-Wl,-Ttext=0x4200';
271
272 objcopyflags = '-O binary';
273
274 enable = i386_pc;
275 enable = sparc64_ieee1275;
276 };
277
278 image = {
279 name = lnxboot;
280 i386_pc = boot/i386/pc/lnxboot.S;
281
282 i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
283 i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x6000';
284
285 objcopyflags = '-O binary';
286 enable = i386_pc;
287 };
288
289 image = {
290 name = xz_decompress;
291 mips = boot/mips/startup_raw.S;
292 common = boot/decompressor/minilib.c;
293 common = boot/decompressor/xz.c;
294 common = lib/xzembed/xz_dec_bcj.c;
295 common = lib/xzembed/xz_dec_lzma2.c;
296 common = lib/xzembed/xz_dec_stream.c;
297
298 cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
299
300 mips_cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
301
302 objcopyflags = '-O binary';
303 ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
304 ldadd = '-lgcc';
305 cflags = '-static-libgcc';
306 enable = mips;
307 };
308
309 image = {
310 name = none_decompress;
311 mips = boot/mips/startup_raw.S;
312 common = boot/decompressor/none.c;
313
314 mips_cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
315
316 objcopyflags = '-O binary';
317 ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
318 ldadd = '-lgcc';
319 cflags = '-static-libgcc';
320 enable = mips;
321 };
322
323 image = {
324 name = fwstart;
325 mips_yeeloong = boot/mips/yeeloong/fwstart.S;
326 objcopyflags = '-O binary';
327 ldflags = '-static-libgcc -lgcc -Wl,-N,-S,-Ttext,0xbfc00000,-Bstatic';
328 enable = mips_yeeloong;
329 };
330
331 module = {
332 name = trig;
333 common_nodist = trigtables.c;
334 extra_dist = gentrigtables.c;
335 };
336
337 module = {
338 name = cs5536;
339 x86 = bus/cs5536.c;
340 enable = x86;
341 };
342
343 module = {
344 name = libusb;
345 emu = bus/usb/emu/usb.c;
346 enable = emu;
347 condition = COND_GRUB_EMU_USB;
348 };
349
350 module = {
351 name = lsspd;
352 mips_yeeloong = commands/mips/yeeloong/lsspd.c;
353 enable = mips_yeeloong;
354 };
355
356 module = {
357 name = usb;
358 common = bus/usb/usb.c;
359 noemu = bus/usb/usbtrans.c;
360 noemu = bus/usb/usbhub.c;
361 enable = emu;
362 enable = usb;
363 emu_condition = COND_GRUB_EMU_USB;
364 };
365
366 module = {
367 name = usbserial_common;
368 common = bus/usb/serial/common.c;
369 enable = usb;
370 };
371
372 module = {
373 name = usbserial_pl2303;
374 common = bus/usb/serial/pl2303.c;
375 enable = usb;
376 };
377
378 module = {
379 name = usbserial_ftdi;
380 common = bus/usb/serial/ftdi.c;
381 enable = usb;
382 };
383
384 module = {
385 name = uhci;
386 common = bus/usb/uhci.c;
387 enable = x86;
388 };
389
390 module = {
391 name = ohci;
392 common = bus/usb/ohci.c;
393 enable = pci;
394 };
395
396 module = {
397 name = pci;
398 noemu = bus/pci.c;
399 emu = bus/emu/pci.c;
400 emu = commands/lspci.c;
401
402 enable = emu;
403 enable = i386_pc;
404 enable = x86_efi;
405 enable = i386_ieee1275;
406 enable = i386_coreboot;
407 enable = i386_multiboot;
408 emu_condition = COND_GRUB_EMU_PCI;
409 };
410
411 library = {
412 name = libgnulib.a;
413 common = gnulib/regex.c;
414 cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
415 cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)';
416 };
417
418 module = {
419 name = cmostest;
420 common = commands/i386/cmostest.c;
421 enable = cmos;
422 };
423
424 module = {
425 name = iorw;
426 common = commands/iorw.c;
427 enable = x86;
428 };
429
430 module = {
431 name = regexp;
432 common = commands/regexp.c;
433 common = commands/wildcard.c;
434 ldadd = libgnulib.a;
435 cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
436 cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)';
437 };
438
439 module = {
440 name = acpi;
441
442 common = commands/acpi.c;
443 x86_efi = commands/efi/acpi.c;
444 i386_pc = commands/i386/pc/acpi.c;
445 i386_coreboot = commands/i386/pc/acpi.c;
446 i386_multiboot = commands/i386/pc/acpi.c;
447
448 enable = x86_efi;
449 enable = i386_pc;
450 enable = i386_coreboot;
451 enable = i386_multiboot;
452 };
453
454 module = {
455 name = lsacpi;
456
457 common = commands/lsacpi.c;
458
459 enable = x86_efi;
460 enable = i386_pc;
461 enable = i386_coreboot;
462 enable = i386_multiboot;
463 };
464
465 module = {
466 name = lsefisystab;
467
468 common = commands/efi/lsefisystab.c;
469
470 enable = x86_efi;
471 };
472
473 module = {
474 name = lssal;
475
476 common = commands/efi/lssal.c;
477
478 enable = x86_efi;
479 };
480
481 module = {
482 name = lsefimmap;
483
484 common = commands/efi/lsefimmap.c;
485
486 enable = x86_efi;
487 };
488
489 module = {
490 name = blocklist;
491 common = commands/blocklist.c;
492 };
493
494 module = {
495 name = boot;
496 common = commands/boot.c;
497 i386_pc = lib/i386/pc/biosnum.c;
498 enable = videomodules;
499 };
500
501 module = {
502 name = cat;
503 common = commands/cat.c;
504 };
505
506 module = {
507 name = cmp;
508 common = commands/cmp.c;
509 };
510
511 module = {
512 name = configfile;
513 common = commands/configfile.c;
514 };
515
516 module = {
517 name = cpuid;
518 x86 = commands/i386/cpuid.c;
519 enable = x86;
520 };
521
522 module = {
523 name = date;
524 common = commands/date.c;
525 };
526
527 module = {
528 name = drivemap;
529
530 i386_pc = commands/i386/pc/drivemap.c;
531 i386_pc = commands/i386/pc/drivemap_int13h.S;
532 enable = i386_pc;
533 };
534
535 module = {
536 name = echo;
537 common = commands/echo.c;
538 };
539
540 module = {
541 name = extcmd;
542 common = commands/extcmd.c;
543 common = lib/arg.c;
544 enable = terminfomodule;
545 };
546
547 module = {
548 name = fixvideo;
549 x86_efi = commands/efi/fixvideo.c;
550 enable = x86_efi;
551 };
552
553 module = {
554 name = gptsync;
555 common = commands/gptsync.c;
556 };
557
558 module = {
559 name = halt;
560 nopc = commands/halt.c;
561 i386_pc = commands/i386/pc/halt.c;
562 i386_pc = commands/acpihalt.c;
563 i386_coreboot = commands/acpihalt.c;
564 i386_multiboot = commands/acpihalt.c;
565 x86_efi = commands/acpihalt.c;
566 i386_multiboot = lib/i386/halt.c;
567 i386_coreboot = lib/i386/halt.c;
568 i386_qemu = lib/i386/halt.c;
569 x86_efi = lib/efi/halt.c;
570 ieee1275 = lib/ieee1275/halt.c;
571 emu = lib/emu/halt.c;
572 };
573
574 module = {
575 name = hashsum;
576 common = commands/hashsum.c;
577 };
578
579 module = {
580 name = hdparm;
581 common = commands/hdparm.c;
582 common = lib/hexdump.c;
583 enable = pci;
584 };
585
586 module = {
587 name = help;
588 common = commands/help.c;
589 };
590
591 module = {
592 name = hexdump;
593 common = commands/hexdump.c;
594 common = lib/hexdump.c;
595 };
596
597 module = {
598 name = keystatus;
599 common = commands/keystatus.c;
600 };
601
602 module = {
603 name = loadbios;
604 x86_efi = commands/efi/loadbios.c;
605 enable = x86_efi;
606 };
607
608 module = {
609 name = loadenv;
610 common = commands/loadenv.c;
611 common = lib/envblk.c;
612 };
613
614 module = {
615 name = ls;
616 common = commands/ls.c;
617 };
618
619 module = {
620 name = lsmmap;
621 common = commands/lsmmap.c;
622 };
623
624 module = {
625 name = lspci;
626 common = commands/lspci.c;
627
628 enable = pci;
629 };
630
631 module = {
632 name = memrw;
633 common = commands/memrw.c;
634 };
635
636 module = {
637 name = minicmd;
638 common = commands/minicmd.c;
639 };
640
641 module = {
642 name = parttool;
643 common = commands/parttool.c;
644 };
645
646 module = {
647 name = password;
648 common = commands/password.c;
649 };
650
651 module = {
652 name = password_pbkdf2;
653 common = commands/password_pbkdf2.c;
654 };
655
656 module = {
657 name = play;
658 x86 = commands/i386/pc/play.c;
659 enable = x86;
660 };
661
662 module = {
663 name = probe;
664 common = commands/probe.c;
665 };
666
667 module = {
668 name = pxecmd;
669 i386_pc = commands/i386/pc/pxecmd.c;
670 enable = i386_pc;
671 };
672
673 module = {
674 name = read;
675 common = commands/read.c;
676 };
677
678 module = {
679 name = reboot;
680 common = commands/reboot.c;
681 };
682
683 module = {
684 name = search;
685 common = commands/search_wrap.c;
686 extra_dist = commands/search.c;
687 };
688
689 module = {
690 name = search_fs_file;
691 common = commands/search_file.c;
692 };
693
694 module = {
695 name = search_fs_uuid;
696 common = commands/search_uuid.c;
697 };
698
699 module = {
700 name = search_label;
701 common = commands/search_label.c;
702 };
703
704 module = {
705 name = setpci;
706 common = commands/setpci.c;
707 enable = x86;
708 };
709
710 module = {
711 name = sleep;
712 common = commands/sleep.c;
713 };
714
715 module = {
716 name = suspend;
717 ieee1275 = commands/ieee1275/suspend.c;
718 enable = i386_ieee1275;
719 enable = powerpc_ieee1275;
720 };
721
722 module = {
723 name = terminal;
724 common = commands/terminal.c;
725 };
726
727 module = {
728 name = test;
729 common = commands/test.c;
730 };
731
732 module = {
733 name = true;
734 common = commands/true.c;
735 };
736
737 module = {
738 name = usbtest;
739 common = commands/usbtest.c;
740 enable = usb;
741 enable = emu;
742 emu_condition = COND_GRUB_EMU_USB;
743 };
744
745 module = {
746 name = videoinfo;
747 common = commands/videoinfo.c;
748 };
749
750 module = {
751 name = videotest;
752 common = commands/videotest.c;
753 };
754
755 module = {
756 name = xnu_uuid;
757 common = commands/xnu_uuid.c;
758 };
759
760 module = {
761 name = dm_nv;
762 common = disk/dmraid_nvidia.c;
763 };
764
765 module = {
766 name = loopback;
767 common = disk/loopback.c;
768 };
769
770 module = {
771 name = lvm;
772 common = disk/lvm.c;
773 };
774
775 module = {
776 name = mdraid09;
777 common = disk/mdraid_linux.c;
778 };
779
780 module = {
781 name = mdraid1x;
782 common = disk/mdraid1x_linux.c;
783 };
784
785 module = {
786 name = raid;
787 common = disk/raid.c;
788 };
789
790 module = {
791 name = raid5rec;
792 common = disk/raid5_recover.c;
793 };
794
795 module = {
796 name = raid6rec;
797 common = disk/raid6_recover.c;
798 };
799
800 module = {
801 name = scsi;
802 common = disk/scsi.c;
803 };
804
805 module = {
806 name = memdisk;
807 common = disk/memdisk.c;
808 };
809
810 module = {
811 name = ata;
812 common = disk/ata.c;
813 enable = pci;
814 };
815
816 module = {
817 name = ata_pthru;
818 common = disk/ata_pthru.c;
819 enable = pci;
820 };
821
822 module = {
823 name = biosdisk;
824 i386_pc = disk/i386/pc/biosdisk.c;
825 enable = i386_pc;
826 };
827
828 module = {
829 name = usbms;
830 common = disk/usbms.c;
831 enable = usb;
832 enable = emu;
833 emu_condition = COND_GRUB_EMU_USB;
834 };
835
836 module = {
837 name = nand;
838 ieee1275 = disk/ieee1275/nand.c;
839 enable = i386_ieee1275;
840 };
841
842 module = {
843 name = efiemu;
844 common = efiemu/main.c;
845 common = efiemu/i386/loadcore32.c;
846 common = efiemu/i386/loadcore64.c;
847 i386_pc = efiemu/i386/pc/cfgtables.c;
848 i386_coreboot = efiemu/i386/pc/cfgtables.c;
849 i386_multiboot = efiemu/i386/pc/cfgtables.c;
850 i386_ieee1275 = efiemu/i386/nocfgtables.c;
851 i386_qemu = efiemu/i386/nocfgtables.c;
852 common = efiemu/mm.c;
853 common = efiemu/loadcore_common.c;
854 common = efiemu/symbols.c;
855 common = efiemu/loadcore32.c;
856 common = efiemu/loadcore64.c;
857 common = efiemu/prepare32.c;
858 common = efiemu/prepare64.c;
859 common = efiemu/pnvram.c;
860 common = efiemu/i386/coredetect.c;
861
862 extra_dist = efiemu/prepare.c;
863 extra_dist = efiemu/loadcore.c;
864 extra_dist = efiemu/runtime/efiemu.S;
865 extra_dist = efiemu/runtime/efiemu.c;
866
867 enable = i386_pc;
868 enable = i386_coreboot;
869 enable = i386_ieee1275;
870 enable = i386_multiboot;
871 enable = i386_qemu;
872 };
873
874 module = {
875 name = font;
876 common = font/font.c;
877 common = font/font_cmd.c;
878 enable = videomodules;
879 };
880
881 module = {
882 name = affs;
883 common = fs/affs.c;
884 };
885
886 module = {
887 name = afs;
888 common = fs/afs.c;
889 };
890
891 module = {
892 name = afs_be;
893 common = fs/afs_be.c;
894 };
895
896 module = {
897 name = befs;
898 common = fs/befs.c;
899 };
900
901 module = {
902 name = befs_be;
903 common = fs/befs_be.c;
904 };
905
906 module = {
907 name = btrfs;
908 common = fs/btrfs.c;
909 };
910
911 module = {
912 name = cpio;
913 common = fs/cpio.c;
914 };
915
916 module = {
917 name = ext2;
918 common = fs/ext2.c;
919 };
920
921 module = {
922 name = fat;
923 common = fs/fat.c;
924 };
925
926 module = {
927 name = fshelp;
928 common = fs/fshelp.c;
929 };
930
931 module = {
932 name = hfs;
933 common = fs/hfs.c;
934 };
935
936 module = {
937 name = hfsplus;
938 common = fs/hfsplus.c;
939 };
940
941 module = {
942 name = iso9660;
943 common = fs/iso9660.c;
944 };
945
946 module = {
947 name = jfs;
948 common = fs/jfs.c;
949 };
950
951 module = {
952 name = minix;
953 common = fs/minix.c;
954 };
955
956 module = {
957 name = minix2;
958 common = fs/minix2.c;
959 };
960
961 module = {
962 name = nilfs2;
963 common = fs/nilfs2.c;
964 };
965
966 module = {
967 name = ntfs;
968 common = fs/ntfs.c;
969 };
970
971 module = {
972 name = ntfscomp;
973 common = fs/ntfscomp.c;
974 };
975
976 module = {
977 name = reiserfs;
978 common = fs/reiserfs.c;
979 };
980
981 module = {
982 name = sfs;
983 common = fs/sfs.c;
984 };
985
986 module = {
987 name = tar;
988 common = fs/tar.c;
989 };
990
991 module = {
992 name = udf;
993 common = fs/udf.c;
994 };
995
996 module = {
997 name = ufs1;
998 common = fs/ufs.c;
999 };
1000
1001 module = {
1002 name = ufs2;
1003 common = fs/ufs2.c;
1004 };
1005
1006 module = {
1007 name = xfs;
1008 common = fs/xfs.c;
1009 };
1010
1011 module = {
1012 name = zfs;
1013 common = fs/zfs/zfs.c;
1014 common = fs/zfs/zfs_lzjb.c;
1015 common = fs/zfs/zfs_sha256.c;
1016 common = fs/zfs/zfs_fletcher.c;
1017 };
1018
1019 module = {
1020 name = zfsinfo;
1021 common = fs/zfs/zfsinfo.c;
1022 };
1023
1024 module = {
1025 name = pxe;
1026 i386_pc = fs/i386/pc/pxe.c;
1027 enable = i386_pc;
1028 };
1029
1030 module = {
1031 name = gettext;
1032 common = gettext/gettext.c;
1033 };
1034
1035 module = {
1036 name = gfxmenu;
1037 common = gfxmenu/gfxmenu.c;
1038 common = gfxmenu/model.c;
1039 common = gfxmenu/view.c;
1040 common = gfxmenu/font.c;
1041 common = gfxmenu/icon_manager.c;
1042 common = gfxmenu/theme_loader.c;
1043 common = gfxmenu/widget-box.c;
1044 common = gfxmenu/gui_canvas.c;
1045 common = gfxmenu/gui_circular_progress.c;
1046 common = gfxmenu/gui_box.c;
1047 common = gfxmenu/gui_label.c;
1048 common = gfxmenu/gui_list.c;
1049 common = gfxmenu/gui_image.c;
1050 common = gfxmenu/gui_progress_bar.c;
1051 common = gfxmenu/gui_util.c;
1052 common = gfxmenu/gui_string_util.c;
1053 common = gfxmenu/named_colors.c;
1054 };
1055
1056 module = {
1057 name = hello;
1058 common = hello/hello.c;
1059 };
1060
1061 module = {
1062 name = gzio;
1063 common = io/gzio.c;
1064 };
1065
1066 module = {
1067 name = bufio;
1068 common = io/bufio.c;
1069 enable = videomodules;
1070 };
1071
1072 module = {
1073 name = elf;
1074 common = kern/elf.c;
1075 };
1076
1077 module = {
1078 name = crypto;
1079 common = lib/crypto.c;
1080
1081 extra_dist = lib/libgcrypt-grub/cipher/crypto.lst;
1082 };
1083
1084 module = {
1085 name = pbkdf2;
1086 common = lib/pbkdf2.c;
1087 };
1088
1089 module = {
1090 name = relocator;
1091 common = lib/relocator.c;
1092 x86 = lib/i386/relocator16.S;
1093 x86 = lib/i386/relocator32.S;
1094 x86 = lib/i386/relocator64.S;
1095 i386 = lib/i386/relocator_asm.S;
1096 x86_64 = lib/x86_64/relocator_asm.S;
1097 x86 = lib/i386/relocator.c;
1098 ieee1275 = lib/ieee1275/relocator.c;
1099 x86_efi = lib/efi/relocator.c;
1100 mips = lib/mips/relocator_asm.S;
1101 mips = lib/mips/relocator.c;
1102 powerpc = lib/powerpc/relocator_asm.S;
1103 powerpc = lib/powerpc/relocator.c;
1104
1105 extra_dist = lib/i386/relocator_common.S;
1106 extra_dist = kern/powerpc/cache_flush.S;
1107
1108 enable = mips;
1109 enable = powerpc;
1110 enable = x86;
1111 };
1112
1113 module = {
1114 name = datetime;
1115 cmos = lib/cmos_datetime.c;
1116 x86_efi = lib/efi/datetime.c;
1117 sparc64_ieee1275 = lib/ieee1275/datetime.c;
1118 powerpc_ieee1275 = lib/ieee1275/datetime.c;
1119 enable = noemu;
1120 };
1121
1122 module = {
1123 name = setjmp;
1124 common = lib/setjmp.S;
1125 extra_dist = lib/i386/setjmp.S;
1126 extra_dist = lib/mips/setjmp.S;
1127 extra_dist = lib/x86_64/setjmp.S;
1128 extra_dist = lib/sparc64/setjmp.S;
1129 extra_dist = lib/powerpc/setjmp.S;
1130 };
1131
1132 module = {
1133 name = aout;
1134 common = loader/aout.c;
1135 enable = x86;
1136 };
1137
1138 module = {
1139 name = bsd;
1140 x86 = loader/i386/bsd.c;
1141 x86 = loader/i386/bsd32.c;
1142 x86 = loader/i386/bsd64.c;
1143
1144 extra_dist = loader/i386/bsdXX.c;
1145 extra_dist = loader/i386/bsd_pagetable.c;
1146
1147 enable = x86;
1148 };
1149
1150 module = {
1151 name = linux16;
1152 i386_pc = loader/i386/pc/linux.c;
1153 i386_pc = lib/cmdline.c;
1154 enable = i386_pc;
1155 };
1156
1157 module = {
1158 name = ntldr;
1159 i386_pc = loader/i386/pc/ntldr.c;
1160 enable = i386_pc;
1161 };
1162
1163 module = {
1164 name = multiboot2;
1165 cppflags = "-DGRUB_USE_MULTIBOOT2";
1166
1167 common = loader/multiboot.c;
1168 common = loader/multiboot_mbi2.c;
1169 enable = x86;
1170 enable = mips;
1171 };
1172
1173 module = {
1174 name = multiboot;
1175 common = loader/multiboot.c;
1176 x86 = loader/i386/multiboot_mbi.c;
1177 extra_dist = loader/multiboot_elfxx.c;
1178 enable = x86;
1179 };
1180
1181 module = {
1182 name = linux;
1183 x86 = loader/i386/linux.c;
1184 i386_pc = lib/i386/pc/vesa_modes_table.c;
1185 mips = loader/mips/linux.c;
1186 powerpc_ieee1275 = loader/powerpc/ieee1275/linux.c;
1187 sparc64_ieee1275 = loader/sparc64/ieee1275/linux.c;
1188 common = lib/cmdline.c;
1189 enable = noemu;
1190 };
1191
1192 module = {
1193 name = xnu;
1194 x86 = loader/xnu_resume.c;
1195 x86 = loader/i386/xnu.c;
1196 x86 = loader/macho32.c;
1197 x86 = loader/macho64.c;
1198 x86 = loader/macho.c;
1199 x86 = loader/xnu.c;
1200
1201 extra_dist = loader/machoXX.c;
1202 enable = x86;
1203 };
1204
1205 module = {
1206 name = appleldr;
1207 x86_efi = loader/efi/appleloader.c;
1208 enable = x86_efi;
1209 };
1210
1211 module = {
1212 name = chain;
1213 x86_efi = loader/efi/chainloader.c;
1214 i386_pc = loader/i386/pc/chainloader.c;
1215 enable = i386_pc;
1216 enable = x86_efi;
1217 };
1218
1219 module = {
1220 name = mmap;
1221 common = mmap/mmap.c;
1222 x86 = mmap/i386/uppermem.c;
1223 x86 = mmap/i386/mmap.c;
1224
1225 i386_pc = mmap/i386/pc/mmap.c;
1226 i386_pc = mmap/i386/pc/mmap_helper.S;
1227
1228 x86_efi = mmap/efi/mmap.c;
1229
1230 mips_yeeloong = mmap/mips/yeeloong/uppermem.c;
1231
1232 enable = x86;
1233 enable = mips_yeeloong;
1234 };
1235
1236 module = {
1237 name = normal;
1238 common = normal/main.c;
1239 common = normal/cmdline.c;
1240 common = normal/dyncmd.c;
1241 common = normal/auth.c;
1242 common = normal/autofs.c;
1243 common = normal/color.c;
1244 common = normal/completion.c;
1245 common = normal/datetime.c;
1246 common = normal/menu.c;
1247 common = normal/menu_entry.c;
1248 common = normal/menu_text.c;
1249 common = normal/misc.c;
1250 common = normal/crypto.c;
1251 common = normal/term.c;
1252 common = normal/context.c;
1253 common = normal/charset.c;
1254
1255 common = script/main.c;
1256 common = script/script.c;
1257 common = script/execute.c;
1258 common = script/function.c;
1259 common = script/lexer.c;
1260 common = script/argv.c;
1261
1262 common = commands/menuentry.c;
1263
1264 common = unidata.c;
1265 common_nodist = grub_script.tab.c;
1266 common_nodist = grub_script.yy.c;
1267 common_nodist = grub_script.tab.h;
1268 common_nodist = grub_script.yy.h;
1269
1270 extra_dist = script/yylex.l;
1271 extra_dist = script/parser.y;
1272
1273 cflags = '$(CFLAGS_POSIX) -Wno-error';
1274 cppflags = '$(CPPFLAGS_POSIX)';
1275 };
1276
1277 module = {
1278 name = part_acorn;
1279 common = partmap/acorn.c;
1280 };
1281
1282 module = {
1283 name = part_amiga;
1284 common = partmap/amiga.c;
1285 };
1286
1287 module = {
1288 name = part_apple;
1289 common = partmap/apple.c;
1290 };
1291
1292 module = {
1293 name = part_gpt;
1294 common = partmap/gpt.c;
1295 };
1296
1297 module = {
1298 name = part_msdos;
1299 common = partmap/msdos.c;
1300 };
1301
1302 module = {
1303 name = part_sun;
1304 common = partmap/sun.c;
1305 };
1306
1307 module = {
1308 name = part_bsd;
1309 common = partmap/bsdlabel.c;
1310 };
1311
1312 module = {
1313 name = part_sunpc;
1314 common = partmap/sunpc.c;
1315 };
1316
1317 module = {
1318 name = msdospart;
1319 common = parttool/msdospart.c;
1320 };
1321
1322 module = {
1323 name = at_keyboard;
1324 common = term/at_keyboard.c;
1325 enable = x86;
1326 };
1327
1328 module = {
1329 name = gfxterm;
1330 common = term/gfxterm.c;
1331 enable = videomodules;
1332 };
1333
1334 module = {
1335 name = serial;
1336 common = term/serial.c;
1337 x86 = term/ns8250.c;
1338
1339 enable = emu;
1340 enable = i386;
1341 enable = x86_64_efi;
1342 emu_condition = COND_GRUB_EMU_USB;
1343 };
1344
1345 module = {
1346 name = sendkey;
1347 i386_pc = commands/i386/pc/sendkey.c;
1348 enable = i386_pc;
1349 };
1350
1351 module = {
1352 name = terminfo;
1353 common = term/terminfo.c;
1354 common = term/tparm.c;
1355 enable = terminfomodule;
1356 };
1357
1358 module = {
1359 name = usb_keyboard;
1360 common = term/usb_keyboard.c;
1361 enable = usb;
1362 };
1363
1364 module = {
1365 name = vga;
1366 i386_pc = video/i386/pc/vga.c;
1367 enable = i386_pc;
1368 };
1369
1370 module = {
1371 name = vga_text;
1372 common = term/i386/pc/vga_text.c;
1373 common = term/i386/vga_common.c;
1374 enable = i386_pc;
1375 enable = i386_coreboot;
1376 enable = i386_multiboot;
1377 };
1378
1379 module = {
1380 name = video_cirrus;
1381 x86 = video/cirrus.c;
1382 enable = x86;
1383 };
1384
1385 module = {
1386 name = video_bochs;
1387 x86 = video/bochs.c;
1388 enable = x86;
1389 };
1390
1391 module = {
1392 name = functional_test;
1393 common = tests/lib/functional_test.c;
1394 common = tests/lib/test.c;
1395 };
1396
1397 module = {
1398 name = example_functional_test;
1399 common = tests/example_functional_test.c;
1400 cflags = -Wno-format;
1401 };
1402
1403 module = {
1404 name = bitmap;
1405 common = video/bitmap.c;
1406 enable = videomodules;
1407 };
1408
1409 module = {
1410 name = bitmap_scale;
1411 common = video/bitmap_scale.c;
1412 enable = videomodules;
1413 };
1414
1415 module = {
1416 name = efi_gop;
1417 x86_efi = video/efi_gop.c;
1418 enable = x86_efi;
1419 };
1420
1421 module = {
1422 name = efi_uga;
1423 x86_efi = video/efi_uga.c;
1424 enable = x86_efi;
1425 };
1426
1427 module = {
1428 name = jpeg;
1429 common = video/readers/jpeg.c;
1430 };
1431
1432 module = {
1433 name = png;
1434 common = video/readers/png.c;
1435 };
1436
1437 module = {
1438 name = tga;
1439 common = video/readers/tga.c;
1440 };
1441
1442 module = {
1443 name = vbe;
1444 i386_pc = video/i386/pc/vbe.c;
1445 enable = i386_pc;
1446 };
1447
1448 module = {
1449 name = video_fb;
1450 common = video/fb/video_fb.c;
1451 common = video/fb/fbblit.c;
1452 common = video/fb/fbfill.c;
1453 common = video/fb/fbutil.c;
1454 enable = videomodules;
1455 };
1456
1457 module = {
1458 name = video;
1459 common = video/video.c;
1460 enable = videomodules;
1461 };
1462
1463 module = {
1464 name = ieee1275_fb;
1465 ieee1275 = video/ieee1275.c;
1466 enable = powerpc;
1467 };
1468
1469 module = {
1470 name = sdl;
1471 emu = video/emu/sdl.c;
1472 enable = emu;
1473 condition = COND_GRUB_EMU_SDL;
1474 };
1475
1476 module = {
1477 name = datehook;
1478 common = hook/datehook.c;
1479 };
1480
1481 module = {
1482 name = legacycfg;
1483 common = commands/legacycfg.c;
1484 common = lib/legacy_parse.c;
1485 emu = lib/i386/pc/vesa_modes_table.c;
1486 enable = i386_pc;
1487 enable = emu;
1488 };
1489
1490 module = {
1491 name = test_blockarg;
1492 common = tests/test_blockarg.c;
1493 };
1494
1495 module = {
1496 name = xzio;
1497 common = io/xzio.c;
1498 common = lib/xzembed/xz_dec_bcj.c;
1499 common = lib/xzembed/xz_dec_lzma2.c;
1500 common = lib/xzembed/xz_dec_stream.c;
1501 cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
1502 };
1503
1504 module = {
1505 name = testload;
1506 common = commands/testload.c;
1507 };
1508
1509 module = {
1510 name = lsapm;
1511 common = commands/i386/pc/lsapm.c;
1512 enable = i386_pc;
1513 };
1514
1515 module = {
1516 name = keylayouts;
1517 common = commands/keylayouts.c;
1518 enable = videomodules;
1519 };