~ubuntu-branches/ubuntu/utopic/grub2/utopic-proposed

« back to all changes in this revision

Viewing changes to .pc/ppc64el-skip-libgcc.patch/grub-core/Makefile.am

  • Committer: Package Import Robot
  • Author(s): Colin Watson, Colin Watson, Ian Campbell
  • Date: 2014-09-19 15:19:26 UTC
  • Revision ID: package-import@ubuntu.com-20140919151926-rcdir1d6f4hs1lra
Tags: 2.02~beta2-12
[ Colin Watson ]
* Point Vcs-* fields back at master.
* Support grub-emu on x32 (closes: #760428).
* Adjust packaging for x32:
  - Build-depend on cpio on x32 as well.
  - Make grub-efi-ia32-bin and grub-efi-amd64-bin depend on efibootmgr on
    any Linux architecture for which they are built (in practice, adding
    x32).
  - Build grub-mount-udeb on x32 as well.
  - Add Lintian binary-from-other-architecture overrides where
    appropriate.
* Apply patches from Paulo Flabiano Smorigo to allow building a 32-bit
  big-endian loader on ppc64el using -m32 -mbig-endian, replacing the
  cross-compiler hack.

[ Ian Campbell ]
* Add dependency on efibootmgr to grub-efi-{arm,arm64}-bin.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
AUTOMAKE_OPTIONS = subdir-objects -Wno-portability
 
2
 
 
3
DEPDIR=.deps-core
 
4
 
 
5
include $(top_srcdir)/conf/Makefile.common
 
6
 
 
7
CC=$(TARGET_CC)
 
8
CPP=$(TARGET_CC)
 
9
CCAS=$(TARGET_CC)
 
10
RANLIB=$(TARGET_RANLIB)
 
11
STRIP=$(TARGET_STRIP)
 
12
 
 
13
MACHO2IMG=$(top_builddir)/grub-macho2img
 
14
 
 
15
AM_CFLAGS = $(TARGET_CFLAGS)
 
16
AM_LDFLAGS = $(TARGET_LDFLAGS)
 
17
AM_CPPFLAGS = $(TARGET_CPPFLAGS) $(CPPFLAGS_DEFAULT)
 
18
AM_CCASFLAGS = $(TARGET_CCASFLAGS) $(CCASFLAGS_DEFAULT)
 
19
 
 
20
CFLAGS_PROGRAM += $(CFLAGS_PLATFORM)
 
21
LDFLAGS_PROGRAM += $(LDFLAGS_PLATFORM)
 
22
CPPFLAGS_PROGRAM += $(CPPFLAGS_PLATFORM)
 
23
CCASFLAGS_PROGRAM += $(CCASFLAGS_PLATFORM)
 
24
 
 
25
CFLAGS_LIBRARY += $(CFLAGS_PLATFORM) -fno-builtin
 
26
CPPFLAGS_LIBRARY += $(CPPFLAGS_PLATFORM)
 
27
CCASFLAGS_LIBRARY += $(CCASFLAGS_PLATFORM)
 
28
 
 
29
build-grub-pep2elf: $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c
 
30
        $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -DGRUB_BUILD=1 -DGRUB_TARGET_WORDSIZE=64 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pep2elf\" $^
 
31
 
 
32
build-grub-pe2elf: $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c
 
33
        $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -DGRUB_BUILD=1 -DGRUB_TARGET_WORDSIZE=32 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pe2elf\" $^
 
34
 
 
35
# gentrigtables
 
36
gentrigtables: gentrigtables.c
 
37
        $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< $(BUILD_LIBM)
 
38
CLEANFILES += gentrigtables
 
39
 
 
40
# trigtables.c
 
41
trigtables.c: gentrigtables gentrigtables.c $(top_srcdir)/configure.ac
 
42
        ./gentrigtables > $@
 
43
CLEANFILES += trigtables.c
 
44
 
 
45
# XXX Use Automake's LEX & YACC support
 
46
grub_script.tab.h: script/parser.y
 
47
        $(YACC) -d -p grub_script_yy -b grub_script $<
 
48
grub_script.tab.c: grub_script.tab.h
 
49
CLEANFILES += grub_script.tab.c grub_script.tab.h
 
50
 
 
51
# For the lexer.
 
52
grub_script.yy.h: script/yylex.l
 
53
        $(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $<
 
54
grub_script.yy.c: grub_script.yy.h
 
55
 
 
56
rs_decoder.h: $(srcdir)/lib/reed_solomon.c
 
57
        $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Os -I$(top_builddir) -S -DSTANDALONE -o $@ $< -g0 -mregparm=3 -ffreestanding
 
58
 
 
59
CLEANFILES += grub_script.yy.c grub_script.yy.h
 
60
 
 
61
include $(srcdir)/Makefile.core.am
 
62
 
 
63
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/cache.h
 
64
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/command.h
 
65
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/device.h
 
66
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/disk.h
 
67
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dl.h
 
68
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env.h
 
69
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env_private.h
 
70
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/err.h
 
71
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/file.h
 
72
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fs.h
 
73
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i18n.h
 
74
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/kernel.h
 
75
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/list.h
 
76
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/misc.h
 
77
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm.h
 
78
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h
 
79
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h
 
80
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h
 
81
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h
 
82
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm_private.h
 
83
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/net.h
 
84
if !COND_clang
 
85
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/libgcc.h
 
86
endif
 
87
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/memory.h
 
88
 
 
89
if COND_i386_pc
 
90
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
 
91
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pxe.h
 
92
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/int.h
 
93
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
94
endif
 
95
 
 
96
if COND_i386_efi
 
97
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
 
98
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
 
99
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
100
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
 
101
endif
 
102
 
 
103
if COND_i386_coreboot
 
104
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
105
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/coreboot/lbio.h
 
106
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
 
107
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
 
108
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
 
109
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
 
110
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
 
111
endif
 
112
 
 
113
if COND_i386_multiboot
 
114
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
115
endif
 
116
 
 
117
if COND_i386_qemu
 
118
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
 
119
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
120
endif
 
121
 
 
122
if COND_i386_ieee1275
 
123
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
 
124
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
125
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
126
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
127
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
128
endif
 
129
 
 
130
if COND_i386_xen
 
131
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h
 
132
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/xen/hypercall.h
 
133
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
134
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
135
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
136
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
 
137
endif
 
138
 
 
139
if COND_x86_64_xen
 
140
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h
 
141
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/x86_64/xen/hypercall.h
 
142
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
143
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
144
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
145
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
 
146
endif
 
147
 
 
148
if COND_x86_64_efi
 
149
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
 
150
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
 
151
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
 
152
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
 
153
endif
 
154
 
 
155
if COND_ia64_efi
 
156
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
 
157
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
 
158
endif
 
159
 
 
160
if COND_mips
 
161
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/kernel.h
 
162
endif
 
163
 
 
164
if COND_mips_arc
 
165
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
166
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arc/arc.h
 
167
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
168
endif
 
169
 
 
170
if COND_mips_qemu_mips
 
171
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
 
172
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
 
173
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h
 
174
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.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
endif
 
179
 
 
180
if COND_mips_loongson
 
181
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
 
182
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
 
183
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/time.h
 
184
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
 
185
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
 
186
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
 
187
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
 
188
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
 
189
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
 
190
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/cs5536.h
 
191
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pci.h
 
192
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h
 
193
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
 
194
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
195
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
196
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
197
endif
 
198
 
 
199
if COND_mips_qemu_mips
 
200
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/memory.h
 
201
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
 
202
endif
 
203
 
 
204
if COND_powerpc_ieee1275
 
205
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
 
206
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
207
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
208
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
209
endif
 
210
 
 
211
if COND_sparc64_ieee1275
 
212
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
 
213
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h
 
214
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
 
215
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
216
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
217
endif
 
218
 
 
219
if COND_arm_uboot
 
220
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/uboot.h
 
221
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/disk.h
 
222
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
223
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
 
224
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
 
225
endif
 
226
 
 
227
if COND_arm_efi
 
228
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/efi/loader.h
 
229
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
 
230
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
 
231
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
 
232
endif
 
233
 
 
234
if COND_arm64_efi
 
235
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
 
236
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
 
237
endif
 
238
 
 
239
if COND_emu
 
240
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/datetime.h
 
241
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/misc.h
 
242
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/net.h
 
243
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostdisk.h
 
244
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostfile.h
 
245
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
 
246
if COND_GRUB_EMU_SDL
 
247
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sdl.h
 
248
endif
 
249
if COND_GRUB_EMU_USB
 
250
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/libusb.h
 
251
endif
 
252
if COND_GRUB_EMU_PCI
 
253
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/libpciaccess.h
 
254
endif
 
255
endif
 
256
 
 
257
symlist.h: $(top_builddir)/config.h $(KERNEL_HEADER_FILES)
 
258
        @list='$^'; \
 
259
        for p in $$list; do \
 
260
          echo "#include <$$p>" >> $@ || (rm -f $@; exit 1); \
 
261
        done
 
262
CLEANFILES += symlist.h
 
263
BUILT_SOURCES += symlist.h
 
264
 
 
265
symlist.c: symlist.h gensymlist.sh
 
266
        $(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) -DGRUB_SYMBOL_GENERATOR=1 symlist.h > symlist.p || (rm -f symlist.p; exit 1)
 
267
        cat symlist.p | /bin/sh $(srcdir)/gensymlist.sh $(top_builddir)/config.h $(KERNEL_HEADER_FILES) >$@ || (rm -f $@; exit 1)
 
268
        rm -f symlist.p
 
269
CLEANFILES += symlist.c
 
270
BUILT_SOURCES += symlist.c
 
271
 
 
272
if COND_HAVE_ASM_USCORE
 
273
ASM_PREFIX=_
 
274
else
 
275
ASM_PREFIX=
 
276
endif
 
277
 
 
278
noinst_DATA += kernel_syms.lst
 
279
 
 
280
kernel_syms.lst: $(KERNEL_HEADER_FILES) $(top_builddir)/config.h
 
281
        $(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) $(CFLAGS) -DGRUB_SYMBOL_GENERATOR=1 $^ >kernel_syms.input
 
282
        cat kernel_syms.input | grep -v '^#' | sed -n \
 
283
          -e '/EXPORT_FUNC *([a-zA-Z0-9_]*)/{s/.*EXPORT_FUNC *(\([a-zA-Z0-9_]*\)).*/defined kernel '"$(ASM_PREFIX)"'\1/;p;}' \
 
284
          -e '/EXPORT_VAR *([a-zA-Z0-9_]*)/{s/.*EXPORT_VAR *(\([a-zA-Z0-9_]*\)).*/defined kernel '"$(ASM_PREFIX)"'\1/;p;}' \
 
285
          | sort -u >$@
 
286
        rm -f kernel_syms.input
 
287
CLEANFILES += kernel_syms.lst
 
288
 
 
289
if COND_emu
 
290
kern/emu/grub_emu-main.$(OBJEXT):grub_emu_init.h
 
291
grub_emu-grub_emu_init.$(OBJEXT):grub_emu_init.h
 
292
kern/emu/grub_emu_dyn-main.$(OBJEXT):grub_emu_init.h
 
293
grub_emu_dyn-grub_emu_init.$(OBJEXT):grub_emu_init.h
 
294
 
 
295
grub_emu_init.h: genemuinitheader.sh $(MOD_FILES)
 
296
        rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) > $@
 
297
CLEANFILES += grub_emu_init.h
 
298
 
 
299
grub_emu_init.c: grub_emu_init.h genemuinit.sh $(MOD_FILES)
 
300
        rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) > $@
 
301
CLEANFILES += grub_emu_init.c
 
302
endif
 
303
 
 
304
# List files
 
305
 
 
306
fs.lst: $(MARKER_FILES)
 
307
        (for pp in $^; do \
 
308
          b=`basename $$pp .marker`; \
 
309
          if grep 'FS_LIST_MARKER' $$pp >/dev/null 2>&1; then \
 
310
            echo $$b; \
 
311
          fi; \
 
312
        done) | sort -u > $@
 
313
platform_DATA += fs.lst
 
314
CLEANFILES += fs.lst
 
315
 
 
316
command.lst: $(MARKER_FILES)
 
317
        (for pp in $^; do \
 
318
          b=`basename $$pp .marker`; \
 
319
          sed -n \
 
320
            -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
 
321
            -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
 
322
            -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
 
323
        done) | sort -u > $@
 
324
platform_DATA += command.lst
 
325
CLEANFILES += command.lst
 
326
 
 
327
partmap.lst: $(MARKER_FILES)
 
328
        (for pp in $^; do \
 
329
          b=`basename $$pp .marker`; \
 
330
          if grep 'PARTMAP_LIST_MARKER' $$pp >/dev/null 2>&1; then \
 
331
            echo $$b; \
 
332
          fi; \
 
333
        done) | sort -u > $@
 
334
platform_DATA += partmap.lst
 
335
CLEANFILES += partmap.lst
 
336
 
 
337
terminal.lst: $(MARKER_FILES)
 
338
        (for pp in $^; do \
 
339
          b=`basename $$pp .marker`; \
 
340
          sed -n \
 
341
            -e "/INPUT_TERMINAL_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/i\1: $$b/;p;}" \
 
342
            -e "/OUTPUT_TERMINAL_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/o\1: $$b/;p;}" $$pp; \
 
343
        done) | sort -u > $@
 
344
platform_DATA += terminal.lst
 
345
CLEANFILES += terminal.lst
 
346
 
 
347
parttool.lst: $(MARKER_FILES)
 
348
        (for pp in $^; do \
 
349
          b=`basename $$pp .marker`; \
 
350
          sed -n \
 
351
            -e "/PARTTOOL_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
 
352
        done) | sort -u > $@
 
353
platform_DATA += parttool.lst
 
354
CLEANFILES += parttool.lst
 
355
 
 
356
video.lst: $(MARKER_FILES)
 
357
        (for pp in $^; do \
 
358
          b=`basename $$pp .marker`; \
 
359
          if grep 'VIDEO_LIST_MARKER' $$pp >/dev/null 2>&1; then \
 
360
            echo $$b; \
 
361
          fi; \
 
362
        done) | sort -u > $@
 
363
platform_DATA += video.lst
 
364
CLEANFILES += video.lst
 
365
 
 
366
# but, crypto.lst is simply copied
 
367
crypto.lst: $(srcdir)/lib/libgcrypt-grub/cipher/crypto.lst
 
368
        cp $^ $@
 
369
platform_DATA += crypto.lst
 
370
CLEANFILES += crypto.lst
 
371
 
 
372
syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES)
 
373
        cat kernel_syms.lst > $@.new
 
374
        for m in $(MODULE_FILES); do \
 
375
          sh $< $$m >> $@.new || exit 1; \
 
376
        done
 
377
        mv $@.new $@
 
378
 
 
379
# generate global module dependencies list
 
380
moddep.lst: syminfo.lst genmoddep.awk video.lst
 
381
        cat $< | sort | $(AWK) -f $(srcdir)/genmoddep.awk > $@ || (rm -f $@; exit 1)
 
382
platform_DATA += moddep.lst
 
383
CLEANFILES += config.log syminfo.lst moddep.lst
 
384
 
 
385
$(MOD_FILES): %.mod : genmod.sh moddep.lst %.module$(EXEEXT)
 
386
        TARGET_OBJ2ELF=@TARGET_OBJ2ELF@ sh $^ $@
 
387
platform_DATA += $(MOD_FILES)
 
388
platform_DATA += modinfo.sh
 
389
CLEANFILES += $(MOD_FILES)
 
390
 
 
391
if COND_ENABLE_EFIEMU
 
392
efiemu32.o: efiemu/runtime/efiemu.c $(TARGET_OBJ2ELF)
 
393
        -rm -f $@
 
394
        -rm -f $@.bin
 
395
        $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -static -O2 -c -o $@.bin $<
 
396
        if test "x$(TARGET_APPLE_LINKER)" = x1; then \
 
397
          $(TARGET_OBJCONV) -felf32 -nu -nd $@.bin $@ || exit 1; \
 
398
          rm -f $@.bin ; \
 
399
        elif test ! -z "$(TARGET_OBJ2ELF)"; then \
 
400
          $(TARGET_OBJ2ELF) $@.bin || (rm -f $@.bin; exit 1); \
 
401
          mv $@.bin $@ ; \
 
402
        else \
 
403
          mv $@.bin $@ ; \
 
404
        fi
 
405
 
 
406
# Link format -arch,x86_64 means Apple linker
 
407
efiemu64_c.o: efiemu/runtime/efiemu.c
 
408
        $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -O2 -mcmodel=large -mno-red-zone -c -o $@ $<
 
409
 
 
410
efiemu64_s.o: efiemu/runtime/efiemu.S
 
411
        $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mcmodel=large -mno-red-zone -c -o $@ $<
 
412
 
 
413
efiemu64.o: efiemu64_c.o efiemu64_s.o $(TARGET_OBJ2ELEF)
 
414
        -rm -f $@
 
415
        -rm -f $@.bin
 
416
        $(TARGET_CC) -m64 $(EFIEMU64_LINK_FORMAT) -nostdlib -static -Wl,-r -o $@.bin $^
 
417
        if test "x$(EFIEMU64_LINK_FORMAT)" = x-arch,x86_64; then \
 
418
          $(TARGET_OBJCONV) -felf64 -nu -nd $@.bin $@ || exit 1; \
 
419
          rm -f $@.bin; \
 
420
        else \
 
421
          mv $@.bin $@ ; \
 
422
        fi
 
423
 
 
424
platform_DATA += efiemu32.o efiemu64.o
 
425
CLEANFILES += efiemu32.o efiemu64.o efiemu64_c.o efiemu64_s.o
 
426
endif
 
427
 
 
428
windowsdir=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows
 
429
windowsdir: $(PROGRAMS) $(starfield_DATA) $(platform_DATA)
 
430
        test -d $(windowsdir)/$(target_cpu)-$(platform) || mkdir $(windowsdir)/$(target_cpu)-$(platform)
 
431
        for x in $(platform_DATA); do \
 
432
                cp -fp $$x $(windowsdir)/$(target_cpu)-$(platform)/$$x; \
 
433
        done