]> git.proxmox.com Git - grub2.git/blame - Makefile.am
Enable shim_lock and tpm modules for all efi platforms, not just x86_64_efi
[grub2.git] / Makefile.am
CommitLineData
fb739ccd 1AUTOMAKE_OPTIONS = subdir-objects -Wno-portability
8c411768 2
019be613 3DEPDIR = .deps-util
35b90906 4SUBDIRS = grub-core/lib/gnulib .
5d90f6e5
CW
5if COND_real_platform
6SUBDIRS += grub-core
7endif
8SUBDIRS += po docs util/bash-completion.d
8c411768 9
a5a3bccd
BC
10include $(top_srcdir)/conf/Makefile.common
11include $(top_srcdir)/conf/Makefile.extra-dist
c49e5dff 12
a5a3bccd
BC
13AM_CFLAGS = $(HOST_CFLAGS)
14AM_LDFLAGS = $(HOST_LDFLAGS)
15AM_CPPFLAGS = $(HOST_CPPFLAGS) $(CPPFLAGS_DEFAULT)
16AM_CCASFLAGS = $(HOST_CCASFLAGS) $(CCASFLAGS_DEFAULT)
c49e5dff 17
15c69261
YB
18ACLOCAL_AMFLAGS = -I m4
19
a5a3bccd
BC
20CFLAGS_PROGRAM += $(CFLAGS_GNULIB)
21LDFLAGS_PROGRAM += $(LDFLAGS_GNULIB)
22CPPFLAGS_PROGRAM += $(CPPFLAGS_GNULIB)
23CCASFLAGS_PROGRAM += $(CCASFLAGS_GNULIB)
8c411768 24
3d9d3542 25include $(srcdir)/Makefile.util.am
2e33ae0d 26
8c411768 27# XXX Use Automake's LEX & YACC support
02c9030a 28grub_script.tab.h: $(top_srcdir)/grub-core/script/parser.y
8c411768 29 $(YACC) -d -p grub_script_yy -b grub_script $(top_srcdir)/grub-core/script/parser.y
02c9030a 30grub_script.tab.c: grub_script.tab.h
8c411768
BC
31CLEANFILES += grub_script.tab.c grub_script.tab.h
32
33# For the lexer.
02c9030a 34grub_script.yy.h: $(top_srcdir)/grub-core/script/yylex.l
8c411768 35 $(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $(top_srcdir)/grub-core/script/yylex.l
02c9030a 36grub_script.yy.c: grub_script.yy.h
8c411768
BC
37CLEANFILES += grub_script.yy.c grub_script.yy.h
38
d5c3b7ce 39# For libgrub.a
89d68fa6
VS
40libgrub.pp: grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES)
41 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \
a60f6ee1 42 -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
d5c3b7ce 43CLEANFILES += libgrub.pp
a60f6ee1 44
d5c3b7ce 45libgrub_a_init.lst: libgrub.pp
a60f6ee1 46 cat $< | grep '@MARKER@' | sed 's/@MARKER@\(.*\)@/\1/g' | sort -u > $@ || (rm -f $@; exit 1)
d5c3b7ce 47CLEANFILES += libgrub_a_init.lst
8c411768 48
d5c3b7ce 49libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
a60f6ee1 50 sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
d5c3b7ce 51CLEANFILES += libgrub_a_init.c
8c411768 52
905f7773
CW
53# For grub-fstest
54grub_fstest.pp: $(grub_fstest_SOURCES)
55 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
56 -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
57CLEANFILES += grub_fstest.pp
58
59grub_fstest_init.lst: libgrub.pp grub_fstest.pp
60 cat $^ | grep '@MARKER@' | sed 's/@MARKER@\(.*\)@/\1/g' | sort -u > $@ || (rm -f $@; exit 1)
61CLEANFILES += grub_fstest_init.lst
62
63grub_fstest_init.c: grub_fstest_init.lst $(top_srcdir)/geninit.sh
64 sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
65CLEANFILES += grub_fstest_init.c
66
8c411768 67if COND_HAVE_FONT_SOURCE
3d68bffb 68pkgdata_DATA += unicode.pf2 ascii.pf2 euro.pf2 ascii.h widthspec.h
8c411768 69endif
8c411768 70
2702b4e4
VS
71starfield_theme_files = $(srcdir)/themes/starfield/blob_w.png $(srcdir)/themes/starfield/boot_menu_c.png $(srcdir)/themes/starfield/boot_menu_e.png $(srcdir)/themes/starfield/boot_menu_ne.png $(srcdir)/themes/starfield/boot_menu_n.png $(srcdir)/themes/starfield/boot_menu_nw.png $(srcdir)/themes/starfield/boot_menu_se.png $(srcdir)/themes/starfield/boot_menu_s.png $(srcdir)/themes/starfield/boot_menu_sw.png $(srcdir)/themes/starfield/boot_menu_w.png $(srcdir)/themes/starfield/slider_c.png $(srcdir)/themes/starfield/slider_n.png $(srcdir)/themes/starfield/slider_s.png $(srcdir)/themes/starfield/starfield.png $(srcdir)/themes/starfield/terminal_box_c.png $(srcdir)/themes/starfield/terminal_box_e.png $(srcdir)/themes/starfield/terminal_box_ne.png $(srcdir)/themes/starfield/terminal_box_n.png $(srcdir)/themes/starfield/terminal_box_nw.png $(srcdir)/themes/starfield/terminal_box_se.png $(srcdir)/themes/starfield/terminal_box_s.png $(srcdir)/themes/starfield/terminal_box_sw.png $(srcdir)/themes/starfield/terminal_box_w.png $(srcdir)/themes/starfield/theme.txt $(srcdir)/themes/starfield/README $(srcdir)/themes/starfield/COPYING.CC-BY-SA-3.0
72
1ecf96fc 73build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.c
bcfa0f08 74 $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS)
1ecf96fc 75CLEANFILES += build-grub-mkfont$(BUILD_EXEEXT)
7c9d0c39 76
1ecf96fc 77garbage-gen$(BUILD_EXEEXT): util/garbage-gen.c
dcecae1a 78 $(BUILD_CC) -o $@ $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) $^
1ecf96fc 79CLEANFILES += garbage-gen$(BUILD_EXEEXT)
f65e14dc 80EXTRA_DIST += util/garbage-gen.c
7d44ff7d 81
1ecf96fc 82build-grub-gen-asciih$(BUILD_EXEEXT): util/grub-gen-asciih.c
bcfa0f08 83 $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS) -Wall -Werror
1ecf96fc 84CLEANFILES += build-grub-gen-asciih$(BUILD_EXEEXT)
c6b066f2 85
1ecf96fc 86build-grub-gen-widthspec$(BUILD_EXEEXT): util/grub-gen-widthspec.c
bcfa0f08 87 $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS) -Wall -Werror
1ecf96fc 88CLEANFILES += build-grub-gen-widthspec$(BUILD_EXEEXT)
7c9d0c39 89
c5884973 90if COND_STARFIELD
8360e159 91starfield_DATA = dejavu_10.pf2 dejavu_12.pf2 dejavu_bold_14.pf2 dejavu_14.pf2 dejavu_16.pf2 $(starfield_theme_files)
ba83ed15
AB
92dejavu_10.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
93 ./build-grub-mkfont$(BUILD_EXEEXT) -s 10 -o $@ $(DJVU_FONT_SOURCE)
af23303c 94CLEANFILES += dejavu_10.pf2
ba83ed15
AB
95dejavu_12.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
96 ./build-grub-mkfont$(BUILD_EXEEXT) -s 12 -o $@ $(DJVU_FONT_SOURCE)
af23303c 97CLEANFILES += dejavu_12.pf2
ba83ed15
AB
98dejavu_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
99 ./build-grub-mkfont$(BUILD_EXEEXT) -s 14 -o $@ $(DJVU_FONT_SOURCE)
af23303c 100CLEANFILES += dejavu_14.pf2
ba83ed15
AB
101dejavu_bold_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
102 ./build-grub-mkfont$(BUILD_EXEEXT) -b -s 14 -o $@ $(DJVU_FONT_SOURCE)
af23303c 103CLEANFILES += dejavu_bold_14.pf2
ba83ed15
AB
104dejavu_16.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
105 ./build-grub-mkfont$(BUILD_EXEEXT) -s 16 -o $@ $(DJVU_FONT_SOURCE)
af23303c 106CLEANFILES += dejavu_16.pf2
c5884973 107else
da770328 108starfield_DATA =
c5884973
DO
109endif
110
2702b4e4
VS
111EXTRA_DIST += $(starfield_theme_files)
112EXTRA_DIST += $(srcdir)/themes/starfield/src/slider_s.xcf $(srcdir)/themes/starfield/src/slider_n.xcf $(srcdir)/themes/starfield/src/slider_c.xcf $(srcdir)/themes/starfield/src/blob_nw.xcf $(srcdir)/themes/starfield/src/bootmenu/center.xcf $(srcdir)/themes/starfield/src/bootmenu/corner.xcf $(srcdir)/themes/starfield/src/bootmenu/side.xcf $(srcdir)/themes/starfield/src/terminalbox/side.xcf $(srcdir)/themes/starfield/src/terminalbox/corner.xcf $(srcdir)/themes/starfield/src/terminalbox/center.xcf
113
ba83ed15
AB
114unicode.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
115 ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) || (rm -f $@; exit 1)
8c411768
BC
116CLEANFILES += unicode.pf2
117
118# Arrows and lines are needed to draw the menu, so always include them
119UNICODE_ARROWS=0x2190-0x2193
120UNICODE_LINES=0x2501-0x251B
121
ba83ed15
AB
122ascii.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
123 ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES) || (rm -f $@; exit 1)
8c411768
BC
124CLEANFILES += ascii.pf2
125
ba83ed15
AB
126euro.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
127 ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) -r 0x0-0x4ff,0x1e00-0x1fff,$(UNICODE_ARROWS),$(UNICODE_LINES) || (rm -f $@; exit 1)
a5dbb1f1
VS
128CLEANFILES += euro.pf2
129
ba83ed15
AB
130ascii.h: $(FONT_SOURCE) build-grub-gen-asciih$(BUILD_EXEEXT)
131 ./build-grub-gen-asciih$(BUILD_EXEEXT) $(FONT_SOURCE) $@ || (rm -f $@; exit 1)
c6b066f2 132CLEANFILES += ascii.h
297f0c2b 133
ba83ed15
AB
134widthspec.h: $(FONT_SOURCE) build-grub-gen-widthspec$(BUILD_EXEEXT)
135 ./build-grub-gen-widthspec$(BUILD_EXEEXT) $(FONT_SOURCE) $@ || (rm -f $@; exit 1)
297f0c2b
BC
136CLEANFILES += widthspec.h
137
610c1efd 138# Install config.h into platformdir
5b83ef97 139nodist_platform_HEADERS = config.h
3d9d3542 140
48b391e9 141pkgdata_DATA += grub-mkconfig_lib
5ad6967b
VS
142
143
5d90f6e5
CW
144if COND_real_platform
145
5ad6967b 146if COND_i386_coreboot
5ad6967b 147QEMU32=qemu-system-i386
fcea891e 148MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
149endif
150
151if COND_i386_multiboot
5ad6967b 152QEMU32=qemu-system-i386
fcea891e 153MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
154endif
155
156if COND_i386_ieee1275
5ad6967b 157QEMU32=qemu-system-i386
fcea891e 158MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
159endif
160
161if COND_i386_qemu
5ad6967b 162QEMU32=qemu-system-i386
fcea891e 163MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
164endif
165
166if COND_i386_pc
5ad6967b 167QEMU32=qemu-system-i386
fcea891e 168MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
169endif
170
171if COND_i386_efi
172QEMU32=qemu-system-i386
fcea891e 173MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
174endif
175
176if COND_x86_64_efi
177QEMU32=qemu-system-x86_64
fcea891e 178MINIMUM_CPU_LINUX=core2duo
5ad6967b
VS
179endif
180
51212234 181linux.init.x86_64: $(srcdir)/grub-core/tests/boot/linux.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 182 $(TARGET_CC) -o $@ $< -static -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 183
51212234 184linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 185 $(TARGET_CC) -o $@ $< -static -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 186
37ba07eb 187linux.init.mips: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
68c6cec0 188 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
37ba07eb 189
7183452c 190linux.init.ppc: $(srcdir)/grub-core/tests/boot/linux.init-ppc.S
68c6cec0 191 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
7183452c 192
37ba07eb 193linux.init.mipsel: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
68c6cec0 194 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
37ba07eb 195
eac49cff 196linux.init.loongson: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
68c6cec0 197 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -DREBOOT=1
eac49cff 198
51212234 199multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 200 $(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -static -ffreestanding -nostdlib -nostdinc -DTARGET_MULTIBOOT=1 -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
9bd44ab2 201
51212234 202kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 203 $(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -static -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
1e82303f 204
9bd44ab2 205kfreebsd.aout: kfreebsd.elf
68c6cec0 206 $(TARGET_OBJCOPY) -O a.out-i386-linux $< $@ -j .text
9bd44ab2 207
51212234 208pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 209 $(TARGET_CC) -o $@ $< -static -DTARGET_CHAINLOADER=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x7c00 -m32
e8ea4b84
VS
210
211pc-chainloader.bin: pc-chainloader.elf
58e211cc 212 $(TARGET_OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn -R .note.gnu.gold-version $< $@;
e8ea4b84 213
51212234 214ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 215 $(TARGET_CC) -o $@ $< -DTARGET_NTLDR=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -static -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0 -m32
0101a723
VS
216
217ntldr.bin: ntldr.elf
68c6cec0 218 $(TARGET_OBJCOPY) -O binary --strip-unneeded -j .text $< $@;
0101a723 219
51212234 220multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 221 $(TARGET_CC) -static -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include -DTARGET_MULTIBOOT2=1
1e82303f 222
51212234 223kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 224 $(TARGET_CC) -o $@ $< -m64 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
5ad6967b 225
51212234 226kfreebsd.init.i386: $(srcdir)/grub-core/tests/boot/kfreebsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 227 $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
5ad6967b 228
51212234 229knetbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 230 $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DTARGET_NETBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
0f6a963e 231
51212234 232kopenbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 233 $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DTARGET_OPENBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 234
51212234 235knetbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 236 $(TARGET_CC) -o $@ $< -m64 -DTARGET_NETBSD=1 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
8e4ac346 237
51212234 238kopenbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 239 $(TARGET_CC) -o $@ $< -m64 -DTARGET_OPENBSD=1 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 240
37ba07eb 241linux-initramfs.mips: linux.init.mips Makefile
68c6cec0 242 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
37ba07eb 243
7183452c 244linux-initramfs.ppc: linux.init.ppc Makefile
68c6cec0 245 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
7183452c 246
37ba07eb 247linux-initramfs.mipsel: linux.init.mipsel Makefile
68c6cec0 248 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
37ba07eb 249
eac49cff 250linux-initramfs.loongson: linux.init.loongson Makefile
68c6cec0 251 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
eac49cff 252
5ad6967b 253linux-initramfs.i386: linux.init.i386 Makefile
68c6cec0 254 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
5ad6967b
VS
255
256linux-initramfs.x86_64: linux.init.x86_64 Makefile
68c6cec0 257 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
5ad6967b
VS
258
259kfreebsd-mfsroot.i386.img: kfreebsd.init.i386 Makefile
b65ea155 260 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -t ffs -s 30m -f 1000 -o minfree=0,version=1 $@ $$TDIR && rm -rf $$TDIR
5ad6967b 261
dc1bff76 262knetbsd.image.i386: knetbsd.init.i386 $(srcdir)/grub-core/tests/boot/kbsd.spec.txt
b65ea155 263 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -F $(srcdir)/grub-core/tests/boot/kbsd.spec.txt -t ffs -s 64k -f 10 -o minfree=0,version=1 $@ $$TDIR && rm -rf $$TDIR
dc1bff76 264
0f6a963e 265kopenbsd.image.i386: kopenbsd.init.i386 $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt
b65ea155 266 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -F $(srcdir)/grub-core/tests/boot/kbsd.spec.txt -t ffs -s 128k -f 10 -o minfree=0,version=1 $@ $$TDIR && bsdlabel -f -R $@ $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt && rm -rf $$TDIR || rm -f $@
5ad6967b 267
8e4ac346 268kopenbsd.image.x86_64: kopenbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt
b65ea155 269 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -F $(srcdir)/grub-core/tests/boot/kbsd.spec.txt -t ffs -s 128k -f 10 -o minfree=0,version=1 $@ $$TDIR && bsdlabel -f -R $@ $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt && rm -rf $$TDIR || rm -f $@
8e4ac346 270
5ad6967b 271knetbsd.miniroot-image.i386.img: knetbsd.image.i386 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386
58e211cc 272 $(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386 $@
5ad6967b
VS
273
274kfreebsd-mfsroot.x86_64.img: kfreebsd.init.x86_64 Makefile
b65ea155 275 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -t ffs -s 30m -f 1000 -o minfree=0,version=1 $@ $$TDIR && rm -rf $$TDIR
5ad6967b 276
dc1bff76 277knetbsd.image.x86_64: knetbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kbsd.spec.txt
b65ea155 278 TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -F $(srcdir)/grub-core/tests/boot/kbsd.spec.txt -t ffs -s 64k -f 10 -o minfree=0,version=1 $@ $$TDIR && rm -rf $$TDIR
5ad6967b
VS
279
280knetbsd.miniroot-image.x86_64.img: knetbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64
58e211cc 281 $(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64 $@
5ad6967b
VS
282
283CLEANFILES += linux.init.i386 kfreebsd.init.i386 linux.init.x86_64 linux-initramfs.i386 linux-initramfs.x86_64
284
285kfreebsd-mfsroot.i386.gz: kfreebsd-mfsroot.i386.img
286 gzip < $< > $@
287
288bootcheck-kfreebsd-i386: kfreebsd-mfsroot.i386.gz $(GRUB_PAYLOADS_DIR)/kfreebsd.i386 $(GRUB_PAYLOADS_DIR)/kfreebsd_env.i386 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg grub-shell
f93e89ef 289 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/mfsroot.gz=kfreebsd-mfsroot.i386.gz --files=/kfreebsd=$(GRUB_PAYLOADS_DIR)/kfreebsd.i386 --files=/kfreebsd_env=$(GRUB_PAYLOADS_DIR)/kfreebsd_env.i386 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b
VS
290
291kfreebsd-mfsroot.x86_64.gz: kfreebsd-mfsroot.x86_64.img
292 gzip < $< > $@
293
294bootcheck-kfreebsd-x86_64: kfreebsd-mfsroot.x86_64.gz $(GRUB_PAYLOADS_DIR)/kfreebsd.x86_64 $(GRUB_PAYLOADS_DIR)/kfreebsd_env.x86_64 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg grub-shell
f93e89ef 295 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/mfsroot.gz=kfreebsd-mfsroot.x86_64.gz --files=/kfreebsd=$(GRUB_PAYLOADS_DIR)/kfreebsd.x86_64 --files=/kfreebsd_env=$(GRUB_PAYLOADS_DIR)/kfreebsd_env.x86_64 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b
VS
296
297knetbsd.miniroot-image.i386.gz: knetbsd.miniroot-image.i386.img
298 gzip < $< > $@
299
300bootcheck-knetbsd-i386: knetbsd.miniroot-image.i386.gz $(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg grub-shell
f93e89ef 301 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/miniroot.gz=knetbsd.miniroot-image.i386.gz --files=/knetbsd=$(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
0f6a963e
VS
302
303bootcheck-kopenbsd-i386: kopenbsd.image.i386 $(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
f93e89ef 304 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/ramdisk=kopenbsd.image.i386 --files=/kopenbsd=$(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b 305
8e4ac346 306bootcheck-kopenbsd-x86_64: kopenbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
f93e89ef 307 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/ramdisk=kopenbsd.image.x86_64 --files=/kopenbsd=$(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
8e4ac346 308
5ad6967b
VS
309knetbsd.miniroot-image.x86_64.gz: knetbsd.miniroot-image.x86_64.img
310 gzip < $< > $@
311
312bootcheck-knetbsd-x86_64: knetbsd.miniroot-image.x86_64.gz $(GRUB_PAYLOADS_DIR)/knetbsd.x86_64 $(srcdir)/grub-core/tests/boot/knetbsd.cfg grub-shell
f93e89ef 313 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/miniroot.gz=knetbsd.miniroot-image.x86_64.gz --files=/knetbsd=$(GRUB_PAYLOADS_DIR)/knetbsd.x86_64 $(srcdir)/grub-core/tests/boot/knetbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b
VS
314
315bootcheck-linux-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
fcea891e 316 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/initrd=linux-initramfs.i386 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg --qemu-opts="-cpu $(MINIMUM_CPU_LINUX)" | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b
VS
317
318bootcheck-linux-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 319 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/initrd=linux-initramfs.x86_64 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
37ba07eb
VS
320
321bootcheck-linux-mips: linux-initramfs.mips $(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 322 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.mips --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
37ba07eb 323
7183452c 324bootcheck-linux-ppc: linux-initramfs.ppc $(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 325 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.ppc --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux-ppc.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
7183452c 326
37ba07eb 327bootcheck-linux-mipsel: linux-initramfs.mipsel $(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 328 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.mipsel --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
eac49cff
VS
329
330bootcheck-linux-loongson: linux-initramfs.loongson $(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 331 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.loongson --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b
VS
332
333bootcheck-linux16-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 334 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/initrd=linux-initramfs.i386 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux16.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b
VS
335
336bootcheck-linux16-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 337 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/initrd=linux-initramfs.x86_64 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux16.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
5ad6967b 338
1e82303f 339bootcheck-multiboot: multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg grub-shell
f93e89ef 340 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/multiboot.elf=multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
1e82303f
VS
341
342bootcheck-multiboot2: multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg grub-shell
f93e89ef 343 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/multiboot2.elf=multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
1e82303f 344
9bd44ab2 345bootcheck-kfreebsd-aout: kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg grub-shell
f93e89ef 346 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/kfreebsd.aout=kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
9bd44ab2 347
e8ea4b84 348bootcheck-pc-chainloader: pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg grub-shell
f93e89ef 349 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/pc-chainloader.bin=pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
e8ea4b84 350
0101a723 351bootcheck-ntldr: ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg grub-shell
f93e89ef 352 ./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/ntldr.bin=ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
37ba07eb
VS
353
354if COND_i386_efi
06c94739
VS
355# NetBSD has no support for finding ACPI on EFI
356BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386
37ba07eb
VS
357endif
358
359if COND_x86_64_efi
06c94739
VS
360# NetBSD has no support for finding ACPI on EFI
361BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386
37ba07eb 362endif
0101a723 363
37ba07eb 364if COND_i386_multiboot
716c9f26
VS
365# *BSD requires ACPI
366BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
37ba07eb
VS
367endif
368
37ba07eb
VS
369
370if COND_i386_qemu
716c9f26
VS
371# *BSD requires ACPI
372BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
373endif
374
375if COND_i386_coreboot
376BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-knetbsd-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386
37ba07eb 377endif
5ad6967b 378
1402cdd9
VS
379if COND_i386_ieee1275
380# *BSD requires ACPI
381#legacy protocol (linux16) makes early BIOS calls.
382BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
383endif
384
e8ea4b84 385if COND_i386_pc
02a16ba9 386#pc chainloader by definition is only for i386-pc
02a16ba9 387#ntldr and bootmgr require BIOS.
716c9f26
VS
388#legacy protocol (linux16) makes early BIOS calls.
389# 32-bit NetBSD crashes early on non-BIOS
37ba07eb 390BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-knetbsd-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386 bootcheck-pc-chainloader bootcheck-ntldr bootcheck-linux16-i386 bootcheck-linux16-x86_64 bootcheck-knetbsd-i386
02a16ba9
VS
391endif
392
eac49cff
VS
393if COND_mips_loongson
394BOOTCHECKS = bootcheck-linux-loongson
395endif
396
37ba07eb 397if COND_mipsel
eac49cff 398if COND_mips_qemu_mips
37ba07eb 399BOOTCHECKS = bootcheck-linux-mipsel
e8ea4b84 400endif
eac49cff 401endif
37ba07eb 402if COND_mipseb
eac49cff 403if COND_mips_qemu_mips
37ba07eb 404BOOTCHECKS = bootcheck-linux-mips
303f5995 405endif
eac49cff 406endif
5ad6967b 407
7183452c
VS
408if COND_powerpc_ieee1275
409BOOTCHECKS = bootcheck-linux-ppc
410endif
411
5ad6967b
VS
412.PHONY: bootcheck-linux-i386 bootcheck-linux-x86_64 \
413 bootcheck-kfreebsd-i386 bootcheck-kfreebsd-x86_64 \
37ba07eb 414 bootcheck-knetbsd-i386 bootcheck-knetbsd-x86_64 \
3bd08683 415 bootcheck-linux-mips FORCE
5ad6967b
VS
416
417# Randomly generated
418SUCCESSFUL_BOOT_STRING=3e49994fd5d82b7c9298d672d774080d
419# tianocore cd access is very slow
420BOOTCHECK_TIMEOUT=180
421
422bootcheck: $(BOOTCHECKS)
265c162a 423
93fcc7ad 424if COND_i386_coreboot
6c5ee455 425FS_PAYLOAD_MODULES ?= $(shell cat grub-core/fs.lst)
e3745f90 426default_payload.elf: grub-mkstandalone grub-mkimage FORCE
5486a4e1 427 test -f $@ && rm $@ || true
6c5ee455 428 pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o $@ --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test serial multiboot cbmemc linux16 gzio echo help syslinuxcfg xnu $(FS_PAYLOAD_MODULES) password_pbkdf2 $(EXTRA_PAYLOAD_MODULES)' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=$(srcdir)/coreboot.cfg
93fcc7ad
VS
429endif
430
5d90f6e5
CW
431endif
432
433EXTRA_DIST += grub-core/tests/boot/kbsd.init-i386.S grub-core/tests/boot/kbsd.init-x86_64.S grub-core/tests/boot/kbsd.spec.txt grub-core/tests/boot/kernel-8086.S grub-core/tests/boot/kernel-i386.S grub-core/tests/boot/kfreebsd-aout.cfg grub-core/tests/boot/kfreebsd.cfg grub-core/tests/boot/kfreebsd.init-i386.S grub-core/tests/boot/kfreebsd.init-x86_64.S grub-core/tests/boot/knetbsd.cfg grub-core/tests/boot/kopenbsd.cfg grub-core/tests/boot/kopenbsdlabel.txt grub-core/tests/boot/linux16.cfg grub-core/tests/boot/linux.cfg grub-core/tests/boot/linux.init-i386.S grub-core/tests/boot/linux.init-mips.S grub-core/tests/boot/linux.init-ppc.S grub-core/tests/boot/linux.init-x86_64.S grub-core/tests/boot/linux-ppc.cfg grub-core/tests/boot/multiboot2.cfg grub-core/tests/boot/multiboot.cfg grub-core/tests/boot/ntldr.cfg grub-core/tests/boot/pc-chainloader.cfg grub-core/tests/boot/qemu-shutdown-x86.S
434
cd46aa6c
VS
435windowsdir=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows
436windowsdir: $(PROGRAMS) $(starfield_DATA) $(platform_DATA)
437 test -d $(windowsdir) && rm -rf $(windowsdir) || true
438 test -d $(windowsdir) || mkdir $(windowsdir)
439 $(MAKE) -C po $(AM_MAKEFLAGS) windowsdir
440 $(MAKE) -C grub-core $(AM_MAKEFLAGS) windowsdir
441 test -d $(windowsdir)/themes || mkdir $(windowsdir)/themes
442 test -d $(windowsdir)/themes/starfield || mkdir $(windowsdir)/themes/starfield
443 for x in $(PROGRAMS); do \
7f20dbbc
VS
444 if [ x$(STRIP) != x ]; then $(STRIP) $$x -o $(windowsdir)/$$x; \
445 else cp -fp $$x $(windowsdir)/$$x; fi; \
cd46aa6c
VS
446 done
447 for x in $(pkgdata_DATA); do \
448 cp -fp $$x $(windowsdir)/$$x; \
449 done
450 for x in $(starfield_DATA); do \
451 cp -fp $$x $(windowsdir)/themes/starfield/$$(basename $$x); \
452 done
eec4237a
AB
453 for x in $(GRUB_WINDOWS_EXTRA_DIST); do \
454 cp -fp $$x $(windowsdir); \
455 done
cd46aa6c
VS
456
457windowszip=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows.zip
458windowszip: windowsdir
459 test -f $(windowszip) && rm $(windowszip) || true
460 zip -r $(windowszip) $(windowsdir)
eec4237a 461 rm -rf $(windowsdir)
93fcc7ad 462
265c162a 463EXTRA_DIST += linguas.sh
3bd08683 464
14c9a720 465changelog_start_date = 2015-01-23
3bd08683
VS
466gitlog_to_changelog = $(top_srcdir)/build-aux/gitlog-to-changelog
467
468ChangeLog: FORCE
469 if test -d $(top_srcdir)/.git; then \
470 $(gitlog_to_changelog) --srcdir=$(top_srcdir) --since=$(changelog_start_date) > '$@.tmp'; \
471 rm -f '$@'; mv '$@.tmp' '$@'; \
b8f53719
VS
472 else \
473 touch $@; \
3bd08683
VS
474 fi
475
476EXTRA_DIST += ChangeLog ChangeLog-2015
35a492e4
AB
477
478syslinux_test: $(top_builddir)/config.status tests/syslinux/ubuntu10.04_grub.cfg
479
f8f35acb
CW
480# Mimic simplify_filename from grub-core/lib/syslinux_parse.c, so that we
481# can predict its behaviour in tests. We have to pre-substitute this before
482# calling config.status, as config.status offers no reliable way to hook in
483# a command between setting ac_abs_top_srcdir and emitting output files.
35a492e4 484tests/syslinux/ubuntu10.04_grub.cfg: $(top_builddir)/config.status tests/syslinux/ubuntu10.04_grub.cfg.in
f8f35acb
CW
485 simplified_abs_top_srcdir=`echo "$(abs_top_srcdir)" | sed 's,//,/,g; s,/\./,/,g; :loop; s,/[^/][^/]*/\.\.\(/\|$$\),\1,; t loop'`; \
486 sed "s,@simplified_abs_top_srcdir@,$$simplified_abs_top_srcdir,g" $(srcdir)/tests/syslinux/ubuntu10.04_grub.cfg.in | $(top_builddir)/config.status --file=$@:-
35a492e4 487CLEANFILES += tests/syslinux/ubuntu10.04_grub.cfg