2009-04-10 Bean <bean123ch@gnail.com>
* include/grub/efi/api.h (grub_efi_configuration_table): Add packed attribute, otherwise the size would be wrong for i386 platform. * include/grub/pci.h (grub_pci_read_word): New inline function. (grub_pci_read_byte): Likewise. (grub_pci_write): Likewise. (grub_pci_write_word): Likewise. (grub_pci_write_byte): Likewise. * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR. * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module. (find_framebuf): Scan pci to locate the frame buffer address. * commands/efi/fixvideo.c: New file. * commands/efi/loadbios.c: Likewise. * commands/memrw.c: Likewise. * util/grub-dumpbios.in: Likewise. * conf/common.rmk (grub-dumpbios): New utility. (pkglib_MODULES): New module memrw.mod. (memrw_mod_SOURCE): New macro. (memrw_mod_CFLAGS): Likewise. (memrw_mod_LDFLAGS): Likewise. * conf/i386-efi.rmk (pkglig_MODULES): New module loadbios.mod and fixvideo.mod. (loadbios_mod_SOURCE): New macro. (loadbios_mod_CFLAGS): Likewise. (loadbios_mod_LDFLAGS): Likewise. (fixvideo_mod_SOURCE): Likewise. (fixvideo_mod_CFLAGS): Likewise. (fixvideo_mod_LDFLAGS): Likewise. * conf/x86_64.rmk (pkglig_MODULES): New module loadbios.mod and fixvideo.mod. (loadbios_mod_SOURCE): New macro. (loadbios_mod_CFLAGS): Likewise. (loadbios_mod_LDFLAGS): Likewise. (fixvideo_mod_SOURCE): Likewise. (fixvideo_mod_CFLAGS): Likewise. (fixvideo_mod_LDFLAGS): Likewise.
This commit is contained in:
parent
af63ada2bd
commit
e7e6862a4c
16 changed files with 1062 additions and 162 deletions
|
@ -600,6 +600,12 @@ CLEANFILES += $(grub-mkconfig_SCRIPTS)
|
|||
|
||||
grub-mkconfig_DATA += util/grub.d/README
|
||||
|
||||
# For grub-dumpbios
|
||||
grub-dumpbios: util/grub-dumpbios.in config.status
|
||||
./config.status --file=$@:$<
|
||||
chmod +x $@
|
||||
sbin_SCRIPTS += grub-dumpbios
|
||||
CLEANFILES += grub-dumpbios
|
||||
|
||||
# Filing systems.
|
||||
pkglib_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
|
||||
|
@ -2444,7 +2450,8 @@ pkglib_MODULES += minicmd.mod extcmd.mod hello.mod handler.mod \
|
|||
ls.mod cmp.mod cat.mod help.mod search.mod \
|
||||
loopback.mod fs_uuid.mod configfile.mod echo.mod \
|
||||
terminfo.mod test.mod blocklist.mod hexdump.mod \
|
||||
read.mod sleep.mod loadenv.mod crc.mod parttool.mod pcpart.mod
|
||||
read.mod sleep.mod loadenv.mod crc.mod parttool.mod \
|
||||
pcpart.mod memrw.mod
|
||||
|
||||
# For minicmd.mod.
|
||||
minicmd_mod_SOURCES = commands/minicmd.c
|
||||
|
@ -3852,6 +3859,63 @@ partmap-crc_mod-lib_crc.lst: lib/crc.c $(lib/crc.c_DEPENDENCIES) genpartmaplist.
|
|||
crc_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
crc_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For memrw.mod.
|
||||
memrw_mod_SOURCES = commands/memrw.c
|
||||
CLEANFILES += memrw.mod mod-memrw.o mod-memrw.c pre-memrw.o memrw_mod-commands_memrw.o und-memrw.lst
|
||||
ifneq ($(memrw_mod_EXPORTS),no)
|
||||
CLEANFILES += def-memrw.lst
|
||||
DEFSYMFILES += def-memrw.lst
|
||||
endif
|
||||
MOSTLYCLEANFILES += memrw_mod-commands_memrw.d
|
||||
UNDSYMFILES += und-memrw.lst
|
||||
|
||||
memrw.mod: pre-memrw.o mod-memrw.o $(TARGET_OBJ2ELF)
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(memrw_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ pre-memrw.o mod-memrw.o
|
||||
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
|
||||
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
|
||||
|
||||
pre-memrw.o: $(memrw_mod_DEPENDENCIES) memrw_mod-commands_memrw.o
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(memrw_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ memrw_mod-commands_memrw.o
|
||||
|
||||
mod-memrw.o: mod-memrw.c
|
||||
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(memrw_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
mod-memrw.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
|
||||
sh $(srcdir)/genmodsrc.sh 'memrw' $< > $@ || (rm -f $@; exit 1)
|
||||
|
||||
ifneq ($(memrw_mod_EXPORTS),no)
|
||||
def-memrw.lst: pre-memrw.o
|
||||
$(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 memrw/' > $@
|
||||
endif
|
||||
|
||||
und-memrw.lst: pre-memrw.o
|
||||
echo 'memrw' > $@
|
||||
$(NM) -u -P -p $< | cut -f1 -d' ' >> $@
|
||||
|
||||
memrw_mod-commands_memrw.o: commands/memrw.c $(commands/memrw.c_DEPENDENCIES)
|
||||
$(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(memrw_mod_CFLAGS) -MD -c -o $@ $<
|
||||
-include memrw_mod-commands_memrw.d
|
||||
|
||||
CLEANFILES += cmd-memrw_mod-commands_memrw.lst fs-memrw_mod-commands_memrw.lst partmap-memrw_mod-commands_memrw.lst
|
||||
COMMANDFILES += cmd-memrw_mod-commands_memrw.lst
|
||||
FSFILES += fs-memrw_mod-commands_memrw.lst
|
||||
PARTMAPFILES += partmap-memrw_mod-commands_memrw.lst
|
||||
|
||||
cmd-memrw_mod-commands_memrw.lst: commands/memrw.c $(commands/memrw.c_DEPENDENCIES) gencmdlist.sh
|
||||
set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(memrw_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh memrw > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-memrw_mod-commands_memrw.lst: commands/memrw.c $(commands/memrw.c_DEPENDENCIES) genfslist.sh
|
||||
set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(memrw_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh memrw > $@ || (rm -f $@; exit 1)
|
||||
|
||||
partmap-memrw_mod-commands_memrw.lst: commands/memrw.c $(commands/memrw.c_DEPENDENCIES) genpartmaplist.sh
|
||||
set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(memrw_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh memrw > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
memrw_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
memrw_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# Common Video Subsystem specific modules.
|
||||
pkglib_MODULES += video.mod videotest.mod bitmap.mod tga.mod jpeg.mod \
|
||||
png.mod font.mod gfxterm.mod
|
||||
|
|
|
@ -155,6 +155,12 @@ CLEANFILES += $(grub-mkconfig_SCRIPTS)
|
|||
|
||||
grub-mkconfig_DATA += util/grub.d/README
|
||||
|
||||
# For grub-dumpbios
|
||||
grub-dumpbios: util/grub-dumpbios.in config.status
|
||||
./config.status --file=$@:$<
|
||||
chmod +x $@
|
||||
sbin_SCRIPTS += grub-dumpbios
|
||||
CLEANFILES += grub-dumpbios
|
||||
|
||||
# Filing systems.
|
||||
pkglib_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
|
||||
|
@ -335,7 +341,8 @@ pkglib_MODULES += minicmd.mod extcmd.mod hello.mod handler.mod \
|
|||
ls.mod cmp.mod cat.mod help.mod search.mod \
|
||||
loopback.mod fs_uuid.mod configfile.mod echo.mod \
|
||||
terminfo.mod test.mod blocklist.mod hexdump.mod \
|
||||
read.mod sleep.mod loadenv.mod crc.mod parttool.mod pcpart.mod
|
||||
read.mod sleep.mod loadenv.mod crc.mod parttool.mod \
|
||||
pcpart.mod memrw.mod
|
||||
|
||||
# For minicmd.mod.
|
||||
minicmd_mod_SOURCES = commands/minicmd.c
|
||||
|
@ -452,6 +459,11 @@ crc_mod_SOURCES = commands/crc.c lib/crc.c
|
|||
crc_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
crc_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For memrw.mod.
|
||||
memrw_mod_SOURCES = commands/memrw.c
|
||||
memrw_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
memrw_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# Common Video Subsystem specific modules.
|
||||
pkglib_MODULES += video.mod videotest.mod bitmap.mod tga.mod jpeg.mod \
|
||||
png.mod font.mod gfxterm.mod
|
||||
|
|
116
conf/i386-efi.mk
116
conf/i386-efi.mk
|
@ -120,7 +120,7 @@ grub-install: util/i386/efi/grub-install.in $(util/i386/efi/grub-install.in_DEPE
|
|||
# Modules.
|
||||
pkglib_MODULES = kernel.mod normal.mod chain.mod appleldr.mod \
|
||||
linux.mod halt.mod reboot.mod pci.mod lspci.mod \
|
||||
datetime.mod date.mod datehook.mod
|
||||
datetime.mod date.mod datehook.mod loadbios.mod fixvideo.mod
|
||||
|
||||
# For kernel.mod.
|
||||
kernel_mod_EXPORTS = no
|
||||
|
@ -1759,5 +1759,119 @@ partmap-datehook_mod-hook_datehook.lst: hook/datehook.c $(hook/datehook.c_DEPEND
|
|||
datehook_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
datehook_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For loadbios.mod
|
||||
loadbios_mod_SOURCES = commands/efi/loadbios.c
|
||||
CLEANFILES += loadbios.mod mod-loadbios.o mod-loadbios.c pre-loadbios.o loadbios_mod-commands_efi_loadbios.o und-loadbios.lst
|
||||
ifneq ($(loadbios_mod_EXPORTS),no)
|
||||
CLEANFILES += def-loadbios.lst
|
||||
DEFSYMFILES += def-loadbios.lst
|
||||
endif
|
||||
MOSTLYCLEANFILES += loadbios_mod-commands_efi_loadbios.d
|
||||
UNDSYMFILES += und-loadbios.lst
|
||||
|
||||
loadbios.mod: pre-loadbios.o mod-loadbios.o $(TARGET_OBJ2ELF)
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(loadbios_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ pre-loadbios.o mod-loadbios.o
|
||||
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
|
||||
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
|
||||
|
||||
pre-loadbios.o: $(loadbios_mod_DEPENDENCIES) loadbios_mod-commands_efi_loadbios.o
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(loadbios_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ loadbios_mod-commands_efi_loadbios.o
|
||||
|
||||
mod-loadbios.o: mod-loadbios.c
|
||||
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
mod-loadbios.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
|
||||
sh $(srcdir)/genmodsrc.sh 'loadbios' $< > $@ || (rm -f $@; exit 1)
|
||||
|
||||
ifneq ($(loadbios_mod_EXPORTS),no)
|
||||
def-loadbios.lst: pre-loadbios.o
|
||||
$(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 loadbios/' > $@
|
||||
endif
|
||||
|
||||
und-loadbios.lst: pre-loadbios.o
|
||||
echo 'loadbios' > $@
|
||||
$(NM) -u -P -p $< | cut -f1 -d' ' >> $@
|
||||
|
||||
loadbios_mod-commands_efi_loadbios.o: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES)
|
||||
$(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -MD -c -o $@ $<
|
||||
-include loadbios_mod-commands_efi_loadbios.d
|
||||
|
||||
CLEANFILES += cmd-loadbios_mod-commands_efi_loadbios.lst fs-loadbios_mod-commands_efi_loadbios.lst partmap-loadbios_mod-commands_efi_loadbios.lst
|
||||
COMMANDFILES += cmd-loadbios_mod-commands_efi_loadbios.lst
|
||||
FSFILES += fs-loadbios_mod-commands_efi_loadbios.lst
|
||||
PARTMAPFILES += partmap-loadbios_mod-commands_efi_loadbios.lst
|
||||
|
||||
cmd-loadbios_mod-commands_efi_loadbios.lst: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES) gencmdlist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh loadbios > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-loadbios_mod-commands_efi_loadbios.lst: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES) genfslist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh loadbios > $@ || (rm -f $@; exit 1)
|
||||
|
||||
partmap-loadbios_mod-commands_efi_loadbios.lst: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES) genpartmaplist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh loadbios > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For fixvideo.mod
|
||||
fixvideo_mod_SOURCES = commands/efi/fixvideo.c
|
||||
CLEANFILES += fixvideo.mod mod-fixvideo.o mod-fixvideo.c pre-fixvideo.o fixvideo_mod-commands_efi_fixvideo.o und-fixvideo.lst
|
||||
ifneq ($(fixvideo_mod_EXPORTS),no)
|
||||
CLEANFILES += def-fixvideo.lst
|
||||
DEFSYMFILES += def-fixvideo.lst
|
||||
endif
|
||||
MOSTLYCLEANFILES += fixvideo_mod-commands_efi_fixvideo.d
|
||||
UNDSYMFILES += und-fixvideo.lst
|
||||
|
||||
fixvideo.mod: pre-fixvideo.o mod-fixvideo.o $(TARGET_OBJ2ELF)
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(fixvideo_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ pre-fixvideo.o mod-fixvideo.o
|
||||
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
|
||||
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
|
||||
|
||||
pre-fixvideo.o: $(fixvideo_mod_DEPENDENCIES) fixvideo_mod-commands_efi_fixvideo.o
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(fixvideo_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ fixvideo_mod-commands_efi_fixvideo.o
|
||||
|
||||
mod-fixvideo.o: mod-fixvideo.c
|
||||
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
mod-fixvideo.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
|
||||
sh $(srcdir)/genmodsrc.sh 'fixvideo' $< > $@ || (rm -f $@; exit 1)
|
||||
|
||||
ifneq ($(fixvideo_mod_EXPORTS),no)
|
||||
def-fixvideo.lst: pre-fixvideo.o
|
||||
$(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 fixvideo/' > $@
|
||||
endif
|
||||
|
||||
und-fixvideo.lst: pre-fixvideo.o
|
||||
echo 'fixvideo' > $@
|
||||
$(NM) -u -P -p $< | cut -f1 -d' ' >> $@
|
||||
|
||||
fixvideo_mod-commands_efi_fixvideo.o: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES)
|
||||
$(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -MD -c -o $@ $<
|
||||
-include fixvideo_mod-commands_efi_fixvideo.d
|
||||
|
||||
CLEANFILES += cmd-fixvideo_mod-commands_efi_fixvideo.lst fs-fixvideo_mod-commands_efi_fixvideo.lst partmap-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
COMMANDFILES += cmd-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
FSFILES += fs-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
PARTMAPFILES += partmap-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
|
||||
cmd-fixvideo_mod-commands_efi_fixvideo.lst: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES) gencmdlist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh fixvideo > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-fixvideo_mod-commands_efi_fixvideo.lst: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES) genfslist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh fixvideo > $@ || (rm -f $@; exit 1)
|
||||
|
||||
partmap-fixvideo_mod-commands_efi_fixvideo.lst: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES) genpartmaplist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh fixvideo > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
include $(srcdir)/conf/i386.mk
|
||||
include $(srcdir)/conf/common.mk
|
||||
|
|
|
@ -81,7 +81,7 @@ grub_install_SOURCES = util/i386/efi/grub-install.in
|
|||
# Modules.
|
||||
pkglib_MODULES = kernel.mod normal.mod chain.mod appleldr.mod \
|
||||
linux.mod halt.mod reboot.mod pci.mod lspci.mod \
|
||||
datetime.mod date.mod datehook.mod
|
||||
datetime.mod date.mod datehook.mod loadbios.mod fixvideo.mod
|
||||
|
||||
# For kernel.mod.
|
||||
kernel_mod_EXPORTS = no
|
||||
|
@ -184,5 +184,15 @@ datehook_mod_SOURCES = hook/datehook.c
|
|||
datehook_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
datehook_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For loadbios.mod
|
||||
loadbios_mod_SOURCES = commands/efi/loadbios.c
|
||||
loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For fixvideo.mod
|
||||
fixvideo_mod_SOURCES = commands/efi/fixvideo.c
|
||||
fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
include $(srcdir)/conf/i386.mk
|
||||
include $(srcdir)/conf/common.mk
|
||||
|
|
|
@ -108,7 +108,7 @@ grub-install: util/i386/efi/grub-install.in $(util/i386/efi/grub-install.in_DEPE
|
|||
# Modules.
|
||||
pkglib_MODULES = kernel.mod normal.mod chain.mod appleldr.mod \
|
||||
halt.mod reboot.mod linux.mod pci.mod lspci.mod \
|
||||
datetime.mod date.mod datehook.mod
|
||||
datetime.mod date.mod datehook.mod loadbios.mod fixvideo.mod
|
||||
|
||||
# For kernel.mod.
|
||||
kernel_mod_EXPORTS = no
|
||||
|
@ -1767,5 +1767,119 @@ partmap-datehook_mod-hook_datehook.lst: hook/datehook.c $(hook/datehook.c_DEPEND
|
|||
datehook_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
datehook_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For loadbios.mod
|
||||
loadbios_mod_SOURCES = commands/efi/loadbios.c
|
||||
CLEANFILES += loadbios.mod mod-loadbios.o mod-loadbios.c pre-loadbios.o loadbios_mod-commands_efi_loadbios.o und-loadbios.lst
|
||||
ifneq ($(loadbios_mod_EXPORTS),no)
|
||||
CLEANFILES += def-loadbios.lst
|
||||
DEFSYMFILES += def-loadbios.lst
|
||||
endif
|
||||
MOSTLYCLEANFILES += loadbios_mod-commands_efi_loadbios.d
|
||||
UNDSYMFILES += und-loadbios.lst
|
||||
|
||||
loadbios.mod: pre-loadbios.o mod-loadbios.o $(TARGET_OBJ2ELF)
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(loadbios_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ pre-loadbios.o mod-loadbios.o
|
||||
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
|
||||
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
|
||||
|
||||
pre-loadbios.o: $(loadbios_mod_DEPENDENCIES) loadbios_mod-commands_efi_loadbios.o
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(loadbios_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ loadbios_mod-commands_efi_loadbios.o
|
||||
|
||||
mod-loadbios.o: mod-loadbios.c
|
||||
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
mod-loadbios.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
|
||||
sh $(srcdir)/genmodsrc.sh 'loadbios' $< > $@ || (rm -f $@; exit 1)
|
||||
|
||||
ifneq ($(loadbios_mod_EXPORTS),no)
|
||||
def-loadbios.lst: pre-loadbios.o
|
||||
$(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 loadbios/' > $@
|
||||
endif
|
||||
|
||||
und-loadbios.lst: pre-loadbios.o
|
||||
echo 'loadbios' > $@
|
||||
$(NM) -u -P -p $< | cut -f1 -d' ' >> $@
|
||||
|
||||
loadbios_mod-commands_efi_loadbios.o: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES)
|
||||
$(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -MD -c -o $@ $<
|
||||
-include loadbios_mod-commands_efi_loadbios.d
|
||||
|
||||
CLEANFILES += cmd-loadbios_mod-commands_efi_loadbios.lst fs-loadbios_mod-commands_efi_loadbios.lst partmap-loadbios_mod-commands_efi_loadbios.lst
|
||||
COMMANDFILES += cmd-loadbios_mod-commands_efi_loadbios.lst
|
||||
FSFILES += fs-loadbios_mod-commands_efi_loadbios.lst
|
||||
PARTMAPFILES += partmap-loadbios_mod-commands_efi_loadbios.lst
|
||||
|
||||
cmd-loadbios_mod-commands_efi_loadbios.lst: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES) gencmdlist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh loadbios > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-loadbios_mod-commands_efi_loadbios.lst: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES) genfslist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh loadbios > $@ || (rm -f $@; exit 1)
|
||||
|
||||
partmap-loadbios_mod-commands_efi_loadbios.lst: commands/efi/loadbios.c $(commands/efi/loadbios.c_DEPENDENCIES) genpartmaplist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadbios_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh loadbios > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For fixvideo.mod
|
||||
fixvideo_mod_SOURCES = commands/efi/fixvideo.c
|
||||
CLEANFILES += fixvideo.mod mod-fixvideo.o mod-fixvideo.c pre-fixvideo.o fixvideo_mod-commands_efi_fixvideo.o und-fixvideo.lst
|
||||
ifneq ($(fixvideo_mod_EXPORTS),no)
|
||||
CLEANFILES += def-fixvideo.lst
|
||||
DEFSYMFILES += def-fixvideo.lst
|
||||
endif
|
||||
MOSTLYCLEANFILES += fixvideo_mod-commands_efi_fixvideo.d
|
||||
UNDSYMFILES += und-fixvideo.lst
|
||||
|
||||
fixvideo.mod: pre-fixvideo.o mod-fixvideo.o $(TARGET_OBJ2ELF)
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(fixvideo_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ pre-fixvideo.o mod-fixvideo.o
|
||||
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
|
||||
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
|
||||
|
||||
pre-fixvideo.o: $(fixvideo_mod_DEPENDENCIES) fixvideo_mod-commands_efi_fixvideo.o
|
||||
-rm -f $@
|
||||
$(TARGET_CC) $(fixvideo_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ fixvideo_mod-commands_efi_fixvideo.o
|
||||
|
||||
mod-fixvideo.o: mod-fixvideo.c
|
||||
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
mod-fixvideo.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
|
||||
sh $(srcdir)/genmodsrc.sh 'fixvideo' $< > $@ || (rm -f $@; exit 1)
|
||||
|
||||
ifneq ($(fixvideo_mod_EXPORTS),no)
|
||||
def-fixvideo.lst: pre-fixvideo.o
|
||||
$(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 fixvideo/' > $@
|
||||
endif
|
||||
|
||||
und-fixvideo.lst: pre-fixvideo.o
|
||||
echo 'fixvideo' > $@
|
||||
$(NM) -u -P -p $< | cut -f1 -d' ' >> $@
|
||||
|
||||
fixvideo_mod-commands_efi_fixvideo.o: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES)
|
||||
$(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -MD -c -o $@ $<
|
||||
-include fixvideo_mod-commands_efi_fixvideo.d
|
||||
|
||||
CLEANFILES += cmd-fixvideo_mod-commands_efi_fixvideo.lst fs-fixvideo_mod-commands_efi_fixvideo.lst partmap-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
COMMANDFILES += cmd-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
FSFILES += fs-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
PARTMAPFILES += partmap-fixvideo_mod-commands_efi_fixvideo.lst
|
||||
|
||||
cmd-fixvideo_mod-commands_efi_fixvideo.lst: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES) gencmdlist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh fixvideo > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-fixvideo_mod-commands_efi_fixvideo.lst: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES) genfslist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh fixvideo > $@ || (rm -f $@; exit 1)
|
||||
|
||||
partmap-fixvideo_mod-commands_efi_fixvideo.lst: commands/efi/fixvideo.c $(commands/efi/fixvideo.c_DEPENDENCIES) genpartmaplist.sh
|
||||
set -e; $(TARGET_CC) -Icommands/efi -I$(srcdir)/commands/efi $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(fixvideo_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh fixvideo > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
include $(srcdir)/conf/i386.mk
|
||||
include $(srcdir)/conf/common.mk
|
||||
|
|
|
@ -83,7 +83,7 @@ grub_install_SOURCES = util/i386/efi/grub-install.in
|
|||
# Modules.
|
||||
pkglib_MODULES = kernel.mod normal.mod chain.mod appleldr.mod \
|
||||
halt.mod reboot.mod linux.mod pci.mod lspci.mod \
|
||||
datetime.mod date.mod datehook.mod
|
||||
datetime.mod date.mod datehook.mod loadbios.mod fixvideo.mod
|
||||
|
||||
# For kernel.mod.
|
||||
kernel_mod_EXPORTS = no
|
||||
|
@ -187,5 +187,15 @@ datehook_mod_SOURCES = hook/datehook.c
|
|||
datehook_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
datehook_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For loadbios.mod
|
||||
loadbios_mod_SOURCES = commands/efi/loadbios.c
|
||||
loadbios_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
loadbios_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For fixvideo.mod
|
||||
fixvideo_mod_SOURCES = commands/efi/fixvideo.c
|
||||
fixvideo_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
include $(srcdir)/conf/i386.mk
|
||||
include $(srcdir)/conf/common.mk
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue