]> git.ipfire.org Git - thirdparty/grub.git/blame - Makefile.am
build: Allow explicit module dependencies
[thirdparty/grub.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
5e10be48
GW
27check_SCRIPTS = $(check_SCRIPTS_native) $(check_SCRIPTS_nonnative)
28check_PROGRAMS = $(check_PROGRAMS_native) $(check_PROGRAMS_nonnative)
29TESTS = $(check_SCRIPTS) $(check_PROGRAMS)
30
31check-native:
32 $(MAKE) TESTS="$(check_PROGRAMS_native) $(check_SCRIPTS_native)" check
33check-nonnative:
34 $(MAKE) TESTS="$(check_PROGRAMS_nonnative) $(check_SCRIPTS_nonnative)" check
35
8c411768 36# XXX Use Automake's LEX & YACC support
02c9030a 37grub_script.tab.h: $(top_srcdir)/grub-core/script/parser.y
8c411768 38 $(YACC) -d -p grub_script_yy -b grub_script $(top_srcdir)/grub-core/script/parser.y
02c9030a 39grub_script.tab.c: grub_script.tab.h
8c411768
BC
40CLEANFILES += grub_script.tab.c grub_script.tab.h
41
42# For the lexer.
02c9030a 43grub_script.yy.h: $(top_srcdir)/grub-core/script/yylex.l
8c411768 44 $(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $(top_srcdir)/grub-core/script/yylex.l
02c9030a 45grub_script.yy.c: grub_script.yy.h
8c411768
BC
46CLEANFILES += grub_script.yy.c grub_script.yy.h
47
d5c3b7ce 48# For libgrub.a
42f4054f 49libgrub.pp: config-util.h grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES)
89d68fa6 50 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \
a60f6ee1 51 -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
d5c3b7ce 52CLEANFILES += libgrub.pp
a60f6ee1 53
d5c3b7ce 54libgrub_a_init.lst: libgrub.pp
a0548c14 55 cat $< | grep '^@MARKER@' | sed 's/@MARKER@\(.*\)@/\1/g' | sort -u > $@ || (rm -f $@; exit 1)
d5c3b7ce 56CLEANFILES += libgrub_a_init.lst
8c411768 57
d5c3b7ce 58libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
a60f6ee1 59 sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
d5c3b7ce 60CLEANFILES += libgrub_a_init.c
8c411768 61
905f7773 62# For grub-fstest
21a26dd5 63grub_fstest.pp: config-util.h $(grub_fstest_SOURCES)
905f7773
CW
64 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
65 -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
66CLEANFILES += grub_fstest.pp
67
68grub_fstest_init.lst: libgrub.pp grub_fstest.pp
a0548c14 69 cat $^ | grep '^@MARKER@' | sed 's/@MARKER@\(.*\)@/\1/g' | sort -u > $@ || (rm -f $@; exit 1)
905f7773
CW
70CLEANFILES += grub_fstest_init.lst
71
72grub_fstest_init.c: grub_fstest_init.lst $(top_srcdir)/geninit.sh
73 sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
74CLEANFILES += grub_fstest_init.c
75
8c411768 76if COND_HAVE_FONT_SOURCE
3d68bffb 77pkgdata_DATA += unicode.pf2 ascii.pf2 euro.pf2 ascii.h widthspec.h
8c411768 78endif
8c411768 79
2702b4e4
VS
80starfield_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
81
1ecf96fc 82build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.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 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS)
1ecf96fc 84CLEANFILES += build-grub-mkfont$(BUILD_EXEEXT)
7c9d0c39 85
1ecf96fc 86garbage-gen$(BUILD_EXEEXT): util/garbage-gen.c
dcecae1a 87 $(BUILD_CC) -o $@ $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) $^
1ecf96fc 88CLEANFILES += garbage-gen$(BUILD_EXEEXT)
f65e14dc 89EXTRA_DIST += util/garbage-gen.c
7d44ff7d 90
1ecf96fc 91build-grub-gen-asciih$(BUILD_EXEEXT): util/grub-gen-asciih.c
bcfa0f08 92 $(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 93CLEANFILES += build-grub-gen-asciih$(BUILD_EXEEXT)
c6b066f2 94
1ecf96fc 95build-grub-gen-widthspec$(BUILD_EXEEXT): util/grub-gen-widthspec.c
bcfa0f08 96 $(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 97CLEANFILES += build-grub-gen-widthspec$(BUILD_EXEEXT)
7c9d0c39 98
c5884973 99if COND_STARFIELD
8360e159 100starfield_DATA = dejavu_10.pf2 dejavu_12.pf2 dejavu_bold_14.pf2 dejavu_14.pf2 dejavu_16.pf2 $(starfield_theme_files)
ba83ed15
AB
101dejavu_10.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
102 ./build-grub-mkfont$(BUILD_EXEEXT) -s 10 -o $@ $(DJVU_FONT_SOURCE)
af23303c 103CLEANFILES += dejavu_10.pf2
ba83ed15
AB
104dejavu_12.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
105 ./build-grub-mkfont$(BUILD_EXEEXT) -s 12 -o $@ $(DJVU_FONT_SOURCE)
af23303c 106CLEANFILES += dejavu_12.pf2
ba83ed15
AB
107dejavu_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
108 ./build-grub-mkfont$(BUILD_EXEEXT) -s 14 -o $@ $(DJVU_FONT_SOURCE)
af23303c 109CLEANFILES += dejavu_14.pf2
ba83ed15
AB
110dejavu_bold_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
111 ./build-grub-mkfont$(BUILD_EXEEXT) -b -s 14 -o $@ $(DJVU_FONT_SOURCE)
af23303c 112CLEANFILES += dejavu_bold_14.pf2
ba83ed15
AB
113dejavu_16.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
114 ./build-grub-mkfont$(BUILD_EXEEXT) -s 16 -o $@ $(DJVU_FONT_SOURCE)
af23303c 115CLEANFILES += dejavu_16.pf2
c5884973 116else
da770328 117starfield_DATA =
c5884973
DO
118endif
119
2702b4e4
VS
120EXTRA_DIST += $(starfield_theme_files)
121EXTRA_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
122
ba83ed15
AB
123unicode.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
124 ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) || (rm -f $@; exit 1)
8c411768
BC
125CLEANFILES += unicode.pf2
126
127# Arrows and lines are needed to draw the menu, so always include them
128UNICODE_ARROWS=0x2190-0x2193
129UNICODE_LINES=0x2501-0x251B
130
ba83ed15
AB
131ascii.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
132 ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES) || (rm -f $@; exit 1)
8c411768
BC
133CLEANFILES += ascii.pf2
134
ba83ed15
AB
135euro.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
136 ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) -r 0x0-0x4ff,0x1e00-0x1fff,$(UNICODE_ARROWS),$(UNICODE_LINES) || (rm -f $@; exit 1)
a5dbb1f1
VS
137CLEANFILES += euro.pf2
138
ba83ed15
AB
139ascii.h: $(FONT_SOURCE) build-grub-gen-asciih$(BUILD_EXEEXT)
140 ./build-grub-gen-asciih$(BUILD_EXEEXT) $(FONT_SOURCE) $@ || (rm -f $@; exit 1)
c6b066f2 141CLEANFILES += ascii.h
297f0c2b 142
ba83ed15
AB
143widthspec.h: $(FONT_SOURCE) build-grub-gen-widthspec$(BUILD_EXEEXT)
144 ./build-grub-gen-widthspec$(BUILD_EXEEXT) $(FONT_SOURCE) $@ || (rm -f $@; exit 1)
297f0c2b
BC
145CLEANFILES += widthspec.h
146
610c1efd 147# Install config.h into platformdir
5b83ef97 148nodist_platform_HEADERS = config.h
3d9d3542 149
48b391e9 150pkgdata_DATA += grub-mkconfig_lib
5ad6967b
VS
151
152
5d90f6e5
CW
153if COND_real_platform
154
5ad6967b 155if COND_i386_coreboot
5ad6967b 156QEMU32=qemu-system-i386
fcea891e 157MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
158endif
159
160if COND_i386_multiboot
5ad6967b 161QEMU32=qemu-system-i386
fcea891e 162MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
163endif
164
165if COND_i386_ieee1275
5ad6967b 166QEMU32=qemu-system-i386
fcea891e 167MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
168endif
169
170if COND_i386_qemu
5ad6967b 171QEMU32=qemu-system-i386
fcea891e 172MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
173endif
174
175if COND_i386_pc
5ad6967b 176QEMU32=qemu-system-i386
fcea891e 177MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
178endif
179
180if COND_i386_efi
181QEMU32=qemu-system-i386
fcea891e 182MINIMUM_CPU_LINUX=pentium2
5ad6967b
VS
183endif
184
185if COND_x86_64_efi
186QEMU32=qemu-system-x86_64
fcea891e 187MINIMUM_CPU_LINUX=core2duo
5ad6967b
VS
188endif
189
51212234 190linux.init.x86_64: $(srcdir)/grub-core/tests/boot/linux.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 191 $(TARGET_CC) -o $@ $< -static -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 192
51212234 193linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 194 $(TARGET_CC) -o $@ $< -static -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 195
37ba07eb 196linux.init.mips: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
68c6cec0 197 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
37ba07eb 198
7183452c 199linux.init.ppc: $(srcdir)/grub-core/tests/boot/linux.init-ppc.S
68c6cec0 200 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
7183452c 201
37ba07eb 202linux.init.mipsel: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
68c6cec0 203 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
37ba07eb 204
eac49cff 205linux.init.loongson: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
68c6cec0 206 $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -DREBOOT=1
eac49cff 207
51212234 208multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 209 $(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 210
51212234 211kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 212 $(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 213
9bd44ab2 214kfreebsd.aout: kfreebsd.elf
68c6cec0 215 $(TARGET_OBJCOPY) -O a.out-i386-linux $< $@ -j .text
9bd44ab2 216
51212234 217pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 218 $(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
219
220pc-chainloader.bin: pc-chainloader.elf
58e211cc 221 $(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 222
51212234 223ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 224 $(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
225
226ntldr.bin: ntldr.elf
68c6cec0 227 $(TARGET_OBJCOPY) -O binary --strip-unneeded -j .text $< $@;
0101a723 228
51212234 229multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 230 $(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 231
51212234 232kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 233 $(TARGET_CC) -o $@ $< -m64 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
5ad6967b 234
51212234 235kfreebsd.init.i386: $(srcdir)/grub-core/tests/boot/kfreebsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 236 $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
5ad6967b 237
51212234 238knetbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 239 $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DTARGET_NETBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
0f6a963e 240
51212234 241kopenbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 242 $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DTARGET_OPENBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 243
51212234 244knetbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 245 $(TARGET_CC) -o $@ $< -m64 -DTARGET_NETBSD=1 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
8e4ac346 246
51212234 247kopenbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
68c6cec0 248 $(TARGET_CC) -o $@ $< -m64 -DTARGET_OPENBSD=1 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
5ad6967b 249
37ba07eb 250linux-initramfs.mips: linux.init.mips 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
37ba07eb 252
7183452c 253linux-initramfs.ppc: linux.init.ppc 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
7183452c 255
37ba07eb 256linux-initramfs.mipsel: linux.init.mipsel 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
37ba07eb 258
eac49cff 259linux-initramfs.loongson: linux.init.loongson Makefile
68c6cec0 260 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 261
5ad6967b 262linux-initramfs.i386: linux.init.i386 Makefile
68c6cec0 263 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
264
265linux-initramfs.x86_64: linux.init.x86_64 Makefile
68c6cec0 266 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
267
268kfreebsd-mfsroot.i386.img: kfreebsd.init.i386 Makefile
b65ea155 269 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 270
dc1bff76 271knetbsd.image.i386: knetbsd.init.i386 $(srcdir)/grub-core/tests/boot/kbsd.spec.txt
b65ea155 272 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 273
0f6a963e 274kopenbsd.image.i386: kopenbsd.init.i386 $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt
b65ea155 275 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 276
8e4ac346 277kopenbsd.image.x86_64: kopenbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsdlabel.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 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 279
5ad6967b 280knetbsd.miniroot-image.i386.img: knetbsd.image.i386 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386
58e211cc 281 $(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386 $@
5ad6967b
VS
282
283kfreebsd-mfsroot.x86_64.img: kfreebsd.init.x86_64 Makefile
b65ea155 284 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 285
dc1bff76 286knetbsd.image.x86_64: knetbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kbsd.spec.txt
b65ea155 287 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
288
289knetbsd.miniroot-image.x86_64.img: knetbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64
58e211cc 290 $(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64 $@
5ad6967b
VS
291
292CLEANFILES += linux.init.i386 kfreebsd.init.i386 linux.init.x86_64 linux-initramfs.i386 linux-initramfs.x86_64
293
294kfreebsd-mfsroot.i386.gz: kfreebsd-mfsroot.i386.img
295 gzip < $< > $@
296
297bootcheck-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 298 ./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
299
300kfreebsd-mfsroot.x86_64.gz: kfreebsd-mfsroot.x86_64.img
301 gzip < $< > $@
302
303bootcheck-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 304 ./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
305
306knetbsd.miniroot-image.i386.gz: knetbsd.miniroot-image.i386.img
307 gzip < $< > $@
308
309bootcheck-knetbsd-i386: knetbsd.miniroot-image.i386.gz $(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg grub-shell
f93e89ef 310 ./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
311
312bootcheck-kopenbsd-i386: kopenbsd.image.i386 $(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
f93e89ef 313 ./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 314
8e4ac346 315bootcheck-kopenbsd-x86_64: kopenbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
f93e89ef 316 ./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 317
5ad6967b
VS
318knetbsd.miniroot-image.x86_64.gz: knetbsd.miniroot-image.x86_64.img
319 gzip < $< > $@
320
321bootcheck-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 322 ./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
323
324bootcheck-linux-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
fcea891e 325 ./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
326
327bootcheck-linux-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 328 ./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
329
330bootcheck-linux-mips: linux-initramfs.mips $(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 331 ./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 332
7183452c 333bootcheck-linux-ppc: linux-initramfs.ppc $(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 334 ./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 335
37ba07eb 336bootcheck-linux-mipsel: linux-initramfs.mipsel $(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 337 ./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
338
339bootcheck-linux-loongson: linux-initramfs.loongson $(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 340 ./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
341
342bootcheck-linux16-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 343 ./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
344
345bootcheck-linux16-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
f93e89ef 346 ./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 347
1e82303f 348bootcheck-multiboot: multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg grub-shell
f93e89ef 349 ./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
350
351bootcheck-multiboot2: multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg grub-shell
f93e89ef 352 ./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 353
9bd44ab2 354bootcheck-kfreebsd-aout: kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg grub-shell
f93e89ef 355 ./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 356
e8ea4b84 357bootcheck-pc-chainloader: pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg grub-shell
f93e89ef 358 ./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 359
0101a723 360bootcheck-ntldr: ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg grub-shell
f93e89ef 361 ./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
362
363if COND_i386_efi
06c94739
VS
364# NetBSD has no support for finding ACPI on EFI
365BOOTCHECKS = 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
366endif
367
368if COND_x86_64_efi
06c94739
VS
369# NetBSD has no support for finding ACPI on EFI
370BOOTCHECKS = 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 371endif
0101a723 372
37ba07eb 373if COND_i386_multiboot
716c9f26
VS
374# *BSD requires ACPI
375BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
37ba07eb
VS
376endif
377
37ba07eb
VS
378
379if COND_i386_qemu
716c9f26
VS
380# *BSD requires ACPI
381BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
382endif
383
384if COND_i386_coreboot
385BOOTCHECKS = 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 386endif
5ad6967b 387
1402cdd9
VS
388if COND_i386_ieee1275
389# *BSD requires ACPI
390#legacy protocol (linux16) makes early BIOS calls.
391BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
392endif
393
e8ea4b84 394if COND_i386_pc
02a16ba9 395#pc chainloader by definition is only for i386-pc
02a16ba9 396#ntldr and bootmgr require BIOS.
716c9f26
VS
397#legacy protocol (linux16) makes early BIOS calls.
398# 32-bit NetBSD crashes early on non-BIOS
37ba07eb 399BOOTCHECKS = 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
400endif
401
eac49cff
VS
402if COND_mips_loongson
403BOOTCHECKS = bootcheck-linux-loongson
404endif
405
37ba07eb 406if COND_mipsel
eac49cff 407if COND_mips_qemu_mips
37ba07eb 408BOOTCHECKS = bootcheck-linux-mipsel
e8ea4b84 409endif
eac49cff 410endif
37ba07eb 411if COND_mipseb
eac49cff 412if COND_mips_qemu_mips
37ba07eb 413BOOTCHECKS = bootcheck-linux-mips
303f5995 414endif
eac49cff 415endif
5ad6967b 416
7183452c
VS
417if COND_powerpc_ieee1275
418BOOTCHECKS = bootcheck-linux-ppc
419endif
420
5ad6967b
VS
421.PHONY: bootcheck-linux-i386 bootcheck-linux-x86_64 \
422 bootcheck-kfreebsd-i386 bootcheck-kfreebsd-x86_64 \
37ba07eb 423 bootcheck-knetbsd-i386 bootcheck-knetbsd-x86_64 \
3bd08683 424 bootcheck-linux-mips FORCE
5ad6967b
VS
425
426# Randomly generated
427SUCCESSFUL_BOOT_STRING=3e49994fd5d82b7c9298d672d774080d
428# tianocore cd access is very slow
429BOOTCHECK_TIMEOUT=180
430
431bootcheck: $(BOOTCHECKS)
265c162a 432
93fcc7ad 433if COND_i386_coreboot
6c5ee455 434FS_PAYLOAD_MODULES ?= $(shell cat grub-core/fs.lst)
e3745f90 435default_payload.elf: grub-mkstandalone grub-mkimage FORCE
5486a4e1 436 test -f $@ && rm $@ || true
6c5ee455 437 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
438endif
439
5d90f6e5
CW
440endif
441
442EXTRA_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
443
cd46aa6c
VS
444windowsdir=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows
445windowsdir: $(PROGRAMS) $(starfield_DATA) $(platform_DATA)
446 test -d $(windowsdir) && rm -rf $(windowsdir) || true
447 test -d $(windowsdir) || mkdir $(windowsdir)
448 $(MAKE) -C po $(AM_MAKEFLAGS) windowsdir
449 $(MAKE) -C grub-core $(AM_MAKEFLAGS) windowsdir
450 test -d $(windowsdir)/themes || mkdir $(windowsdir)/themes
451 test -d $(windowsdir)/themes/starfield || mkdir $(windowsdir)/themes/starfield
452 for x in $(PROGRAMS); do \
7f20dbbc
VS
453 if [ x$(STRIP) != x ]; then $(STRIP) $$x -o $(windowsdir)/$$x; \
454 else cp -fp $$x $(windowsdir)/$$x; fi; \
cd46aa6c
VS
455 done
456 for x in $(pkgdata_DATA); do \
457 cp -fp $$x $(windowsdir)/$$x; \
458 done
459 for x in $(starfield_DATA); do \
460 cp -fp $$x $(windowsdir)/themes/starfield/$$(basename $$x); \
461 done
eec4237a
AB
462 for x in $(GRUB_WINDOWS_EXTRA_DIST); do \
463 cp -fp $$x $(windowsdir); \
464 done
cd46aa6c
VS
465
466windowszip=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows.zip
467windowszip: windowsdir
468 test -f $(windowszip) && rm $(windowszip) || true
469 zip -r $(windowszip) $(windowsdir)
eec4237a 470 rm -rf $(windowsdir)
93fcc7ad 471
265c162a 472EXTRA_DIST += linguas.sh
3bd08683 473
14c9a720 474changelog_start_date = 2015-01-23
3bd08683
VS
475gitlog_to_changelog = $(top_srcdir)/build-aux/gitlog-to-changelog
476
477ChangeLog: FORCE
478 if test -d $(top_srcdir)/.git; then \
479 $(gitlog_to_changelog) --srcdir=$(top_srcdir) --since=$(changelog_start_date) > '$@.tmp'; \
480 rm -f '$@'; mv '$@.tmp' '$@'; \
b8f53719
VS
481 else \
482 touch $@; \
3bd08683
VS
483 fi
484
35a492e4
AB
485syslinux_test: $(top_builddir)/config.status tests/syslinux/ubuntu10.04_grub.cfg
486
f8f35acb
CW
487# Mimic simplify_filename from grub-core/lib/syslinux_parse.c, so that we
488# can predict its behaviour in tests. We have to pre-substitute this before
489# calling config.status, as config.status offers no reliable way to hook in
490# a command between setting ac_abs_top_srcdir and emitting output files.
35a492e4 491tests/syslinux/ubuntu10.04_grub.cfg: $(top_builddir)/config.status tests/syslinux/ubuntu10.04_grub.cfg.in
f8f35acb
CW
492 simplified_abs_top_srcdir=`echo "$(abs_top_srcdir)" | sed 's,//,/,g; s,/\./,/,g; :loop; s,/[^/][^/]*/\.\.\(/\|$$\),\1,; t loop'`; \
493 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 494CLEANFILES += tests/syslinux/ubuntu10.04_grub.cfg