4 bin_UTILITIES += grub-mkelfimage
5 grub_mkelfimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \
7 util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
10 sbin_UTILITIES += grub-probe
11 util/grub-probe.c_DEPENDENCIES = grub_probe_init.h
12 grub_probe_SOURCES = util/grub-probe.c \
13 util/hostdisk.c util/misc.c util/getroot.c \
14 kern/device.c kern/disk.c kern/err.c kern/misc.c \
15 kern/parser.c kern/partition.c kern/file.c \
17 fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
18 fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c \
19 fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \
20 fs/ufs.c fs/xfs.c fs/afs.c fs/tar.c \
22 partmap/pc.c partmap/apple.c partmap/gpt.c \
23 kern/fs.c kern/env.c fs/fshelp.c \
24 disk/raid.c disk/mdraid_linux.c disk/lvm.c grub_probe_init.c
26 ifeq ($(enable_grub_fstest), yes)
27 bin_UTILITIES += grub-fstest
31 util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h
32 grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c \
33 kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c \
34 disk/host.c disk/loopback.c normal/arg.c normal/misc.c \
35 lib/hexdump.c lib/crc.c commands/blocklist.c commands/ls.c \
37 fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
38 fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c \
39 fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \
40 fs/ufs.c fs/xfs.c fs/afs.c fs/tar.c \
42 kern/partition.c partmap/pc.c partmap/apple.c partmap/gpt.c \
43 kern/fs.c kern/env.c fs/fshelp.c disk/raid.c \
44 disk/raid5_recover.c disk/raid6_recover.c \
45 disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
49 ifeq ($(enable_grub_mkfont), yes)
50 bin_UTILITIES += grub-mkfont
51 grub_mkfont_SOURCES = util/grub-mkfont.c util/misc.c
52 grub_mkfont_CFLAGS = $(freetype_cflags)
53 grub_mkfont_LDFLAGS = $(freetype_libs)
57 grub_script.tab.c grub_script.tab.h: normal/parser.y
58 $(YACC) -d -p grub_script_yy -b grub_script $(srcdir)/normal/parser.y
59 DISTCLEANFILES += grub_script.tab.c grub_script.tab.h
62 grub_emu_init.lst: geninit.sh $(filter-out grub_emu_init.c,$(grub_emu_SOURCES))
63 rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@
64 DISTCLEANFILES += grub_emu_init.lst
66 grub_emu_init.h: grub_emu_init.lst $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) geninitheader.sh
67 rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@
68 DISTCLEANFILES += grub_emu_init.h
70 grub_emu_init.c: grub_emu_init.lst $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) geninit.sh grub_emu_init.h
71 rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@
72 DISTCLEANFILES += grub_emu_init.c
75 grub_probe_init.lst: geninit.sh $(filter-out grub_probe_init.c,$(grub_probe_SOURCES))
76 rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@
77 DISTCLEANFILES += grub_probe_init.lst
79 grub_probe_init.h: grub_probe_init.lst $(filter-out grub_probe_init.c,$(grub_probe_SOURCES)) geninitheader.sh
80 rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@
81 DISTCLEANFILES += grub_probe_init.h
83 grub_probe_init.c: grub_probe_init.lst $(filter-out grub_probe_init.c,$(grub_probe_SOURCES)) geninit.sh grub_probe_init.h
84 rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@
85 DISTCLEANFILES += grub_probe_init.c
88 grub_setup_init.lst: geninit.sh $(filter-out grub_setup_init.c,$(grub_setup_SOURCES))
89 rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@
90 DISTCLEANFILES += grub_setup_init.lst
92 grub_setup_init.h: grub_setup_init.lst $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) geninitheader.sh
93 rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@
94 DISTCLEANFILES += grub_setup_init.h
96 grub_setup_init.c: grub_setup_init.lst $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) geninit.sh grub_setup_init.h
97 rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@
98 DISTCLEANFILES += grub_setup_init.c
101 grub_fstest_init.lst: geninit.sh $(filter-out grub_fstest_init.c,$(grub_fstest_SOURCES))
102 rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@
103 DISTCLEANFILES += grub_fstest_init.lst
105 grub_fstest_init.h: grub_fstest_init.lst $(filter-out grub_fstest_init.c,$(grub_fstest_SOURCES)) geninitheader.sh
106 rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@
107 DISTCLEANFILES += grub_fstest_init.h
109 grub_fstest_init.c: grub_fstest_init.lst $(filter-out grub_fstest_init.c,$(grub_fstest_SOURCES)) geninit.sh grub_fstest_init.h
110 rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@
111 DISTCLEANFILES += grub_fstest_init.c
114 bin_UTILITIES += grub-editenv
115 grub_editenv_SOURCES = util/grub-editenv.c lib/envblk.c util/misc.c kern/misc.c kern/err.c
116 CLEANFILES += grub-editenv
119 ifeq ($(enable_grub_pe2elf), yes)
120 bin_UTILITIES += grub-pe2elf
123 grub_pe2elf_SOURCES = util/grub-pe2elf.c util/misc.c
124 CLEANFILES += grub-pe2elf
127 grub-mkconfig: util/grub-mkconfig.in config.status
128 ./config.status --file=$@:$<
130 sbin_SCRIPTS += grub-mkconfig
131 CLEANFILES += grub-mkconfig
133 grub-mkconfig_lib: util/grub-mkconfig_lib.in config.status
134 ./config.status --file=$@:$<
136 lib_DATA += grub-mkconfig_lib
137 CLEANFILES += grub-mkconfig_lib
139 update-grub_lib: util/update-grub_lib.in config.status
140 ./config.status --file=$@:$<
142 lib_DATA += update-grub_lib
143 CLEANFILES += update-grub_lib
145 %: util/grub.d/%.in config.status
146 ./config.status --file=$@:$<
148 grub-mkconfig_SCRIPTS = 00_header 10_linux 10_hurd 10_freebsd 30_os-prober 40_custom
149 ifeq ($(target_os), cygwin)
150 grub-mkconfig_SCRIPTS += 10_windows
153 CLEANFILES += $(grub-mkconfig_SCRIPTS)
155 grub-mkconfig_DATA += util/grub.d/README
159 pkglib_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
160 ntfscomp.mod minix.mod hfs.mod jfs.mod iso9660.mod xfs.mod \
161 affs.mod sfs.mod hfsplus.mod reiserfs.mod cpio.mod tar.mod \
165 fshelp_mod_SOURCES = fs/fshelp.c
166 fshelp_mod_CFLAGS = $(COMMON_CFLAGS)
167 fshelp_mod_LDFLAGS = $(COMMON_LDFLAGS)
170 fat_mod_SOURCES = fs/fat.c
171 fat_mod_CFLAGS = $(COMMON_CFLAGS)
172 fat_mod_LDFLAGS = $(COMMON_LDFLAGS)
175 ufs_mod_SOURCES = fs/ufs.c
176 ufs_mod_CFLAGS = $(COMMON_CFLAGS)
177 ufs_mod_LDFLAGS = $(COMMON_LDFLAGS)
180 ext2_mod_SOURCES = fs/ext2.c
181 ext2_mod_CFLAGS = $(COMMON_CFLAGS)
182 ext2_mod_LDFLAGS = $(COMMON_LDFLAGS)
185 ntfs_mod_SOURCES = fs/ntfs.c
186 ntfs_mod_CFLAGS = $(COMMON_CFLAGS)
187 ntfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
190 ntfscomp_mod_SOURCES = fs/ntfscomp.c
191 ntfscomp_mod_CFLAGS = $(COMMON_CFLAGS)
192 ntfscomp_mod_LDFLAGS = $(COMMON_LDFLAGS)
195 minix_mod_SOURCES = fs/minix.c
196 minix_mod_CFLAGS = $(COMMON_CFLAGS)
197 minix_mod_LDFLAGS = $(COMMON_LDFLAGS)
200 hfs_mod_SOURCES = fs/hfs.c
201 hfs_mod_CFLAGS = $(COMMON_CFLAGS)
202 hfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
205 jfs_mod_SOURCES = fs/jfs.c
206 jfs_mod_CFLAGS = $(COMMON_CFLAGS)
207 jfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
210 iso9660_mod_SOURCES = fs/iso9660.c
211 iso9660_mod_CFLAGS = $(COMMON_CFLAGS)
212 iso9660_mod_LDFLAGS = $(COMMON_LDFLAGS)
215 xfs_mod_SOURCES = fs/xfs.c
216 xfs_mod_CFLAGS = $(COMMON_CFLAGS)
217 xfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
220 affs_mod_SOURCES = fs/affs.c
221 affs_mod_CFLAGS = $(COMMON_CFLAGS)
222 affs_mod_LDFLAGS = $(COMMON_LDFLAGS)
225 sfs_mod_SOURCES = fs/sfs.c
226 sfs_mod_CFLAGS = $(COMMON_CFLAGS)
227 sfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
230 hfsplus_mod_SOURCES = fs/hfsplus.c
231 hfsplus_mod_CFLAGS = $(COMMON_CFLAGS)
232 hfsplus_mod_LDFLAGS = $(COMMON_LDFLAGS)
235 reiserfs_mod_SOURCES = fs/reiserfs.c
236 reiserfs_mod_CFLAGS = $(COMMON_CFLAGS)
237 reiserfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
240 cpio_mod_SOURCES = fs/cpio.c
241 cpio_mod_CFLAGS = $(COMMON_CFLAGS)
242 cpio_mod_LDFLAGS = $(COMMON_LDFLAGS)
245 tar_mod_SOURCES = fs/cpio.c
246 tar_mod_CFLAGS = $(COMMON_CFLAGS) -DMODE_USTAR
247 tar_mod_LDFLAGS = $(COMMON_LDFLAGS)
250 udf_mod_SOURCES = fs/udf.c
251 udf_mod_CFLAGS = $(COMMON_CFLAGS)
252 udf_mod_LDFLAGS = $(COMMON_LDFLAGS)
255 afs_mod_SOURCES = fs/afs.c
256 afs_mod_CFLAGS = $(COMMON_CFLAGS)
257 afs_mod_LDFLAGS = $(COMMON_LDFLAGS)
260 pkglib_MODULES += amiga.mod apple.mod pc.mod sun.mod acorn.mod gpt.mod
263 amiga_mod_SOURCES = partmap/amiga.c
264 amiga_mod_CFLAGS = $(COMMON_CFLAGS)
265 amiga_mod_LDFLAGS = $(COMMON_LDFLAGS)
268 apple_mod_SOURCES = partmap/apple.c
269 apple_mod_CFLAGS = $(COMMON_CFLAGS)
270 apple_mod_LDFLAGS = $(COMMON_LDFLAGS)
273 pc_mod_SOURCES = partmap/pc.c
274 pc_mod_CFLAGS = $(COMMON_CFLAGS)
275 pc_mod_LDFLAGS = $(COMMON_LDFLAGS)
278 sun_mod_SOURCES = partmap/sun.c
279 sun_mod_CFLAGS = $(COMMON_CFLAGS)
280 sun_mod_LDFLAGS = $(COMMON_LDFLAGS)
283 acorn_mod_SOURCES = partmap/acorn.c
284 acorn_mod_CFLAGS = $(COMMON_CFLAGS)
285 acorn_mod_LDFLAGS = $(COMMON_LDFLAGS)
288 gpt_mod_SOURCES = partmap/gpt.c
289 gpt_mod_CFLAGS = $(COMMON_CFLAGS)
290 gpt_mod_LDFLAGS = $(COMMON_LDFLAGS)
292 # Special disk structures and generic drivers
294 pkglib_MODULES += raid.mod raid5rec.mod raid6rec.mod mdraid.mod dm_nv.mod \
298 raid_mod_SOURCES = disk/raid.c
299 raid_mod_CFLAGS = $(COMMON_CFLAGS)
300 raid_mod_LDFLAGS = $(COMMON_LDFLAGS)
303 raid5rec_mod_SOURCES = disk/raid5_recover.c
304 raid5rec_mod_CFLAGS = $(COMMON_CFLAGS)
305 raid5rec_mod_LDFLAGS = $(COMMON_LDFLAGS)
308 raid6rec_mod_SOURCES = disk/raid6_recover.c
309 raid6rec_mod_CFLAGS = $(COMMON_CFLAGS)
310 raid6rec_mod_LDFLAGS = $(COMMON_LDFLAGS)
313 mdraid_mod_SOURCES = disk/mdraid_linux.c
314 mdraid_mod_CFLAGS = $(COMMON_CFLAGS)
315 mdraid_mod_LDFLAGS = $(COMMON_LDFLAGS)
318 dm_nv_mod_SOURCES = disk/dmraid_nvidia.c
319 dm_nv_mod_CFLAGS = $(COMMON_CFLAGS)
320 dm_nv_mod_LDFLAGS = $(COMMON_LDFLAGS)
323 lvm_mod_SOURCES = disk/lvm.c
324 lvm_mod_CFLAGS = $(COMMON_CFLAGS)
325 lvm_mod_LDFLAGS = $(COMMON_LDFLAGS)
328 scsi_mod_SOURCES = disk/scsi.c
329 scsi_mod_CFLAGS = $(COMMON_CFLAGS)
330 scsi_mod_LDFLAGS = $(COMMON_LDFLAGS)
333 pkglib_MODULES += hello.mod boot.mod terminal.mod ls.mod \
334 cmp.mod cat.mod help.mod search.mod \
335 loopback.mod fs_uuid.mod configfile.mod echo.mod \
336 terminfo.mod test.mod blocklist.mod hexdump.mod \
337 read.mod sleep.mod loadenv.mod crc.mod
340 hello_mod_SOURCES = hello/hello.c
341 hello_mod_CFLAGS = $(COMMON_CFLAGS)
342 hello_mod_LDFLAGS = $(COMMON_LDFLAGS)
345 boot_mod_SOURCES = commands/boot.c
346 boot_mod_CFLAGS = $(COMMON_CFLAGS)
347 boot_mod_LDFLAGS = $(COMMON_LDFLAGS)
350 terminal_mod_SOURCES = commands/terminal.c
351 terminal_mod_CFLAGS = $(COMMON_CFLAGS)
352 terminal_mod_LDFLAGS = $(COMMON_LDFLAGS)
355 ls_mod_SOURCES = commands/ls.c
356 ls_mod_CFLAGS = $(COMMON_CFLAGS)
357 ls_mod_LDFLAGS = $(COMMON_LDFLAGS)
360 cmp_mod_SOURCES = commands/cmp.c
361 cmp_mod_CFLAGS = $(COMMON_CFLAGS)
362 cmp_mod_LDFLAGS = $(COMMON_LDFLAGS)
365 cat_mod_SOURCES = commands/cat.c
366 cat_mod_CFLAGS = $(COMMON_CFLAGS)
367 cat_mod_LDFLAGS = $(COMMON_LDFLAGS)
370 echo_mod_SOURCES = commands/echo.c
371 echo_mod_CFLAGS = $(COMMON_CFLAGS)
372 echo_mod_LDFLAGS = $(COMMON_LDFLAGS)
375 help_mod_SOURCES = commands/help.c
376 help_mod_CFLAGS = $(COMMON_CFLAGS)
377 help_mod_LDFLAGS = $(COMMON_LDFLAGS)
380 search_mod_SOURCES = commands/search.c
381 search_mod_CFLAGS = $(COMMON_CFLAGS)
382 search_mod_LDFLAGS = $(COMMON_LDFLAGS)
385 test_mod_SOURCES = commands/test.c
386 test_mod_CFLAGS = $(COMMON_CFLAGS)
387 test_mod_LDFLAGS = $(COMMON_LDFLAGS)
390 loopback_mod_SOURCES = disk/loopback.c
391 loopback_mod_CFLAGS = $(COMMON_CFLAGS)
392 loopback_mod_LDFLAGS = $(COMMON_LDFLAGS)
395 fs_uuid_mod_SOURCES = disk/fs_uuid.c
396 fs_uuid_mod_CFLAGS = $(COMMON_CFLAGS)
397 fs_uuid_mod_LDFLAGS = $(COMMON_LDFLAGS)
400 configfile_mod_SOURCES = commands/configfile.c
401 configfile_mod_CFLAGS = $(COMMON_CFLAGS)
402 configfile_mod_LDFLAGS = $(COMMON_LDFLAGS)
405 terminfo_mod_SOURCES = term/terminfo.c term/tparm.c
406 terminfo_mod_CFLAGS = $(COMMON_CFLAGS)
407 terminfo_mod_LDFLAGS = $(COMMON_LDFLAGS)
410 blocklist_mod_SOURCES = commands/blocklist.c
411 blocklist_mod_CFLAGS = $(COMMON_CFLAGS)
412 blocklist_mod_LDFLAGS = $(COMMON_LDFLAGS)
415 hexdump_mod_SOURCES = commands/hexdump.c lib/hexdump.c
416 hexdump_mod_CFLAGS = $(COMMON_CFLAGS)
417 hexdump_mod_LDFLAGS = $(COMMON_LDFLAGS)
420 read_mod_SOURCES = commands/read.c
421 read_mod_CFLAGS = $(COMMON_CFLAGS)
422 read_mod_LDFLAGS = $(COMMON_LDFLAGS)
425 sleep_mod_SOURCES = commands/sleep.c
426 sleep_mod_CFLAGS = $(COMMON_CFLAGS)
427 sleep_mod_LDFLAGS = $(COMMON_LDFLAGS)
430 loadenv_mod_SOURCES = commands/loadenv.c lib/envblk.c
431 loadenv_mod_CFLAGS = $(COMMON_CFLAGS)
432 loadenv_mod_LDFLAGS = $(COMMON_LDFLAGS)
435 crc_mod_SOURCES = commands/crc.c lib/crc.c
436 crc_mod_CFLAGS = $(COMMON_CFLAGS)
437 crc_mod_LDFLAGS = $(COMMON_LDFLAGS)
439 # Common Video Subsystem specific modules.
440 pkglib_MODULES += video.mod videotest.mod bitmap.mod tga.mod jpeg.mod \
441 png.mod font.mod gfxterm.mod
444 video_mod_SOURCES = video/video.c
445 video_mod_CFLAGS = $(COMMON_CFLAGS)
446 video_mod_LDFLAGS = $(COMMON_LDFLAGS)
449 videotest_mod_SOURCES = commands/videotest.c
450 videotest_mod_CFLAGS = $(COMMON_CFLAGS)
451 videotest_mod_LDFLAGS = $(COMMON_LDFLAGS)
454 bitmap_mod_SOURCES = video/bitmap.c
455 bitmap_mod_CFLAGS = $(COMMON_CFLAGS)
456 bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
459 tga_mod_SOURCES = video/readers/tga.c
460 tga_mod_CFLAGS = $(COMMON_CFLAGS)
461 tga_mod_LDFLAGS = $(COMMON_LDFLAGS)
464 jpeg_mod_SOURCES = video/readers/jpeg.c
465 jpeg_mod_CFLAGS = $(COMMON_CFLAGS)
466 jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS)
469 png_mod_SOURCES = video/readers/png.c
470 png_mod_CFLAGS = $(COMMON_CFLAGS)
471 png_mod_LDFLAGS = $(COMMON_LDFLAGS)
474 font_mod_SOURCES = font/font_cmd.c font/font.c
475 font_mod_CFLAGS = $(COMMON_CFLAGS)
476 font_mod_LDFLAGS = $(COMMON_LDFLAGS)
479 gfxterm_mod_SOURCES = term/gfxterm.c
480 gfxterm_mod_CFLAGS = $(COMMON_CFLAGS)
481 gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS)
484 pkglib_MODULES += gzio.mod bufio.mod elf.mod
487 elf_mod_SOURCES = kern/elf.c
488 elf_mod_CFLAGS = $(COMMON_CFLAGS)
489 elf_mod_LDFLAGS = $(COMMON_LDFLAGS)
492 gzio_mod_SOURCES = io/gzio.c
493 gzio_mod_CFLAGS = $(COMMON_CFLAGS)
494 gzio_mod_LDFLAGS = $(COMMON_LDFLAGS)
497 bufio_mod_SOURCES = io/bufio.c
498 bufio_mod_CFLAGS = $(COMMON_CFLAGS)
499 bufio_mod_LDFLAGS = $(COMMON_LDFLAGS)