]>
Commit | Line | Data |
---|---|---|
fb739ccd | 1 | AUTOMAKE_OPTIONS = subdir-objects -Wno-portability |
d5c3b7ce | 2 | |
019be613 | 3 | DEPDIR=.deps-core |
6304d292 | 4 | |
a5a3bccd | 5 | include $(top_srcdir)/conf/Makefile.common |
6304d292 | 6 | |
a5a3bccd BC |
7 | CC=$(TARGET_CC) |
8 | CPP=$(TARGET_CC) | |
9 | CCAS=$(TARGET_CC) | |
0e8daad0 VS |
10 | RANLIB=$(TARGET_RANLIB) |
11 | STRIP=$(TARGET_STRIP) | |
8c411768 | 12 | |
382775d1 VS |
13 | MACHO2IMG=$(top_builddir)/grub-macho2img |
14 | ||
a5a3bccd BC |
15 | AM_CFLAGS = $(TARGET_CFLAGS) |
16 | AM_LDFLAGS = $(TARGET_LDFLAGS) | |
17 | AM_CPPFLAGS = $(TARGET_CPPFLAGS) $(CPPFLAGS_DEFAULT) | |
18 | AM_CCASFLAGS = $(TARGET_CCASFLAGS) $(CCASFLAGS_DEFAULT) | |
8c411768 | 19 | |
a5a3bccd BC |
20 | CFLAGS_PROGRAM += $(CFLAGS_PLATFORM) |
21 | LDFLAGS_PROGRAM += $(LDFLAGS_PLATFORM) | |
22 | CPPFLAGS_PROGRAM += $(CPPFLAGS_PLATFORM) | |
23 | CCASFLAGS_PROGRAM += $(CCASFLAGS_PLATFORM) | |
8c411768 | 24 | |
a5a3bccd BC |
25 | CFLAGS_LIBRARY += $(CFLAGS_PLATFORM) -fno-builtin |
26 | CPPFLAGS_LIBRARY += $(CPPFLAGS_PLATFORM) | |
27 | CCASFLAGS_LIBRARY += $(CCASFLAGS_PLATFORM) | |
8c411768 | 28 | |
1ecf96fc | 29 | build-grub-pep2elf$(BUILD_EXEEXT): $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c |
dcecae1a | 30 | $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_BUILD=1 -DGRUB_TARGET_WORDSIZE=64 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pep2elf\" $^ |
1ecf96fc | 31 | CLEANFILES += build-grub-pep2elf$(BUILD_EXEEXT) |
6f1f6a0c | 32 | |
1ecf96fc | 33 | build-grub-pe2elf$(BUILD_EXEEXT): $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c |
dcecae1a | 34 | $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_BUILD=1 -DGRUB_TARGET_WORDSIZE=32 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pe2elf\" $^ |
1ecf96fc | 35 | CLEANFILES += build-grub-pe2elf$(BUILD_EXEEXT) |
7b780018 | 36 | |
8c411768 | 37 | # gentrigtables |
1ecf96fc | 38 | gentrigtables$(BUILD_EXEEXT): gentrigtables.c |
dcecae1a | 39 | $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) $< $(BUILD_LIBM) |
1ecf96fc | 40 | CLEANFILES += gentrigtables$(BUILD_EXEEXT) |
8c411768 | 41 | |
a7cf8b1e VS |
42 | build-grub-module-verifier$(BUILD_EXEEXT): $(top_srcdir)/util/grub-module-verifier.c $(top_srcdir)/util/grub-module-verifier32.c $(top_srcdir)/util/grub-module-verifier64.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c |
43 | $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-module-verifier\" $^ | |
44 | CLEANFILES += build-grub-module-verifier$(BUILD_EXEEXT) | |
45 | ||
8c411768 | 46 | # trigtables.c |
1ecf96fc AB |
47 | trigtables.c: gentrigtables$(BUILD_EXEEXT) gentrigtables.c $(top_srcdir)/configure.ac |
48 | ./gentrigtables$(BUILD_EXEEXT) > $@ | |
8c411768 BC |
49 | CLEANFILES += trigtables.c |
50 | ||
51 | # XXX Use Automake's LEX & YACC support | |
6304d292 BC |
52 | grub_script.tab.h: script/parser.y |
53 | $(YACC) -d -p grub_script_yy -b grub_script $< | |
02c9030a | 54 | grub_script.tab.c: grub_script.tab.h |
8c411768 BC |
55 | CLEANFILES += grub_script.tab.c grub_script.tab.h |
56 | ||
57 | # For the lexer. | |
6304d292 BC |
58 | grub_script.yy.h: script/yylex.l |
59 | $(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $< | |
02c9030a | 60 | grub_script.yy.c: grub_script.yy.h |
419cbeb0 | 61 | |
cc284112 | 62 | rs_decoder.h: $(srcdir)/lib/reed_solomon.c |
b99f3e00 | 63 | $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Os -I$(top_builddir) -S -DSTANDALONE -o $@ $< -g0 -mregparm=3 -ffreestanding |
419cbeb0 | 64 | |
8c411768 BC |
65 | CLEANFILES += grub_script.yy.c grub_script.yy.h |
66 | ||
3d9d3542 | 67 | include $(srcdir)/Makefile.core.am |
6304d292 BC |
68 | |
69 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/cache.h | |
70 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/command.h | |
71 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/device.h | |
72 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/disk.h | |
73 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dl.h | |
d7e54b2e | 74 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/sb.h |
6304d292 BC |
75 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env.h |
76 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env_private.h | |
77 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/err.h | |
78 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/file.h | |
79 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fs.h | |
80 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i18n.h | |
81 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/kernel.h | |
82 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/list.h | |
578c9529 | 83 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lockdown.h |
6304d292 | 84 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/misc.h |
064360e6 VS |
85 | if COND_emu |
86 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/compiler-rt-emu.h | |
87 | else | |
88 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/compiler-rt.h | |
89 | endif | |
6304d292 | 90 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm.h |
6304d292 BC |
91 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h |
92 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h | |
133d7307 | 93 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/stack_protector.h |
6304d292 BC |
94 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h |
95 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h | |
9e95f45c | 96 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/verify.h |
16bd6cfa | 97 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm_private.h |
9a9852df | 98 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/net.h |
df3df23d | 99 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/memory.h |
16bd6cfa VS |
100 | |
101 | if COND_i386_pc | |
6304d292 BC |
102 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
103 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pxe.h | |
afba9f98 | 104 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/int.h |
5341c0fb | 105 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
6304d292 BC |
106 | endif |
107 | ||
9c062ad4 JG |
108 | if COND_i386_xen_pvh |
109 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h | |
110 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/int.h | |
111 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h | |
112 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h | |
113 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
114 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h | |
115 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
116 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h | |
117 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/xen/hypercall.h | |
118 | endif | |
119 | ||
6304d292 | 120 | if COND_i386_efi |
0b3e4eb2 | 121 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
6304d292 | 122 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h |
6304d292 | 123 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h |
5341c0fb | 124 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
d43a5ee6 | 125 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
9d34bb85 | 126 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h |
d9a3bfea | 127 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pmtimer.h |
6304d292 BC |
128 | endif |
129 | ||
130 | if COND_i386_coreboot | |
0b3e4eb2 | 131 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
5341c0fb | 132 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
461bfab7 | 133 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/coreboot/lbio.h |
fc4c4fdd VS |
134 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h |
135 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h | |
136 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h | |
137 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h | |
138 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h | |
d43a5ee6 | 139 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
6304d292 BC |
140 | endif |
141 | ||
142 | if COND_i386_multiboot | |
0b3e4eb2 | 143 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
5341c0fb | 144 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
d43a5ee6 | 145 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
6304d292 BC |
146 | endif |
147 | ||
148 | if COND_i386_qemu | |
6304d292 | 149 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h |
5341c0fb | 150 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
6304d292 BC |
151 | endif |
152 | ||
153 | if COND_i386_ieee1275 | |
0b3e4eb2 | 154 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
6304d292 | 155 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h |
6304d292 | 156 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h |
ee74fa48 VS |
157 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h |
158 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
5341c0fb | 159 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
6304d292 BC |
160 | endif |
161 | ||
9612ebc0 | 162 | if COND_i386_xen |
0b3e4eb2 | 163 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
9612ebc0 VS |
164 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h |
165 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/xen/hypercall.h | |
166 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h | |
167 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
168 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
169 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h | |
170 | endif | |
171 | ||
172 | if COND_x86_64_xen | |
173 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h | |
174 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/x86_64/xen/hypercall.h | |
175 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h | |
176 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
177 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
178 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h | |
179 | endif | |
180 | ||
6304d292 | 181 | if COND_x86_64_efi |
0b3e4eb2 | 182 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
6304d292 | 183 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h |
6304d292 | 184 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h |
5341c0fb | 185 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h |
9d34bb85 | 186 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h |
d43a5ee6 | 187 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
d9a3bfea | 188 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pmtimer.h |
6304d292 BC |
189 | endif |
190 | ||
6585de4c VS |
191 | if COND_ia64_efi |
192 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h | |
6585de4c | 193 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h |
d43a5ee6 | 194 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
6585de4c VS |
195 | endif |
196 | ||
8906c3dd VS |
197 | if COND_mips |
198 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/kernel.h | |
199 | endif | |
200 | ||
201 | if COND_mips_arc | |
202 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
203 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arc/arc.h | |
b04b5990 | 204 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h |
8906c3dd VS |
205 | endif |
206 | ||
3666d5f6 | 207 | if COND_mips_qemu_mips |
d7345994 VS |
208 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h |
209 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h | |
d7345994 VS |
210 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h |
211 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h | |
212 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h | |
3666d5f6 | 213 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h |
d7345994 | 214 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h |
3666d5f6 VS |
215 | endif |
216 | ||
54da1feb | 217 | if COND_mips_loongson |
5aaf2c18 | 218 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h |
6304d292 | 219 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h |
7da036bb | 220 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/time.h |
6304d292 | 221 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h |
813c1622 | 222 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h |
6304d292 BC |
223 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h |
224 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h | |
6304d292 BC |
225 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h |
226 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h | |
6304d292 BC |
227 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/cs5536.h |
228 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pci.h | |
df3df23d | 229 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h |
685475e5 | 230 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h |
ee74fa48 VS |
231 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h |
232 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
233 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
6304d292 BC |
234 | endif |
235 | ||
f440c33f VS |
236 | if COND_mips_qemu_mips |
237 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/memory.h | |
238 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h | |
239 | endif | |
240 | ||
6304d292 | 241 | if COND_powerpc_ieee1275 |
6304d292 | 242 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h |
ee74fa48 VS |
243 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h |
244 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
245 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
6304d292 BC |
246 | endif |
247 | ||
248 | if COND_sparc64_ieee1275 | |
6304d292 | 249 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h |
6304d292 | 250 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h |
ee74fa48 VS |
251 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h |
252 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
253 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
6304d292 BC |
254 | endif |
255 | ||
389b31cd LL |
256 | if COND_arm_uboot |
257 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/uboot.h | |
258 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/disk.h | |
259 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h | |
260 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h | |
bbc52c22 | 261 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h |
389b31cd LL |
262 | endif |
263 | ||
24e37a88 | 264 | if COND_arm_coreboot |
848bed9d | 265 | KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h |
24e37a88 VS |
266 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h |
267 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h | |
268 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h | |
269 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h | |
270 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h | |
271 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h | |
ac6b41b8 | 272 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdt.h |
265292f2 | 273 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dma.h |
24e37a88 | 274 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/coreboot/kernel.h |
ac6b41b8 | 275 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdtbus.h |
24e37a88 VS |
276 | endif |
277 | ||
389b31cd | 278 | if COND_arm_efi |
389b31cd LL |
279 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h |
280 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h | |
bbc52c22 | 281 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h |
d43a5ee6 | 282 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
389b31cd LL |
283 | endif |
284 | ||
15a463d7 LL |
285 | if COND_arm64_efi |
286 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h | |
f1957dc8 AG |
287 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h |
288 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h | |
289 | endif | |
290 | ||
291 | if COND_riscv32_efi | |
292 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h | |
293 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h | |
294 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h | |
295 | endif | |
296 | ||
297 | if COND_riscv64_efi | |
298 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h | |
15a463d7 | 299 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h |
d43a5ee6 | 300 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/acpi.h |
15a463d7 LL |
301 | endif |
302 | ||
6304d292 | 303 | if COND_emu |
6304d292 BC |
304 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/datetime.h |
305 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/misc.h | |
70671037 | 306 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/net.h |
25ac643a | 307 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostdisk.h |
d7750b32 | 308 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostfile.h |
db99fbe8 | 309 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h |
6304d292 BC |
310 | if COND_GRUB_EMU_SDL |
311 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sdl.h | |
312 | endif | |
6304d292 BC |
313 | if COND_GRUB_EMU_PCI |
314 | KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/libpciaccess.h | |
315 | endif | |
316 | endif | |
317 | ||
318 | symlist.h: $(top_builddir)/config.h $(KERNEL_HEADER_FILES) | |
319 | @list='$^'; \ | |
320 | for p in $$list; do \ | |
321 | echo "#include <$$p>" >> $@ || (rm -f $@; exit 1); \ | |
322 | done | |
323 | CLEANFILES += symlist.h | |
324 | BUILT_SOURCES += symlist.h | |
325 | ||
326 | symlist.c: symlist.h gensymlist.sh | |
327 | $(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) -DGRUB_SYMBOL_GENERATOR=1 symlist.h > symlist.p || (rm -f symlist.p; exit 1) | |
c2ea4434 | 328 | cat symlist.p | $(SHELL) $(srcdir)/gensymlist.sh $(top_builddir)/config.h $(KERNEL_HEADER_FILES) >$@ || (rm -f $@; exit 1) |
6304d292 BC |
329 | rm -f symlist.p |
330 | CLEANFILES += symlist.c | |
331 | BUILT_SOURCES += symlist.c | |
332 | ||
742f9232 | 333 | if COND_HAVE_ASM_USCORE |
f772623b | 334 | ASM_PREFIX=_ |
742f9232 VS |
335 | else |
336 | ASM_PREFIX= | |
337 | endif | |
338 | ||
6304d292 | 339 | noinst_DATA += kernel_syms.lst |
742f9232 | 340 | |
6304d292 BC |
341 | kernel_syms.lst: $(KERNEL_HEADER_FILES) $(top_builddir)/config.h |
342 | $(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) $(CFLAGS) -DGRUB_SYMBOL_GENERATOR=1 $^ >kernel_syms.input | |
6304d292 | 343 | cat kernel_syms.input | grep -v '^#' | sed -n \ |
f772623b YB |
344 | -e '/EXPORT_FUNC *([a-zA-Z0-9_]*)/{s/.*EXPORT_FUNC *(\([a-zA-Z0-9_]*\)).*/defined kernel '"$(ASM_PREFIX)"'\1/;p;}' \ |
345 | -e '/EXPORT_VAR *([a-zA-Z0-9_]*)/{s/.*EXPORT_VAR *(\([a-zA-Z0-9_]*\)).*/defined kernel '"$(ASM_PREFIX)"'\1/;p;}' \ | |
6304d292 BC |
346 | | sort -u >$@ |
347 | rm -f kernel_syms.input | |
348 | CLEANFILES += kernel_syms.lst | |
349 | ||
350 | if COND_emu | |
351 | kern/emu/grub_emu-main.$(OBJEXT):grub_emu_init.h | |
352 | grub_emu-grub_emu_init.$(OBJEXT):grub_emu_init.h | |
353 | kern/emu/grub_emu_dyn-main.$(OBJEXT):grub_emu_init.h | |
354 | grub_emu_dyn-grub_emu_init.$(OBJEXT):grub_emu_init.h | |
355 | ||
01504547 AB |
356 | grub_emu_init.h: genemuinitheader.sh $(MODULE_FILES) |
357 | rm -f $@; echo $(MODULE_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) > $@ | |
6304d292 BC |
358 | CLEANFILES += grub_emu_init.h |
359 | ||
01504547 AB |
360 | grub_emu_init.c: grub_emu_init.h genemuinit.sh $(MODULE_FILES) |
361 | rm -f $@; echo $(MODULE_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) > $@ | |
6304d292 BC |
362 | CLEANFILES += grub_emu_init.c |
363 | endif | |
8c411768 | 364 | |
a0bf9fc9 | 365 | # List files |
8c411768 | 366 | |
6568636e | 367 | fs.lst: $(MARKER_FILES) |
a0bf9fc9 | 368 | (for pp in $^; do \ |
6568636e BC |
369 | b=`basename $$pp .marker`; \ |
370 | if grep 'FS_LIST_MARKER' $$pp >/dev/null 2>&1; then \ | |
a0bf9fc9 BC |
371 | echo $$b; \ |
372 | fi; \ | |
373 | done) | sort -u > $@ | |
8c411768 | 374 | platform_DATA += fs.lst |
6304d292 BC |
375 | CLEANFILES += fs.lst |
376 | ||
6568636e | 377 | command.lst: $(MARKER_FILES) |
a0bf9fc9 | 378 | (for pp in $^; do \ |
6568636e BC |
379 | b=`basename $$pp .marker`; \ |
380 | sed -n \ | |
6568636e | 381 | -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ |
578c9529 | 382 | -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ |
bf16e98e | 383 | -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \ |
578c9529 JMC |
384 | -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \ |
385 | -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \ | |
a0bf9fc9 BC |
386 | done) | sort -u > $@ |
387 | platform_DATA += command.lst | |
6304d292 BC |
388 | CLEANFILES += command.lst |
389 | ||
6568636e | 390 | partmap.lst: $(MARKER_FILES) |
a0bf9fc9 | 391 | (for pp in $^; do \ |
6568636e BC |
392 | b=`basename $$pp .marker`; \ |
393 | if grep 'PARTMAP_LIST_MARKER' $$pp >/dev/null 2>&1; then \ | |
a0bf9fc9 BC |
394 | echo $$b; \ |
395 | fi; \ | |
396 | done) | sort -u > $@ | |
397 | platform_DATA += partmap.lst | |
6304d292 BC |
398 | CLEANFILES += partmap.lst |
399 | ||
6568636e | 400 | terminal.lst: $(MARKER_FILES) |
a0bf9fc9 | 401 | (for pp in $^; do \ |
6568636e BC |
402 | b=`basename $$pp .marker`; \ |
403 | sed -n \ | |
404 | -e "/INPUT_TERMINAL_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/i\1: $$b/;p;}" \ | |
405 | -e "/OUTPUT_TERMINAL_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/o\1: $$b/;p;}" $$pp; \ | |
a0bf9fc9 BC |
406 | done) | sort -u > $@ |
407 | platform_DATA += terminal.lst | |
6304d292 BC |
408 | CLEANFILES += terminal.lst |
409 | ||
fcbb723d VS |
410 | fdt.lst: $(MARKER_FILES) |
411 | (for pp in $^; do \ | |
412 | b=`basename $$pp .marker`; \ | |
413 | sed -n \ | |
414 | -e "/FDT_DRIVER_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/i\1: $$b/;p;}" \ | |
415 | -e "/FDT_DRIVER_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/o\1: $$b/;p;}" $$pp; \ | |
416 | done) | sort -u > $@ | |
417 | platform_DATA += fdt.lst | |
418 | CLEANFILES += fdt.lst | |
419 | ||
6568636e | 420 | parttool.lst: $(MARKER_FILES) |
a0bf9fc9 | 421 | (for pp in $^; do \ |
6568636e BC |
422 | b=`basename $$pp .marker`; \ |
423 | sed -n \ | |
424 | -e "/PARTTOOL_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \ | |
a0bf9fc9 BC |
425 | done) | sort -u > $@ |
426 | platform_DATA += parttool.lst | |
6304d292 BC |
427 | CLEANFILES += parttool.lst |
428 | ||
6568636e | 429 | video.lst: $(MARKER_FILES) |
a0bf9fc9 | 430 | (for pp in $^; do \ |
6568636e BC |
431 | b=`basename $$pp .marker`; \ |
432 | if grep 'VIDEO_LIST_MARKER' $$pp >/dev/null 2>&1; then \ | |
a0bf9fc9 BC |
433 | echo $$b; \ |
434 | fi; \ | |
435 | done) | sort -u > $@ | |
436 | platform_DATA += video.lst | |
6304d292 | 437 | CLEANFILES += video.lst |
8c411768 BC |
438 | |
439 | # but, crypto.lst is simply copied | |
6304d292 | 440 | crypto.lst: $(srcdir)/lib/libgcrypt-grub/cipher/crypto.lst |
8c411768 | 441 | cp $^ $@ |
a0bf9fc9 | 442 | platform_DATA += crypto.lst |
6304d292 | 443 | CLEANFILES += crypto.lst |
8c411768 | 444 | |
0d4552fa BC |
445 | syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES) |
446 | cat kernel_syms.lst > $@.new | |
447 | for m in $(MODULE_FILES); do \ | |
448 | sh $< $$m >> $@.new || exit 1; \ | |
449 | done | |
450 | mv $@.new $@ | |
a0bf9fc9 | 451 | |
8c411768 | 452 | # generate global module dependencies list |
22c7ce85 | 453 | moddep.lst: syminfo.lst genmoddep.awk video.lst |
9e0bee42 | 454 | cat $< | sort | $(AWK) -f $(srcdir)/genmoddep.awk > $@ || (rm -f $@; exit 1) |
0d4552fa | 455 | platform_DATA += moddep.lst |
ea943e89 | 456 | CLEANFILES += config.log syminfo.lst moddep.lst |
6b5f780f | 457 | |
ba83ed15 | 458 | $(MOD_FILES): %.mod : genmod.sh moddep.lst %.module$(EXEEXT) build-grub-module-verifier$(BUILD_EXEEXT) |
f1632d4d | 459 | TARGET_OBJ2ELF=@TARGET_OBJ2ELF@ sh $^ $@ |
6b5f780f | 460 | platform_DATA += $(MOD_FILES) |
6ad6223e | 461 | platform_DATA += modinfo.sh |
6b5f780f | 462 | CLEANFILES += $(MOD_FILES) |
8c411768 | 463 | |
8c411768 BC |
464 | if COND_ENABLE_EFIEMU |
465 | efiemu32.o: efiemu/runtime/efiemu.c $(TARGET_OBJ2ELF) | |
9208367d VS |
466 | -rm -f $@ |
467 | -rm -f $@.bin | |
468 | $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -static -O2 -c -o $@.bin $< | |
a9f25a08 | 469 | if test "x$(TARGET_APPLE_LINKER)" = x1; then \ |
b700a427 | 470 | $(TARGET_OBJCONV) -felf32 -nu -nd $@.bin $@ || exit 1; \ |
9208367d VS |
471 | rm -f $@.bin ; \ |
472 | elif test ! -z "$(TARGET_OBJ2ELF)"; then \ | |
473 | $(TARGET_OBJ2ELF) $@.bin || (rm -f $@.bin; exit 1); \ | |
474 | mv $@.bin $@ ; \ | |
8c411768 | 475 | else \ |
9208367d | 476 | mv $@.bin $@ ; \ |
8c411768 BC |
477 | fi |
478 | ||
c2b70d09 | 479 | # Link format -arch,x86_64 means Apple linker |
8c411768 | 480 | efiemu64_c.o: efiemu/runtime/efiemu.c |
9208367d | 481 | $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -O2 -mcmodel=large -mno-red-zone -c -o $@ $< |
8c411768 BC |
482 | |
483 | efiemu64_s.o: efiemu/runtime/efiemu.S | |
9208367d | 484 | $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mcmodel=large -mno-red-zone -c -o $@ $< |
8c411768 BC |
485 | |
486 | efiemu64.o: efiemu64_c.o efiemu64_s.o $(TARGET_OBJ2ELEF) | |
9208367d VS |
487 | -rm -f $@ |
488 | -rm -f $@.bin | |
489 | $(TARGET_CC) -m64 $(EFIEMU64_LINK_FORMAT) -nostdlib -static -Wl,-r -o $@.bin $^ | |
c2b70d09 | 490 | if test "x$(EFIEMU64_LINK_FORMAT)" = x-arch,x86_64; then \ |
b700a427 | 491 | $(TARGET_OBJCONV) -felf64 -nu -nd $@.bin $@ || exit 1; \ |
8c411768 BC |
492 | rm -f $@.bin; \ |
493 | else \ | |
9208367d | 494 | mv $@.bin $@ ; \ |
8c411768 BC |
495 | fi |
496 | ||
497 | platform_DATA += efiemu32.o efiemu64.o | |
498 | CLEANFILES += efiemu32.o efiemu64.o efiemu64_c.o efiemu64_s.o | |
499 | endif | |
cd46aa6c VS |
500 | |
501 | windowsdir=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows | |
502 | windowsdir: $(PROGRAMS) $(starfield_DATA) $(platform_DATA) | |
503 | test -d $(windowsdir)/$(target_cpu)-$(platform) || mkdir $(windowsdir)/$(target_cpu)-$(platform) | |
504 | for x in $(platform_DATA); do \ | |
505 | cp -fp $$x $(windowsdir)/$(target_cpu)-$(platform)/$$x; \ | |
506 | done |