From a75c9c5f5b624dad93765b32b6d54769af673204 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Feb 16 2012 16:46:19 +0000 Subject: Merge branch 'master' of ssh://pkgs.fedoraproject.org/grub --- diff --git a/0001-Fall-back-to-old-efi-GOP-detection-behavior.patch b/0001-Fall-back-to-old-efi-GOP-detection-behavior.patch deleted file mode 100644 index f377b49..0000000 --- a/0001-Fall-back-to-old-efi-GOP-detection-behavior.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 2696bda9f0bd3811b7d51930c5a619dcb0d64d7b Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 27 Sep 2011 16:42:40 -0400 -Subject: [PATCH] Fall back to old efi GOP detection behavior. - -It appears that on many machines, the GOP driver is not connected to PCI_IO. -The fix to make some macs work better didn't take this into account, so it -broke those machines. This patch falls back to the older behavior which worked -on those machines. - ---- - efi/efigraph.c | 3 +++ - efi/efiuga.c | 3 +++ - 2 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/efi/efigraph.c b/efi/efigraph.c -index c285d39..fc88123 100644 ---- a/efi/efigraph.c -+++ b/efi/efigraph.c -@@ -1413,6 +1413,9 @@ enable(struct graphics_backend *backend) - - grub_free(handles); - -+ if (!eg->output_intf) -+ eg->output_intf = grub_efi_locate_protocol(&graphics_output_guid, NULL); -+ - if (!eg->output_intf) - goto fail; - -diff --git a/efi/efiuga.c b/efi/efiuga.c -index e035c55..b27500b 100644 ---- a/efi/efiuga.c -+++ b/efi/efiuga.c -@@ -912,6 +912,9 @@ enable(struct graphics_backend *backend) - - grub_free(handles); - -+ if (!uga->draw_intf) -+ uga->draw_intf = grub_efi_locate_protocol(&draw_guid, NULL); -+ - if (!uga->draw_intf) { - grub_free(uga); - return 0; --- -1.7.6 - diff --git a/grub-fedora-16.patch b/grub-fedora-16.patch deleted file mode 100644 index 03d2086..0000000 --- a/grub-fedora-16.patch +++ /dev/null @@ -1,47133 +0,0 @@ -From: Peter Jones -Date: Mon, 14 Mar, 2011 09:29:00 -0500 -Subject: [PATCH] Changes from grub-0.97 to fedora-16 - -This patch is a bundle of the changes between grub-0.97 and fedora-16. -It can be reginerated from the git repository at: - -http://git.kernel.org/?p=boot/grub-fedora/grub-fedora.git;a=summary - -Using the command: - -git diff grub-0.97 fedora-16 - - .gitignore | 8 - ChangeLog | 48 - Makefile.am | 3 - Makefile.in | 175 - acinclude.m4 | 4 - aclocal.m4 | 555 +- - config.h.in | 5 - configure | 7639 ----------------------------------------- - configure.in | 113 - docs/.gitignore | 3 - docs/Makefile.am | 9 - docs/Makefile.in | 260 - - docs/grub-crypt.8 | 39 - docs/grub-install.8 | 2 - docs/grub.8 | 2 - docs/grub.info | 370 + - docs/grub.texi | 79 - docs/stamp-vti | 4 - docs/version.texi | 4 - efi/.gitignore | 7 - efi/Makefile.am | 76 - efi/byteswap.h | 37 - efi/dhcp.h | 133 - efi/efichainloader.c | 265 + - efi/eficon.c | 306 + - efi/eficore.c | 241 + - efi/efidisk.c | 785 ++++ - efi/efidp.c | 999 +++++ - efi/efigraph.c | 1498 ++++++++ - efi/efimain.c | 129 - efi/efimisc.c | 665 +++ - efi/efimm.c | 539 ++ - efi/efiserial.c | 265 + - efi/efitftp.c | 228 + - efi/efiuga.c | 979 +++++ - efi/font_8x16.c | 4638 ++++++++++++++++++++++++ - efi/graphics.c | 659 +++ - efi/graphics.h | 81 - efi/grub/.gitignore | 1 - efi/grub/efi/api.h | 1716 +++++++++ - efi/grub/efi/console_control.h | 59 - efi/grub/efi/efi.h | 85 - efi/grub/efi/eficall.h | 162 - efi/grub/efi/misc.h | 60 - efi/grub/efi/time.h | 31 - efi/grub/i386/linux.h | 226 + - efi/grub/i386/types.h | 32 - efi/grub/misc.h | 71 - efi/grub/symbol.h | 34 - efi/grub/types.h | 158 - efi/grub/x86_64/linux.h | 228 + - efi/grub/x86_64/types.h | 32 - efi/ia32/callwrap.S | 1 - efi/ia32/callwrap.c | 131 - efi/ia32/loader/bin_to_h.c | 29 - efi/ia32/loader/linux.c | 648 +++ - efi/ia32/loader/switch.S | 118 - efi/ia32/loader/switch.h | 19 - efi/ia32/reloc.c | 79 - efi/ia32/setjmp.S | 86 - efi/pxe.c | 444 ++ - efi/pxe.h | 237 + - efi/ugadebug.h | 201 + - efi/x86_64/callwrap.S | 274 + - efi/x86_64/crt0-efi.S | 63 - efi/x86_64/elf_efi.lds | 58 - efi/x86_64/loader/Makefile | 20 - efi/x86_64/loader/bin_to_h.c | 29 - efi/x86_64/loader/linux.c | 588 +++ - efi/x86_64/loader/switch.S | 92 - efi/x86_64/loader/switch.h | 25 - efi/x86_64/reloc.c | 79 - efi/x86_64/setjmp.S | 56 - efi/xpm.c | 231 + - efi/xpm.h | 36 - grub.spec | 438 ++ - grub/.gitignore | 2 - grub/Makefile.am | 2 - grub/Makefile.in | 117 - grub/asmstub.c | 194 - - grub/efitftp.c | 34 - grub/main.c | 2 - lib/.gitignore | 2 - lib/Makefile.in | 111 - lib/device.c | 360 + - netboot/.gitignore | 2 - netboot/Makefile.in | 359 - - netboot/etherboot.h | 34 - netboot/main.c | 6 - netboot/misc.c | 58 - netboot/osdep.h | 24 - stage1/.gitignore | 2 - stage1/Makefile.am | 15 - stage1/Makefile.in | 169 - stage1/stage1.S | 4 - stage2/.gitignore | 5 - stage2/Makefile.am | 73 - stage2/Makefile.in | 1729 +++++---- - stage2/asm.S | 284 + - stage2/boot.c | 114 - stage2/builtins.c | 1368 +++++-- - stage2/char_io.c | 609 ++- - stage2/cmdline.c | 19 - stage2/common.c | 16 - stage2/disk_io.c | 208 - - stage2/efistubs.c | 7 - stage2/efistubs.h | 8 - stage2/fat.h | 2 - stage2/filesys.h | 17 - stage2/fsys_ext2fs.c | 394 +- - stage2/fsys_fat.c | 41 - stage2/fsys_iso9660.c | 6 - stage2/fsys_jfs.c | 12 - stage2/fsys_minix.c | 10 - stage2/fsys_reiserfs.c | 44 - stage2/fsys_vstafs.c | 28 - stage2/fsys_xfs.c | 22 - stage2/gpt.h | 69 - stage2/graphics.c | 573 +++ - stage2/graphics.h | 42 - stage2/gunzip.c | 15 - stage2/iso9660.h | 4 - stage2/mb_info.h | 4 - stage2/pc_slice.h | 51 - stage2/serial.c | 4 - stage2/sha256crypt.c | 723 +++ - stage2/sha512crypt.c | 795 ++++ - stage2/shared.h | 124 - stage2/smp-imps.h | 1 - stage2/stage1_5.c | 3 - stage2/stage2.c | 203 - - stage2/start.S | 13 - stage2/term.h | 35 - stage2/tparm.c | 14 - test | 1 - util/.gitignore | 7 - util/Makefile.am | 11 - util/Makefile.in | 131 - util/grub-crypt.in | 80 - util/grub-install.in | 334 + - 140 files changed, 27836 insertions(+), 10643 deletions(-) - -diff --git a/.gitignore b/.gitignore -new file mode 100644 -index 0000000..4e19579 ---- /dev/null -+++ b/.gitignore -@@ -0,0 +1,8 @@ -+Makefile.in -+Makefile -+configure -+autom4te.cache -+config.h -+config.log -+config.status -+stamp-h1 -diff --git a/ChangeLog b/ChangeLog -index 0f93033..9602fb9 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -772,6 +772,18 @@ - DATA_LEN is less than or equal to MULTIBOOT_SEARCH. - Reported by Neelkanth Natu . - -+2003-03-12 Leonid Lisovskiy -+ -+ * lib/device.c (get_drive_geometry): grub utility didn't work -+ due to uninitialized 'sector_size' struct geometry member. -+ * stage1/stage1.h (GRUB_NO_DRIVE): Constant moved from -+ stage2/shared.h and its value rolled back to 0xFF for backward -+ compatibility with original grub. -+ * stage1/stage1.S (boot_drive): Use GRUB_NO_DRIVE instead of -+ constant. -+ * stage2/bios.c (get_diskinfo): Workaround for BIOS'es that -+ has CD-ROM drive number = last harddisk + 1. -+ - 2003-03-10 Yoshinori K. Okuji - - From Andrew Walrond : -@@ -816,6 +828,42 @@ - thus corrupts the stack. This is why we specify the exactly - necessary size of 0x42 bytes. - -+2003-01-28 Leonid Lisovskiy -+ -+ ISO9660 support is added. -+ -+ * stage2/fsys_iso9660.c: New file - a lot of code stolen from -+ GRUB/98 0.5. -+ * stage2/iso9660.h: Likewise. -+ * stage2/start_torito.S: New file - El Torito boot sector. -+ * stage2/Makefile.am (noinst_HEADERS): iso9660.h added. -+ (libgrub_a_SOURCES): fsys_iso9660.c added. -+ (pkgdata_DATA): iso9660_stage1_5 added. -+ (noinst_PROGRAMS): iso9660_stage1_5.exec added. -+ * configure.in (--disable-iso9660): New option. -+ * stage2/builtins.c (setup_func): Add item for ISO9660 into -+ STAGE1_5_MAP. -+ * stage2/disk_io.c (rawread): Ability to read devices with -+ sector size other than 512 added. -+ (fsys_table): Added entry for ISO9660. -+ (check_and_print_mount): Don't print error when probing -+ partition. -+ (real_open_partition): Cleanup globals after probing. -+ * stage2/filesys.h [FSYS_ISO9660]: Add entries for ISO9660 -+ functions. -+ (NUM_FSYS): Added FSYS_ISO9660_NUM. -+ * stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro. -+ (GRUB_NO_DRIVE): New constant. -+ (struct geometry): New member 'sector_size'. -+ * stage2/bios.c (get_diskinfo): Request 1.xx version of -+ int13 extensions only since higher version request can -+ destroy El Torito emulation on some BIOS'es. -+ (get_cdinfo): New function - get El Torito emulation parameters. -+ * stage2/asm.S (biosdisk_int13_extensions): pass AX, instead -+ of AH for universality, save EBX,ECX,EDX registers content to -+ avoid data corruption in caller functions. -+ (get_diskinfo_int13_extensions): Removed. -+ - 2003-01-25 Yoshinori K. Okuji - - From Steven Dick : -diff --git a/Makefile.am b/Makefile.am -index 63a9a4f..a27da9c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,4 +1,7 @@ - # Do not change this order if you don't know what you are doing. - AUTOMAKE_OPTIONS = 1.7 gnu - SUBDIRS = netboot stage2 stage1 lib grub util docs -+if PLATFORM_EFI -+SUBDIRS += efi -+endif - EXTRA_DIST = BUGS MAINTENANCE -diff --git a/Makefile.in b/Makefile.in -index 6652366..6cff007 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -13,15 +13,11 @@ - # PARTICULAR PURPOSE. - - @SET_MAKE@ --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = . - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -35,19 +31,19 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ -+subdir = . - DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - THANKS TODO compile config.guess config.sub depcomp install-sh \ - missing mkinstalldirs --subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ -- configure.lineno configure.status.lineno -+ configure.lineno config.status.lineno - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs - CONFIG_HEADER = config.h - CONFIG_CLEAN_FILES = -@@ -55,10 +51,13 @@ SOURCES = - DIST_SOURCES = - RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ -- install-exec-recursive install-info-recursive \ -- install-recursive installcheck-recursive installdirs-recursive \ -- pdf-recursive ps-recursive uninstall-info-recursive \ -- uninstall-recursive -+ install-dvi-recursive install-exec-recursive \ -+ install-html-recursive install-info-recursive \ -+ install-pdf-recursive install-ps-recursive install-recursive \ -+ installcheck-recursive installdirs-recursive pdf-recursive \ -+ ps-recursive uninstall-recursive -+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ -+ distclean-recursive maintainer-clean-recursive - ETAGS = etags - CTAGS = ctags - DIST_SUBDIRS = $(SUBDIRS) -@@ -74,17 +73,14 @@ GZIP_ENV = --best - distuninstallcheck_listfiles = find . -type f -print - distcleancheck_listfiles = find . -type f -print - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -93,18 +89,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -112,14 +106,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -133,22 +125,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -160,28 +147,39 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ - - # Do not change this order if you don't know what you are doing. - AUTOMAKE_OPTIONS = 1.7 gnu -@@ -228,7 +226,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ -- $(MAKE) stamp-h1; \ -+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - - stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status -@@ -241,7 +239,6 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - - distclean-hdr: - -rm -f config.h stamp-h1 --uninstall-info-am: - - # This directory's subdirectories are mostly independent; you can cd - # into them and run `make' without going through this Makefile. -@@ -250,7 +247,13 @@ uninstall-info-am: - # (which will cause the Makefiles to be regenerated when you run `make'); - # (2) otherwise, pass the desired values on the `make' command line. - $(RECURSIVE_TARGETS): -- @set fnord $$MAKEFLAGS; amf=$$2; \ -+ @failcom='exit 1'; \ -+ for f in x $$MAKEFLAGS; do \ -+ case $$f in \ -+ *=* | --[!k]*);; \ -+ *k*) failcom='fail=yes';; \ -+ esac; \ -+ done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ -@@ -262,15 +265,20 @@ $(RECURSIVE_TARGETS): - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - --mostlyclean-recursive clean-recursive distclean-recursive \ --maintainer-clean-recursive: -- @set fnord $$MAKEFLAGS; amf=$$2; \ -+$(RECURSIVE_CLEAN_TARGETS): -+ @failcom='exit 1'; \ -+ for f in x $$MAKEFLAGS; do \ -+ case $$f in \ -+ *=* | --[!k]*);; \ -+ *k*) failcom='fail=yes';; \ -+ esac; \ -+ done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ -@@ -291,7 +299,7 @@ maintainer-clean-recursive: - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ -- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ -+ || eval $$failcom; \ - done && test -z "$$fail" - tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ -@@ -365,24 +373,22 @@ distclean-tags: - - distdir: $(DISTFILES) - $(am__remove_distdir) -- mkdir $(distdir) -- $(mkdir_p) $(distdir)/util -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ test -d $(distdir) || mkdir $(distdir) -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -396,7 +402,7 @@ distdir: $(DISTFILES) - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ -- || $(mkdir_p) "$(distdir)/$$subdir" \ -+ || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ -@@ -404,6 +410,8 @@ distdir: $(DISTFILES) - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ -+ am__remove_distdir=: \ -+ am__skip_length_check=: \ - distdir) \ - || exit 1; \ - fi; \ -@@ -411,7 +419,7 @@ distdir: $(DISTFILES) - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ -- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ -+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) - dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz -@@ -486,7 +494,7 @@ distcheck: dist - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ -- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' -+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' - distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ -@@ -555,12 +563,20 @@ info-am: - - install-data-am: - -+install-dvi: install-dvi-recursive -+ - install-exec-am: - -+install-html: install-html-recursive -+ - install-info: install-info-recursive - - install-man: - -+install-pdf: install-pdf-recursive -+ -+install-ps: install-ps-recursive -+ - installcheck-am: - - maintainer-clean: maintainer-clean-recursive -@@ -581,24 +597,25 @@ ps: ps-recursive - - ps-am: - --uninstall-am: uninstall-info-am -- --uninstall-info: uninstall-info-recursive -- --.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ -- check-am clean clean-generic clean-recursive ctags \ -- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ -- dist-tarZ dist-zip distcheck distclean distclean-generic \ -- distclean-hdr distclean-recursive distclean-tags \ -- distcleancheck distdir distuninstallcheck dvi dvi-am html \ -- html-am info info-am install install-am install-data \ -- install-data-am install-exec install-exec-am install-info \ -- install-info-am install-man install-strip installcheck \ -- installcheck-am installdirs installdirs-am maintainer-clean \ -- maintainer-clean-generic maintainer-clean-recursive \ -- mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ -- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ -- uninstall-info-am -+uninstall-am: -+ -+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ -+ install-strip -+ -+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ -+ all all-am am--refresh check check-am clean clean-generic \ -+ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ -+ dist-shar dist-tarZ dist-zip distcheck distclean \ -+ distclean-generic distclean-hdr distclean-tags distcleancheck \ -+ distdir distuninstallcheck dvi dvi-am html html-am info \ -+ info-am install install-am install-data install-data-am \ -+ install-dvi install-dvi-am install-exec install-exec-am \ -+ install-html install-html-am install-info install-info-am \ -+ install-man install-pdf install-pdf-am install-ps \ -+ install-ps-am install-strip installcheck installcheck-am \ -+ installdirs installdirs-am maintainer-clean \ -+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ -+ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. -diff --git a/acinclude.m4 b/acinclude.m4 -index 368839c..1cf1d67 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -44,6 +44,8 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE], - [AC_MSG_CHECKING([whether ${OBJCOPY} works for absolute addresses]) - AC_CACHE_VAL(grub_cv_prog_objcopy_absolute, - [cat > conftest.c <<\EOF -+void cmain(void); -+ - void - cmain (void) - { -@@ -57,7 +59,7 @@ else - fi - grub_cv_prog_objcopy_absolute=yes - for link_addr in 2000 8000 7C00; do -- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then : -+ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr -Wl,--build-id=none conftest.o -o conftest.exec]); then : - else - AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) - fi -diff --git a/aclocal.m4 b/aclocal.m4 -index aa691f6..9965d5d 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -1,7 +1,7 @@ --# generated automatically by aclocal 1.9.4 -*- Autoconf -*- -+# generated automatically by aclocal 1.10 -*- Autoconf -*- - --# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 --# Free Software Foundation, Inc. -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005, 2006 Free Software Foundation, Inc. - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -11,55 +11,52 @@ - # even the implied warranty of MERCHANTABILITY or FITNESS FOR A - # PARTICULAR PURPOSE. - --# -*- Autoconf -*- --# Copyright (C) 2002, 2003 Free Software Foundation, Inc. --# Generated from amversion.in; do not edit by hand. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -+m4_if(m4_PACKAGE_VERSION, [2.61],, -+[m4_fatal([this file was generated for autoconf 2.61. -+You have another version of autoconf. If you want to use that, -+you should regenerate the build system entirely.], [63])]) - --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - - # AM_AUTOMAKE_VERSION(VERSION) - # ---------------------------- - # Automake X.Y traces this macro to ensure aclocal.m4 has been - # generated from the m4 files accompanying Automake X.Y. --AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) -+# (This private macro should not be called outside this file.) -+AC_DEFUN([AM_AUTOMAKE_VERSION], -+[am__api_version='1.10' -+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -+dnl require some minimum version. Point them to the right macro. -+m4_if([$1], [1.10], [], -+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -+]) -+ -+# _AM_AUTOCONF_VERSION(VERSION) -+# ----------------------------- -+# aclocal traces this macro to find the Autoconf version. -+# This is a private macro too. Using m4_define simplifies -+# the logic in aclocal, which can simply ignore this definition. -+m4_define([_AM_AUTOCONF_VERSION], []) - - # AM_SET_CURRENT_AUTOMAKE_VERSION - # ------------------------------- --# Call AM_AUTOMAKE_VERSION so it can be traced. -+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. - # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. - AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -- [AM_AUTOMAKE_VERSION([1.9.4])]) -+[AM_AUTOMAKE_VERSION([1.10])dnl -+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) - --# AM_AUX_DIR_EXPAND -+# AM_AUX_DIR_EXPAND -*- Autoconf -*- - --# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - - # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets - # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -@@ -106,26 +103,16 @@ AC_PREREQ([2.50])dnl - am_aux_dir=`cd $ac_aux_dir && pwd` - ]) - --# AM_CONDITIONAL -*- Autoconf -*- -- --# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -+# AM_CONDITIONAL -*- Autoconf -*- - --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 6 -+# serial 8 - - # AM_CONDITIONAL(NAME, SHELL-CONDITION) - # ------------------------------------- -@@ -134,8 +121,10 @@ AC_DEFUN([AM_CONDITIONAL], - [AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl --AC_SUBST([$1_TRUE]) --AC_SUBST([$1_FALSE]) -+AC_SUBST([$1_TRUE])dnl -+AC_SUBST([$1_FALSE])dnl -+_AM_SUBST_NOTMAKE([$1_TRUE])dnl -+_AM_SUBST_NOTMAKE([$1_FALSE])dnl - if $2; then - $1_TRUE= - $1_FALSE='#' -@@ -149,26 +138,14 @@ AC_CONFIG_COMMANDS_PRE( - Usually this means the macro was only invoked conditionally.]]) - fi])]) - --# serial 7 -*- Autoconf -*- -- --# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - # Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -- -+# serial 9 - - # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be - # written in clear, in which case automake, when reading aclocal.m4, -@@ -177,7 +154,6 @@ fi])]) - # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -- - # _AM_DEPENDENCIES(NAME) - # ---------------------- - # See how the compiler implements dependency checking. -@@ -197,6 +173,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl - ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -@@ -262,6 +239,7 @@ AC_CACHE_CHECK([dependency style of $depcc], - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && -+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -@@ -314,30 +292,20 @@ if test "x$enable_dependency_tracking" != xno; then - AMDEPBACKSLASH='\' - fi - AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) --AC_SUBST([AMDEPBACKSLASH]) -+AC_SUBST([AMDEPBACKSLASH])dnl -+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl - ]) - --# Generate code to set up dependency tracking. -*- Autoconf -*- -- --# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 --# Free Software Foundation, Inc. -+# Generate code to set up dependency tracking. -*- Autoconf -*- - --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --#serial 2 -+#serial 3 - - # _AM_OUTPUT_DEPENDENCY_COMMANDS - # ------------------------------ -@@ -350,8 +318,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. -- # So let's grep whole file. -- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+ # Grep'ing the whole file is not good either: AIX grep has a line -+ # limit of 2048, but all sed's we know have understand at least 4000. -+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue -@@ -396,30 +365,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) - ]) - --# Do all the work for Automake. -*- Autoconf -*- -+# Do all the work for Automake. -*- Autoconf -*- - --# This macro actually does too much some checks are only needed if --# your package does certain things. But this isn't really a big deal. -- --# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 --# Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005, 2006 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# serial 12 - --# serial 11 -+# This macro actually does too much. Some checks are only needed if -+# your package does certain things. But this isn't really a big deal. - - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) - # AM_INIT_AUTOMAKE([OPTIONS]) -@@ -433,16 +391,20 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], - # arguments mandatory, and then we can depend on a new Autoconf - # release and drop the old call support. - AC_DEFUN([AM_INIT_AUTOMAKE], --[AC_PREREQ([2.58])dnl -+[AC_PREREQ([2.60])dnl - dnl Autoconf wants to disallow AM_ names. We explicitly allow - dnl the ones we care about. - m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl - AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl --# test to see if srcdir already configured --if test "`cd $srcdir && pwd`" != "`pwd`" && -- test -f $srcdir/config.status; then -- AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -+if test "`cd $srcdir && pwd`" != "`pwd`"; then -+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output -+ # is not polluted with repeated "-I." -+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl -+ # test to see if srcdir already configured -+ if test -f $srcdir/config.status; then -+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -+ fi - fi - - # test whether we have cygpath -@@ -462,6 +424,9 @@ m4_ifval([$2], - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], - [_AM_SET_OPTIONS([$1])dnl -+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, -+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -@@ -497,6 +462,10 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -+AC_PROVIDE_IFELSE([AC_PROG_OBJC], -+ [_AM_DEPENDENCIES(OBJC)], -+ [define([AC_PROG_OBJC], -+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl - ]) - ]) - -@@ -521,51 +490,27 @@ for _am_header in $config_headers :; do - done - echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ - # AM_PROG_INSTALL_SH - # ------------------ - # Define $install_sh. -- --# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -- - AC_DEFUN([AM_PROG_INSTALL_SH], - [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl --install_sh=${install_sh-"$am_aux_dir/install-sh"} -+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - AC_SUBST(install_sh)]) - --# -*- Autoconf -*- --# Copyright (C) 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 1 -+# serial 2 - - # Check whether the underlying file-system supports filenames - # with a leading dot. For instance MS-DOS doesn't. -@@ -580,28 +525,17 @@ fi - rmdir .tst 2>/dev/null - AC_SUBST([am__leading_dot])]) - --# Add --enable-maintainer-mode option to configure. -+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- - # From Jim Meyering - --# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 -+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 - # Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -- --# serial 3 -+# serial 4 - - AC_DEFUN([AM_MAINTAINER_MODE], - [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) -@@ -620,26 +554,15 @@ AC_DEFUN([AM_MAINTAINER_MODE], - - AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - --# Check to see how 'make' treats includes. -*- Autoconf -*- -- --# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -+# Check to see how 'make' treats includes. -*- Autoconf -*- - --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 2 -+# serial 3 - - # AM_MAKE_INCLUDE() - # ----------------- -@@ -683,27 +606,16 @@ AC_MSG_RESULT([$_am_result]) - rm -f confinc confmf - ]) - --# -*- Autoconf -*- -+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -- --# serial 3 -+# serial 5 - - # AM_MISSING_PROG(NAME, PROGRAM) - # ------------------------------ -@@ -719,6 +631,7 @@ AC_SUBST($1)]) - # If it does, set am_missing_run to use it, otherwise, to nothing. - AC_DEFUN([AM_MISSING_HAS_RUN], - [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+AC_REQUIRE_AUX_FILE([missing])dnl - test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" - # Use eval to expand $SHELL - if eval "$MISSING --run true"; then -@@ -729,100 +642,41 @@ else - fi - ]) - -+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ - # AM_PROG_MKDIR_P - # --------------- --# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -- --# Copyright (C) 2003, 2004 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -- --# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories --# created by `make install' are always world readable, even if the --# installer happens to have an overly restrictive umask (e.g. 077). --# This was a mistake. There are at least two reasons why we must not --# use `-m 0755': --# - it causes special bits like SGID to be ignored, --# - it may be too restrictive (some setups expect 775 directories). --# --# Do not use -m 0755 and let people choose whatever they expect by --# setting umask. --# --# We cannot accept any implementation of `mkdir' that recognizes `-p'. --# Some implementations (such as Solaris 8's) are not thread-safe: if a --# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' --# concurrently, both version can detect that a/ is missing, but only --# one can create it and the other will error out. Consequently we --# restrict ourselves to GNU make (using the --version option ensures --# this.) -+# Check for `mkdir -p'. - AC_DEFUN([AM_PROG_MKDIR_P], --[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then -- # We used to keeping the `.' as first argument, in order to -- # allow $(mkdir_p) to be used without argument. As in -- # $(mkdir_p) $(somedir) -- # where $(somedir) is conditionally defined. However this is wrong -- # for two reasons: -- # 1. if the package is installed by a user who cannot write `.' -- # make install will fail, -- # 2. the above comment should most certainly read -- # $(mkdir_p) $(DESTDIR)$(somedir) -- # so it does not work when $(somedir) is undefined and -- # $(DESTDIR) is not. -- # To support the latter case, we have to write -- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), -- # so the `.' trick is pointless. -- mkdir_p='mkdir -p --' --else -- # On NextStep and OpenStep, the `mkdir' command does not -- # recognize any option. It will interpret all options as -- # directories to create, and then abort because `.' already -- # exists. -- for d in ./-p ./--version; -- do -- test -d $d && rmdir $d -- done -- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. -- if test -f "$ac_aux_dir/mkinstalldirs"; then -- mkdir_p='$(mkinstalldirs)' -- else -- mkdir_p='$(install_sh) -d' -- fi --fi --AC_SUBST([mkdir_p])]) -- --# Helper functions for option handling. -*- Autoconf -*- -- --# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -+[AC_PREREQ([2.60])dnl -+AC_REQUIRE([AC_PROG_MKDIR_P])dnl -+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -+dnl while keeping a definition of mkdir_p for backward compatibility. -+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -+dnl Makefile.ins that do not define MKDIR_P, so we do our own -+dnl adjustment using top_builddir (which is defined more often than -+dnl MKDIR_P). -+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -+case $mkdir_p in -+ [[\\/$]]* | ?:[[\\/]]*) ;; -+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -+esac -+]) - --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -+# Helper functions for option handling. -*- Autoconf -*- - --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 2 -+# serial 3 - - # _AM_MANGLE_OPTION(NAME) - # ----------------------- -@@ -847,28 +701,16 @@ AC_DEFUN([_AM_SET_OPTIONS], - AC_DEFUN([_AM_IF_OPTION], - [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - --# --# Check to make sure that the build environment is sane. --# -- --# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -+# Check to make sure that the build environment is sane. -*- Autoconf -*- - --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# serial 3 -+# serial 4 - - # AM_SANITY_CHECK - # --------------- -@@ -911,25 +753,14 @@ Check your system clock]) - fi - AC_MSG_RESULT(yes)]) - --# AM_PROG_INSTALL_STRIP -- --# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -- --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - -+# AM_PROG_INSTALL_STRIP -+# --------------------- - # One issue with vendor `install' (even GNU) is that you can't - # specify the program used to strip binaries. This is especially - # annoying in cross-compiling environments, where the build's strip -@@ -947,30 +778,30 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'. - if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) - fi --INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - AC_SUBST([INSTALL_STRIP_PROGRAM])]) - --# Check how to create a tarball. -*- Autoconf -*- -- --# Copyright (C) 2004 Free Software Foundation, Inc. -- --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2, or (at your option) --# any later version. -+# Copyright (C) 2006 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. -+# _AM_SUBST_NOTMAKE(VARIABLE) -+# --------------------------- -+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. -+# This macro is traced by Automake. -+AC_DEFUN([_AM_SUBST_NOTMAKE]) - --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA --# 02111-1307, USA. -+# Check how to create a tarball. -*- Autoconf -*- - --# serial 1 -+# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. - -+# serial 2 - - # _AM_PROG_TAR(FORMAT) - # -------------------- -diff --git a/config.h.in b/config.h.in -index 68d7c8c..e2128e4 100644 ---- a/config.h.in -+++ b/config.h.in -@@ -1,4 +1,4 @@ --/* config.h.in. Generated from configure.ac by autoheader. */ -+/* config.h.in. Generated from configure.in by autoheader. */ - - /* Define if an absolute indirect call/jump must NOT be prefixed with `*' */ - #undef ABSOLUTE_WITHOUT_ASTERISK -@@ -96,6 +96,9 @@ - /* Define to the version of this package. */ - #undef PACKAGE_VERSION - -+/* Define if you run on EFI platform. */ -+#undef PLATFORM_EFI -+ - /* Define if there is user specified preset menu string */ - #undef PRESET_MENU_STRING - -diff --git a/configure b/configure -deleted file mode 100755 -index 537ab89..0000000 ---- a/configure -+++ /dev/null -@@ -1,7639 +0,0 @@ --#! /bin/sh --# Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.59 for GRUB 0.97. --# --# Report bugs to . --# --# Copyright (C) 2003 Free Software Foundation, Inc. --# This configure script is free software; the Free Software Foundation --# gives unlimited permission to copy, distribute and modify it. --## --------------------- ## --## M4sh Initialization. ## --## --------------------- ## -- --# Be Bourne compatible --if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -- emulate sh -- NULLCMD=: -- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which -- # is contrary to our usage. Disable this feature. -- alias -g '${1+"$@"}'='"$@"' --elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then -- set -o posix --fi --DUALCASE=1; export DUALCASE # for MKS sh -- --# Support unset when possible. --if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -- as_unset=unset --else -- as_unset=false --fi -- -- --# Work around bugs in pre-3.0 UWIN ksh. --$as_unset ENV MAIL MAILPATH --PS1='$ ' --PS2='> ' --PS4='+ ' -- --# NLS nuisances. --for as_var in \ -- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ -- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ -- LC_TELEPHONE LC_TIME --do -- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then -- eval $as_var=C; export $as_var -- else -- $as_unset $as_var -- fi --done -- --# Required to use basename. --if expr a : '\(a\)' >/dev/null 2>&1; then -- as_expr=expr --else -- as_expr=false --fi -- --if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then -- as_basename=basename --else -- as_basename=false --fi -- -- --# Name of the executable. --as_me=`$as_basename "$0" || --$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -- X"$0" : 'X\(//\)$' \| \ -- X"$0" : 'X\(/\)$' \| \ -- . : '\(.\)' 2>/dev/null || --echo X/"$0" | -- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } -- /^X\/\(\/\/\)$/{ s//\1/; q; } -- /^X\/\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- -- --# PATH needs CR, and LINENO needs CR and PATH. --# Avoid depending upon Character Ranges. --as_cr_letters='abcdefghijklmnopqrstuvwxyz' --as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' --as_cr_Letters=$as_cr_letters$as_cr_LETTERS --as_cr_digits='0123456789' --as_cr_alnum=$as_cr_Letters$as_cr_digits -- --# The user is always right. --if test "${PATH_SEPARATOR+set}" != set; then -- echo "#! /bin/sh" >conf$$.sh -- echo "exit 0" >>conf$$.sh -- chmod +x conf$$.sh -- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then -- PATH_SEPARATOR=';' -- else -- PATH_SEPARATOR=: -- fi -- rm -f conf$$.sh --fi -- -- -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x$as_lineno_3" = "x$as_lineno_2" || { -- # Find who we are. Look in the path if we contain no path at all -- # relative or not. -- case $0 in -- *[\\/]* ) as_myself=$0 ;; -- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break --done -- -- ;; -- esac -- # We did not find ourselves, most probably we were run as `sh COMMAND' -- # in which case we are not to be found in the path. -- if test "x$as_myself" = x; then -- as_myself=$0 -- fi -- if test ! -f "$as_myself"; then -- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 -- { (exit 1); exit 1; }; } -- fi -- case $CONFIG_SHELL in -- '') -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for as_base in sh bash ksh sh5; do -- case $as_dir in -- /*) -- if ("$as_dir/$as_base" -c ' -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then -- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } -- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } -- CONFIG_SHELL=$as_dir/$as_base -- export CONFIG_SHELL -- exec "$CONFIG_SHELL" "$0" ${1+"$@"} -- fi;; -- esac -- done --done --;; -- esac -- -- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO -- # uniformly replaced by the line number. The first 'sed' inserts a -- # line-number line before each line; the second 'sed' does the real -- # work. The second script uses 'N' to pair each line-number line -- # with the numbered line, and appends trailing '-' during -- # substitution so that $LINENO is not a special case at line end. -- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the -- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) -- sed '=' <$as_myself | -- sed ' -- N -- s,$,-, -- : loop -- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, -- t loop -- s,-$,, -- s,^['$as_cr_digits']*\n,, -- ' >$as_me.lineno && -- chmod +x $as_me.lineno || -- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -- { (exit 1); exit 1; }; } -- -- # Don't try to exec as it changes $[0], causing all sort of problems -- # (the dirname of $[0] is not the place where we might find the -- # original and so on. Autoconf is especially sensible to this). -- . ./$as_me.lineno -- # Exit status is that of the last command. -- exit --} -- -- --case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in -- *c*,-n*) ECHO_N= ECHO_C=' --' ECHO_T=' ' ;; -- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; -- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; --esac -- --if expr a : '\(a\)' >/dev/null 2>&1; then -- as_expr=expr --else -- as_expr=false --fi -- --rm -f conf$$ conf$$.exe conf$$.file --echo >conf$$.file --if ln -s conf$$.file conf$$ 2>/dev/null; then -- # We could just check for DJGPP; but this test a) works b) is more generic -- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). -- if test -f conf$$.exe; then -- # Don't use ln at all; we don't have any links -- as_ln_s='cp -p' -- else -- as_ln_s='ln -s' -- fi --elif ln conf$$.file conf$$ 2>/dev/null; then -- as_ln_s=ln --else -- as_ln_s='cp -p' --fi --rm -f conf$$ conf$$.exe conf$$.file -- --if mkdir -p . 2>/dev/null; then -- as_mkdir_p=: --else -- test -d ./-p && rmdir ./-p -- as_mkdir_p=false --fi -- --as_executable_p="test -f" -- --# Sed expression to map a string onto a valid CPP name. --as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -- --# Sed expression to map a string onto a valid variable name. --as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -- -- --# IFS --# We need space, tab and new line, in precisely that order. --as_nl=' --' --IFS=" $as_nl" -- --# CDPATH. --$as_unset CDPATH -- -- --# Name of the host. --# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, --# so uname gets run too. --ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -- --exec 6>&1 -- --# --# Initializations. --# --ac_default_prefix=/usr/local --ac_config_libobj_dir=. --cross_compiling=no --subdirs= --MFLAGS= --MAKEFLAGS= --SHELL=${CONFIG_SHELL-/bin/sh} -- --# Maximum number of lines to put in a shell here document. --# This variable seems obsolete. It should probably be removed, and --# only ac_max_sed_lines should be used. --: ${ac_max_here_lines=38} -- --# Identity of this package. --PACKAGE_NAME='GRUB' --PACKAGE_TARNAME='grub' --PACKAGE_VERSION='0.97' --PACKAGE_STRING='GRUB 0.97' --PACKAGE_BUGREPORT='bug-grub@gnu.org' -- --ac_unique_file="stage2/stage2.c" --# Factoring default headers for most tests. --ac_includes_default="\ --#include --#if HAVE_SYS_TYPES_H --# include --#endif --#if HAVE_SYS_STAT_H --# include --#endif --#if STDC_HEADERS --# include --# include --#else --# if HAVE_STDLIB_H --# include --# endif --#endif --#if HAVE_STRING_H --# if !STDC_HEADERS && HAVE_MEMORY_H --# include --# endif --# include --#endif --#if HAVE_STRINGS_H --# include --#endif --#if HAVE_INTTYPES_H --# include --#else --# if HAVE_STDINT_H --# include --# endif --#endif --#if HAVE_UNISTD_H --# include --#endif" -- --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT PERL CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CCAS RANLIB ac_ct_RANLIB STAGE1_CFLAGS STAGE2_CFLAGS GRUB_CFLAGS OBJCOPY ac_ct_OBJCOPY GRUB_LIBS CPP EGREP NETBOOT_SUPPORT_TRUE NETBOOT_SUPPORT_FALSE DISKLESS_SUPPORT_TRUE DISKLESS_SUPPORT_FALSE HERCULES_SUPPORT_TRUE HERCULES_SUPPORT_FALSE SERIAL_SUPPORT_TRUE SERIAL_SUPPORT_FALSE SERIAL_SPEED_SIMULATION_TRUE SERIAL_SPEED_SIMULATION_FALSE BUILD_EXAMPLE_KERNEL_TRUE BUILD_EXAMPLE_KERNEL_FALSE FSYS_CFLAGS NET_CFLAGS NET_EXTRAFLAGS NETBOOT_DRIVERS CCASFLAGS LIBOBJS LTLIBOBJS' --ac_subst_files='' -- --# Initialize some variables set by options. --ac_init_help= --ac_init_version=false --# The variables have the same names as the options, with --# dashes changed to underlines. --cache_file=/dev/null --exec_prefix=NONE --no_create= --no_recursion= --prefix=NONE --program_prefix=NONE --program_suffix=NONE --program_transform_name=s,x,x, --silent= --site= --srcdir= --verbose= --x_includes=NONE --x_libraries=NONE -- --# Installation directory options. --# These are left unexpanded so users can "make install exec_prefix=/foo" --# and all the variables that are supposed to be based on exec_prefix --# by default will actually change. --# Use braces instead of parens because sh, perl, etc. also accept them. --bindir='${exec_prefix}/bin' --sbindir='${exec_prefix}/sbin' --libexecdir='${exec_prefix}/libexec' --datadir='${prefix}/share' --sysconfdir='${prefix}/etc' --sharedstatedir='${prefix}/com' --localstatedir='${prefix}/var' --libdir='${exec_prefix}/lib' --includedir='${prefix}/include' --oldincludedir='/usr/include' --infodir='${prefix}/info' --mandir='${prefix}/man' -- --ac_prev= --for ac_option --do -- # If the previous option needs an argument, assign it. -- if test -n "$ac_prev"; then -- eval "$ac_prev=\$ac_option" -- ac_prev= -- continue -- fi -- -- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` -- -- # Accept the important Cygnus configure options, so we can diagnose typos. -- -- case $ac_option in -- -- -bindir | --bindir | --bindi | --bind | --bin | --bi) -- ac_prev=bindir ;; -- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -- bindir=$ac_optarg ;; -- -- -build | --build | --buil | --bui | --bu) -- ac_prev=build_alias ;; -- -build=* | --build=* | --buil=* | --bui=* | --bu=*) -- build_alias=$ac_optarg ;; -- -- -cache-file | --cache-file | --cache-fil | --cache-fi \ -- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -- ac_prev=cache_file ;; -- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -- cache_file=$ac_optarg ;; -- -- --config-cache | -C) -- cache_file=config.cache ;; -- -- -datadir | --datadir | --datadi | --datad | --data | --dat | --da) -- ac_prev=datadir ;; -- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ -- | --da=*) -- datadir=$ac_optarg ;; -- -- -disable-* | --disable-*) -- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -- # Reject names that are not valid shell variable names. -- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && -- { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -- { (exit 1); exit 1; }; } -- ac_feature=`echo $ac_feature | sed 's/-/_/g'` -- eval "enable_$ac_feature=no" ;; -- -- -enable-* | --enable-*) -- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -- # Reject names that are not valid shell variable names. -- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && -- { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -- { (exit 1); exit 1; }; } -- ac_feature=`echo $ac_feature | sed 's/-/_/g'` -- case $ac_option in -- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; -- *) ac_optarg=yes ;; -- esac -- eval "enable_$ac_feature='$ac_optarg'" ;; -- -- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -- | --exec | --exe | --ex) -- ac_prev=exec_prefix ;; -- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -- | --exec=* | --exe=* | --ex=*) -- exec_prefix=$ac_optarg ;; -- -- -gas | --gas | --ga | --g) -- # Obsolete; use --with-gas. -- with_gas=yes ;; -- -- -help | --help | --hel | --he | -h) -- ac_init_help=long ;; -- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -- ac_init_help=recursive ;; -- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -- ac_init_help=short ;; -- -- -host | --host | --hos | --ho) -- ac_prev=host_alias ;; -- -host=* | --host=* | --hos=* | --ho=*) -- host_alias=$ac_optarg ;; -- -- -includedir | --includedir | --includedi | --included | --include \ -- | --includ | --inclu | --incl | --inc) -- ac_prev=includedir ;; -- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -- | --includ=* | --inclu=* | --incl=* | --inc=*) -- includedir=$ac_optarg ;; -- -- -infodir | --infodir | --infodi | --infod | --info | --inf) -- ac_prev=infodir ;; -- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -- infodir=$ac_optarg ;; -- -- -libdir | --libdir | --libdi | --libd) -- ac_prev=libdir ;; -- -libdir=* | --libdir=* | --libdi=* | --libd=*) -- libdir=$ac_optarg ;; -- -- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -- | --libexe | --libex | --libe) -- ac_prev=libexecdir ;; -- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -- | --libexe=* | --libex=* | --libe=*) -- libexecdir=$ac_optarg ;; -- -- -localstatedir | --localstatedir | --localstatedi | --localstated \ -- | --localstate | --localstat | --localsta | --localst \ -- | --locals | --local | --loca | --loc | --lo) -- ac_prev=localstatedir ;; -- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -- | --localstate=* | --localstat=* | --localsta=* | --localst=* \ -- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) -- localstatedir=$ac_optarg ;; -- -- -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -- ac_prev=mandir ;; -- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -- mandir=$ac_optarg ;; -- -- -nfp | --nfp | --nf) -- # Obsolete; use --without-fp. -- with_fp=no ;; -- -- -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -- | --no-cr | --no-c | -n) -- no_create=yes ;; -- -- -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -- no_recursion=yes ;; -- -- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -- | --oldin | --oldi | --old | --ol | --o) -- ac_prev=oldincludedir ;; -- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -- oldincludedir=$ac_optarg ;; -- -- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -- ac_prev=prefix ;; -- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -- prefix=$ac_optarg ;; -- -- -program-prefix | --program-prefix | --program-prefi | --program-pref \ -- | --program-pre | --program-pr | --program-p) -- ac_prev=program_prefix ;; -- -program-prefix=* | --program-prefix=* | --program-prefi=* \ -- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -- program_prefix=$ac_optarg ;; -- -- -program-suffix | --program-suffix | --program-suffi | --program-suff \ -- | --program-suf | --program-su | --program-s) -- ac_prev=program_suffix ;; -- -program-suffix=* | --program-suffix=* | --program-suffi=* \ -- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -- program_suffix=$ac_optarg ;; -- -- -program-transform-name | --program-transform-name \ -- | --program-transform-nam | --program-transform-na \ -- | --program-transform-n | --program-transform- \ -- | --program-transform | --program-transfor \ -- | --program-transfo | --program-transf \ -- | --program-trans | --program-tran \ -- | --progr-tra | --program-tr | --program-t) -- ac_prev=program_transform_name ;; -- -program-transform-name=* | --program-transform-name=* \ -- | --program-transform-nam=* | --program-transform-na=* \ -- | --program-transform-n=* | --program-transform-=* \ -- | --program-transform=* | --program-transfor=* \ -- | --program-transfo=* | --program-transf=* \ -- | --program-trans=* | --program-tran=* \ -- | --progr-tra=* | --program-tr=* | --program-t=*) -- program_transform_name=$ac_optarg ;; -- -- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -- | -silent | --silent | --silen | --sile | --sil) -- silent=yes ;; -- -- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -- ac_prev=sbindir ;; -- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -- | --sbi=* | --sb=*) -- sbindir=$ac_optarg ;; -- -- -sharedstatedir | --sharedstatedir | --sharedstatedi \ -- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -- | --sharedst | --shareds | --shared | --share | --shar \ -- | --sha | --sh) -- ac_prev=sharedstatedir ;; -- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -- | --sha=* | --sh=*) -- sharedstatedir=$ac_optarg ;; -- -- -site | --site | --sit) -- ac_prev=site ;; -- -site=* | --site=* | --sit=*) -- site=$ac_optarg ;; -- -- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -- ac_prev=srcdir ;; -- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -- srcdir=$ac_optarg ;; -- -- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -- | --syscon | --sysco | --sysc | --sys | --sy) -- ac_prev=sysconfdir ;; -- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -- sysconfdir=$ac_optarg ;; -- -- -target | --target | --targe | --targ | --tar | --ta | --t) -- ac_prev=target_alias ;; -- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -- target_alias=$ac_optarg ;; -- -- -v | -verbose | --verbose | --verbos | --verbo | --verb) -- verbose=yes ;; -- -- -version | --version | --versio | --versi | --vers | -V) -- ac_init_version=: ;; -- -- -with-* | --with-*) -- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -- # Reject names that are not valid shell variable names. -- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && -- { echo "$as_me: error: invalid package name: $ac_package" >&2 -- { (exit 1); exit 1; }; } -- ac_package=`echo $ac_package| sed 's/-/_/g'` -- case $ac_option in -- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; -- *) ac_optarg=yes ;; -- esac -- eval "with_$ac_package='$ac_optarg'" ;; -- -- -without-* | --without-*) -- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` -- # Reject names that are not valid shell variable names. -- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && -- { echo "$as_me: error: invalid package name: $ac_package" >&2 -- { (exit 1); exit 1; }; } -- ac_package=`echo $ac_package | sed 's/-/_/g'` -- eval "with_$ac_package=no" ;; -- -- --x) -- # Obsolete; use --with-x. -- with_x=yes ;; -- -- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -- | --x-incl | --x-inc | --x-in | --x-i) -- ac_prev=x_includes ;; -- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -- x_includes=$ac_optarg ;; -- -- -x-libraries | --x-libraries | --x-librarie | --x-librari \ -- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -- ac_prev=x_libraries ;; -- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -- x_libraries=$ac_optarg ;; -- -- -*) { echo "$as_me: error: unrecognized option: $ac_option --Try \`$0 --help' for more information." >&2 -- { (exit 1); exit 1; }; } -- ;; -- -- *=*) -- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -- # Reject names that are not valid shell variable names. -- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && -- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 -- { (exit 1); exit 1; }; } -- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` -- eval "$ac_envvar='$ac_optarg'" -- export $ac_envvar ;; -- -- *) -- # FIXME: should be removed in autoconf 3.0. -- echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -- echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} -- ;; -- -- esac --done -- --if test -n "$ac_prev"; then -- ac_option=--`echo $ac_prev | sed 's/_/-/g'` -- { echo "$as_me: error: missing argument to $ac_option" >&2 -- { (exit 1); exit 1; }; } --fi -- --# Be sure to have absolute paths. --for ac_var in exec_prefix prefix --do -- eval ac_val=$`echo $ac_var` -- case $ac_val in -- [\\/$]* | ?:[\\/]* | NONE | '' ) ;; -- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 -- { (exit 1); exit 1; }; };; -- esac --done -- --# Be sure to have absolute paths. --for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ -- localstatedir libdir includedir oldincludedir infodir mandir --do -- eval ac_val=$`echo $ac_var` -- case $ac_val in -- [\\/$]* | ?:[\\/]* ) ;; -- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 -- { (exit 1); exit 1; }; };; -- esac --done -- --# There might be people who depend on the old broken behavior: `$host' --# used to hold the argument of --host etc. --# FIXME: To remove some day. --build=$build_alias --host=$host_alias --target=$target_alias -- --# FIXME: To remove some day. --if test "x$host_alias" != x; then -- if test "x$build_alias" = x; then -- cross_compiling=maybe -- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. -- If a cross compiler is detected then cross compile mode will be used." >&2 -- elif test "x$build_alias" != "x$host_alias"; then -- cross_compiling=yes -- fi --fi -- --ac_tool_prefix= --test -n "$host_alias" && ac_tool_prefix=$host_alias- -- --test "$silent" = yes && exec 6>/dev/null -- -- --# Find the source files, if location was not specified. --if test -z "$srcdir"; then -- ac_srcdir_defaulted=yes -- # Try the directory containing this script, then its parent. -- ac_confdir=`(dirname "$0") 2>/dev/null || --$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$0" : 'X\(//\)[^/]' \| \ -- X"$0" : 'X\(//\)$' \| \ -- X"$0" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$0" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- srcdir=$ac_confdir -- if test ! -r $srcdir/$ac_unique_file; then -- srcdir=.. -- fi --else -- ac_srcdir_defaulted=no --fi --if test ! -r $srcdir/$ac_unique_file; then -- if test "$ac_srcdir_defaulted" = yes; then -- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 -- { (exit 1); exit 1; }; } -- else -- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 -- { (exit 1); exit 1; }; } -- fi --fi --(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || -- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 -- { (exit 1); exit 1; }; } --srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` --ac_env_build_alias_set=${build_alias+set} --ac_env_build_alias_value=$build_alias --ac_cv_env_build_alias_set=${build_alias+set} --ac_cv_env_build_alias_value=$build_alias --ac_env_host_alias_set=${host_alias+set} --ac_env_host_alias_value=$host_alias --ac_cv_env_host_alias_set=${host_alias+set} --ac_cv_env_host_alias_value=$host_alias --ac_env_target_alias_set=${target_alias+set} --ac_env_target_alias_value=$target_alias --ac_cv_env_target_alias_set=${target_alias+set} --ac_cv_env_target_alias_value=$target_alias --ac_env_CC_set=${CC+set} --ac_env_CC_value=$CC --ac_cv_env_CC_set=${CC+set} --ac_cv_env_CC_value=$CC --ac_env_CFLAGS_set=${CFLAGS+set} --ac_env_CFLAGS_value=$CFLAGS --ac_cv_env_CFLAGS_set=${CFLAGS+set} --ac_cv_env_CFLAGS_value=$CFLAGS --ac_env_LDFLAGS_set=${LDFLAGS+set} --ac_env_LDFLAGS_value=$LDFLAGS --ac_cv_env_LDFLAGS_set=${LDFLAGS+set} --ac_cv_env_LDFLAGS_value=$LDFLAGS --ac_env_CPPFLAGS_set=${CPPFLAGS+set} --ac_env_CPPFLAGS_value=$CPPFLAGS --ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} --ac_cv_env_CPPFLAGS_value=$CPPFLAGS --ac_env_CPP_set=${CPP+set} --ac_env_CPP_value=$CPP --ac_cv_env_CPP_set=${CPP+set} --ac_cv_env_CPP_value=$CPP -- --# --# Report the --help message. --# --if test "$ac_init_help" = "long"; then -- # Omit some internal or obsolete options to make the list less imposing. -- # This message is too long to be a string in the A/UX 3.1 sh. -- cat <<_ACEOF --\`configure' configures GRUB 0.97 to adapt to many kinds of systems. -- --Usage: $0 [OPTION]... [VAR=VALUE]... -- --To assign environment variables (e.g., CC, CFLAGS...), specify them as --VAR=VALUE. See below for descriptions of some of the useful variables. -- --Defaults for the options are specified in brackets. -- --Configuration: -- -h, --help display this help and exit -- --help=short display options specific to this package -- --help=recursive display the short help of all the included packages -- -V, --version display version information and exit -- -q, --quiet, --silent do not print \`checking...' messages -- --cache-file=FILE cache test results in FILE [disabled] -- -C, --config-cache alias for \`--cache-file=config.cache' -- -n, --no-create do not create output files -- --srcdir=DIR find the sources in DIR [configure dir or \`..'] -- --_ACEOF -- -- cat <<_ACEOF --Installation directories: -- --prefix=PREFIX install architecture-independent files in PREFIX -- [$ac_default_prefix] -- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -- [PREFIX] -- --By default, \`make install' will install all the files in --\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify --an installation prefix other than \`$ac_default_prefix' using \`--prefix', --for instance \`--prefix=\$HOME'. -- --For better control, use the options below. -- --Fine tuning of the installation directories: -- --bindir=DIR user executables [EPREFIX/bin] -- --sbindir=DIR system admin executables [EPREFIX/sbin] -- --libexecdir=DIR program executables [EPREFIX/libexec] -- --datadir=DIR read-only architecture-independent data [PREFIX/share] -- --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -- --localstatedir=DIR modifiable single-machine data [PREFIX/var] -- --libdir=DIR object code libraries [EPREFIX/lib] -- --includedir=DIR C header files [PREFIX/include] -- --oldincludedir=DIR C header files for non-gcc [/usr/include] -- --infodir=DIR info documentation [PREFIX/info] -- --mandir=DIR man documentation [PREFIX/man] --_ACEOF -- -- cat <<\_ACEOF -- --Program names: -- --program-prefix=PREFIX prepend PREFIX to installed program names -- --program-suffix=SUFFIX append SUFFIX to installed program names -- --program-transform-name=PROGRAM run sed PROGRAM on installed program names -- --System types: -- --build=BUILD configure for building on BUILD [guessed] -- --host=HOST cross-compile to build programs to run on HOST [BUILD] --_ACEOF --fi -- --if test -n "$ac_init_help"; then -- case $ac_init_help in -- short | recursive ) echo "Configuration of GRUB 0.97:";; -- esac -- cat <<\_ACEOF -- --Optional Features: -- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -- --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -- --enable-maintainer-mode enable make rules and dependencies not useful -- (and sometimes confusing) to the casual installer -- --disable-dependency-tracking speeds up one-time build -- --enable-dependency-tracking do not reject slow dependency extractors -- --disable-ext2fs disable ext2fs support in Stage 2 -- --disable-fat disable FAT support in Stage 2 -- --disable-ffs disable FFS support in Stage 2 -- --disable-ufs2 disable UFS2 support in Stage 2 -- --disable-minix disable Minix fs support in Stage 2 -- --disable-reiserfs disable ReiserFS support in Stage 2 -- --disable-vstafs disable VSTa FS support in Stage 2 -- --disable-jfs disable IBM JFS support in Stage 2 -- --disable-xfs disable SGI XFS support in Stage 2 -- --disable-iso9660 disable ISO9660 support in Stage 2 -- --disable-gunzip disable decompression in Stage 2 -- --disable-md5-password disable MD5 password support in Stage 2 -- --disable-packet-retransmission -- turn off packet retransmission -- --enable-pci-direct access PCI directly instead of using BIOS -- --enable-3c509 enable 3Com509 driver -- --enable-3c529 enable 3Com529 driver -- --enable-3c595 enable 3Com595 driver -- --enable-3c90x enable 3Com90x driver -- --enable-cs89x0 enable CS89x0 driver -- --enable-davicom enable Davicom driver -- --enable-depca enable DEPCA and EtherWORKS driver -- --enable-eepro enable Etherexpress Pro/10 driver -- --enable-eepro100 enable Etherexpress Pro/100 driver -- --enable-epic100 enable SMC 83c170 EPIC/100 driver -- --enable-3c507 enable 3Com507 driver -- --enable-exos205 enable EXOS205 driver -- --enable-ni5210 enable Racal-Interlan NI5210 driver -- --enable-lance enable Lance PCI PCNet/32 driver -- --enable-ne2100 enable Novell NE2100 driver -- --enable-ni6510 enable Racal-Interlan NI6510 driver -- --enable-natsemi enable NatSemi DP8381x driver -- --enable-ni5010 enable Racal-Interlan NI5010 driver -- --enable-3c503 enable 3Com503 driver -- --enable-ne enable NE1000/2000 ISA driver -- --enable-ns8390 enable NE2000 PCI driver -- --enable-wd enable WD8003/8013, SMC8216/8416 driver -- --enable-otulip enable old Tulip driver -- --enable-rtl8139 enable Realtek 8139 driver -- --enable-sis900 enable SIS 900 and SIS 7016 driver -- --enable-sk-g16 enable Schneider and Koch G16 driver -- --enable-smc9000 enable SMC9000 driver -- --enable-tiara enable Tiara driver -- --enable-tulip enable Tulip driver -- --enable-via-rhine enable Rhine-I/II driver -- --enable-w89c840 enable Winbond W89c840, Compex RL100-ATX driver -- --enable-3c503-shmem use 3c503 shared memory mode -- --enable-3c503-aui use AUI by default on 3c503 cards -- --enable-compex-rl2000-fix -- specify this if you have a Compex RL2000 PCI -- --enable-smc9000-scan=LIST -- probe for SMC9000 I/O addresses using LIST -- --enable-ne-scan=LIST probe for NE base address using LIST -- --enable-wd-default-mem=MEM -- set the default memory location for WD/SMC -- --enable-cs-scan=LIST probe for CS89x0 base address using LIST -- --enable-diskless enable diskless support -- --disable-hercules disable hercules terminal support -- --disable-serial disable serial terminal support -- --enable-serial-speed-simulation -- simulate the slowness of a serial device -- --enable-preset-menu=FILE -- preset a menu file FILE in Stage 2 -- --enable-example-kernel -- build the example Multiboot kernel -- --disable-auto-linux-mem-opt -- don't pass Linux mem= option automatically -- --Optional Packages: -- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -- --with-binutils=DIR search the directory DIR to find binutils -- --without-curses do not use curses -- --Some influential environment variables: -- CC C compiler command -- CFLAGS C compiler flags -- LDFLAGS linker flags, e.g. -L if you have libraries in a -- nonstandard directory -- CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have -- headers in a nonstandard directory -- CPP C preprocessor -- --Use these variables to override the choices made by `configure' or to help --it to find libraries and programs with nonstandard names/locations. -- --Report bugs to . --_ACEOF --fi -- --if test "$ac_init_help" = "recursive"; then -- # If there are subdirs, report their specific --help. -- ac_popdir=`pwd` -- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -- test -d $ac_dir || continue -- ac_builddir=. -- --if test "$ac_dir" != .; then -- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` -- # A "../" for each directory in $ac_dir_suffix. -- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` --else -- ac_dir_suffix= ac_top_builddir= --fi -- --case $srcdir in -- .) # No --srcdir option. We are building in place. -- ac_srcdir=. -- if test -z "$ac_top_builddir"; then -- ac_top_srcdir=. -- else -- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` -- fi ;; -- [\\/]* | ?:[\\/]* ) # Absolute path. -- ac_srcdir=$srcdir$ac_dir_suffix; -- ac_top_srcdir=$srcdir ;; -- *) # Relative path. -- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix -- ac_top_srcdir=$ac_top_builddir$srcdir ;; --esac -- --# Do not use `cd foo && pwd` to compute absolute paths, because --# the directories may not exist. --case `pwd` in --.) ac_abs_builddir="$ac_dir";; --*) -- case "$ac_dir" in -- .) ac_abs_builddir=`pwd`;; -- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -- *) ac_abs_builddir=`pwd`/"$ac_dir";; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_top_builddir=${ac_top_builddir}.;; --*) -- case ${ac_top_builddir}. in -- .) ac_abs_top_builddir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_srcdir=$ac_srcdir;; --*) -- case $ac_srcdir in -- .) ac_abs_srcdir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_top_srcdir=$ac_top_srcdir;; --*) -- case $ac_top_srcdir in -- .) ac_abs_top_srcdir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -- esac;; --esac -- -- cd $ac_dir -- # Check for guested configure; otherwise get Cygnus style configure. -- if test -f $ac_srcdir/configure.gnu; then -- echo -- $SHELL $ac_srcdir/configure.gnu --help=recursive -- elif test -f $ac_srcdir/configure; then -- echo -- $SHELL $ac_srcdir/configure --help=recursive -- elif test -f $ac_srcdir/configure.ac || -- test -f $ac_srcdir/configure.in; then -- echo -- $ac_configure --help -- else -- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -- fi -- cd $ac_popdir -- done --fi -- --test -n "$ac_init_help" && exit 0 --if $ac_init_version; then -- cat <<\_ACEOF --GRUB configure 0.97 --generated by GNU Autoconf 2.59 -- --Copyright (C) 2003 Free Software Foundation, Inc. --This configure script is free software; the Free Software Foundation --gives unlimited permission to copy, distribute and modify it. --_ACEOF -- exit 0 --fi --exec 5>config.log --cat >&5 <<_ACEOF --This file contains any messages produced by compilers while --running configure, to aid debugging if configure makes a mistake. -- --It was created by GRUB $as_me 0.97, which was --generated by GNU Autoconf 2.59. Invocation command line was -- -- $ $0 $@ -- --_ACEOF --{ --cat <<_ASUNAME --## --------- ## --## Platform. ## --## --------- ## -- --hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` --uname -m = `(uname -m) 2>/dev/null || echo unknown` --uname -r = `(uname -r) 2>/dev/null || echo unknown` --uname -s = `(uname -s) 2>/dev/null || echo unknown` --uname -v = `(uname -v) 2>/dev/null || echo unknown` -- --/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` --/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -- --/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` --/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` --/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` --hostinfo = `(hostinfo) 2>/dev/null || echo unknown` --/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` --/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` --/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -- --_ASUNAME -- --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- echo "PATH: $as_dir" --done -- --} >&5 -- --cat >&5 <<_ACEOF -- -- --## ----------- ## --## Core tests. ## --## ----------- ## -- --_ACEOF -- -- --# Keep a trace of the command line. --# Strip out --no-create and --no-recursion so they do not pile up. --# Strip out --silent because we don't want to record it for future runs. --# Also quote any args containing shell meta-characters. --# Make two passes to allow for proper duplicate-argument suppression. --ac_configure_args= --ac_configure_args0= --ac_configure_args1= --ac_sep= --ac_must_keep_next=false --for ac_pass in 1 2 --do -- for ac_arg -- do -- case $ac_arg in -- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -- | -silent | --silent | --silen | --sile | --sil) -- continue ;; -- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) -- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -- esac -- case $ac_pass in -- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; -- 2) -- ac_configure_args1="$ac_configure_args1 '$ac_arg'" -- if test $ac_must_keep_next = true; then -- ac_must_keep_next=false # Got value, back to normal. -- else -- case $ac_arg in -- *=* | --config-cache | -C | -disable-* | --disable-* \ -- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -- | -with-* | --with-* | -without-* | --without-* | --x) -- case "$ac_configure_args0 " in -- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -- esac -- ;; -- -* ) ac_must_keep_next=true ;; -- esac -- fi -- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" -- # Get rid of the leading space. -- ac_sep=" " -- ;; -- esac -- done --done --$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } --$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } -- --# When interrupted or exit'd, cleanup temporary files, and complete --# config.log. We remove comments because anyway the quotes in there --# would cause problems or look ugly. --# WARNING: Be sure not to use single quotes in there, as some shells, --# such as our DU 5.0 friend, will then `close' the trap. --trap 'exit_status=$? -- # Save into config.log some information that might help in debugging. -- { -- echo -- -- cat <<\_ASBOX --## ---------------- ## --## Cache variables. ## --## ---------------- ## --_ASBOX -- echo -- # The following way of writing the cache mishandles newlines in values, --{ -- (set) 2>&1 | -- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in -- *ac_space=\ *) -- sed -n \ -- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" -- ;; -- *) -- sed -n \ -- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -- ;; -- esac; --} -- echo -- -- cat <<\_ASBOX --## ----------------- ## --## Output variables. ## --## ----------------- ## --_ASBOX -- echo -- for ac_var in $ac_subst_vars -- do -- eval ac_val=$`echo $ac_var` -- echo "$ac_var='"'"'$ac_val'"'"'" -- done | sort -- echo -- -- if test -n "$ac_subst_files"; then -- cat <<\_ASBOX --## ------------- ## --## Output files. ## --## ------------- ## --_ASBOX -- echo -- for ac_var in $ac_subst_files -- do -- eval ac_val=$`echo $ac_var` -- echo "$ac_var='"'"'$ac_val'"'"'" -- done | sort -- echo -- fi -- -- if test -s confdefs.h; then -- cat <<\_ASBOX --## ----------- ## --## confdefs.h. ## --## ----------- ## --_ASBOX -- echo -- sed "/^$/d" confdefs.h | sort -- echo -- fi -- test "$ac_signal" != 0 && -- echo "$as_me: caught signal $ac_signal" -- echo "$as_me: exit $exit_status" -- } >&5 -- rm -f core *.core && -- rm -rf conftest* confdefs* conf$$* $ac_clean_files && -- exit $exit_status -- ' 0 --for ac_signal in 1 2 13 15; do -- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal --done --ac_signal=0 -- --# confdefs.h avoids OS command line length limits that DEFS can exceed. --rm -rf conftest* confdefs.h --# AIX cpp loses on an empty file, so make sure it contains at least a newline. --echo >confdefs.h -- --# Predefined preprocessor variables. -- --cat >>confdefs.h <<_ACEOF --#define PACKAGE_NAME "$PACKAGE_NAME" --_ACEOF -- -- --cat >>confdefs.h <<_ACEOF --#define PACKAGE_TARNAME "$PACKAGE_TARNAME" --_ACEOF -- -- --cat >>confdefs.h <<_ACEOF --#define PACKAGE_VERSION "$PACKAGE_VERSION" --_ACEOF -- -- --cat >>confdefs.h <<_ACEOF --#define PACKAGE_STRING "$PACKAGE_STRING" --_ACEOF -- -- --cat >>confdefs.h <<_ACEOF --#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" --_ACEOF -- -- --# Let the site file select an alternate cache file if it wants to. --# Prefer explicitly selected file to automatically selected ones. --if test -z "$CONFIG_SITE"; then -- if test "x$prefix" != xNONE; then -- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" -- else -- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -- fi --fi --for ac_site_file in $CONFIG_SITE; do -- if test -r "$ac_site_file"; then -- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 --echo "$as_me: loading site script $ac_site_file" >&6;} -- sed 's/^/| /' "$ac_site_file" >&5 -- . "$ac_site_file" -- fi --done -- --if test -r "$cache_file"; then -- # Some versions of bash will fail to source /dev/null (special -- # files actually), so we avoid doing that. -- if test -f "$cache_file"; then -- { echo "$as_me:$LINENO: loading cache $cache_file" >&5 --echo "$as_me: loading cache $cache_file" >&6;} -- case $cache_file in -- [\\/]* | ?:[\\/]* ) . $cache_file;; -- *) . ./$cache_file;; -- esac -- fi --else -- { echo "$as_me:$LINENO: creating cache $cache_file" >&5 --echo "$as_me: creating cache $cache_file" >&6;} -- >$cache_file --fi -- --# Check that the precious variables saved in the cache have kept the same --# value. --ac_cache_corrupted=false --for ac_var in `(set) 2>&1 | -- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do -- eval ac_old_set=\$ac_cv_env_${ac_var}_set -- eval ac_new_set=\$ac_env_${ac_var}_set -- eval ac_old_val="\$ac_cv_env_${ac_var}_value" -- eval ac_new_val="\$ac_env_${ac_var}_value" -- case $ac_old_set,$ac_new_set in -- set,) -- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 --echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -- ac_cache_corrupted=: ;; -- ,set) -- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 --echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -- ac_cache_corrupted=: ;; -- ,);; -- *) -- if test "x$ac_old_val" != "x$ac_new_val"; then -- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 --echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 --echo "$as_me: former value: $ac_old_val" >&2;} -- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 --echo "$as_me: current value: $ac_new_val" >&2;} -- ac_cache_corrupted=: -- fi;; -- esac -- # Pass precious variables to config.status. -- if test "$ac_new_set" = set; then -- case $ac_new_val in -- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) -- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -- *) ac_arg=$ac_var=$ac_new_val ;; -- esac -- case " $ac_configure_args " in -- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; -- esac -- fi --done --if $ac_cache_corrupted; then -- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 --echo "$as_me: error: changes in the environment can compromise the build" >&2;} -- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 --echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} -- { (exit 1); exit 1; }; } --fi -- --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ac_config_headers="$ac_config_headers config.h" -- --am__api_version="1.9" --ac_aux_dir= --for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do -- if test -f $ac_dir/install-sh; then -- ac_aux_dir=$ac_dir -- ac_install_sh="$ac_aux_dir/install-sh -c" -- break -- elif test -f $ac_dir/install.sh; then -- ac_aux_dir=$ac_dir -- ac_install_sh="$ac_aux_dir/install.sh -c" -- break -- elif test -f $ac_dir/shtool; then -- ac_aux_dir=$ac_dir -- ac_install_sh="$ac_aux_dir/shtool install -c" -- break -- fi --done --if test -z "$ac_aux_dir"; then -- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 --echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} -- { (exit 1); exit 1; }; } --fi --ac_config_guess="$SHELL $ac_aux_dir/config.guess" --ac_config_sub="$SHELL $ac_aux_dir/config.sub" --ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. -- --# Find a good install program. We prefer a C program (faster), --# so one script is as good as another. But avoid the broken or --# incompatible versions: --# SysV /etc/install, /usr/sbin/install --# SunOS /usr/etc/install --# IRIX /sbin/install --# AIX /bin/install --# AmigaOS /C/install, which installs bootblocks on floppy discs --# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag --# AFS /usr/afsws/bin/install, which mishandles nonexistent args --# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" --# OS/2's system install, which has a completely different semantic --# ./install, which can be erroneously created by make from ./install.sh. --echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 --echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 --if test -z "$INSTALL"; then --if test "${ac_cv_path_install+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- # Account for people who put trailing slashes in PATH elements. --case $as_dir/ in -- ./ | .// | /cC/* | \ -- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ -- /usr/ucb/* ) ;; -- *) -- # OSF1 and SCO ODT 3.0 have their own names for install. -- # Don't use installbsd from OSF since it installs stuff as root -- # by default. -- for ac_prog in ginstall scoinst install; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -- if test $ac_prog = install && -- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # AIX install. It has an incompatible calling convention. -- : -- elif test $ac_prog = install && -- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -- # program-specific install script used by HP pwplus--don't use. -- : -- else -- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -- break 3 -- fi -- fi -- done -- done -- ;; --esac --done -- -- --fi -- if test "${ac_cv_path_install+set}" = set; then -- INSTALL=$ac_cv_path_install -- else -- # As a last resort, use the slow shell script. We don't cache a -- # path for INSTALL within a source directory, because that will -- # break other packages using the cache if that directory is -- # removed, or if the path is relative. -- INSTALL=$ac_install_sh -- fi --fi --echo "$as_me:$LINENO: result: $INSTALL" >&5 --echo "${ECHO_T}$INSTALL" >&6 -- --# Use test -z because SunOS4 sh mishandles braces in ${var-val}. --# It thinks the first close brace ends the variable substitution. --test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -- --test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -- --test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -- --echo "$as_me:$LINENO: checking whether build environment is sane" >&5 --echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 --# Just in case --sleep 1 --echo timestamp > conftest.file --# Do `set' in a subshell so we don't clobber the current shell's --# arguments. Must try -L first in case configure is actually a --# symlink; some systems play weird games with the mod time of symlinks --# (eg FreeBSD returns the mod time of the symlink's containing --# directory). --if ( -- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` -- if test "$*" = "X"; then -- # -L didn't work. -- set X `ls -t $srcdir/configure conftest.file` -- fi -- rm -f conftest.file -- if test "$*" != "X $srcdir/configure conftest.file" \ -- && test "$*" != "X conftest.file $srcdir/configure"; then -- -- # If neither matched, then we have a broken ls. This can happen -- # if, for instance, CONFIG_SHELL is bash and it inherits a -- # broken ls alias from the environment. This has actually -- # happened. Such a system could not be considered "sane". -- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken --alias in your environment" >&5 --echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken --alias in your environment" >&2;} -- { (exit 1); exit 1; }; } -- fi -- -- test "$2" = conftest.file -- ) --then -- # Ok. -- : --else -- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! --Check your system clock" >&5 --echo "$as_me: error: newly created file is older than distributed files! --Check your system clock" >&2;} -- { (exit 1); exit 1; }; } --fi --echo "$as_me:$LINENO: result: yes" >&5 --echo "${ECHO_T}yes" >&6 --test "$program_prefix" != NONE && -- program_transform_name="s,^,$program_prefix,;$program_transform_name" --# Use a double $ so make ignores it. --test "$program_suffix" != NONE && -- program_transform_name="s,\$,$program_suffix,;$program_transform_name" --# Double any \ or $. echo might interpret backslashes. --# By default was `s,x,x', remove it if useless. --cat <<\_ACEOF >conftest.sed --s/[\\$]/&&/g;s/;s,x,x,$// --_ACEOF --program_transform_name=`echo $program_transform_name | sed -f conftest.sed` --rm conftest.sed -- --# expand $ac_aux_dir to an absolute path --am_aux_dir=`cd $ac_aux_dir && pwd` -- --test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" --# Use eval to expand $SHELL --if eval "$MISSING --run true"; then -- am_missing_run="$MISSING --run " --else -- am_missing_run= -- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 --echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} --fi -- --if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then -- # We used to keeping the `.' as first argument, in order to -- # allow $(mkdir_p) to be used without argument. As in -- # $(mkdir_p) $(somedir) -- # where $(somedir) is conditionally defined. However this is wrong -- # for two reasons: -- # 1. if the package is installed by a user who cannot write `.' -- # make install will fail, -- # 2. the above comment should most certainly read -- # $(mkdir_p) $(DESTDIR)$(somedir) -- # so it does not work when $(somedir) is undefined and -- # $(DESTDIR) is not. -- # To support the latter case, we have to write -- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), -- # so the `.' trick is pointless. -- mkdir_p='mkdir -p --' --else -- # On NextStep and OpenStep, the `mkdir' command does not -- # recognize any option. It will interpret all options as -- # directories to create, and then abort because `.' already -- # exists. -- for d in ./-p ./--version; -- do -- test -d $d && rmdir $d -- done -- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. -- if test -f "$ac_aux_dir/mkinstalldirs"; then -- mkdir_p='$(mkinstalldirs)' -- else -- mkdir_p='$(install_sh) -d' -- fi --fi -- --for ac_prog in gawk mawk nawk awk --do -- # Extract the first word of "$ac_prog", so it can be a program name with args. --set dummy $ac_prog; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_AWK+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$AWK"; then -- ac_cv_prog_AWK="$AWK" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_AWK="$ac_prog" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --AWK=$ac_cv_prog_AWK --if test -n "$AWK"; then -- echo "$as_me:$LINENO: result: $AWK" >&5 --echo "${ECHO_T}$AWK" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- test -n "$AWK" && break --done -- --echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 --echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 --set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` --if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.make <<\_ACEOF --all: -- @echo 'ac_maketemp="$(MAKE)"' --_ACEOF --# GNU make sometimes prints "make[1]: Entering...", which would confuse us. --eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` --if test -n "$ac_maketemp"; then -- eval ac_cv_prog_make_${ac_make}_set=yes --else -- eval ac_cv_prog_make_${ac_make}_set=no --fi --rm -f conftest.make --fi --if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then -- echo "$as_me:$LINENO: result: yes" >&5 --echo "${ECHO_T}yes" >&6 -- SET_MAKE= --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 -- SET_MAKE="MAKE=${MAKE-make}" --fi -- --rm -rf .tst 2>/dev/null --mkdir .tst 2>/dev/null --if test -d .tst; then -- am__leading_dot=. --else -- am__leading_dot=_ --fi --rmdir .tst 2>/dev/null -- --# test to see if srcdir already configured --if test "`cd $srcdir && pwd`" != "`pwd`" && -- test -f $srcdir/config.status; then -- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 --echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} -- { (exit 1); exit 1; }; } --fi -- --# test whether we have cygpath --if test -z "$CYGPATH_W"; then -- if (cygpath --version) >/dev/null 2>/dev/null; then -- CYGPATH_W='cygpath -w' -- else -- CYGPATH_W=echo -- fi --fi -- -- --# Define the identity of the package. -- PACKAGE='grub' -- VERSION='0.97' -- -- --cat >>confdefs.h <<_ACEOF --#define PACKAGE "$PACKAGE" --_ACEOF -- -- --cat >>confdefs.h <<_ACEOF --#define VERSION "$VERSION" --_ACEOF -- --# Some tools Automake needs. -- --ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -- -- --AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} -- -- --AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} -- -- --AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} -- -- --MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -- --install_sh=${install_sh-"$am_aux_dir/install-sh"} -- --# Installed binaries are usually stripped using `strip' when the user --# run `make install-strip'. However `strip' might not be the right --# tool to use in cross-compilation environments, therefore Automake --# will honor the `STRIP' environment variable to overrule this program. --if test "$cross_compiling" != no; then -- if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. --set dummy ${ac_tool_prefix}strip; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_STRIP+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$STRIP"; then -- ac_cv_prog_STRIP="$STRIP" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_STRIP="${ac_tool_prefix}strip" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --STRIP=$ac_cv_prog_STRIP --if test -n "$STRIP"; then -- echo "$as_me:$LINENO: result: $STRIP" >&5 --echo "${ECHO_T}$STRIP" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$ac_cv_prog_STRIP"; then -- ac_ct_STRIP=$STRIP -- # Extract the first word of "strip", so it can be a program name with args. --set dummy strip; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_STRIP"; then -- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_STRIP="strip" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- -- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" --fi --fi --ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP --if test -n "$ac_ct_STRIP"; then -- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 --echo "${ECHO_T}$ac_ct_STRIP" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- STRIP=$ac_ct_STRIP --else -- STRIP="$ac_cv_prog_STRIP" --fi -- --fi --INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -- --# We need awk for the "check" target. The system "awk" is bad on --# some platforms. --# Always define AMTAR for backward compatibility. -- --AMTAR=${AMTAR-"${am_missing_run}tar"} -- --am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' -- -- -- -- -- -- --# Make sure we can run config.sub. --$ac_config_sub sun4 >/dev/null 2>&1 || -- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 --echo "$as_me: error: cannot run $ac_config_sub" >&2;} -- { (exit 1); exit 1; }; } -- --echo "$as_me:$LINENO: checking build system type" >&5 --echo $ECHO_N "checking build system type... $ECHO_C" >&6 --if test "${ac_cv_build+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_cv_build_alias=$build_alias --test -z "$ac_cv_build_alias" && -- ac_cv_build_alias=`$ac_config_guess` --test -z "$ac_cv_build_alias" && -- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 --echo "$as_me: error: cannot guess build type; you must specify one" >&2;} -- { (exit 1); exit 1; }; } --ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || -- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 --echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} -- { (exit 1); exit 1; }; } -- --fi --echo "$as_me:$LINENO: result: $ac_cv_build" >&5 --echo "${ECHO_T}$ac_cv_build" >&6 --build=$ac_cv_build --build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` --build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` --build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -- -- --echo "$as_me:$LINENO: checking host system type" >&5 --echo $ECHO_N "checking host system type... $ECHO_C" >&6 --if test "${ac_cv_host+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_cv_host_alias=$host_alias --test -z "$ac_cv_host_alias" && -- ac_cv_host_alias=$ac_cv_build_alias --ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || -- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 --echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} -- { (exit 1); exit 1; }; } -- --fi --echo "$as_me:$LINENO: result: $ac_cv_host" >&5 --echo "${ECHO_T}$ac_cv_host" >&6 --host=$ac_cv_host --host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` --host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` --host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -- -- -- --case "$host_cpu" in --i[3456]86) host_cpu=i386 ;; --x86_64) host_cpu=x86_64 ;; --*) { { echo "$as_me:$LINENO: error: unsupported CPU type" >&5 --echo "$as_me: error: unsupported CPU type" >&2;} -- { (exit 1); exit 1; }; } ;; --esac -- -- -- -- --# --# Options --# -- --echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 --echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 -- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. --if test "${enable_maintainer_mode+set}" = set; then -- enableval="$enable_maintainer_mode" -- USE_MAINTAINER_MODE=$enableval --else -- USE_MAINTAINER_MODE=no --fi; -- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 --echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 -- -- --if test $USE_MAINTAINER_MODE = yes; then -- MAINTAINER_MODE_TRUE= -- MAINTAINER_MODE_FALSE='#' --else -- MAINTAINER_MODE_TRUE='#' -- MAINTAINER_MODE_FALSE= --fi -- -- MAINT=$MAINTAINER_MODE_TRUE -- -- --if test "x$enable_maintainer_mode" = xyes; then -- # Extract the first word of "perl", so it can be a program name with args. --set dummy perl; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_path_PERL+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- case $PERL in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_PERL="$PERL" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- -- ;; --esac --fi --PERL=$ac_cv_path_PERL -- --if test -n "$PERL"; then -- echo "$as_me:$LINENO: result: $PERL" >&5 --echo "${ECHO_T}$PERL" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- if test -z "$PERL"; then -- { { echo "$as_me:$LINENO: error: perl not found" >&5 --echo "$as_me: error: perl not found" >&2;} -- { (exit 1); exit 1; }; } -- fi --fi -- --# This should be checked before AC_PROG_CC --if test "x$CFLAGS" = x; then -- default_CFLAGS=yes --fi -- --if test "x$host_cpu" = xx86_64; then -- CFLAGS="-m32 $CFLAGS" --fi -- --# --# Programs --# -- --if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. --set dummy ${ac_tool_prefix}gcc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_CC="${ac_tool_prefix}gcc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- echo "$as_me:$LINENO: result: $CC" >&5 --echo "${ECHO_T}$CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$ac_cv_prog_CC"; then -- ac_ct_CC=$CC -- # Extract the first word of "gcc", so it can be a program name with args. --set dummy gcc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_CC"; then -- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_CC="gcc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --ac_ct_CC=$ac_cv_prog_ac_ct_CC --if test -n "$ac_ct_CC"; then -- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 --echo "${ECHO_T}$ac_ct_CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- CC=$ac_ct_CC --else -- CC="$ac_cv_prog_CC" --fi -- --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu --if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. --set dummy ${ac_tool_prefix}gcc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_CC="${ac_tool_prefix}gcc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- echo "$as_me:$LINENO: result: $CC" >&5 --echo "${ECHO_T}$CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$ac_cv_prog_CC"; then -- ac_ct_CC=$CC -- # Extract the first word of "gcc", so it can be a program name with args. --set dummy gcc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_CC"; then -- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_CC="gcc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --ac_ct_CC=$ac_cv_prog_ac_ct_CC --if test -n "$ac_ct_CC"; then -- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 --echo "${ECHO_T}$ac_ct_CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- CC=$ac_ct_CC --else -- CC="$ac_cv_prog_CC" --fi -- --if test -z "$CC"; then -- if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. --set dummy ${ac_tool_prefix}cc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_CC="${ac_tool_prefix}cc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- echo "$as_me:$LINENO: result: $CC" >&5 --echo "${ECHO_T}$CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$ac_cv_prog_CC"; then -- ac_ct_CC=$CC -- # Extract the first word of "cc", so it can be a program name with args. --set dummy cc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_CC"; then -- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_CC="cc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --ac_ct_CC=$ac_cv_prog_ac_ct_CC --if test -n "$ac_ct_CC"; then -- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 --echo "${ECHO_T}$ac_ct_CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- CC=$ac_ct_CC --else -- CC="$ac_cv_prog_CC" --fi -- --fi --if test -z "$CC"; then -- # Extract the first word of "cc", so it can be a program name with args. --set dummy cc; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else -- ac_prog_rejected=no --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -- ac_prog_rejected=yes -- continue -- fi -- ac_cv_prog_CC="cc" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --if test $ac_prog_rejected = yes; then -- # We found a bogon in the path, so make sure we never use it. -- set dummy $ac_cv_prog_CC -- shift -- if test $# != 0; then -- # We chose a different compiler from the bogus one. -- # However, it has the same basename, so the bogon will be chosen -- # first if we set CC to just the basename; use the full file name. -- shift -- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -- fi --fi --fi --fi --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- echo "$as_me:$LINENO: result: $CC" >&5 --echo "${ECHO_T}$CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$CC"; then -- if test -n "$ac_tool_prefix"; then -- for ac_prog in cl -- do -- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. --set dummy $ac_tool_prefix$ac_prog; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- echo "$as_me:$LINENO: result: $CC" >&5 --echo "${ECHO_T}$CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- test -n "$CC" && break -- done --fi --if test -z "$CC"; then -- ac_ct_CC=$CC -- for ac_prog in cl --do -- # Extract the first word of "$ac_prog", so it can be a program name with args. --set dummy $ac_prog; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_CC"; then -- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_CC="$ac_prog" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --ac_ct_CC=$ac_cv_prog_ac_ct_CC --if test -n "$ac_ct_CC"; then -- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 --echo "${ECHO_T}$ac_ct_CC" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- test -n "$ac_ct_CC" && break --done -- -- CC=$ac_ct_CC --fi -- --fi -- -- --test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH --See \`config.log' for more details." >&5 --echo "$as_me: error: no acceptable C compiler found in \$PATH --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } -- --# Provide some information about the compiler. --echo "$as_me:$LINENO:" \ -- "checking for C compiler version" >&5 --ac_compiler=`set X $ac_compile; echo $2` --{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 -- (eval $ac_compiler --version &5) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } --{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 -- (eval $ac_compiler -v &5) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } --{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 -- (eval $ac_compiler -V &5) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } -- --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files a.out a.exe b.out" --# Try to create an executable without -o first, disregard a.out. --# It will help us diagnose broken compilers, and finding out an intuition --# of exeext. --echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 --echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 --ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` --if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 -- (eval $ac_link_default) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; then -- # Find the output, starting from the most likely. This scheme is --# not robust to junk in `.', hence go to wildcards (a.*) only as a last --# resort. -- --# Be careful to initialize this variable, since it used to be cached. --# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. --ac_cv_exeext= --# b.out is created by i960 compilers. --for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out --do -- test -f "$ac_file" || continue -- case $ac_file in -- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) -- ;; -- conftest.$ac_ext ) -- # This is the source file. -- ;; -- [ab].out ) -- # We found the default executable, but exeext='' is most -- # certainly right. -- break;; -- *.* ) -- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -- # FIXME: I believe we export ac_cv_exeext for Libtool, -- # but it would be cool to find out if it's true. Does anybody -- # maintain Libtool? --akim. -- export ac_cv_exeext -- break;; -- * ) -- break;; -- esac --done --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --{ { echo "$as_me:$LINENO: error: C compiler cannot create executables --See \`config.log' for more details." >&5 --echo "$as_me: error: C compiler cannot create executables --See \`config.log' for more details." >&2;} -- { (exit 77); exit 77; }; } --fi -- --ac_exeext=$ac_cv_exeext --echo "$as_me:$LINENO: result: $ac_file" >&5 --echo "${ECHO_T}$ac_file" >&6 -- --# Check the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --echo "$as_me:$LINENO: checking whether the C compiler works" >&5 --echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 --# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { echo "$as_me:$LINENO: error: cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." >&5 --echo "$as_me: error: cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } -- fi -- fi --fi --echo "$as_me:$LINENO: result: yes" >&5 --echo "${ECHO_T}yes" >&6 -- --rm -f a.out a.exe conftest$ac_cv_exeext b.out --ac_clean_files=$ac_clean_files_save --# Check the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 --echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 --echo "$as_me:$LINENO: result: $cross_compiling" >&5 --echo "${ECHO_T}$cross_compiling" >&6 -- --echo "$as_me:$LINENO: checking for suffix of executables" >&5 --echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; then -- # If both `conftest.exe' and `conftest' are `present' (well, observable) --# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will --# work properly (i.e., refer to `conftest.exe'), while it won't with --# `rm'. --for ac_file in conftest.exe conftest conftest.*; do -- test -f "$ac_file" || continue -- case $ac_file in -- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; -- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -- export ac_cv_exeext -- break;; -- * ) break;; -- esac --done --else -- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link --See \`config.log' for more details." >&5 --echo "$as_me: error: cannot compute suffix of executables: cannot compile and link --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } --fi -- --rm -f conftest$ac_cv_exeext --echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 --echo "${ECHO_T}$ac_cv_exeext" >&6 -- --rm -f conftest.$ac_ext --EXEEXT=$ac_cv_exeext --ac_exeext=$EXEEXT --echo "$as_me:$LINENO: checking for suffix of object files" >&5 --echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 --if test "${ac_cv_objext+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.o conftest.obj --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; then -- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do -- case $ac_file in -- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; -- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` -- break;; -- esac --done --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile --See \`config.log' for more details." >&5 --echo "$as_me: error: cannot compute suffix of object files: cannot compile --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } --fi -- --rm -f conftest.$ac_cv_objext conftest.$ac_ext --fi --echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 --echo "${ECHO_T}$ac_cv_objext" >&6 --OBJEXT=$ac_cv_objext --ac_objext=$OBJEXT --echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 --echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 --if test "${ac_cv_c_compiler_gnu+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --#ifndef __GNUC__ -- choke me --#endif -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_compiler_gnu=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_compiler_gnu=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext --ac_cv_c_compiler_gnu=$ac_compiler_gnu -- --fi --echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 --echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 --GCC=`test $ac_compiler_gnu = yes && echo yes` --ac_test_CFLAGS=${CFLAGS+set} --ac_save_CFLAGS=$CFLAGS --CFLAGS="-g" --echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 --echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 --if test "${ac_cv_prog_cc_g+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_prog_cc_g=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_cv_prog_cc_g=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext --fi --echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 --echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 --if test "$ac_test_CFLAGS" = set; then -- CFLAGS=$ac_save_CFLAGS --elif test $ac_cv_prog_cc_g = yes; then -- if test "$GCC" = yes; then -- CFLAGS="-g -O2" -- else -- CFLAGS="-g" -- fi --else -- if test "$GCC" = yes; then -- CFLAGS="-O2" -- else -- CFLAGS= -- fi --fi --echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 --echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 --if test "${ac_cv_prog_cc_stdc+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_cv_prog_cc_stdc=no --ac_save_CC=$CC --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include --#include --#include --#include --/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ --struct buf { int x; }; --FILE * (*rcsopen) (struct buf *, struct stat *, int); --static char *e (p, i) -- char **p; -- int i; --{ -- return p[i]; --} --static char *f (char * (*g) (char **, int), char **p, ...) --{ -- char *s; -- va_list v; -- va_start (v,p); -- s = g (p, va_arg (v,int)); -- va_end (v); -- return s; --} -- --/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has -- function prototypes and stuff, but not '\xHH' hex character constants. -- These don't provoke an error unfortunately, instead are silently treated -- as 'x'. The following induces an error, until -std1 is added to get -- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an -- array size at least. It's necessary to write '\x00'==0 to get something -- that's true only with -std1. */ --int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -- --int test (int i, double x); --struct s1 {int (*f) (int a);}; --struct s2 {int (*f) (double a);}; --int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); --int argc; --char **argv; --int --main () --{ --return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; -- ; -- return 0; --} --_ACEOF --# Don't try gcc -ansi; that turns off useful extensions and --# breaks some systems' header files. --# AIX -qlanglvl=ansi --# Ultrix and OSF/1 -std1 --# HP-UX 10.20 and later -Ae --# HP-UX older versions -Aa -D_HPUX_SOURCE --# SVR4 -Xc -D__EXTENSIONS__ --for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" --do -- CC="$ac_save_CC $ac_arg" -- rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_prog_cc_stdc=$ac_arg --break --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --fi --rm -f conftest.err conftest.$ac_objext --done --rm -f conftest.$ac_ext conftest.$ac_objext --CC=$ac_save_CC -- --fi -- --case "x$ac_cv_prog_cc_stdc" in -- x|xno) -- echo "$as_me:$LINENO: result: none needed" >&5 --echo "${ECHO_T}none needed" >&6 ;; -- *) -- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 --echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 -- CC="$CC $ac_cv_prog_cc_stdc" ;; --esac -- --# Some people use a C++ compiler to compile C. Since we use `exit', --# in C++ we need to declare it. In case someone uses the same compiler --# for both compiling C and C++ we need to have the C++ compiler decide --# the declaration of exit, since it's the most demanding environment. --cat >conftest.$ac_ext <<_ACEOF --#ifndef __cplusplus -- choke me --#endif --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- for ac_declaration in \ -- '' \ -- 'extern "C" void std::exit (int) throw (); using std::exit;' \ -- 'extern "C" void std::exit (int); using std::exit;' \ -- 'extern "C" void exit (int) throw ();' \ -- 'extern "C" void exit (int);' \ -- 'void exit (int);' --do -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --$ac_declaration --#include --int --main () --{ --exit (42); -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- : --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --continue --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --$ac_declaration --int --main () --{ --exit (42); -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- break --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext --done --rm -f conftest* --if test -n "$ac_declaration"; then -- echo '#ifdef __cplusplus' >>confdefs.h -- echo $ac_declaration >>confdefs.h -- echo '#endif' >>confdefs.h --fi -- --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu --DEPDIR="${am__leading_dot}deps" -- -- ac_config_commands="$ac_config_commands depfiles" -- -- --am_make=${MAKE-make} --cat > confinc << 'END' --am__doit: -- @echo done --.PHONY: am__doit --END --# If we don't find an include directive, just comment out the code. --echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 --echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 --am__include="#" --am__quote= --_am_result=none --# First try GNU make style include. --echo "include confinc" > confmf --# We grep out `Entering directory' and `Leaving directory' --# messages which can occur if `w' ends up in MAKEFLAGS. --# In particular we don't look at `^make:' because GNU make might --# be invoked under some other name (usually "gmake"), in which --# case it prints its new name instead of `make'. --if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -- am__include=include -- am__quote= -- _am_result=GNU --fi --# Now try BSD make style include. --if test "$am__include" = "#"; then -- echo '.include "confinc"' > confmf -- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -- am__include=.include -- am__quote="\"" -- _am_result=BSD -- fi --fi -- -- --echo "$as_me:$LINENO: result: $_am_result" >&5 --echo "${ECHO_T}$_am_result" >&6 --rm -f confinc confmf -- --# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. --if test "${enable_dependency_tracking+set}" = set; then -- enableval="$enable_dependency_tracking" -- --fi; --if test "x$enable_dependency_tracking" != xno; then -- am_depcomp="$ac_aux_dir/depcomp" -- AMDEPBACKSLASH='\' --fi -- -- --if test "x$enable_dependency_tracking" != xno; then -- AMDEP_TRUE= -- AMDEP_FALSE='#' --else -- AMDEP_TRUE='#' -- AMDEP_FALSE= --fi -- -- -- -- --depcc="$CC" am_compiler_list= -- --echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 --echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 --if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -- # We make a subdir and do the tests there. Otherwise we can end up -- # making bogus files that we don't know about and never remove. For -- # instance it was reported that on HP-UX the gcc test will end up -- # making a dummy file named `D' -- because `-MD' means `put the output -- # in D'. -- mkdir conftest.dir -- # Copy depcomp to subdir because otherwise we won't find it if we're -- # using a relative directory. -- cp "$am_depcomp" conftest.dir -- cd conftest.dir -- # We will build objects and dependencies in a subdirectory because -- # it helps to detect inapplicable dependency modes. For instance -- # both Tru64's cc and ICC support -MD to output dependencies as a -- # side effect of compilation, but ICC will put the dependencies in -- # the current directory while Tru64 will put them in the object -- # directory. -- mkdir sub -- -- am_cv_CC_dependencies_compiler_type=none -- if test "$am_compiler_list" = ""; then -- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -- fi -- for depmode in $am_compiler_list; do -- # Setup a source with many dependencies, because some compilers -- # like to wrap large dependency lists on column 80 (with \), and -- # we should not choose a depcomp mode which is confused by this. -- # -- # We need to recreate these files for each test, as the compiler may -- # overwrite some of them when testing with obscure command lines. -- # This happens at least with the AIX C compiler. -- : > sub/conftest.c -- for i in 1 2 3 4 5 6; do -- echo '#include "conftst'$i'.h"' >> sub/conftest.c -- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -- # Solaris 8's {/usr,}/bin/sh. -- touch sub/conftst$i.h -- done -- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -- -- case $depmode in -- nosideeffect) -- # after this tag, mechanisms are not by side-effect, so they'll -- # only be used when explicitly requested -- if test "x$enable_dependency_tracking" = xyes; then -- continue -- else -- break -- fi -- ;; -- none) break ;; -- esac -- # We check with `-c' and `-o' for the sake of the "dashmstdout" -- # mode. It turns out that the SunPro C++ compiler does not properly -- # handle `-M -o', and we need to detect this. -- if depmode=$depmode \ -- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -- >/dev/null 2>conftest.err && -- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -- # icc doesn't choke on unknown options, it will just issue warnings -- # or remarks (even with -Werror). So we grep stderr for any message -- # that says an option was ignored or not supported. -- # When given -MP, icc 7.0 and 7.1 complain thusly: -- # icc: Command line warning: ignoring option '-M'; no argument required -- # The diagnosis changed in icc 8.0: -- # icc: Command line remark: option '-MP' not supported -- if (grep 'ignoring option' conftest.err || -- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -- am_cv_CC_dependencies_compiler_type=$depmode -- break -- fi -- fi -- done -- -- cd .. -- rm -rf conftest.dir --else -- am_cv_CC_dependencies_compiler_type=none --fi -- --fi --echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 --echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 --CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -- -- -- --if -- test "x$enable_dependency_tracking" != xno \ -- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -- am__fastdepCC_TRUE= -- am__fastdepCC_FALSE='#' --else -- am__fastdepCC_TRUE='#' -- am__fastdepCC_FALSE= --fi -- -- --# We need this for older versions of Autoconf. -- --depcc="$CC" am_compiler_list= -- --echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 --echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 --if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -- # We make a subdir and do the tests there. Otherwise we can end up -- # making bogus files that we don't know about and never remove. For -- # instance it was reported that on HP-UX the gcc test will end up -- # making a dummy file named `D' -- because `-MD' means `put the output -- # in D'. -- mkdir conftest.dir -- # Copy depcomp to subdir because otherwise we won't find it if we're -- # using a relative directory. -- cp "$am_depcomp" conftest.dir -- cd conftest.dir -- # We will build objects and dependencies in a subdirectory because -- # it helps to detect inapplicable dependency modes. For instance -- # both Tru64's cc and ICC support -MD to output dependencies as a -- # side effect of compilation, but ICC will put the dependencies in -- # the current directory while Tru64 will put them in the object -- # directory. -- mkdir sub -- -- am_cv_CC_dependencies_compiler_type=none -- if test "$am_compiler_list" = ""; then -- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -- fi -- for depmode in $am_compiler_list; do -- # Setup a source with many dependencies, because some compilers -- # like to wrap large dependency lists on column 80 (with \), and -- # we should not choose a depcomp mode which is confused by this. -- # -- # We need to recreate these files for each test, as the compiler may -- # overwrite some of them when testing with obscure command lines. -- # This happens at least with the AIX C compiler. -- : > sub/conftest.c -- for i in 1 2 3 4 5 6; do -- echo '#include "conftst'$i'.h"' >> sub/conftest.c -- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -- # Solaris 8's {/usr,}/bin/sh. -- touch sub/conftst$i.h -- done -- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -- -- case $depmode in -- nosideeffect) -- # after this tag, mechanisms are not by side-effect, so they'll -- # only be used when explicitly requested -- if test "x$enable_dependency_tracking" = xyes; then -- continue -- else -- break -- fi -- ;; -- none) break ;; -- esac -- # We check with `-c' and `-o' for the sake of the "dashmstdout" -- # mode. It turns out that the SunPro C++ compiler does not properly -- # handle `-M -o', and we need to detect this. -- if depmode=$depmode \ -- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -- >/dev/null 2>conftest.err && -- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -- # icc doesn't choke on unknown options, it will just issue warnings -- # or remarks (even with -Werror). So we grep stderr for any message -- # that says an option was ignored or not supported. -- # When given -MP, icc 7.0 and 7.1 complain thusly: -- # icc: Command line warning: ignoring option '-M'; no argument required -- # The diagnosis changed in icc 8.0: -- # icc: Command line remark: option '-MP' not supported -- if (grep 'ignoring option' conftest.err || -- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -- am_cv_CC_dependencies_compiler_type=$depmode -- break -- fi -- fi -- done -- -- cd .. -- rm -rf conftest.dir --else -- am_cv_CC_dependencies_compiler_type=none --fi -- --fi --echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 --echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 --CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -- -- -- --if -- test "x$enable_dependency_tracking" != xno \ -- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -- am__fastdepCC_TRUE= -- am__fastdepCC_FALSE='#' --else -- am__fastdepCC_TRUE='#' -- am__fastdepCC_FALSE= --fi -- -- -- --CCAS="$CC" -- -- -- --# Check whether --with-binutils or --without-binutils was given. --if test "${with_binutils+set}" = set; then -- withval="$with_binutils" -- --fi; -- --if test "x$with_binutils" != x; then -- # Extract the first word of "ranlib", so it can be a program name with args. --set dummy ranlib; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_path_RANLIB+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- case $RANLIB in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_RANLIB="$RANLIB" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --as_dummy=""$with_binutils:$PATH"" --for as_dir in $as_dummy --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_RANLIB="$as_dir/$ac_word$ac_exec_ext" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- -- test -z "$ac_cv_path_RANLIB" && ac_cv_path_RANLIB=":" -- ;; --esac --fi --RANLIB=$ac_cv_path_RANLIB -- --if test -n "$RANLIB"; then -- echo "$as_me:$LINENO: result: $RANLIB" >&5 --echo "${ECHO_T}$RANLIB" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --else -- if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. --set dummy ${ac_tool_prefix}ranlib; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_RANLIB+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$RANLIB"; then -- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --RANLIB=$ac_cv_prog_RANLIB --if test -n "$RANLIB"; then -- echo "$as_me:$LINENO: result: $RANLIB" >&5 --echo "${ECHO_T}$RANLIB" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$ac_cv_prog_RANLIB"; then -- ac_ct_RANLIB=$RANLIB -- # Extract the first word of "ranlib", so it can be a program name with args. --set dummy ranlib; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_RANLIB"; then -- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_RANLIB="ranlib" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- -- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" --fi --fi --ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB --if test -n "$ac_ct_RANLIB"; then -- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 --echo "${ECHO_T}$ac_ct_RANLIB" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- RANLIB=$ac_ct_RANLIB --else -- RANLIB="$ac_cv_prog_RANLIB" --fi -- --fi -- --# optimization flags --if test "x$ac_cv_c_compiler_gnu" = xyes; then -- if test "x$default_CFLAGS" = xyes; then -- # Autoconf may set CFLAGS to -O2 and/or -g. So eliminate them. -- CFLAGS="`echo $CFLAGS | sed -e 's/-g//g' -e 's/-O[0-9]//g'` -g" -- # If the user specify the directory for binutils, add the option `-B'. -- if test "x$with_binutils" != x; then -- CFLAGS="-B$with_binutils/ $CFLAGS" -- fi -- STAGE1_CFLAGS="-O2" -- GRUB_CFLAGS="-O2" -- --echo "$as_me:$LINENO: checking whether optimization for size works" >&5 --echo $ECHO_N "checking whether optimization for size works... $ECHO_C" >&6 --if test "${size_flag+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- -- saved_CFLAGS=$CFLAGS -- CFLAGS="-Os -g" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- size_flag=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --size_flag=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -- CFLAGS=$saved_CFLAGS -- --fi --echo "$as_me:$LINENO: result: $size_flag" >&5 --echo "${ECHO_T}$size_flag" >&6 -- if test "x$size_flag" = xyes; then -- STAGE2_CFLAGS="-Os" -- else -- STAGE2_CFLAGS="-O2 -fno-strength-reduce -fno-unroll-loops" -- fi -- # OpenBSD has a GCC extension for protecting applications from -- # stack smashing attacks, but GRUB doesn't want this feature. -- echo "$as_me:$LINENO: checking whether gcc has -fno-stack-protector" >&5 --echo $ECHO_N "checking whether gcc has -fno-stack-protector... $ECHO_C" >&6 --if test "${no_stack_protector_flag+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- -- saved_CFLAGS=$CFLAGS -- CFLAGS="-fno-stack-protector" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- no_stack_protector_flag=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --no_stack_protector_flag=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -- CFLAGS=$saved_CFLAGS -- --fi --echo "$as_me:$LINENO: result: $no_stack_protector_flag" >&5 --echo "${ECHO_T}$no_stack_protector_flag" >&6 -- if test "x$no_stack_protector_flag" = xyes; then -- STAGE2_CFLAGS="$STAGE2_CFLAGS -fno-stack-protector" -- fi -- fi --fi -- -- -- -- -- --# Enforce coding standards. --CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused -Wshadow" --CPPFLAGS="$CPPFLAGS -Wpointer-arith" -- --echo "$as_me:$LINENO: checking whether -Wundef works" >&5 --echo $ECHO_N "checking whether -Wundef works... $ECHO_C" >&6 --if test "${undef_flag+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- -- saved_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="-Wundef" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- undef_flag=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --undef_flag=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -- CPPFLAGS="$saved_CPPFLAGS" -- --fi --echo "$as_me:$LINENO: result: $undef_flag" >&5 --echo "${ECHO_T}$undef_flag" >&6 -- --# The options `-falign-*' are supported by gcc 3.0 or later. --# Probably it is sufficient to only check for -falign-loops. --echo "$as_me:$LINENO: checking whether -falign-loops works" >&5 --echo $ECHO_N "checking whether -falign-loops works... $ECHO_C" >&6 --if test "${falign_loop_flag+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- -- saved_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="-falign-loops=1" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- falign_loop_flag=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --falign_loop_flag=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -- CPPFLAGS="$saved_CPPFLAGS" -- --fi --echo "$as_me:$LINENO: result: $falign_loop_flag" >&5 --echo "${ECHO_T}$falign_loop_flag" >&6 -- --# Force no alignment to save space. --if test "x$falign_loop_flag" = xyes; then -- CPPFLAGS="$CPPFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1" --else -- CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1" --fi -- --if test "x$undef_flag" = xyes; then -- CPPFLAGS="$CPPFLAGS -Wundef" --fi -- --if test "x$with_binutils" != x; then -- # Extract the first word of "objcopy", so it can be a program name with args. --set dummy objcopy; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_path_OBJCOPY+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- case $OBJCOPY in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_OBJCOPY="$OBJCOPY" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --as_dummy=""$with_binutils:$PATH"" --for as_dir in $as_dummy --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_OBJCOPY="$as_dir/$ac_word$ac_exec_ext" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- -- ;; --esac --fi --OBJCOPY=$ac_cv_path_OBJCOPY -- --if test -n "$OBJCOPY"; then -- echo "$as_me:$LINENO: result: $OBJCOPY" >&5 --echo "${ECHO_T}$OBJCOPY" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --else -- if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args. --set dummy ${ac_tool_prefix}objcopy; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_OBJCOPY+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$OBJCOPY"; then -- ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_OBJCOPY="${ac_tool_prefix}objcopy" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --OBJCOPY=$ac_cv_prog_OBJCOPY --if test -n "$OBJCOPY"; then -- echo "$as_me:$LINENO: result: $OBJCOPY" >&5 --echo "${ECHO_T}$OBJCOPY" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- --fi --if test -z "$ac_cv_prog_OBJCOPY"; then -- ac_ct_OBJCOPY=$OBJCOPY -- # Extract the first word of "objcopy", so it can be a program name with args. --set dummy objcopy; ac_word=$2 --echo "$as_me:$LINENO: checking for $ac_word" >&5 --echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 --if test "${ac_cv_prog_ac_ct_OBJCOPY+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if test -n "$ac_ct_OBJCOPY"; then -- ac_cv_prog_ac_ct_OBJCOPY="$ac_ct_OBJCOPY" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_prog_ac_ct_OBJCOPY="objcopy" -- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done --done -- --fi --fi --ac_ct_OBJCOPY=$ac_cv_prog_ac_ct_OBJCOPY --if test -n "$ac_ct_OBJCOPY"; then -- echo "$as_me:$LINENO: result: $ac_ct_OBJCOPY" >&5 --echo "${ECHO_T}$ac_ct_OBJCOPY" >&6 --else -- echo "$as_me:$LINENO: result: no" >&5 --echo "${ECHO_T}no" >&6 --fi -- -- OBJCOPY=$ac_ct_OBJCOPY --else -- OBJCOPY="$ac_cv_prog_OBJCOPY" --fi -- --fi -- --# Defined in acinclude.m4. -- --echo "$as_me:$LINENO: checking if C symbols get an underscore after compilation" >&5 --echo $ECHO_N "checking if C symbols get an underscore after compilation... $ECHO_C" >&6 --if test "${grub_cv_asm_uscore+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat > conftest.c <<\EOF --int --func (int *list) --{ -- *list = 0; -- return *list; --} --EOF -- --if { ac_try='${CC-cc} ${CFLAGS} -S conftest.c' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && test -s conftest.s; then -- true --else -- { { echo "$as_me:$LINENO: error: ${CC-cc} failed to produce assembly code" >&5 --echo "$as_me: error: ${CC-cc} failed to produce assembly code" >&2;} -- { (exit 1); exit 1; }; } --fi -- --if grep _func conftest.s >/dev/null 2>&1; then -- grub_cv_asm_uscore=yes --else -- grub_cv_asm_uscore=no --fi -- --rm -f conftest* --fi -- -- --if test "x$grub_cv_asm_uscore" = xyes; then -- --cat >>confdefs.h <<_ACEOF --#define HAVE_ASM_USCORE $grub_cv_asm_uscore --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_asm_uscore" >&5 --echo "${ECHO_T}$grub_cv_asm_uscore" >&6 -- --echo "$as_me:$LINENO: checking whether ${OBJCOPY} works for absolute addresses" >&5 --echo $ECHO_N "checking whether ${OBJCOPY} works for absolute addresses... $ECHO_C" >&6 --if test "${grub_cv_prog_objcopy_absolute+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat > conftest.c <<\EOF --void --cmain (void) --{ -- *((int *) 0x1000) = 2; --} --EOF -- --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && test -s conftest.o; then : --else -- { { echo "$as_me:$LINENO: error: ${CC-cc} cannot compile C source code" >&5 --echo "$as_me: error: ${CC-cc} cannot compile C source code" >&2;} -- { (exit 1); exit 1; }; } --fi --grub_cv_prog_objcopy_absolute=yes --for link_addr in 2000 8000 7C00; do -- if { ac_try='${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then : -- else -- { { echo "$as_me:$LINENO: error: ${CC-cc} cannot link at address $link_addr" >&5 --echo "$as_me: error: ${CC-cc} cannot link at address $link_addr" >&2;} -- { (exit 1); exit 1; }; } -- fi -- if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then : -- else -- { { echo "$as_me:$LINENO: error: ${OBJCOPY-objcopy} cannot create binary files" >&5 --echo "$as_me: error: ${OBJCOPY-objcopy} cannot create binary files" >&2;} -- { (exit 1); exit 1; }; } -- fi -- if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- mv -f conftest conftest.old -- else -- grub_cv_prog_objcopy_absolute=no -- break -- fi --done --rm -f conftest* --fi -- --echo "$as_me:$LINENO: result: $grub_cv_prog_objcopy_absolute" >&5 --echo "${ECHO_T}$grub_cv_prog_objcopy_absolute" >&6 --if test "x$grub_cv_prog_objcopy_absolute" != xyes; then -- { { echo "$as_me:$LINENO: error: GRUB requires a working absolute objcopy; upgrade your binutils" >&5 --echo "$as_me: error: GRUB requires a working absolute objcopy; upgrade your binutils" >&2;} -- { (exit 1); exit 1; }; } --fi -- -- --echo "$as_me:$LINENO: checking whether addr32 must be in the same line as the instruction" >&5 --echo $ECHO_N "checking whether addr32 must be in the same line as the instruction... $ECHO_C" >&6 --if test "${grub_cv_asm_prefix_requirement+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat > conftest.s <<\EOF -- .code16 --l1: addr32 movb %al, l1 --EOF -- --if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && test -s conftest.o; then -- grub_cv_asm_prefix_requirement=yes --else -- grub_cv_asm_prefix_requirement=no --fi -- --rm -f conftest* --fi -- -- --if test "x$grub_cv_asm_prefix_requirement" = xyes; then -- grub_tmp_addr32="addr32" -- grub_tmp_data32="data32" --else -- grub_tmp_addr32="addr32;" -- grub_tmp_data32="data32;" --fi -- -- --cat >>confdefs.h <<_ACEOF --#define ADDR32 $grub_tmp_addr32 --_ACEOF -- -- --cat >>confdefs.h <<_ACEOF --#define DATA32 $grub_tmp_data32 --_ACEOF -- -- --echo "$as_me:$LINENO: result: $grub_cv_asm_prefix_requirement" >&5 --echo "${ECHO_T}$grub_cv_asm_prefix_requirement" >&6 -- -- -- --echo "$as_me:$LINENO: checking for .code16 addr32 assembler support" >&5 --echo $ECHO_N "checking for .code16 addr32 assembler support... $ECHO_C" >&6 --if test "${grub_cv_asm_addr32+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat > conftest.s.in <<\EOF -- .code16 --l1: @ADDR32@ movb %al, l1 --EOF -- --if test "x$grub_cv_asm_prefix_requirement" = xyes; then -- sed -e s/@ADDR32@/addr32/ < conftest.s.in > conftest.s --else -- sed -e s/@ADDR32@/addr32\;/ < conftest.s.in > conftest.s --fi -- --if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && test -s conftest.o; then -- grub_cv_asm_addr32=yes --else -- grub_cv_asm_addr32=no --fi -- --rm -f conftest* --fi -- -- --echo "$as_me:$LINENO: result: $grub_cv_asm_addr32" >&5 --echo "${ECHO_T}$grub_cv_asm_addr32" >&6 --if test "x$grub_cv_asm_addr32" != xyes; then -- { { echo "$as_me:$LINENO: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils" >&5 --echo "$as_me: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils" >&2;} -- { (exit 1); exit 1; }; } --fi -- -- --echo "$as_me:$LINENO: checking whether an absolute indirect call/jump must not be prefixed with an asterisk" >&5 --echo $ECHO_N "checking whether an absolute indirect call/jump must not be prefixed with an asterisk... $ECHO_C" >&6 --if test "${grub_cv_asm_absolute_without_asterisk+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat > conftest.s <<\EOF -- lcall *(offset) --offset: -- .long 0 -- .word 0 --EOF -- --if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && test -s conftest.o; then -- grub_cv_asm_absolute_without_asterisk=no --else -- grub_cv_asm_absolute_without_asterisk=yes --fi -- --rm -f conftest* --fi -- -- --if test "x$grub_cv_asm_absolute_without_asterisk" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define ABSOLUTE_WITHOUT_ASTERISK 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_asm_absolute_without_asterisk" >&5 --echo "${ECHO_T}$grub_cv_asm_absolute_without_asterisk" >&6 -- -- --echo "$as_me:$LINENO: checking if start is defined by the compiler" >&5 --echo $ECHO_N "checking if start is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_start_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl start") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_start_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_start_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_start_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_START_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_start_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_start_symbol" >&6 -- -- --echo "$as_me:$LINENO: checking if _start is defined by the compiler" >&5 --echo $ECHO_N "checking if _start is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_uscore_start_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl _start") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_uscore_start_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_uscore_start_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_uscore_start_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_USCORE_START_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_uscore_start_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_uscore_start_symbol" >&6 -- --if test "x$grub_cv_check_start_symbol" != "xyes" \ -- -a "x$grub_cv_check_uscore_start_symbol" != "xyes"; then -- { { echo "$as_me:$LINENO: error: Neither start nor _start is defined" >&5 --echo "$as_me: error: Neither start nor _start is defined" >&2;} -- { (exit 1); exit 1; }; } --fi -- -- --echo "$as_me:$LINENO: checking if __bss_start is defined by the compiler" >&5 --echo $ECHO_N "checking if __bss_start is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_uscore_uscore_bss_start_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl __bss_start") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_uscore_uscore_bss_start_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_uscore_uscore_bss_start_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_USCORE_USCORE_BSS_START_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_uscore_uscore_bss_start_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_uscore_uscore_bss_start_symbol" >&6 -- -- --echo "$as_me:$LINENO: checking if _edata is defined by the compiler" >&5 --echo $ECHO_N "checking if _edata is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_uscore_edata_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl _edata") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_uscore_edata_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_uscore_edata_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_uscore_edata_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_USCORE_EDATA_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_uscore_edata_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_uscore_edata_symbol" >&6 -- -- --echo "$as_me:$LINENO: checking if edata is defined by the compiler" >&5 --echo $ECHO_N "checking if edata is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_edata_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl edata") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_edata_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_edata_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_edata_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_EDATA_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_edata_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_edata_symbol" >&6 -- --if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" != "xyes" \ -- -a "x$grub_cv_check_uscore_edata_symbol" != "xyes" \ -- -a "x$grub_cv_check_edata_symbol" != "xyes"; then -- { { echo "$as_me:$LINENO: error: None of __bss_start, _edata, edata defined" >&5 --echo "$as_me: error: None of __bss_start, _edata, edata defined" >&2;} -- { (exit 1); exit 1; }; } --fi -- -- --echo "$as_me:$LINENO: checking if end is defined by the compiler" >&5 --echo $ECHO_N "checking if end is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_end_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl end") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_end_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_end_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_end_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_END_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_end_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_end_symbol" >&6 -- -- --echo "$as_me:$LINENO: checking if _end is defined by the compiler" >&5 --echo $ECHO_N "checking if _end is defined by the compiler... $ECHO_C" >&6 --if test "${grub_cv_check_uscore_end_symbol+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --int --main () --{ --asm ("incl _end") -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- grub_cv_check_uscore_end_symbol=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --grub_cv_check_uscore_end_symbol=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --fi -- -- --if test "x$grub_cv_check_uscore_end_symbol" = xyes; then -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_USCORE_END_SYMBOL 1 --_ACEOF -- --fi -- --echo "$as_me:$LINENO: result: $grub_cv_check_uscore_end_symbol" >&5 --echo "${ECHO_T}$grub_cv_check_uscore_end_symbol" >&6 -- --if test "x$grub_cv_check_end_symbol" != "xyes" \ -- -a "x$grub_cv_check_uscore_end_symbol" != "xyes"; then -- { { echo "$as_me:$LINENO: error: Neither end nor _end is defined" >&5 --echo "$as_me: error: Neither end nor _end is defined" >&2;} -- { (exit 1); exit 1; }; } --fi -- --# Check for curses libraries. -- --# Check whether --with-curses or --without-curses was given. --if test "${with_curses+set}" = set; then -- withval="$with_curses" -- --fi; -- --# Get the filename or the whole disk and open it. --# Known to work on NetBSD. --echo "$as_me:$LINENO: checking for opendisk in -lutil" >&5 --echo $ECHO_N "checking for opendisk in -lutil... $ECHO_C" >&6 --if test "${ac_cv_lib_util_opendisk+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-lutil $LIBS" --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --/* Override any gcc2 internal prototype to avoid an error. */ --#ifdef __cplusplus --extern "C" --#endif --/* We use char because int might match the return type of a gcc2 -- builtin and then its argument prototype would still apply. */ --char opendisk (); --int --main () --{ --opendisk (); -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_lib_util_opendisk=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_cv_lib_util_opendisk=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS --fi --echo "$as_me:$LINENO: result: $ac_cv_lib_util_opendisk" >&5 --echo "${ECHO_T}$ac_cv_lib_util_opendisk" >&6 --if test $ac_cv_lib_util_opendisk = yes; then -- GRUB_LIBS="$GRUB_LIBS -lutil" -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_OPENDISK 1 --_ACEOF -- --fi -- -- --# Unless the user specify --without-curses, check for curses. --if test "x$with_curses" != "xno"; then -- echo "$as_me:$LINENO: checking for wgetch in -lncurses" >&5 --echo $ECHO_N "checking for wgetch in -lncurses... $ECHO_C" >&6 --if test "${ac_cv_lib_ncurses_wgetch+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-lncurses $LIBS" --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --/* Override any gcc2 internal prototype to avoid an error. */ --#ifdef __cplusplus --extern "C" --#endif --/* We use char because int might match the return type of a gcc2 -- builtin and then its argument prototype would still apply. */ --char wgetch (); --int --main () --{ --wgetch (); -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_lib_ncurses_wgetch=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_cv_lib_ncurses_wgetch=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS --fi --echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_wgetch" >&5 --echo "${ECHO_T}$ac_cv_lib_ncurses_wgetch" >&6 --if test $ac_cv_lib_ncurses_wgetch = yes; then -- GRUB_LIBS="$GRUB_LIBS -lncurses" -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_LIBCURSES 1 --_ACEOF -- --else -- echo "$as_me:$LINENO: checking for wgetch in -lcurses" >&5 --echo $ECHO_N "checking for wgetch in -lcurses... $ECHO_C" >&6 --if test "${ac_cv_lib_curses_wgetch+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-lcurses $LIBS" --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ -- --/* Override any gcc2 internal prototype to avoid an error. */ --#ifdef __cplusplus --extern "C" --#endif --/* We use char because int might match the return type of a gcc2 -- builtin and then its argument prototype would still apply. */ --char wgetch (); --int --main () --{ --wgetch (); -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_lib_curses_wgetch=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_cv_lib_curses_wgetch=no --fi --rm -f conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS --fi --echo "$as_me:$LINENO: result: $ac_cv_lib_curses_wgetch" >&5 --echo "${ECHO_T}$ac_cv_lib_curses_wgetch" >&6 --if test $ac_cv_lib_curses_wgetch = yes; then -- GRUB_LIBS="$GRUB_LIBS -lcurses" -- --cat >>confdefs.h <<\_ACEOF --#define HAVE_LIBCURSES 1 --_ACEOF -- --fi -- --fi -- --fi -- -- -- --# Check for headers. --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu --echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 --echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 --# On Suns, sometimes $CPP names a directory. --if test -n "$CPP" && test -d "$CPP"; then -- CPP= --fi --if test -z "$CPP"; then -- if test "${ac_cv_prog_CPP+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- # Double quotes because CPP needs to be expanded -- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" -- do -- ac_preproc_ok=false --for ac_c_preproc_warn_flag in '' yes --do -- # Use a header file that comes with gcc, so configuring glibc -- # with a fresh cross-compiler works. -- # Prefer to if __STDC__ is defined, since -- # exists even on freestanding compilers. -- # On the NeXT, cc -E runs the code through the compiler's parser, -- # not just through cpp. "Syntax error" is here to catch this case. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#ifdef __STDC__ --# include --#else --# include --#endif -- Syntax error --_ACEOF --if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 -- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null; then -- if test -s conftest.err; then -- ac_cpp_err=$ac_c_preproc_warn_flag -- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag -- else -- ac_cpp_err= -- fi --else -- ac_cpp_err=yes --fi --if test -z "$ac_cpp_err"; then -- : --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- # Broken: fails on valid input. --continue --fi --rm -f conftest.err conftest.$ac_ext -- -- # OK, works on sane cases. Now check whether non-existent headers -- # can be detected and how. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include --_ACEOF --if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 -- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null; then -- if test -s conftest.err; then -- ac_cpp_err=$ac_c_preproc_warn_flag -- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag -- else -- ac_cpp_err= -- fi --else -- ac_cpp_err=yes --fi --if test -z "$ac_cpp_err"; then -- # Broken: success on invalid input. --continue --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- # Passes both tests. --ac_preproc_ok=: --break --fi --rm -f conftest.err conftest.$ac_ext -- --done --# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.err conftest.$ac_ext --if $ac_preproc_ok; then -- break --fi -- -- done -- ac_cv_prog_CPP=$CPP -- --fi -- CPP=$ac_cv_prog_CPP --else -- ac_cv_prog_CPP=$CPP --fi --echo "$as_me:$LINENO: result: $CPP" >&5 --echo "${ECHO_T}$CPP" >&6 --ac_preproc_ok=false --for ac_c_preproc_warn_flag in '' yes --do -- # Use a header file that comes with gcc, so configuring glibc -- # with a fresh cross-compiler works. -- # Prefer to if __STDC__ is defined, since -- # exists even on freestanding compilers. -- # On the NeXT, cc -E runs the code through the compiler's parser, -- # not just through cpp. "Syntax error" is here to catch this case. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#ifdef __STDC__ --# include --#else --# include --#endif -- Syntax error --_ACEOF --if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 -- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null; then -- if test -s conftest.err; then -- ac_cpp_err=$ac_c_preproc_warn_flag -- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag -- else -- ac_cpp_err= -- fi --else -- ac_cpp_err=yes --fi --if test -z "$ac_cpp_err"; then -- : --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- # Broken: fails on valid input. --continue --fi --rm -f conftest.err conftest.$ac_ext -- -- # OK, works on sane cases. Now check whether non-existent headers -- # can be detected and how. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include --_ACEOF --if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 -- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null; then -- if test -s conftest.err; then -- ac_cpp_err=$ac_c_preproc_warn_flag -- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag -- else -- ac_cpp_err= -- fi --else -- ac_cpp_err=yes --fi --if test -z "$ac_cpp_err"; then -- # Broken: success on invalid input. --continue --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- # Passes both tests. --ac_preproc_ok=: --break --fi --rm -f conftest.err conftest.$ac_ext -- --done --# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.err conftest.$ac_ext --if $ac_preproc_ok; then -- : --else -- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check --See \`config.log' for more details." >&5 --echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } --fi -- --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu -- -- --echo "$as_me:$LINENO: checking for egrep" >&5 --echo $ECHO_N "checking for egrep... $ECHO_C" >&6 --if test "${ac_cv_prog_egrep+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- if echo a | (grep -E '(a|b)') >/dev/null 2>&1 -- then ac_cv_prog_egrep='grep -E' -- else ac_cv_prog_egrep='egrep' -- fi --fi --echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 --echo "${ECHO_T}$ac_cv_prog_egrep" >&6 -- EGREP=$ac_cv_prog_egrep -- -- --echo "$as_me:$LINENO: checking for ANSI C header files" >&5 --echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 --if test "${ac_cv_header_stdc+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include --#include --#include --#include -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_cv_header_stdc=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_cv_header_stdc=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -- --if test $ac_cv_header_stdc = yes; then -- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "memchr" >/dev/null 2>&1; then -- : --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "free" >/dev/null 2>&1; then -- : --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -- if test "$cross_compiling" = yes; then -- : --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include --#if ((' ' & 0x0FF) == 0x020) --# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) --#else --# define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) --# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) --#endif -- --#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) --int --main () --{ -- int i; -- for (i = 0; i < 256; i++) -- if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -- exit(2); -- exit (0); --} --_ACEOF --rm -f conftest$ac_exeext --if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -- (eval $ac_link) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- : --else -- echo "$as_me: program exited with status $ac_status" >&5 --echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --( exit $ac_status ) --ac_cv_header_stdc=no --fi --rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext --fi --fi --fi --echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 --echo "${ECHO_T}$ac_cv_header_stdc" >&6 --if test $ac_cv_header_stdc = yes; then -- --cat >>confdefs.h <<\_ACEOF --#define STDC_HEADERS 1 --_ACEOF -- --fi -- --# On IRIX 5.3, sys/types and inttypes.h are conflicting. -- -- -- -- -- -- -- -- -- --for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -- inttypes.h stdint.h unistd.h --do --as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` --echo "$as_me:$LINENO: checking for $ac_header" >&5 --echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 --if eval "test \"\${$as_ac_Header+set}\" = set"; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --$ac_includes_default -- --#include <$ac_header> --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- eval "$as_ac_Header=yes" --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --eval "$as_ac_Header=no" --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext --fi --echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 --echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 --if test `eval echo '${'$as_ac_Header'}'` = yes; then -- cat >>confdefs.h <<_ACEOF --#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 --_ACEOF -- --fi -- --done -- -- -- -- -- -- -- --for ac_header in string.h strings.h ncurses/curses.h ncurses.h curses.h --do --as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` --if eval "test \"\${$as_ac_Header+set}\" = set"; then -- echo "$as_me:$LINENO: checking for $ac_header" >&5 --echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 --if eval "test \"\${$as_ac_Header+set}\" = set"; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --fi --echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 --echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 --else -- # Is the header compilable? --echo "$as_me:$LINENO: checking $ac_header usability" >&5 --echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --$ac_includes_default --#include <$ac_header> --_ACEOF --rm -f conftest.$ac_objext --if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -- (eval $ac_compile) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && -- { ac_try='test -z "$ac_c_werror_flag" -- || test ! -s conftest.err' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && -- { ac_try='test -s conftest.$ac_objext' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- ac_header_compiler=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- --ac_header_compiler=no --fi --rm -f conftest.err conftest.$ac_objext conftest.$ac_ext --echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 --echo "${ECHO_T}$ac_header_compiler" >&6 -- --# Is the header present? --echo "$as_me:$LINENO: checking $ac_header presence" >&5 --echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include <$ac_header> --_ACEOF --if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 -- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null; then -- if test -s conftest.err; then -- ac_cpp_err=$ac_c_preproc_warn_flag -- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag -- else -- ac_cpp_err= -- fi --else -- ac_cpp_err=yes --fi --if test -z "$ac_cpp_err"; then -- ac_header_preproc=yes --else -- echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_header_preproc=no --fi --rm -f conftest.err conftest.$ac_ext --echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 --echo "${ECHO_T}$ac_header_preproc" >&6 -- --# So? What about this header? --case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -- yes:no: ) -- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 --echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -- ac_header_preproc=yes -- ;; -- no:yes:* ) -- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 --echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 --echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 --echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 --echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 --echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 --echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -- ( -- cat <<\_ASBOX --## ------------------------------- ## --## Report this to bug-grub@gnu.org ## --## ------------------------------- ## --_ASBOX -- ) | -- sed "s/^/$as_me: WARNING: /" >&2 -- ;; --esac --echo "$as_me:$LINENO: checking for $ac_header" >&5 --echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 --if eval "test \"\${$as_ac_Header+set}\" = set"; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- eval "$as_ac_Header=\$ac_header_preproc" --fi --echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 --echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -- --fi --if test `eval echo '${'$as_ac_Header'}'` = yes; then -- cat >>confdefs.h <<_ACEOF --#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 --_ACEOF -- --fi -- --done -- -- --# Check for user options. -- --# filesystems support. --# Check whether --enable-ext2fs or --disable-ext2fs was given. --if test "${enable_ext2fs+set}" = set; then -- enableval="$enable_ext2fs" -- --fi; -- --if test x"$enable_ext2fs" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_EXT2FS=1" --fi -- --# Check whether --enable-fat or --disable-fat was given. --if test "${enable_fat+set}" = set; then -- enableval="$enable_fat" -- --fi; -- --if test x"$enable_fat" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FAT=1" --fi -- --# Check whether --enable-ffs or --disable-ffs was given. --if test "${enable_ffs+set}" = set; then -- enableval="$enable_ffs" -- --fi; -- --if test x"$enable_ffs" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FFS=1" --fi -- --# Check whether --enable-ufs2 or --disable-ufs2 was given. --if test "${enable_ufs2+set}" = set; then -- enableval="$enable_ufs2" -- --fi; -- --if test x"$enable_ufs2" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_UFS2=1" --fi -- --# Check whether --enable-minix or --disable-minix was given. --if test "${enable_minix+set}" = set; then -- enableval="$enable_minix" -- --fi; -- --if test x"$enable_minix" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_MINIX=1" --fi -- --# Check whether --enable-reiserfs or --disable-reiserfs was given. --if test "${enable_reiserfs+set}" = set; then -- enableval="$enable_reiserfs" -- --fi; -- --if test x"$enable_reiserfs" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1" --fi -- --# Check whether --enable-vstafs or --disable-vstafs was given. --if test "${enable_vstafs+set}" = set; then -- enableval="$enable_vstafs" -- --fi; -- --if test x"$enable_vstafs" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_VSTAFS=1" --fi -- --# Check whether --enable-jfs or --disable-jfs was given. --if test "${enable_jfs+set}" = set; then -- enableval="$enable_jfs" -- --fi; -- --if test x"$enable_jfs" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_JFS=1" --fi -- --# Check whether --enable-xfs or --disable-xfs was given. --if test "${enable_xfs+set}" = set; then -- enableval="$enable_xfs" -- --fi; -- --if test x"$enable_xfs" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_XFS=1" --fi -- --# Check whether --enable-iso9660 or --disable-iso9660 was given. --if test "${enable_iso9660+set}" = set; then -- enableval="$enable_iso9660" -- --fi; -- --if test x"$enable_iso9660" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_ISO9660=1" --fi -- -- --# Check whether --enable-gunzip or --disable-gunzip was given. --if test "${enable_gunzip+set}" = set; then -- enableval="$enable_gunzip" -- --fi; -- --if test x"$enable_gunzip" = xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DNO_DECOMPRESSION=1" --fi -- --# Check whether --enable-md5-password or --disable-md5-password was given. --if test "${enable_md5_password+set}" = set; then -- enableval="$enable_md5_password" -- --fi; --if test "x$enable_md5_password" != xno; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DUSE_MD5_PASSWORDS=1" --fi -- --# Check whether --enable-packet-retransmission or --disable-packet-retransmission was given. --if test "${enable_packet_retransmission+set}" = set; then -- enableval="$enable_packet_retransmission" -- --fi; --if test "x$enable_packet_retransmission" != xno; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1" --fi -- --# Check whether --enable-pci-direct or --disable-pci-direct was given. --if test "${enable_pci_direct+set}" = set; then -- enableval="$enable_pci_direct" -- --fi; --if test "x$enable_pci_direct" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONFIG_PCI_DIRECT=1" --fi -- --# Check whether --enable-3c509 or --disable-3c509 was given. --if test "${enable_3c509+set}" = set; then -- enableval="$enable_3c509" -- --fi; --if test "x$enable_3c509" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C509" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c509.o" --fi -- --# Check whether --enable-3c529 or --disable-3c529 was given. --if test "${enable_3c529+set}" = set; then -- enableval="$enable_3c529" -- --fi; --if test "x$enable_3c529" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C529=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c529.o" --fi -- --# Check whether --enable-3c595 or --disable-3c595 was given. --if test "${enable_3c595+set}" = set; then -- enableval="$enable_3c595" -- --fi; --if test "x$enable_3c595" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C595=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c595.o" --fi -- --# Check whether --enable-3c90x or --disable-3c90x was given. --if test "${enable_3c90x+set}" = set; then -- enableval="$enable_3c90x" -- --fi; --if test "x$enable_3c90x" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C90X=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c90x.o" --fi -- --# Check whether --enable-cs89x0 or --disable-cs89x0 was given. --if test "${enable_cs89x0+set}" = set; then -- enableval="$enable_cs89x0" -- --fi; --if test "x$enable_cs89x0" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_CS89X0=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS cs89x0.o" --fi -- --# Check whether --enable-davicom or --disable-davicom was given. --if test "${enable_davicom+set}" = set; then -- enableval="$enable_davicom" -- --fi; --if test "x$enable_davicom" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DAVICOM=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS davicom.o" --fi -- --# Check whether --enable-depca or --disable-depca was given. --if test "${enable_depca+set}" = set; then -- enableval="$enable_depca" -- --fi; --if test "x$enable_depca" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DEPCA=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS depca.o" --fi -- --# Check whether --enable-eepro or --disable-eepro was given. --if test "${enable_eepro+set}" = set; then -- enableval="$enable_eepro" -- --fi; --if test "x$enable_eepro" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro.o" --fi -- --# Check whether --enable-eepro100 or --disable-eepro100 was given. --if test "${enable_eepro100+set}" = set; then -- enableval="$enable_eepro100" -- --fi; --if test "x$enable_eepro100" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO100=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro100.o" --fi -- --# Check whether --enable-epic100 or --disable-epic100 was given. --if test "${enable_epic100+set}" = set; then -- enableval="$enable_epic100" -- --fi; --if test "x$enable_epic100" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EPIC100=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS epic100.o" --fi -- --# Check whether --enable-3c507 or --disable-3c507 was given. --if test "${enable_3c507+set}" = set; then -- enableval="$enable_3c507" -- --fi; --if test "x$enable_3c507" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C507=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c507.o" --fi -- --# Check whether --enable-exos205 or --disable-exos205 was given. --if test "${enable_exos205+set}" = set; then -- enableval="$enable_exos205" -- --fi; --if test "x$enable_exos205" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EXOS205=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS exos205.o" --fi -- --# Check whether --enable-ni5210 or --disable-ni5210 was given. --if test "${enable_ni5210+set}" = set; then -- enableval="$enable_ni5210" -- --fi; --if test "x$enable_ni5210" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5210=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5210.o" --fi -- --# Check whether --enable-lance or --disable-lance was given. --if test "${enable_lance+set}" = set; then -- enableval="$enable_lance" -- --fi; --if test "x$enable_lance" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_LANCE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS lance.o" --fi -- --# Check whether --enable-ne2100 or --disable-ne2100 was given. --if test "${enable_ne2100+set}" = set; then -- enableval="$enable_ne2100" -- --fi; --if test "x$enable_ne2100" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE2100=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne2100.o" --fi -- --# Check whether --enable-ni6510 or --disable-ni6510 was given. --if test "${enable_ni6510+set}" = set; then -- enableval="$enable_ni6510" -- --fi; --if test "x$enable_ni6510" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI6510=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni6510.o" --fi -- --# Check whether --enable-natsemi or --disable-natsemi was given. --if test "${enable_natsemi+set}" = set; then -- enableval="$enable_natsemi" -- --fi; --if test "x$enable_natsemi" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NATSEMI=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS natsemi.o" --fi -- --# Check whether --enable-ni5010 or --disable-ni5010 was given. --if test "${enable_ni5010+set}" = set; then -- enableval="$enable_ni5010" -- --fi; --if test "x$enable_ni5010" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5010=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5010.o" --fi -- --# Check whether --enable-3c503 or --disable-3c503 was given. --if test "${enable_3c503+set}" = set; then -- enableval="$enable_3c503" -- --fi; --if test "x$enable_3c503" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C503=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c503.o" --fi -- --# Check whether --enable-ne or --disable-ne was given. --if test "${enable_ne+set}" = set; then -- enableval="$enable_ne" -- --fi; --if test "x$enable_ne" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne.o" --fi -- --# Check whether --enable-ns8390 or --disable-ns8390 was given. --if test "${enable_ns8390+set}" = set; then -- enableval="$enable_ns8390" -- --fi; --if test "x$enable_ns8390" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NS8390=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns8390.o" --fi -- --# Check whether --enable-wd or --disable-wd was given. --if test "${enable_wd+set}" = set; then -- enableval="$enable_wd" -- --fi; --if test "x$enable_wd" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_WD=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS wd.o" --fi -- --# Check whether --enable-otulip or --disable-otulip was given. --if test "${enable_otulip+set}" = set; then -- enableval="$enable_otulip" -- --fi; --if test "x$enable_otulip" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_OTULIP=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS otulip.o" --fi -- --# Check whether --enable-rtl8139 or --disable-rtl8139 was given. --if test "${enable_rtl8139+set}" = set; then -- enableval="$enable_rtl8139" -- --fi; --if test "x$enable_rtl8139" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_RTL8139=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS rtl8139.o" --fi -- --# Check whether --enable-sis900 or --disable-sis900 was given. --if test "${enable_sis900+set}" = set; then -- enableval="$enable_sis900" -- --fi; --if test "x$enable_sis900" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SIS900=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS sis900.o" --fi -- --# Check whether --enable-sk-g16 or --disable-sk-g16 was given. --if test "${enable_sk_g16+set}" = set; then -- enableval="$enable_sk_g16" -- --fi; --if test "x$enable_sk_g16" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SK_G16=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS sk_g16.o" --fi -- --# Check whether --enable-smc9000 or --disable-smc9000 was given. --if test "${enable_smc9000+set}" = set; then -- enableval="$enable_smc9000" -- --fi; --if test "x$enable_smc9000" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SMC9000=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS smc9000.o" --fi -- --# Check whether --enable-tiara or --disable-tiara was given. --if test "${enable_tiara+set}" = set; then -- enableval="$enable_tiara" -- --fi; --if test "x$enable_tiara" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TIARA=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS tiara.o" --fi -- --# Check whether --enable-tulip or --disable-tulip was given. --if test "${enable_tulip+set}" = set; then -- enableval="$enable_tulip" -- --fi; --if test "x$enable_tulip" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TULIP=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS tulip.o" --fi -- --# Check whether --enable-via-rhine or --disable-via-rhine was given. --if test "${enable_via_rhine+set}" = set; then -- enableval="$enable_via_rhine" -- --fi; --if test "x$enable_via_rhine" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_VIA_RHINE=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS via_rhine.o" --fi -- --# Check whether --enable-w89c840 or --disable-w89c840 was given. --if test "${enable_w89c840+set}" = set; then -- enableval="$enable_w89c840" -- --fi; --if test "x$enable_w89c840" = xyes; then -- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_W89C840=1" -- NETBOOT_DRIVERS="$NETBOOT_DRIVERS w89c840.o" --fi -- -- -- --if test "x$NET_CFLAGS" != x; then -- NETBOOT_SUPPORT_TRUE= -- NETBOOT_SUPPORT_FALSE='#' --else -- NETBOOT_SUPPORT_TRUE='#' -- NETBOOT_SUPPORT_FALSE= --fi -- --if test "x$NET_CFLAGS" != x; then -- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_TFTP=1" --fi -- --# Check whether --enable-3c503-shmem or --disable-3c503-shmem was given. --if test "${enable_3c503_shmem+set}" = set; then -- enableval="$enable_3c503_shmem" -- --fi; --if test "x$enable_3c503_shmem" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_SHMEM=1" --fi -- --# Check whether --enable-3c503-aui or --disable-3c503-aui was given. --if test "${enable_3c503_aui+set}" = set; then -- enableval="$enable_3c503_aui" -- --fi; --if test "x$enable_3c503_aui" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_AUI=1" --fi -- --# Check whether --enable-compex-rl2000-fix or --disable-compex-rl2000-fix was given. --if test "${enable_compex_rl2000_fix+set}" = set; then -- enableval="$enable_compex_rl2000_fix" -- --fi; --if test "x$enable_compex_rl2000_fix" = xyes; then -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCOMPEX_RL2000_FIX=1" --fi -- --# Check whether --enable-smc9000-scan or --disable-smc9000-scan was given. --if test "${enable_smc9000_scan+set}" = set; then -- enableval="$enable_smc9000_scan" -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DSMC9000_SCAN=$enable_smc9000_scan" --fi; -- --# Check whether --enable-ne-scan or --disable-ne-scan was given. --if test "${enable_ne_scan+set}" = set; then -- enableval="$enable_ne_scan" -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=$enable_ne_scan" --else -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=0x280,0x300,0x320,0x340" --fi; -- --# Check whether --enable-wd-default-mem or --disable-wd-default-mem was given. --if test "${enable_wd_default_mem+set}" = set; then -- enableval="$enable_wd_default_mem" -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=$enable_wd_default_mem" --else -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=0xCC000" --fi; -- --# Check whether --enable-cs-scan or --disable-cs-scan was given. --if test "${enable_cs_scan+set}" = set; then -- enableval="$enable_cs_scan" -- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCS_SCAN=$enable_cs_scan" --fi; -- --# Check whether --enable-diskless or --disable-diskless was given. --if test "${enable_diskless+set}" = set; then -- enableval="$enable_diskless" -- --fi; -- -- --if test "x$enable_diskless" = xyes; then -- DISKLESS_SUPPORT_TRUE= -- DISKLESS_SUPPORT_FALSE='#' --else -- DISKLESS_SUPPORT_TRUE='#' -- DISKLESS_SUPPORT_FALSE= --fi -- -- --# Check whether --enable-hercules or --disable-hercules was given. --if test "${enable_hercules+set}" = set; then -- enableval="$enable_hercules" -- --fi; -- -- --if test "x$enable_hercules" != xno; then -- HERCULES_SUPPORT_TRUE= -- HERCULES_SUPPORT_FALSE='#' --else -- HERCULES_SUPPORT_TRUE='#' -- HERCULES_SUPPORT_FALSE= --fi -- -- --# Check whether --enable-serial or --disable-serial was given. --if test "${enable_serial+set}" = set; then -- enableval="$enable_serial" -- --fi; -- -- --if test "x$enable_serial" != xno; then -- SERIAL_SUPPORT_TRUE= -- SERIAL_SUPPORT_FALSE='#' --else -- SERIAL_SUPPORT_TRUE='#' -- SERIAL_SUPPORT_FALSE= --fi -- -- --# Check whether --enable-serial-speed-simulation or --disable-serial-speed-simulation was given. --if test "${enable_serial_speed_simulation+set}" = set; then -- enableval="$enable_serial_speed_simulation" -- --fi; -- -- --if test "x$enable_serial_speed_simulation" = xyes; then -- SERIAL_SPEED_SIMULATION_TRUE= -- SERIAL_SPEED_SIMULATION_FALSE='#' --else -- SERIAL_SPEED_SIMULATION_TRUE='#' -- SERIAL_SPEED_SIMULATION_FALSE= --fi -- -- --# Sanity check. --if test "x$enable_diskless" = xyes; then -- if test "x$NET_CFLAGS" = x; then -- { { echo "$as_me:$LINENO: error: You must enable at least one network driver" >&5 --echo "$as_me: error: You must enable at least one network driver" >&2;} -- { (exit 1); exit 1; }; } -- fi --fi -- --# Check whether --enable-preset-menu or --disable-preset-menu was given. --if test "${enable_preset_menu+set}" = set; then -- enableval="$enable_preset_menu" -- --fi; --if test "x$enable_preset_menu" = x; then -- : --else -- if test -r $enable_preset_menu; then -- --# Because early versions of GNU sed 3.x are too buggy, use a C program --# instead of shell commands. *sigh* --cat >conftest.c <<\EOF --#include -- --int --main (void) --{ -- int c; -- -- while ((c = getchar ()) != EOF) -- { -- switch (c) -- { -- case '\n': -- fputs ("\\n", stdout); -- break; -- case '\r': -- fputs ("\\r", stdout); -- break; -- case '\\': -- fputs ("\\\\", stdout); -- break; -- case '"': -- fputs ("\\\"", stdout); -- break; -- default: -- putchar (c); -- } -- } -- -- return 0; --} --EOF -- --if { ac_try='${CC-cc} ${CFLAGS} conftest.c -o conftest' -- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; } && test -s conftest; then -- grub_tmp_value=`./conftest < "$enable_preset_menu"` --else -- { { echo "$as_me:$LINENO: error: ${CC-cc} failed to produce an executable file" >&5 --echo "$as_me: error: ${CC-cc} failed to produce an executable file" >&2;} -- { (exit 1); exit 1; }; } --fi -- -- --cat >>confdefs.h <<_ACEOF --#define PRESET_MENU_STRING "$grub_tmp_value" --_ACEOF -- --rm -f conftest* -- -- else -- { { echo "$as_me:$LINENO: error: Cannot read the preset menu file $enable_preset_menu" >&5 --echo "$as_me: error: Cannot read the preset menu file $enable_preset_menu" >&2;} -- { (exit 1); exit 1; }; } -- fi --fi -- --# Check whether --enable-example-kernel or --disable-example-kernel was given. --if test "${enable_example_kernel+set}" = set; then -- enableval="$enable_example_kernel" -- --fi; -- -- --if test "x$enable_example_kernel" = xyes; then -- BUILD_EXAMPLE_KERNEL_TRUE= -- BUILD_EXAMPLE_KERNEL_FALSE='#' --else -- BUILD_EXAMPLE_KERNEL_TRUE='#' -- BUILD_EXAMPLE_KERNEL_FALSE= --fi -- -- --# Check whether --enable-auto-linux-mem-opt or --disable-auto-linux-mem-opt was given. --if test "${enable_auto_linux_mem_opt+set}" = set; then -- enableval="$enable_auto_linux_mem_opt" -- --fi; --if test "x$enable_auto_linux_mem_opt" = xno; then -- : --else -- --cat >>confdefs.h <<\_ACEOF --#define AUTO_LINUX_MEM_OPT 1 --_ACEOF -- --fi -- -- -- -- -- -- --CCASFLAGS='$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)' -- -- -- -- ac_config_files="$ac_config_files Makefile stage1/Makefile stage2/Makefile docs/Makefile lib/Makefile util/Makefile grub/Makefile netboot/Makefile util/grub-image util/grub-install util/grub-md5-crypt util/grub-terminfo util/grub-set-default" -- --cat >confcache <<\_ACEOF --# This file is a shell script that caches the results of configure --# tests run on this system so they can be shared between configure --# scripts and configure runs, see configure's option --config-cache. --# It is not useful on other systems. If it contains results you don't --# want to keep, you may remove or edit it. --# --# config.status only pays attention to the cache file if you give it --# the --recheck option to rerun configure. --# --# `ac_cv_env_foo' variables (set or unset) will be overridden when --# loading this file, other *unset* `ac_cv_foo' will be assigned the --# following values. -- --_ACEOF -- --# The following way of writing the cache mishandles newlines in values, --# but we know of no workaround that is simple, portable, and efficient. --# So, don't put newlines in cache variables' values. --# Ultrix sh set writes to stderr and can't be redirected directly, --# and sets the high bit in the cache file unless we assign to the vars. --{ -- (set) 2>&1 | -- case `(ac_space=' '; set | grep ac_space) 2>&1` in -- *ac_space=\ *) -- # `set' does not quote correctly, so add quotes (double-quote -- # substitution turns \\\\ into \\, and sed turns \\ into \). -- sed -n \ -- "s/'/'\\\\''/g; -- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -- ;; -- *) -- # `set' quotes correctly as required by POSIX, so do not add quotes. -- sed -n \ -- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -- ;; -- esac; --} | -- sed ' -- t clear -- : clear -- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -- t end -- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -- : end' >>confcache --if diff $cache_file confcache >/dev/null 2>&1; then :; else -- if test -w $cache_file; then -- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" -- cat confcache >$cache_file -- else -- echo "not updating unwritable cache $cache_file" -- fi --fi --rm -f confcache -- --test "x$prefix" = xNONE && prefix=$ac_default_prefix --# Let make expand exec_prefix. --test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -- --# VPATH may cause trouble with some makes, so we remove $(srcdir), --# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and --# trailing colons and then remove the whole line if VPATH becomes empty --# (actually we leave an empty line to preserve line numbers). --if test "x$srcdir" = x.; then -- ac_vpsub='/^[ ]*VPATH[ ]*=/{ --s/:*\$(srcdir):*/:/; --s/:*\${srcdir}:*/:/; --s/:*@srcdir@:*/:/; --s/^\([^=]*=[ ]*\):*/\1/; --s/:*$//; --s/^[^=]*=[ ]*$//; --}' --fi -- --DEFS=-DHAVE_CONFIG_H -- --ac_libobjs= --ac_ltlibobjs= --for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -- # 1. Remove the extension, and $U if already installed. -- ac_i=`echo "$ac_i" | -- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` -- # 2. Add them. -- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" -- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' --done --LIBOBJS=$ac_libobjs -- --LTLIBOBJS=$ac_ltlibobjs -- -- --if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"AMDEP\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${NETBOOT_SUPPORT_TRUE}" && test -z "${NETBOOT_SUPPORT_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"NETBOOT_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"NETBOOT_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${DISKLESS_SUPPORT_TRUE}" && test -z "${DISKLESS_SUPPORT_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"DISKLESS_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"DISKLESS_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${HERCULES_SUPPORT_TRUE}" && test -z "${HERCULES_SUPPORT_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"HERCULES_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"HERCULES_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${SERIAL_SUPPORT_TRUE}" && test -z "${SERIAL_SUPPORT_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"SERIAL_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"SERIAL_SUPPORT\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${SERIAL_SPEED_SIMULATION_TRUE}" && test -z "${SERIAL_SPEED_SIMULATION_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"SERIAL_SPEED_SIMULATION\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"SERIAL_SPEED_SIMULATION\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi --if test -z "${BUILD_EXAMPLE_KERNEL_TRUE}" && test -z "${BUILD_EXAMPLE_KERNEL_FALSE}"; then -- { { echo "$as_me:$LINENO: error: conditional \"BUILD_EXAMPLE_KERNEL\" was never defined. --Usually this means the macro was only invoked conditionally." >&5 --echo "$as_me: error: conditional \"BUILD_EXAMPLE_KERNEL\" was never defined. --Usually this means the macro was only invoked conditionally." >&2;} -- { (exit 1); exit 1; }; } --fi -- --: ${CONFIG_STATUS=./config.status} --ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files $CONFIG_STATUS" --{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 --echo "$as_me: creating $CONFIG_STATUS" >&6;} --cat >$CONFIG_STATUS <<_ACEOF --#! $SHELL --# Generated by $as_me. --# Run this file to recreate the current configuration. --# Compiler output produced by configure, useful for debugging --# configure, is in config.log if it exists. -- --debug=false --ac_cs_recheck=false --ac_cs_silent=false --SHELL=\${CONFIG_SHELL-$SHELL} --_ACEOF -- --cat >>$CONFIG_STATUS <<\_ACEOF --## --------------------- ## --## M4sh Initialization. ## --## --------------------- ## -- --# Be Bourne compatible --if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -- emulate sh -- NULLCMD=: -- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which -- # is contrary to our usage. Disable this feature. -- alias -g '${1+"$@"}'='"$@"' --elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then -- set -o posix --fi --DUALCASE=1; export DUALCASE # for MKS sh -- --# Support unset when possible. --if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -- as_unset=unset --else -- as_unset=false --fi -- -- --# Work around bugs in pre-3.0 UWIN ksh. --$as_unset ENV MAIL MAILPATH --PS1='$ ' --PS2='> ' --PS4='+ ' -- --# NLS nuisances. --for as_var in \ -- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ -- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ -- LC_TELEPHONE LC_TIME --do -- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then -- eval $as_var=C; export $as_var -- else -- $as_unset $as_var -- fi --done -- --# Required to use basename. --if expr a : '\(a\)' >/dev/null 2>&1; then -- as_expr=expr --else -- as_expr=false --fi -- --if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then -- as_basename=basename --else -- as_basename=false --fi -- -- --# Name of the executable. --as_me=`$as_basename "$0" || --$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -- X"$0" : 'X\(//\)$' \| \ -- X"$0" : 'X\(/\)$' \| \ -- . : '\(.\)' 2>/dev/null || --echo X/"$0" | -- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } -- /^X\/\(\/\/\)$/{ s//\1/; q; } -- /^X\/\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- -- --# PATH needs CR, and LINENO needs CR and PATH. --# Avoid depending upon Character Ranges. --as_cr_letters='abcdefghijklmnopqrstuvwxyz' --as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' --as_cr_Letters=$as_cr_letters$as_cr_LETTERS --as_cr_digits='0123456789' --as_cr_alnum=$as_cr_Letters$as_cr_digits -- --# The user is always right. --if test "${PATH_SEPARATOR+set}" != set; then -- echo "#! /bin/sh" >conf$$.sh -- echo "exit 0" >>conf$$.sh -- chmod +x conf$$.sh -- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then -- PATH_SEPARATOR=';' -- else -- PATH_SEPARATOR=: -- fi -- rm -f conf$$.sh --fi -- -- -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x$as_lineno_3" = "x$as_lineno_2" || { -- # Find who we are. Look in the path if we contain no path at all -- # relative or not. -- case $0 in -- *[\\/]* ) as_myself=$0 ;; -- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break --done -- -- ;; -- esac -- # We did not find ourselves, most probably we were run as `sh COMMAND' -- # in which case we are not to be found in the path. -- if test "x$as_myself" = x; then -- as_myself=$0 -- fi -- if test ! -f "$as_myself"; then -- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 --echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} -- { (exit 1); exit 1; }; } -- fi -- case $CONFIG_SHELL in -- '') -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for as_base in sh bash ksh sh5; do -- case $as_dir in -- /*) -- if ("$as_dir/$as_base" -c ' -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then -- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } -- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } -- CONFIG_SHELL=$as_dir/$as_base -- export CONFIG_SHELL -- exec "$CONFIG_SHELL" "$0" ${1+"$@"} -- fi;; -- esac -- done --done --;; -- esac -- -- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO -- # uniformly replaced by the line number. The first 'sed' inserts a -- # line-number line before each line; the second 'sed' does the real -- # work. The second script uses 'N' to pair each line-number line -- # with the numbered line, and appends trailing '-' during -- # substitution so that $LINENO is not a special case at line end. -- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the -- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) -- sed '=' <$as_myself | -- sed ' -- N -- s,$,-, -- : loop -- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, -- t loop -- s,-$,, -- s,^['$as_cr_digits']*\n,, -- ' >$as_me.lineno && -- chmod +x $as_me.lineno || -- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 --echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} -- { (exit 1); exit 1; }; } -- -- # Don't try to exec as it changes $[0], causing all sort of problems -- # (the dirname of $[0] is not the place where we might find the -- # original and so on. Autoconf is especially sensible to this). -- . ./$as_me.lineno -- # Exit status is that of the last command. -- exit --} -- -- --case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in -- *c*,-n*) ECHO_N= ECHO_C=' --' ECHO_T=' ' ;; -- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; -- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; --esac -- --if expr a : '\(a\)' >/dev/null 2>&1; then -- as_expr=expr --else -- as_expr=false --fi -- --rm -f conf$$ conf$$.exe conf$$.file --echo >conf$$.file --if ln -s conf$$.file conf$$ 2>/dev/null; then -- # We could just check for DJGPP; but this test a) works b) is more generic -- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). -- if test -f conf$$.exe; then -- # Don't use ln at all; we don't have any links -- as_ln_s='cp -p' -- else -- as_ln_s='ln -s' -- fi --elif ln conf$$.file conf$$ 2>/dev/null; then -- as_ln_s=ln --else -- as_ln_s='cp -p' --fi --rm -f conf$$ conf$$.exe conf$$.file -- --if mkdir -p . 2>/dev/null; then -- as_mkdir_p=: --else -- test -d ./-p && rmdir ./-p -- as_mkdir_p=false --fi -- --as_executable_p="test -f" -- --# Sed expression to map a string onto a valid CPP name. --as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -- --# Sed expression to map a string onto a valid variable name. --as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -- -- --# IFS --# We need space, tab and new line, in precisely that order. --as_nl=' --' --IFS=" $as_nl" -- --# CDPATH. --$as_unset CDPATH -- --exec 6>&1 -- --# Open the log real soon, to keep \$[0] and so on meaningful, and to --# report actual input values of CONFIG_FILES etc. instead of their --# values after options handling. Logging --version etc. is OK. --exec 5>>config.log --{ -- echo -- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX --## Running $as_me. ## --_ASBOX --} >&5 --cat >&5 <<_CSEOF -- --This file was extended by GRUB $as_me 0.97, which was --generated by GNU Autoconf 2.59. Invocation command line was -- -- CONFIG_FILES = $CONFIG_FILES -- CONFIG_HEADERS = $CONFIG_HEADERS -- CONFIG_LINKS = $CONFIG_LINKS -- CONFIG_COMMANDS = $CONFIG_COMMANDS -- $ $0 $@ -- --_CSEOF --echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 --echo >&5 --_ACEOF -- --# Files that config.status was made for. --if test -n "$ac_config_files"; then -- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS --fi -- --if test -n "$ac_config_headers"; then -- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS --fi -- --if test -n "$ac_config_links"; then -- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS --fi -- --if test -n "$ac_config_commands"; then -- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS --fi -- --cat >>$CONFIG_STATUS <<\_ACEOF -- --ac_cs_usage="\ --\`$as_me' instantiates files from templates according to the --current configuration. -- --Usage: $0 [OPTIONS] [FILE]... -- -- -h, --help print this help, then exit -- -V, --version print version number, then exit -- -q, --quiet do not print progress messages -- -d, --debug don't remove temporary files -- --recheck update $as_me by reconfiguring in the same conditions -- --file=FILE[:TEMPLATE] -- instantiate the configuration file FILE -- --header=FILE[:TEMPLATE] -- instantiate the configuration header FILE -- --Configuration files: --$config_files -- --Configuration headers: --$config_headers -- --Configuration commands: --$config_commands -- --Report bugs to ." --_ACEOF -- --cat >>$CONFIG_STATUS <<_ACEOF --ac_cs_version="\\ --GRUB config.status 0.97 --configured by $0, generated by GNU Autoconf 2.59, -- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -- --Copyright (C) 2003 Free Software Foundation, Inc. --This config.status script is free software; the Free Software Foundation --gives unlimited permission to copy, distribute and modify it." --srcdir=$srcdir --INSTALL="$INSTALL" --_ACEOF -- --cat >>$CONFIG_STATUS <<\_ACEOF --# If no file are specified by the user, then we need to provide default --# value. By we need to know if files were specified by the user. --ac_need_defaults=: --while test $# != 0 --do -- case $1 in -- --*=*) -- ac_option=`expr "x$1" : 'x\([^=]*\)='` -- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` -- ac_shift=: -- ;; -- -*) -- ac_option=$1 -- ac_optarg=$2 -- ac_shift=shift -- ;; -- *) # This is not an option, so the user has probably given explicit -- # arguments. -- ac_option=$1 -- ac_need_defaults=false;; -- esac -- -- case $ac_option in -- # Handling of the options. --_ACEOF --cat >>$CONFIG_STATUS <<\_ACEOF -- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -- ac_cs_recheck=: ;; -- --version | --vers* | -V ) -- echo "$ac_cs_version"; exit 0 ;; -- --he | --h) -- # Conflict between --help and --header -- { { echo "$as_me:$LINENO: error: ambiguous option: $1 --Try \`$0 --help' for more information." >&5 --echo "$as_me: error: ambiguous option: $1 --Try \`$0 --help' for more information." >&2;} -- { (exit 1); exit 1; }; };; -- --help | --hel | -h ) -- echo "$ac_cs_usage"; exit 0 ;; -- --debug | --d* | -d ) -- debug=: ;; -- --file | --fil | --fi | --f ) -- $ac_shift -- CONFIG_FILES="$CONFIG_FILES $ac_optarg" -- ac_need_defaults=false;; -- --header | --heade | --head | --hea ) -- $ac_shift -- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" -- ac_need_defaults=false;; -- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -- | -silent | --silent | --silen | --sile | --sil | --si | --s) -- ac_cs_silent=: ;; -- -- # This is an error. -- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 --Try \`$0 --help' for more information." >&5 --echo "$as_me: error: unrecognized option: $1 --Try \`$0 --help' for more information." >&2;} -- { (exit 1); exit 1; }; } ;; -- -- *) ac_config_targets="$ac_config_targets $1" ;; -- -- esac -- shift --done -- --ac_configure_extra_args= -- --if $ac_cs_silent; then -- exec 6>/dev/null -- ac_configure_extra_args="$ac_configure_extra_args --silent" --fi -- --_ACEOF --cat >>$CONFIG_STATUS <<_ACEOF --if \$ac_cs_recheck; then -- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 -- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion --fi -- --_ACEOF -- --cat >>$CONFIG_STATUS <<_ACEOF --# --# INIT-COMMANDS section. --# -- --AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -- --_ACEOF -- -- -- --cat >>$CONFIG_STATUS <<\_ACEOF --for ac_config_target in $ac_config_targets --do -- case "$ac_config_target" in -- # Handling of arguments. -- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; -- "stage1/Makefile" ) CONFIG_FILES="$CONFIG_FILES stage1/Makefile" ;; -- "stage2/Makefile" ) CONFIG_FILES="$CONFIG_FILES stage2/Makefile" ;; -- "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; -- "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; -- "util/Makefile" ) CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; -- "grub/Makefile" ) CONFIG_FILES="$CONFIG_FILES grub/Makefile" ;; -- "netboot/Makefile" ) CONFIG_FILES="$CONFIG_FILES netboot/Makefile" ;; -- "util/grub-image" ) CONFIG_FILES="$CONFIG_FILES util/grub-image" ;; -- "util/grub-install" ) CONFIG_FILES="$CONFIG_FILES util/grub-install" ;; -- "util/grub-md5-crypt" ) CONFIG_FILES="$CONFIG_FILES util/grub-md5-crypt" ;; -- "util/grub-terminfo" ) CONFIG_FILES="$CONFIG_FILES util/grub-terminfo" ;; -- "util/grub-set-default" ) CONFIG_FILES="$CONFIG_FILES util/grub-set-default" ;; -- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; -- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 --echo "$as_me: error: invalid argument: $ac_config_target" >&2;} -- { (exit 1); exit 1; }; };; -- esac --done -- --# If the user did not use the arguments to specify the items to instantiate, --# then the envvar interface is used. Set only those that are not. --# We use the long form for the default assignment because of an extremely --# bizarre bug on SunOS 4.1.3. --if $ac_need_defaults; then -- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands --fi -- --# Have a temporary directory for convenience. Make it in the build tree --# simply because there is no reason to put it here, and in addition, --# creating and moving files from /tmp can sometimes cause problems. --# Create a temporary directory, and hook for its removal unless debugging. --$debug || --{ -- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 -- trap '{ (exit 1); exit 1; }' 1 2 13 15 --} -- --# Create a (secure) tmp directory for tmp files. -- --{ -- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && -- test -n "$tmp" && test -d "$tmp" --} || --{ -- tmp=./confstat$$-$RANDOM -- (umask 077 && mkdir $tmp) --} || --{ -- echo "$me: cannot create a temporary directory in ." >&2 -- { (exit 1); exit 1; } --} -- --_ACEOF -- --cat >>$CONFIG_STATUS <<_ACEOF -- --# --# CONFIG_FILES section. --# -- --# No need to generate the scripts if there are no CONFIG_FILES. --# This happens for instance when ./config.status config.h --if test -n "\$CONFIG_FILES"; then -- # Protect against being on the right side of a sed subst in config.status. -- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; -- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF --s,@SHELL@,$SHELL,;t t --s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t --s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t --s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t --s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t --s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t --s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t --s,@exec_prefix@,$exec_prefix,;t t --s,@prefix@,$prefix,;t t --s,@program_transform_name@,$program_transform_name,;t t --s,@bindir@,$bindir,;t t --s,@sbindir@,$sbindir,;t t --s,@libexecdir@,$libexecdir,;t t --s,@datadir@,$datadir,;t t --s,@sysconfdir@,$sysconfdir,;t t --s,@sharedstatedir@,$sharedstatedir,;t t --s,@localstatedir@,$localstatedir,;t t --s,@libdir@,$libdir,;t t --s,@includedir@,$includedir,;t t --s,@oldincludedir@,$oldincludedir,;t t --s,@infodir@,$infodir,;t t --s,@mandir@,$mandir,;t t --s,@build_alias@,$build_alias,;t t --s,@host_alias@,$host_alias,;t t --s,@target_alias@,$target_alias,;t t --s,@DEFS@,$DEFS,;t t --s,@ECHO_C@,$ECHO_C,;t t --s,@ECHO_N@,$ECHO_N,;t t --s,@ECHO_T@,$ECHO_T,;t t --s,@LIBS@,$LIBS,;t t --s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t --s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t --s,@INSTALL_DATA@,$INSTALL_DATA,;t t --s,@CYGPATH_W@,$CYGPATH_W,;t t --s,@PACKAGE@,$PACKAGE,;t t --s,@VERSION@,$VERSION,;t t --s,@ACLOCAL@,$ACLOCAL,;t t --s,@AUTOCONF@,$AUTOCONF,;t t --s,@AUTOMAKE@,$AUTOMAKE,;t t --s,@AUTOHEADER@,$AUTOHEADER,;t t --s,@MAKEINFO@,$MAKEINFO,;t t --s,@install_sh@,$install_sh,;t t --s,@STRIP@,$STRIP,;t t --s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t --s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t --s,@mkdir_p@,$mkdir_p,;t t --s,@AWK@,$AWK,;t t --s,@SET_MAKE@,$SET_MAKE,;t t --s,@am__leading_dot@,$am__leading_dot,;t t --s,@AMTAR@,$AMTAR,;t t --s,@am__tar@,$am__tar,;t t --s,@am__untar@,$am__untar,;t t --s,@build@,$build,;t t --s,@build_cpu@,$build_cpu,;t t --s,@build_vendor@,$build_vendor,;t t --s,@build_os@,$build_os,;t t --s,@host@,$host,;t t --s,@host_cpu@,$host_cpu,;t t --s,@host_vendor@,$host_vendor,;t t --s,@host_os@,$host_os,;t t --s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t --s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t --s,@MAINT@,$MAINT,;t t --s,@PERL@,$PERL,;t t --s,@CC@,$CC,;t t --s,@ac_ct_CC@,$ac_ct_CC,;t t --s,@CFLAGS@,$CFLAGS,;t t --s,@LDFLAGS@,$LDFLAGS,;t t --s,@CPPFLAGS@,$CPPFLAGS,;t t --s,@EXEEXT@,$EXEEXT,;t t --s,@OBJEXT@,$OBJEXT,;t t --s,@DEPDIR@,$DEPDIR,;t t --s,@am__include@,$am__include,;t t --s,@am__quote@,$am__quote,;t t --s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t --s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t --s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t --s,@CCDEPMODE@,$CCDEPMODE,;t t --s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t --s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t --s,@CCAS@,$CCAS,;t t --s,@RANLIB@,$RANLIB,;t t --s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t --s,@STAGE1_CFLAGS@,$STAGE1_CFLAGS,;t t --s,@STAGE2_CFLAGS@,$STAGE2_CFLAGS,;t t --s,@GRUB_CFLAGS@,$GRUB_CFLAGS,;t t --s,@OBJCOPY@,$OBJCOPY,;t t --s,@ac_ct_OBJCOPY@,$ac_ct_OBJCOPY,;t t --s,@GRUB_LIBS@,$GRUB_LIBS,;t t --s,@CPP@,$CPP,;t t --s,@EGREP@,$EGREP,;t t --s,@NETBOOT_SUPPORT_TRUE@,$NETBOOT_SUPPORT_TRUE,;t t --s,@NETBOOT_SUPPORT_FALSE@,$NETBOOT_SUPPORT_FALSE,;t t --s,@DISKLESS_SUPPORT_TRUE@,$DISKLESS_SUPPORT_TRUE,;t t --s,@DISKLESS_SUPPORT_FALSE@,$DISKLESS_SUPPORT_FALSE,;t t --s,@HERCULES_SUPPORT_TRUE@,$HERCULES_SUPPORT_TRUE,;t t --s,@HERCULES_SUPPORT_FALSE@,$HERCULES_SUPPORT_FALSE,;t t --s,@SERIAL_SUPPORT_TRUE@,$SERIAL_SUPPORT_TRUE,;t t --s,@SERIAL_SUPPORT_FALSE@,$SERIAL_SUPPORT_FALSE,;t t --s,@SERIAL_SPEED_SIMULATION_TRUE@,$SERIAL_SPEED_SIMULATION_TRUE,;t t --s,@SERIAL_SPEED_SIMULATION_FALSE@,$SERIAL_SPEED_SIMULATION_FALSE,;t t --s,@BUILD_EXAMPLE_KERNEL_TRUE@,$BUILD_EXAMPLE_KERNEL_TRUE,;t t --s,@BUILD_EXAMPLE_KERNEL_FALSE@,$BUILD_EXAMPLE_KERNEL_FALSE,;t t --s,@FSYS_CFLAGS@,$FSYS_CFLAGS,;t t --s,@NET_CFLAGS@,$NET_CFLAGS,;t t --s,@NET_EXTRAFLAGS@,$NET_EXTRAFLAGS,;t t --s,@NETBOOT_DRIVERS@,$NETBOOT_DRIVERS,;t t --s,@CCASFLAGS@,$CCASFLAGS,;t t --s,@LIBOBJS@,$LIBOBJS,;t t --s,@LTLIBOBJS@,$LTLIBOBJS,;t t --CEOF -- --_ACEOF -- -- cat >>$CONFIG_STATUS <<\_ACEOF -- # Split the substitutions into bite-sized pieces for seds with -- # small command number limits, like on Digital OSF/1 and HP-UX. -- ac_max_sed_lines=48 -- ac_sed_frag=1 # Number of current file. -- ac_beg=1 # First line for current file. -- ac_end=$ac_max_sed_lines # Line after last line for current file. -- ac_more_lines=: -- ac_sed_cmds= -- while $ac_more_lines; do -- if test $ac_beg -gt 1; then -- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag -- else -- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag -- fi -- if test ! -s $tmp/subs.frag; then -- ac_more_lines=false -- else -- # The purpose of the label and of the branching condition is to -- # speed up the sed processing (if there are no `@' at all, there -- # is no need to browse any of the substitutions). -- # These are the two extra sed commands mentioned above. -- (echo ':t -- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed -- if test -z "$ac_sed_cmds"; then -- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" -- else -- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" -- fi -- ac_sed_frag=`expr $ac_sed_frag + 1` -- ac_beg=$ac_end -- ac_end=`expr $ac_end + $ac_max_sed_lines` -- fi -- done -- if test -z "$ac_sed_cmds"; then -- ac_sed_cmds=cat -- fi --fi # test -n "$CONFIG_FILES" -- --_ACEOF --cat >>$CONFIG_STATUS <<\_ACEOF --for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue -- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -- case $ac_file in -- - | *:- | *:-:* ) # input from stdin -- cat >$tmp/stdin -- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -- * ) ac_file_in=$ac_file.in ;; -- esac -- -- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. -- ac_dir=`(dirname "$ac_file") 2>/dev/null || --$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_file" : 'X\(//\)[^/]' \| \ -- X"$ac_file" : 'X\(//\)$' \| \ -- X"$ac_file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$ac_file" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- { if $as_mkdir_p; then -- mkdir -p "$ac_dir" -- else -- as_dir="$ac_dir" -- as_dirs= -- while test ! -d "$as_dir"; do -- as_dirs="$as_dir $as_dirs" -- as_dir=`(dirname "$as_dir") 2>/dev/null || --$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$as_dir" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- done -- test ! -n "$as_dirs" || mkdir $as_dirs -- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 --echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} -- { (exit 1); exit 1; }; }; } -- -- ac_builddir=. -- --if test "$ac_dir" != .; then -- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` -- # A "../" for each directory in $ac_dir_suffix. -- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` --else -- ac_dir_suffix= ac_top_builddir= --fi -- --case $srcdir in -- .) # No --srcdir option. We are building in place. -- ac_srcdir=. -- if test -z "$ac_top_builddir"; then -- ac_top_srcdir=. -- else -- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` -- fi ;; -- [\\/]* | ?:[\\/]* ) # Absolute path. -- ac_srcdir=$srcdir$ac_dir_suffix; -- ac_top_srcdir=$srcdir ;; -- *) # Relative path. -- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix -- ac_top_srcdir=$ac_top_builddir$srcdir ;; --esac -- --# Do not use `cd foo && pwd` to compute absolute paths, because --# the directories may not exist. --case `pwd` in --.) ac_abs_builddir="$ac_dir";; --*) -- case "$ac_dir" in -- .) ac_abs_builddir=`pwd`;; -- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -- *) ac_abs_builddir=`pwd`/"$ac_dir";; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_top_builddir=${ac_top_builddir}.;; --*) -- case ${ac_top_builddir}. in -- .) ac_abs_top_builddir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_srcdir=$ac_srcdir;; --*) -- case $ac_srcdir in -- .) ac_abs_srcdir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_top_srcdir=$ac_top_srcdir;; --*) -- case $ac_top_srcdir in -- .) ac_abs_top_srcdir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -- esac;; --esac -- -- -- case $INSTALL in -- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -- *) ac_INSTALL=$ac_top_builddir$INSTALL ;; -- esac -- -- if test x"$ac_file" != x-; then -- { echo "$as_me:$LINENO: creating $ac_file" >&5 --echo "$as_me: creating $ac_file" >&6;} -- rm -f "$ac_file" -- fi -- # Let's still pretend it is `configure' which instantiates (i.e., don't -- # use $as_me), people would be surprised to read: -- # /* config.h. Generated by config.status. */ -- if test x"$ac_file" = x-; then -- configure_input= -- else -- configure_input="$ac_file. " -- fi -- configure_input=$configure_input"Generated from `echo $ac_file_in | -- sed 's,.*/,,'` by configure." -- -- # First look for the input files in the build tree, otherwise in the -- # src tree. -- ac_file_inputs=`IFS=: -- for f in $ac_file_in; do -- case $f in -- -) echo $tmp/stdin ;; -- [\\/$]*) -- # Absolute (can't be DOS-style, as IFS=:) -- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 --echo "$as_me: error: cannot find input file: $f" >&2;} -- { (exit 1); exit 1; }; } -- echo "$f";; -- *) # Relative -- if test -f "$f"; then -- # Build tree -- echo "$f" -- elif test -f "$srcdir/$f"; then -- # Source tree -- echo "$srcdir/$f" -- else -- # /dev/null tree -- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 --echo "$as_me: error: cannot find input file: $f" >&2;} -- { (exit 1); exit 1; }; } -- fi;; -- esac -- done` || { (exit 1); exit 1; } --_ACEOF --cat >>$CONFIG_STATUS <<_ACEOF -- sed "$ac_vpsub --$extrasub --_ACEOF --cat >>$CONFIG_STATUS <<\_ACEOF --:t --/@[a-zA-Z_][a-zA-Z_0-9]*@/!b --s,@configure_input@,$configure_input,;t t --s,@srcdir@,$ac_srcdir,;t t --s,@abs_srcdir@,$ac_abs_srcdir,;t t --s,@top_srcdir@,$ac_top_srcdir,;t t --s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t --s,@builddir@,$ac_builddir,;t t --s,@abs_builddir@,$ac_abs_builddir,;t t --s,@top_builddir@,$ac_top_builddir,;t t --s,@abs_top_builddir@,$ac_abs_top_builddir,;t t --s,@INSTALL@,$ac_INSTALL,;t t --" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out -- rm -f $tmp/stdin -- if test x"$ac_file" != x-; then -- mv $tmp/out $ac_file -- else -- cat $tmp/out -- rm -f $tmp/out -- fi -- --done --_ACEOF --cat >>$CONFIG_STATUS <<\_ACEOF -- --# --# CONFIG_HEADER section. --# -- --# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where --# NAME is the cpp macro being defined and VALUE is the value it is being given. --# --# ac_d sets the value in "#define NAME VALUE" lines. --ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' --ac_dB='[ ].*$,\1#\2' --ac_dC=' ' --ac_dD=',;t' --# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". --ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' --ac_uB='$,\1#\2define\3' --ac_uC=' ' --ac_uD=',;t' -- --for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue -- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -- case $ac_file in -- - | *:- | *:-:* ) # input from stdin -- cat >$tmp/stdin -- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -- * ) ac_file_in=$ac_file.in ;; -- esac -- -- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 --echo "$as_me: creating $ac_file" >&6;} -- -- # First look for the input files in the build tree, otherwise in the -- # src tree. -- ac_file_inputs=`IFS=: -- for f in $ac_file_in; do -- case $f in -- -) echo $tmp/stdin ;; -- [\\/$]*) -- # Absolute (can't be DOS-style, as IFS=:) -- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 --echo "$as_me: error: cannot find input file: $f" >&2;} -- { (exit 1); exit 1; }; } -- # Do quote $f, to prevent DOS paths from being IFS'd. -- echo "$f";; -- *) # Relative -- if test -f "$f"; then -- # Build tree -- echo "$f" -- elif test -f "$srcdir/$f"; then -- # Source tree -- echo "$srcdir/$f" -- else -- # /dev/null tree -- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 --echo "$as_me: error: cannot find input file: $f" >&2;} -- { (exit 1); exit 1; }; } -- fi;; -- esac -- done` || { (exit 1); exit 1; } -- # Remove the trailing spaces. -- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in -- --_ACEOF -- --# Transform confdefs.h into two sed scripts, `conftest.defines' and --# `conftest.undefs', that substitutes the proper values into --# config.h.in to produce config.h. The first handles `#define' --# templates, and the second `#undef' templates. --# And first: Protect against being on the right side of a sed subst in --# config.status. Protect against being in an unquoted here document --# in config.status. --rm -f conftest.defines conftest.undefs --# Using a here document instead of a string reduces the quoting nightmare. --# Putting comments in sed scripts is not portable. --# --# `end' is used to avoid that the second main sed command (meant for --# 0-ary CPP macros) applies to n-ary macro definitions. --# See the Autoconf documentation for `clear'. --cat >confdef2sed.sed <<\_ACEOF --s/[\\&,]/\\&/g --s,[\\$`],\\&,g --t clear --: clear --s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp --t end --s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp --: end --_ACEOF --# If some macros were called several times there might be several times --# the same #defines, which is useless. Nevertheless, we may not want to --# sort them, since we want the *last* AC-DEFINE to be honored. --uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines --sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs --rm -f confdef2sed.sed -- --# This sed command replaces #undef with comments. This is necessary, for --# example, in the case of _POSIX_SOURCE, which is predefined and required --# on some systems where configure will not decide to define it. --cat >>conftest.undefs <<\_ACEOF --s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, --_ACEOF -- --# Break up conftest.defines because some shells have a limit on the size --# of here documents, and old seds have small limits too (100 cmds). --echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS --echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS --echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS --echo ' :' >>$CONFIG_STATUS --rm -f conftest.tail --while grep . conftest.defines >/dev/null --do -- # Write a limited-size here document to $tmp/defines.sed. -- echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS -- # Speed up: don't consider the non `#define' lines. -- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS -- # Work around the forget-to-reset-the-flag bug. -- echo 't clr' >>$CONFIG_STATUS -- echo ': clr' >>$CONFIG_STATUS -- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS -- echo 'CEOF -- sed -f $tmp/defines.sed $tmp/in >$tmp/out -- rm -f $tmp/in -- mv $tmp/out $tmp/in --' >>$CONFIG_STATUS -- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail -- rm -f conftest.defines -- mv conftest.tail conftest.defines --done --rm -f conftest.defines --echo ' fi # grep' >>$CONFIG_STATUS --echo >>$CONFIG_STATUS -- --# Break up conftest.undefs because some shells have a limit on the size --# of here documents, and old seds have small limits too (100 cmds). --echo ' # Handle all the #undef templates' >>$CONFIG_STATUS --rm -f conftest.tail --while grep . conftest.undefs >/dev/null --do -- # Write a limited-size here document to $tmp/undefs.sed. -- echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS -- # Speed up: don't consider the non `#undef' -- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS -- # Work around the forget-to-reset-the-flag bug. -- echo 't clr' >>$CONFIG_STATUS -- echo ': clr' >>$CONFIG_STATUS -- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS -- echo 'CEOF -- sed -f $tmp/undefs.sed $tmp/in >$tmp/out -- rm -f $tmp/in -- mv $tmp/out $tmp/in --' >>$CONFIG_STATUS -- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail -- rm -f conftest.undefs -- mv conftest.tail conftest.undefs --done --rm -f conftest.undefs -- --cat >>$CONFIG_STATUS <<\_ACEOF -- # Let's still pretend it is `configure' which instantiates (i.e., don't -- # use $as_me), people would be surprised to read: -- # /* config.h. Generated by config.status. */ -- if test x"$ac_file" = x-; then -- echo "/* Generated by configure. */" >$tmp/config.h -- else -- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h -- fi -- cat $tmp/in >>$tmp/config.h -- rm -f $tmp/in -- if test x"$ac_file" != x-; then -- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then -- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 --echo "$as_me: $ac_file is unchanged" >&6;} -- else -- ac_dir=`(dirname "$ac_file") 2>/dev/null || --$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_file" : 'X\(//\)[^/]' \| \ -- X"$ac_file" : 'X\(//\)$' \| \ -- X"$ac_file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$ac_file" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- { if $as_mkdir_p; then -- mkdir -p "$ac_dir" -- else -- as_dir="$ac_dir" -- as_dirs= -- while test ! -d "$as_dir"; do -- as_dirs="$as_dir $as_dirs" -- as_dir=`(dirname "$as_dir") 2>/dev/null || --$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$as_dir" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- done -- test ! -n "$as_dirs" || mkdir $as_dirs -- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 --echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} -- { (exit 1); exit 1; }; }; } -- -- rm -f $ac_file -- mv $tmp/config.h $ac_file -- fi -- else -- cat $tmp/config.h -- rm -f $tmp/config.h -- fi --# Compute $ac_file's index in $config_headers. --_am_stamp_count=1 --for _am_header in $config_headers :; do -- case $_am_header in -- $ac_file | $ac_file:* ) -- break ;; -- * ) -- _am_stamp_count=`expr $_am_stamp_count + 1` ;; -- esac --done --echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || --$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X$ac_file : 'X\(//\)[^/]' \| \ -- X$ac_file : 'X\(//\)$' \| \ -- X$ac_file : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X$ac_file | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'`/stamp-h$_am_stamp_count --done --_ACEOF --cat >>$CONFIG_STATUS <<\_ACEOF -- --# --# CONFIG_COMMANDS section. --# --for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue -- ac_dest=`echo "$ac_file" | sed 's,:.*,,'` -- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` -- ac_dir=`(dirname "$ac_dest") 2>/dev/null || --$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$ac_dest" : 'X\(//\)[^/]' \| \ -- X"$ac_dest" : 'X\(//\)$' \| \ -- X"$ac_dest" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$ac_dest" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- { if $as_mkdir_p; then -- mkdir -p "$ac_dir" -- else -- as_dir="$ac_dir" -- as_dirs= -- while test ! -d "$as_dir"; do -- as_dirs="$as_dir $as_dirs" -- as_dir=`(dirname "$as_dir") 2>/dev/null || --$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$as_dir" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- done -- test ! -n "$as_dirs" || mkdir $as_dirs -- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 --echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} -- { (exit 1); exit 1; }; }; } -- -- ac_builddir=. -- --if test "$ac_dir" != .; then -- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` -- # A "../" for each directory in $ac_dir_suffix. -- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` --else -- ac_dir_suffix= ac_top_builddir= --fi -- --case $srcdir in -- .) # No --srcdir option. We are building in place. -- ac_srcdir=. -- if test -z "$ac_top_builddir"; then -- ac_top_srcdir=. -- else -- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` -- fi ;; -- [\\/]* | ?:[\\/]* ) # Absolute path. -- ac_srcdir=$srcdir$ac_dir_suffix; -- ac_top_srcdir=$srcdir ;; -- *) # Relative path. -- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix -- ac_top_srcdir=$ac_top_builddir$srcdir ;; --esac -- --# Do not use `cd foo && pwd` to compute absolute paths, because --# the directories may not exist. --case `pwd` in --.) ac_abs_builddir="$ac_dir";; --*) -- case "$ac_dir" in -- .) ac_abs_builddir=`pwd`;; -- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -- *) ac_abs_builddir=`pwd`/"$ac_dir";; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_top_builddir=${ac_top_builddir}.;; --*) -- case ${ac_top_builddir}. in -- .) ac_abs_top_builddir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_srcdir=$ac_srcdir;; --*) -- case $ac_srcdir in -- .) ac_abs_srcdir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -- esac;; --esac --case $ac_abs_builddir in --.) ac_abs_top_srcdir=$ac_top_srcdir;; --*) -- case $ac_top_srcdir in -- .) ac_abs_top_srcdir=$ac_abs_builddir;; -- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -- esac;; --esac -- -- -- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 --echo "$as_me: executing $ac_dest commands" >&6;} -- case $ac_dest in -- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -- # Strip MF so we end up with the name of the file. -- mf=`echo "$mf" | sed -e 's/:.*$//'` -- # Check whether this is an Automake generated Makefile or not. -- # We used to match only the files named `Makefile.in', but -- # some people rename them; so instead we look at the file content. -- # Grep'ing the first line is not enough: some people post-process -- # each Makefile.in and add a new line on top of each file to say so. -- # So let's grep whole file. -- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -- dirpart=`(dirname "$mf") 2>/dev/null || --$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$mf" : 'X\(//\)[^/]' \| \ -- X"$mf" : 'X\(//\)$' \| \ -- X"$mf" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$mf" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- else -- continue -- fi -- # Extract the definition of DEPDIR, am__include, and am__quote -- # from the Makefile without running `make'. -- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -- test -z "$DEPDIR" && continue -- am__include=`sed -n 's/^am__include = //p' < "$mf"` -- test -z "am__include" && continue -- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -- # When using ansi2knr, U may be empty or an underscore; expand it -- U=`sed -n 's/^U = //p' < "$mf"` -- # Find all dependency output files, they are included files with -- # $(DEPDIR) in their names. We invoke sed twice because it is the -- # simplest approach to changing $(DEPDIR) to its actual value in the -- # expansion. -- for file in `sed -n " -- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -- # Make sure the directory exists. -- test -f "$dirpart/$file" && continue -- fdir=`(dirname "$file") 2>/dev/null || --$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$file" : 'X\(//\)[^/]' \| \ -- X"$file" : 'X\(//\)$' \| \ -- X"$file" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$file" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- { if $as_mkdir_p; then -- mkdir -p $dirpart/$fdir -- else -- as_dir=$dirpart/$fdir -- as_dirs= -- while test ! -d "$as_dir"; do -- as_dirs="$as_dir $as_dirs" -- as_dir=`(dirname "$as_dir") 2>/dev/null || --$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| \ -- . : '\(.\)' 2>/dev/null || --echo X"$as_dir" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -- /^X\(\/\/\)[^/].*/{ s//\1/; q; } -- /^X\(\/\/\)$/{ s//\1/; q; } -- /^X\(\/\).*/{ s//\1/; q; } -- s/.*/./; q'` -- done -- test ! -n "$as_dirs" || mkdir $as_dirs -- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 --echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} -- { (exit 1); exit 1; }; }; } -- -- # echo "creating $dirpart/$file" -- echo '# dummy' > "$dirpart/$file" -- done --done -- ;; -- esac --done --_ACEOF -- --cat >>$CONFIG_STATUS <<\_ACEOF -- --{ (exit 0); exit 0; } --_ACEOF --chmod +x $CONFIG_STATUS --ac_clean_files=$ac_clean_files_save -- -- --# configure is writing to config.log, and then calls config.status. --# config.status does its own redirection, appending to config.log. --# Unfortunately, on DOS this fails, as config.log is still kept open --# by configure, so config.status won't be able to write to it; its --# output is simply discarded. So we exec the FD to /dev/null, --# effectively closing config.log, so it can be properly (re)opened and --# appended to by config.status. When coming back to configure, we --# need to make the FD available again. --if test "$no_create" != yes; then -- ac_cs_success=: -- ac_config_status_args= -- test "$silent" = yes && -- ac_config_status_args="$ac_config_status_args --quiet" -- exec 5>/dev/null -- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -- exec 5>>config.log -- # Use ||, not &&, to avoid exiting from the if with $? = 1, which -- # would make configure fail if this is the last instruction. -- $ac_cs_success || { (exit 1); exit 1; } --fi -- -diff --git a/configure.ac b/configure.in -similarity index 86% -rename from configure.ac -rename to configure.in -index bb9e1d9..e9745e6 100644 ---- a/configure.ac -+++ b/configure.in -@@ -29,6 +29,65 @@ esac - AC_SUBST(host_cpu) - AC_SUBST(host_vendor) - -+# Specify the platform (such as firmware). -+AC_ARG_WITH([platform], -+ AS_HELP_STRING([--with-platform=PLATFORM], -+ [select the host platform [[guessed]]])) -+ -+# Guess the platform if not specified. -+if test "x$with_platform" = x; then -+ case "$host_cpu"-"$host_vendor" in -+ i386-*) platform=pc ;; -+ x86_64-*) platform=pc ;; -+ *) AC_MSG_ERROR([unsupported machine type $host_cpu-$host_vendor]) ;; -+ esac -+else -+ platform="$with_platform" -+fi -+ -+# Sanity check. -+case "$host_cpu"-"$platform" in -+ i386-pc) ;; -+ i386-efi) ;; -+ x86_64-pc) ;; -+ x86_64-efi) ;; -+ *) AC_MSG_ERROR([unsupported machine type "$host_cpu"-"$platform"]) ;; -+esac -+ -+if test "x$platform" = xefi; then -+ case "$host_cpu" in -+ i386) EFI_ARCH=ia32 ;; -+ x86_64) EFI_ARCH=x86_64 ;; -+ *) AC_MSG_ERROR([unsupported machine type "$host_cpu"]) ;; -+ esac -+ AC_SUBST(EFI_ARCH) -+fi -+ -+gnuefi_path=${libdir}/gnuefi -+gnuefi_crt0=${gnuefi_path}/crt0-efi-${EFI_ARCH}.o -+if ! test -f $gnuefi_crt0 ; then -+ gnuefi_crt0=crt0-efi.o -+fi -+GNUEFI_CRT0=${gnuefi_crt0} -+AC_SUBST(GNUEFI_CRT0) -+gnuefi_lds=${gnuefi_path}/elf_${EFI_ARCH}_efi.lds -+if ! test -f $gnuefi_lds ; then -+ gnuefi_lds=${EFI_ARCH}/elf_efi.lds -+fi -+GNUEFI_LDS=${gnuefi_lds} -+AC_SUBST(GNUEFI_LDS) -+LIBGNUEFI=${libdir}/libgnuefi.a -+AC_SUBST(LIBGNUEFI) -+LIBEFI=${libdir}/libefi.a -+AC_SUBST(LIBEFI) -+ -+AC_SUBST(platform) -+AM_CONDITIONAL(PLATFORM_EFI, test "x$platform" = xefi) -+ -+if test "x$platform" = xefi; then -+ AC_DEFINE(PLATFORM_EFI, 1, [Define if you run on EFI platform.]) -+fi -+ - # - # Options - # -@@ -46,7 +105,7 @@ if test "x$CFLAGS" = x; then - default_CFLAGS=yes - fi - --if test "x$host_cpu" = xx86_64; then -+if test "x$platform" = xpc -a "x$host_cpu" = xx86_64; then - CFLAGS="-m32 $CFLAGS" - fi - -@@ -63,6 +122,8 @@ dnl Because recent automake complains about AS, set it here. - CCAS="$CC" - AC_SUBST(CCAS) - -+_AM_DEPENDENCIES(CCAS) -+ - AC_ARG_WITH(binutils, - [ --with-binutils=DIR search the directory DIR to find binutils]) - -@@ -114,6 +175,20 @@ if test "x$ac_cv_prog_gcc" = xyes; then - fi - fi - fi -+STAGE2_CFLAGS="$STAGE2_CFLAGS -isystem `$CC -print-file-name=include`" -+ -+LIBGCC=$(gcc $CFLAGS -static-libgcc -print-libgcc-file-name) -+AC_SUBST(LIBGCC) -+ -+LOADER_LDFLAGS="-Wl,--build-id=none ${LIBGCC}" -+AC_SUBST(LOADER_LDFLAGS) -+ -+if test "x$platform" = xefi; then -+ STAGE2_CFLAGS="$STAGE2_CFLAGS -fpic -fshort-wchar -fno-strict-aliasing -fno-merge-constants" -+ if test "x$EFI_ARCH" = xx86_64; then -+ STAGE2_CFLAGS="$STAGE2_CFLAGS -DEFI_FUNCTION_WRAPPER" -+ fi -+fi - - AC_SUBST(STAGE1_CFLAGS) - AC_SUBST(STAGE2_CFLAGS) -@@ -159,9 +234,12 @@ fi - - # Defined in acinclude.m4. - grub_ASM_USCORE --grub_PROG_OBJCOPY_ABSOLUTE --if test "x$grub_cv_prog_objcopy_absolute" != xyes; then -- AC_MSG_ERROR([GRUB requires a working absolute objcopy; upgrade your binutils]) -+ -+if test "x$platform" != xefi; then -+ grub_PROG_OBJCOPY_ABSOLUTE -+ if test "x$grub_cv_prog_objcopy_absolute" != xyes; then -+ AC_MSG_ERROR([GRUB requires a working absolute objcopy; upgrade your binutils]) -+ fi - fi - - grub_ASM_PREFIX_REQUIREMENT -@@ -207,9 +285,9 @@ AC_CHECK_LIB(util, opendisk, [GRUB_LIBS="$GRUB_LIBS -lutil" - - # Unless the user specify --without-curses, check for curses. - if test "x$with_curses" != "xno"; then -- AC_CHECK_LIB(ncurses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lncurses" -+ AC_CHECK_LIB(ncurses, wgetch, [GRUB_LIBS="$GRUB_LIBS -Wl,-Bstatic -lncurses -ltinfo -Wl,-Bdynamic" - AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])], -- [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lcurses" -+ [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -Wl,-Bstatic -lcurses -Wl,-Bdynamic" - AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])])]) - fi - -@@ -595,9 +673,18 @@ AC_ARG_ENABLE(diskless, - [ --enable-diskless enable diskless support]) - AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes) - -+dnl Graphical splashscreen support -+AC_ARG_ENABLE(graphics, -+ [ --disable-graphics disable graphics terminal support]) -+AM_CONDITIONAL(GRAPHICS_SUPPORT, test "x$enable_graphics" != xno) -+ - dnl Hercules terminal --AC_ARG_ENABLE(hercules, -- [ --disable-hercules disable hercules terminal support]) -+if test "x$platform" = xefi; then -+ enable_hercules=no -+else -+ AC_ARG_ENABLE(hercules, -+ [ --disable-hercules disable hercules terminal support]) -+fi - AM_CONDITIONAL(HERCULES_SUPPORT, test "x$enable_hercules" != xno) - - dnl Serial terminal -@@ -662,9 +749,13 @@ AC_SUBST(CCASFLAGS) - - - dnl Output. -+if test "x$platform" = xefi; then -+ AC_CONFIG_FILES([efi/Makefile]) -+ AC_CONFIG_LINKS([efi/grub/cpu:efi/grub/$host_cpu]) -+fi - AC_CONFIG_FILES([Makefile stage1/Makefile stage2/Makefile \ - docs/Makefile lib/Makefile util/Makefile \ -- grub/Makefile netboot/Makefile util/grub-image \ -- util/grub-install util/grub-md5-crypt \ -- util/grub-terminfo util/grub-set-default]) -+ grub/Makefile netboot/Makefile util/grub-crypt \ -+ util/grub-image util/grub-install util/grub-md5-crypt \ -+ util/grub-terminfo]) - AC_OUTPUT -diff --git a/docs/.gitignore b/docs/.gitignore -new file mode 100644 -index 0000000..e440faf ---- /dev/null -+++ b/docs/.gitignore -@@ -0,0 +1,3 @@ -+Makefile.in -+Makefile -+.deps -diff --git a/docs/Makefile.am b/docs/Makefile.am -index db99e2d..fe6b22b 100644 ---- a/docs/Makefile.am -+++ b/docs/Makefile.am -@@ -2,7 +2,8 @@ info_TEXINFOS = grub.texi multiboot.texi - grub_TEXINFOS = internals.texi - EXAMPLES = boot.S kernel.c multiboot.h - multiboot_TEXINFOS = boot.S.texi kernel.c.texi multiboot.h.texi --man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8 grub-terminfo.8 -+man_MANS = grub.8 mbchk.1 grub-crypt.8 grub-install.8 grub-md5-crypt.8 \ -+ grub-terminfo.8 - HELP2MAN = help2man - SRC2TEXI = src2texi - noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI) -@@ -51,6 +52,12 @@ $(srcdir)/mbchk.1: ../util/mbchk $(srcdir)/$(HELP2MAN) - --name="check the format of a Multiboot kernel" \ - --section=1 --output=$@ $< - -+$(srcdir)/grub-crypt.8: ../util/grub-crypt $(srcdir)/$(HELP2MAN) -+ chmod 755 $< -+ $(PERL) $(srcdir)/$(HELP2MAN) \ -+ --name="Encrypt a password" \ -+ --section=8 --output=$@ $< -+ - $(srcdir)/grub-md5-crypt.8: ../util/grub-md5-crypt $(srcdir)/$(HELP2MAN) - chmod 755 $< - $(PERL) $(srcdir)/$(HELP2MAN) \ -diff --git a/docs/Makefile.in b/docs/Makefile.in -index 3e2de4b..f350fcd 100644 ---- a/docs/Makefile.in -+++ b/docs/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,17 +15,11 @@ - @SET_MAKE@ - - --SOURCES = $(kernel_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -48,7 +42,7 @@ DIST_COMMON = $(grub_TEXINFOS) $(multiboot_TEXINFOS) \ - texinfo.tex - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -@@ -60,11 +54,14 @@ am__objects_1 = boot.$(OBJEXT) kernel-kernel.$(OBJEXT) - @BUILD_EXAMPLE_KERNEL_TRUE@am_kernel_OBJECTS = $(am__objects_1) - kernel_OBJECTS = $(am_kernel_OBJECTS) - kernel_LDADD = $(LDADD) -+kernel_LINK = $(CCLD) $(kernel_CFLAGS) $(CFLAGS) $(kernel_LDFLAGS) \ -+ $(LDFLAGS) -o $@ - SCRIPTS = $(noinst_SCRIPTS) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles --CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) -+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) - CCLD = $(CC) -@@ -85,6 +82,12 @@ AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) - DVIPS = dvips - am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(man8dir)" -+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -+am__vpath_adj = case $$p in \ -+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ -+ *) f=$$p;; \ -+ esac; -+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; - man1dir = $(mandir)/man1 - man8dir = $(mandir)/man8 - NROFF = nroff -@@ -93,17 +96,14 @@ ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -112,18 +112,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -131,14 +129,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -152,22 +148,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -179,28 +170,39 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ - info_TEXINFOS = grub.texi multiboot.texi - grub_TEXINFOS = internals.texi - EXAMPLES = boot.S kernel.c multiboot.h -@@ -256,7 +258,7 @@ clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - kernel$(EXEEXT): $(kernel_OBJECTS) $(kernel_DEPENDENCIES) - @rm -f kernel$(EXEEXT) -- $(LINK) $(kernel_LDFLAGS) $(kernel_OBJECTS) $(kernel_LDADD) $(LIBS) -+ $(kernel_LINK) $(kernel_OBJECTS) $(kernel_LDADD) $(LIBS) - - mostlyclean-compile: - -rm -f *.$(OBJEXT) -@@ -264,38 +266,47 @@ mostlyclean-compile: - distclean-compile: - -rm -f *.tab.c - -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/boot.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kernel-kernel.Po@am__quote@ - - .S.o: -- $(CCASCOMPILE) -c $< -+@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< - - .S.obj: -- $(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` -+@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - - .c.o: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - - kernel-kernel.o: kernel.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.o -MD -MP -MF "$(DEPDIR)/kernel-kernel.Tpo" -c -o kernel-kernel.o `test -f 'kernel.c' || echo '$(srcdir)/'`kernel.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/kernel-kernel.Tpo" "$(DEPDIR)/kernel-kernel.Po"; else rm -f "$(DEPDIR)/kernel-kernel.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.o -MD -MP -MF $(DEPDIR)/kernel-kernel.Tpo -c -o kernel-kernel.o `test -f 'kernel.c' || echo '$(srcdir)/'`kernel.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kernel-kernel.Tpo $(DEPDIR)/kernel-kernel.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='kernel.c' object='kernel-kernel.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-kernel.o `test -f 'kernel.c' || echo '$(srcdir)/'`kernel.c - - kernel-kernel.obj: kernel.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.obj -MD -MP -MF "$(DEPDIR)/kernel-kernel.Tpo" -c -o kernel-kernel.obj `if test -f 'kernel.c'; then $(CYGPATH_W) 'kernel.c'; else $(CYGPATH_W) '$(srcdir)/kernel.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/kernel-kernel.Tpo" "$(DEPDIR)/kernel-kernel.Po"; else rm -f "$(DEPDIR)/kernel-kernel.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.obj -MD -MP -MF $(DEPDIR)/kernel-kernel.Tpo -c -o kernel-kernel.obj `if test -f 'kernel.c'; then $(CYGPATH_W) 'kernel.c'; else $(CYGPATH_W) '$(srcdir)/kernel.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kernel-kernel.Tpo $(DEPDIR)/kernel-kernel.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='kernel.c' object='kernel-kernel.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-kernel.obj `if test -f 'kernel.c'; then $(CYGPATH_W) 'kernel.c'; else $(CYGPATH_W) '$(srcdir)/kernel.c'; fi` -@@ -304,9 +315,11 @@ kernel-kernel.obj: kernel.c - restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && cd $(srcdir) && \ - rm -rf $$backupdir && mkdir $$backupdir && \ -- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ -- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ -- done; \ -+ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ -+ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ -+ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ -+ done; \ -+ else :; fi && \ - cd "$$am__cwd"; \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ $<; \ -@@ -371,11 +384,29 @@ multiboot.dvi: multiboot.texi $(multiboot_TEXINFOS) - multiboot.pdf: multiboot.texi $(multiboot_TEXINFOS) - multiboot.html: multiboot.texi $(multiboot_TEXINFOS) - .dvi.ps: -+ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< - -+uninstall-dvi-am: -+ @$(NORMAL_UNINSTALL) -+ @list='$(DVIS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ -+ done -+ -+uninstall-html-am: -+ @$(NORMAL_UNINSTALL) -+ @list='$(HTMLS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ -+ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ -+ done -+ - uninstall-info-am: -- $(PRE_UNINSTALL) -- @if (install-info --version && \ -+ @$(PRE_UNINSTALL) -+ @if test -d '$(DESTDIR)$(infodir)' && \ -+ (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ -@@ -389,12 +420,28 @@ uninstall-info-am: - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ -- (if cd "$(DESTDIR)$(infodir)"; then \ -- echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ -+ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ -+ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ - else :; fi); \ - done - -+uninstall-pdf-am: -+ @$(NORMAL_UNINSTALL) -+ @list='$(PDFS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ -+ done -+ -+uninstall-ps-am: -+ @$(NORMAL_UNINSTALL) -+ @list='$(PSS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(psdir)/$$f"; \ -+ done -+ - dist-info: $(INFO_DEPS) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ -@@ -403,10 +450,13 @@ dist-info: $(INFO_DEPS) - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ -- for file in $$d/$$base*; do \ -- relfile=`expr "$$file" : "$$d/\(.*\)"`; \ -- test -f $(distdir)/$$relfile || \ -- cp -p $$file $(distdir)/$$relfile; \ -+ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ -+ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ -+ if test -f $$file; then \ -+ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ -+ test -f $(distdir)/$$relfile || \ -+ cp -p $$file $(distdir)/$$relfile; \ -+ else :; fi; \ - done; \ - done - -@@ -426,7 +476,7 @@ maintainer-clean-aminfo: - done - install-man1: $(man1_MANS) $(man_MANS) - @$(NORMAL_INSTALL) -- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" -+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ -@@ -471,7 +521,7 @@ uninstall-man1: - done - install-man8: $(man8_MANS) $(man_MANS) - @$(NORMAL_INSTALL) -- test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" -+ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)" - @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ -@@ -564,22 +614,21 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -598,7 +647,7 @@ check: check-am - all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS) - installdirs: - for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \ -- test -z "$$dir" || $(mkdir_p) "$$dir"; \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: install-am - install-exec: install-exec-am -@@ -649,13 +698,42 @@ info-am: $(INFO_DEPS) - - install-data-am: install-info-am install-man - -+install-dvi: install-dvi-am -+ -+install-dvi-am: $(DVIS) -+ @$(NORMAL_INSTALL) -+ test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" -+ @list='$(DVIS)'; for p in $$list; do \ -+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -+ f=$(am__strip_dir) \ -+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \ -+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \ -+ done - install-exec-am: - -+install-html: install-html-am -+ -+install-html-am: $(HTMLS) -+ @$(NORMAL_INSTALL) -+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" -+ @list='$(HTMLS)'; for p in $$list; do \ -+ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ -+ f=$(am__strip_dir) \ -+ if test -d "$$d$$p"; then \ -+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ -+ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ -+ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ -+ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \ -+ else \ -+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ -+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ -+ fi; \ -+ done - install-info: install-info-am - - install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) -- test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" -+ test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ -@@ -685,6 +763,28 @@ install-info-am: $(INFO_DEPS) - else : ; fi - install-man: install-man1 install-man8 - -+install-pdf: install-pdf-am -+ -+install-pdf-am: $(PDFS) -+ @$(NORMAL_INSTALL) -+ test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" -+ @list='$(PDFS)'; for p in $$list; do \ -+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -+ f=$(am__strip_dir) \ -+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ -+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ -+ done -+install-ps: install-ps-am -+ -+install-ps-am: $(PSS) -+ @$(NORMAL_INSTALL) -+ test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" -+ @list='$(PSS)'; for p in $$list; do \ -+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -+ f=$(am__strip_dir) \ -+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \ -+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \ -+ done - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -706,23 +806,29 @@ ps: ps-am - - ps-am: $(PSS) - --uninstall-am: uninstall-info-am uninstall-man -+uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ -+ uninstall-man uninstall-pdf-am uninstall-ps-am - - uninstall-man: uninstall-man1 uninstall-man8 - -+.MAKE: install-am install-strip -+ - .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstPROGRAMS ctags dist-info distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ -- install-data install-data-am install-exec install-exec-am \ -+ install-data install-data-am install-dvi install-dvi-am \ -+ install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-man1 \ -- install-man8 install-strip installcheck installcheck-am \ -+ install-man8 install-pdf install-pdf-am install-ps \ -+ install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti mostlyclean \ - mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ - mostlyclean-vti pdf pdf-am ps ps-am tags uninstall \ -- uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ -- uninstall-man8 -+ uninstall-am uninstall-dvi-am uninstall-html-am \ -+ uninstall-info-am uninstall-man uninstall-man1 uninstall-man8 \ -+ uninstall-pdf-am uninstall-ps-am - - - @BUILD_EXAMPLE_KERNEL_TRUE@boot.o: multiboot.h -diff --git a/docs/grub-crypt.8 b/docs/grub-crypt.8 -new file mode 100644 -index 0000000..eb132d7 ---- /dev/null -+++ b/docs/grub-crypt.8 -@@ -0,0 +1,39 @@ -+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23. -+.TH GRUB-CRYPT "1" "January 2010" "grub-crypt (GNU GRUB 0.97)" FSF -+.SH NAME -+grub-crypt \- manual page for grub-crypt (GNU GRUB 0.97) -+.SH SYNOPSIS -+.B grub-crypt -+[\fIOPTION\fR]... -+.SH DESCRIPTION -+Encrypt a password. -+.TP -+\fB\-h\fR, \fB\-\-help\fR -+Print this message and exit -+.TP -+\fB\-v\fR, \fB\-\-version\fR -+Print the version information and exit -+.TP -+\fB\-\-md5\fR -+Use MD5 to encrypt the password -+.TP -+\fB\-\-sha\-256\fR -+Use SHA-256 to encrypt the password -+.TP -+\fB\-\-sha\-512\fR -+Use SHA-512 to encrypt the password (default) -+.SH "REPORTING BUGS" -+Report bugs to . -+EOF -+.SH "SEE ALSO" -+The full documentation for -+.B grub-crypt -+is maintained as a Texinfo manual. If the -+.B info -+and -+.B grub-crypt -+programs are properly installed at your site, the command -+.IP -+.B info grub-crypt -+.PP -+should give you access to the complete manual. -diff --git a/docs/grub-install.8 b/docs/grub-install.8 -index ac588a3..accff22 100644 ---- a/docs/grub-install.8 -+++ b/docs/grub-install.8 -@@ -30,6 +30,8 @@ BIOS - .TP - \fB\-\-recheck\fR - probe a device map even if it already exists -+ -+This option is unreliable and its use is strongly discouraged. - .PP - INSTALL_DEVICE can be a GRUB device name or a system device filename. - .PP -diff --git a/docs/grub.8 b/docs/grub.8 -index 92149f7..7a087d6 100644 ---- a/docs/grub.8 -+++ b/docs/grub.8 -@@ -15,7 +15,7 @@ turn on batch mode for non-interactive use - specify stage2 boot_drive [default=0x0] - .TP - \fB\-\-config\-file\fR=\fIFILE\fR --specify stage2 config_file [default=/boot/grub/menu.lst] -+specify stage2 config_file [default=/boot/grub/grub.conf] - .TP - \fB\-\-device\-map\fR=\fIFILE\fR - use the device map file FILE -diff --git a/docs/grub.info b/docs/grub.info -index f48783c..7692f31 100644 ---- a/docs/grub.info -+++ b/docs/grub.info -@@ -1,5 +1,4 @@ --This is ../../docs/grub.info, produced by makeinfo version 4.8 from --../../docs/grub.texi. -+This is grub.info, produced by makeinfo version 4.9 from grub.texi. - - INFO-DIR-SECTION Kernel - START-INFO-DIR-ENTRY -@@ -1147,7 +1146,7 @@ your OS. There's a solution to that - GRUB provides a menu interface - (*note Menu interface::) from which you can select an item (using arrow - keys) that will do everything to boot an OS. - -- To enable the menu, you need a configuration file, `menu.lst' under -+ To enable the menu, you need a configuration file, `grub.conf' under - the boot directory. We'll analyze an example file. - - The file first contains some general settings, the menu interface -@@ -1693,12 +1692,12 @@ There are two ways to specify files, by "absolute file name" and by - - An absolute file name resembles a Unix absolute file name, using `/' - for the directory separator (not `\' as in DOS). One example is --`(hd0,0)/boot/grub/menu.lst'. This means the file `/boot/grub/menu.lst' --in the first partition of the first hard disk. If you omit the device --name in an absolute file name, GRUB uses GRUB's "root device" --implicitly. So if you set the root device to, say, `(hd1,0)' by the --command `root' (*note root::), then `/boot/kernel' is the same as --`(hd1,0)/boot/kernel'. -+`(hd0,0)/boot/grub/grub.conf'. This means the file -+`/boot/grub/grub.conf' in the first partition of the first hard disk. -+If you omit the device name in an absolute file name, GRUB uses GRUB's -+"root device" implicitly. So if you set the root device to, say, -+`(hd1,0)' by the command `root' (*note root::), then `/boot/kernel' is -+the same as `(hd1,0)/boot/kernel'. - -  - File: grub.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem -@@ -2023,6 +2022,7 @@ Commands usable anywhere in the menu and in the command-line. - * rarp:: Initialize a network device via RARP - * serial:: Set up a serial device - * setkey:: Configure the key map -+* splashimage:: Use a splash image - * terminal:: Choose a terminal - * terminfo:: Define escape sequences for a terminal - * tftpserver:: Specify a TFTP server -@@ -2258,7 +2258,7 @@ File: grub.info, Node: serial, Next: setkey, Prev: rarp, Up: General command - support. See also *Note Serial terminal::. - -  --File: grub.info, Node: setkey, Next: terminal, Prev: serial, Up: General commands -+File: grub.info, Node: setkey, Next: splashimage, Prev: serial, Up: General commands - - 13.2.13 setkey - -------------- -@@ -2384,9 +2384,20 @@ File: grub.info, Node: setkey, Next: terminal, Prev: serial, Up: General com - ` ' - -  --File: grub.info, Node: terminal, Next: terminfo, Prev: setkey, Up: General commands -+File: grub.info, Node: splashimage, Next: terminal, Prev: setkey, Up: General commands - --13.2.14 terminal -+13.2.14 splashimage -+------------------- -+ -+ -- Command: splashimage file -+ Select an image to use as the background image. This should be -+ specified using normal GRUB device naming syntax. The format of -+ the file is a gzipped xpm which is 640x480 with a 14 color palette. -+ -+ -+File: grub.info, Node: terminal, Next: terminfo, Prev: splashimage, Up: General commands -+ -+13.2.15 terminal - ---------------- - - -- Command: terminal [`--dumb'] [`--no-echo'] [`--no-edit'] -@@ -2421,7 +2432,7 @@ File: grub.info, Node: terminal, Next: terminfo, Prev: setkey, Up: General c -  - File: grub.info, Node: terminfo, Next: tftpserver, Prev: terminal, Up: General commands - --13.2.15 terminfo -+13.2.16 terminfo - ---------------- - - -- Command: terminfo `--name=name' `--cursor-address=seq' -@@ -2439,7 +2450,7 @@ File: grub.info, Node: terminfo, Next: tftpserver, Prev: terminal, Up: Gener -  - File: grub.info, Node: tftpserver, Next: unhide, Prev: terminfo, Up: General commands - --13.2.16 tftpserver -+13.2.17 tftpserver - ------------------ - - -- Command: tftpserver ipaddr -@@ -2454,7 +2465,7 @@ File: grub.info, Node: tftpserver, Next: unhide, Prev: terminfo, Up: General -  - File: grub.info, Node: unhide, Prev: tftpserver, Up: General commands - --13.2.17 unhide -+13.2.18 unhide - -------------- - - -- Command: unhide partition -@@ -3405,9 +3416,9 @@ calls with UNIX system calls and libc functions. - grub shell just ignores this option. - - `--config-file=FILE' -- Read the configuration file FILE instead of `/boot/grub/menu.lst'. -- The format is the same as the normal GRUB syntax. See *Note -- Filesystem::, for more information. -+ Read the configuration file FILE instead of -+ `/boot/grub/grub.conf'. The format is the same as the normal GRUB -+ syntax. See *Note Filesystem::, for more information. - - `--boot-drive=DRIVE' - Set the stage2 BOOT_DRIVE to DRIVE. This argument should be an -@@ -3551,8 +3562,9 @@ name. - - `--recheck' - Recheck the device map, even if `/boot/grub/device.map' already -- exists. You should use this option whenever you add/remove a disk -- into/from your computer. -+ exists. -+ -+ This option is unreliable and its use is strongly discouraged. - -  - File: grub.info, Node: Invoking grub-md5-crypt, Next: Invoking grub-terminfo, Prev: Invoking grub-install, Up: Top -@@ -4279,6 +4291,7 @@ Index - * serial: serial. (line 9) - * setkey: setkey. (line 7) - * setup: setup. (line 8) -+* splashimage: splashimage. (line 7) - * terminal: terminal. (line 9) - * terminfo: terminfo. (line 9) - * testload: testload. (line 7) -@@ -4293,163 +4306,164 @@ Index - -  - Tag Table: --Node: Top1487 --Node: Introduction3266 --Node: Overview3643 --Node: Overview-Footnotes5865 --Ref: Overview-Footnote-15926 --Node: History6087 --Node: Features7208 --Node: Features-Footnotes12976 --Ref: Features-Footnote-113037 --Node: Role of a boot loader13182 --Node: Role of a boot loader-Footnotes14520 --Ref: Role of a boot loader-Footnote-114607 --Node: Naming convention14686 --Node: Installation17621 --Node: Creating a GRUB boot floppy19363 --Node: Installing GRUB natively20181 --Node: Installing GRUB natively-Footnotes22461 --Ref: Installing GRUB natively-Footnote-122554 --Node: Installing GRUB using grub-install22739 --Node: Making a GRUB bootable CD-ROM25685 --Node: Making a GRUB bootable CD-ROM-Footnotes27730 --Ref: Making a GRUB bootable CD-ROM-Footnote-127833 --Node: Booting27908 --Node: General boot methods28363 --Node: Loading an operating system directly29104 --Node: Chain-loading30408 --Node: Chain-loading-Footnotes31718 --Ref: Chain-loading-Footnote-131789 --Node: OS-specific notes31861 --Node: GNU/Hurd32237 --Node: GNU/Linux32856 --Node: FreeBSD34104 --Node: NetBSD34617 --Node: OpenBSD35275 --Node: DOS/Windows35475 --Node: SCO UnixWare37301 --Node: QNX37719 --Node: Making your system robust37969 --Node: Booting once-only39294 --Node: Booting fallback systems41219 --Node: Configuration44066 --Node: Network48495 --Node: General usage of network support48989 --Node: General usage of network support-Footnotes50850 --Ref: General usage of network support-Footnote-150959 --Node: Diskless51027 --Node: Serial terminal53211 --Node: Preset Menu55444 --Node: Security57812 --Node: Images60620 --Node: Filesystem63131 --Node: Device syntax63814 --Node: File name syntax65308 --Node: Block list syntax66051 --Node: Interface66784 --Node: Command-line interface67661 --Node: Command-line interface-Footnotes69602 --Ref: Command-line interface-Footnote-169691 --Node: Menu interface69786 --Node: Menu entry editor70796 --Node: Hidden menu interface71875 --Node: Commands72452 --Node: Menu-specific commands73029 --Node: default74200 --Node: fallback74678 --Node: hiddenmenu75229 --Node: timeout75717 --Node: title75995 --Node: General commands76266 --Node: bootp77579 --Node: color78058 --Node: device79532 --Node: dhcp80104 --Node: hide80689 --Node: ifconfig81066 --Node: pager81642 --Node: partnew81976 --Node: parttype82412 --Node: password82779 --Node: rarp83598 --Node: serial83899 --Node: setkey85172 --Node: terminal87341 --Node: terminfo88878 --Node: tftpserver89565 --Node: unhide90111 --Node: Command-line and menu entry commands90486 --Node: blocklist93017 --Node: boot93259 --Node: cat93580 --Node: chainloader93884 --Node: cmp94500 --Node: configfile95051 --Node: debug95265 --Node: displayapm95649 --Node: displaymem95860 --Node: embed96562 --Node: embed-Footnotes97096 --Ref: embed-Footnote-197151 --Node: find97208 --Node: fstest97588 --Node: geometry98273 --Node: halt98885 --Node: help99212 --Node: impsprobe99833 --Node: initrd100232 --Node: install100571 --Node: install-Footnotes103415 --Ref: install-Footnote-1103474 --Node: ioprobe103571 --Node: kernel103896 --Node: lock105016 --Node: makeactive105591 --Node: map105903 --Node: md5crypt106470 --Node: module106817 --Node: modulenounzip107394 --Node: pause107687 --Node: quit108101 --Node: reboot108377 --Node: read108558 --Node: root108800 --Node: rootnoverify109677 --Node: savedefault110232 --Node: setup111208 --Node: testload112274 --Node: testvbe112884 --Node: uppermem113255 --Node: vbeprobe113837 --Node: Troubleshooting114220 --Node: Stage1 errors114758 --Node: Stage1.5 errors116135 --Node: Stage2 errors116573 --Node: Invoking the grub shell124033 --Node: Basic usage124786 --Node: Installation under UNIX127073 --Node: Device map128748 --Node: Invoking grub-install129896 --Node: Invoking grub-md5-crypt131484 --Node: Invoking grub-terminfo132133 --Node: Invoking grub-set-default132899 --Node: Invoking mbchk134700 --Node: Obtaining and Building GRUB135214 --Node: Reporting bugs136631 --Node: Future139435 --Node: Internals139926 --Node: Memory map141149 --Node: Embedded data142627 --Node: Filesystem interface144644 --Node: Command interface148077 --Node: Bootstrap tricks149392 --Node: I/O ports detection151541 --Node: Memory detection151813 --Node: Low-level disk I/O152105 --Node: MBR152374 --Node: Partition table152571 --Node: Submitting patches152844 --Node: Index154332 -+Node: Top1465 -+Node: Introduction3244 -+Node: Overview3621 -+Node: Overview-Footnotes5843 -+Ref: Overview-Footnote-15904 -+Node: History6065 -+Node: Features7186 -+Node: Features-Footnotes12954 -+Ref: Features-Footnote-113015 -+Node: Role of a boot loader13160 -+Node: Role of a boot loader-Footnotes14498 -+Ref: Role of a boot loader-Footnote-114585 -+Node: Naming convention14664 -+Node: Installation17599 -+Node: Creating a GRUB boot floppy19341 -+Node: Installing GRUB natively20159 -+Node: Installing GRUB natively-Footnotes22439 -+Ref: Installing GRUB natively-Footnote-122532 -+Node: Installing GRUB using grub-install22717 -+Node: Making a GRUB bootable CD-ROM25663 -+Node: Making a GRUB bootable CD-ROM-Footnotes27708 -+Ref: Making a GRUB bootable CD-ROM-Footnote-127811 -+Node: Booting27886 -+Node: General boot methods28341 -+Node: Loading an operating system directly29082 -+Node: Chain-loading30386 -+Node: Chain-loading-Footnotes31696 -+Ref: Chain-loading-Footnote-131767 -+Node: OS-specific notes31839 -+Node: GNU/Hurd32215 -+Node: GNU/Linux32834 -+Node: FreeBSD34082 -+Node: NetBSD34595 -+Node: OpenBSD35253 -+Node: DOS/Windows35453 -+Node: SCO UnixWare37279 -+Node: QNX37697 -+Node: Making your system robust37947 -+Node: Booting once-only39272 -+Node: Booting fallback systems41197 -+Node: Configuration44044 -+Node: Network48474 -+Node: General usage of network support48968 -+Node: General usage of network support-Footnotes50829 -+Ref: General usage of network support-Footnote-150938 -+Node: Diskless51006 -+Node: Serial terminal53190 -+Node: Preset Menu55423 -+Node: Security57791 -+Node: Images60599 -+Node: Filesystem63110 -+Node: Device syntax63793 -+Node: File name syntax65287 -+Node: Block list syntax66032 -+Node: Interface66765 -+Node: Command-line interface67642 -+Node: Command-line interface-Footnotes69583 -+Ref: Command-line interface-Footnote-169672 -+Node: Menu interface69767 -+Node: Menu entry editor70777 -+Node: Hidden menu interface71856 -+Node: Commands72433 -+Node: Menu-specific commands73010 -+Node: default74181 -+Node: fallback74659 -+Node: hiddenmenu75210 -+Node: timeout75698 -+Node: title75976 -+Node: General commands76247 -+Node: bootp77611 -+Node: color78090 -+Node: device79564 -+Node: dhcp80136 -+Node: hide80721 -+Node: ifconfig81098 -+Node: pager81674 -+Node: partnew82008 -+Node: parttype82444 -+Node: password82811 -+Node: rarp83630 -+Node: serial83931 -+Node: setkey85204 -+Node: splashimage87376 -+Node: terminal87754 -+Node: terminfo89296 -+Node: tftpserver89983 -+Node: unhide90529 -+Node: Command-line and menu entry commands90904 -+Node: blocklist93435 -+Node: boot93677 -+Node: cat93998 -+Node: chainloader94302 -+Node: cmp94918 -+Node: configfile95469 -+Node: debug95683 -+Node: displayapm96067 -+Node: displaymem96278 -+Node: embed96980 -+Node: embed-Footnotes97514 -+Ref: embed-Footnote-197569 -+Node: find97626 -+Node: fstest98006 -+Node: geometry98691 -+Node: halt99303 -+Node: help99630 -+Node: impsprobe100251 -+Node: initrd100650 -+Node: install100989 -+Node: install-Footnotes103833 -+Ref: install-Footnote-1103892 -+Node: ioprobe103989 -+Node: kernel104314 -+Node: lock105434 -+Node: makeactive106009 -+Node: map106321 -+Node: md5crypt106888 -+Node: module107235 -+Node: modulenounzip107812 -+Node: pause108105 -+Node: quit108519 -+Node: reboot108795 -+Node: read108976 -+Node: root109218 -+Node: rootnoverify110095 -+Node: savedefault110650 -+Node: setup111626 -+Node: testload112692 -+Node: testvbe113302 -+Node: uppermem113673 -+Node: vbeprobe114255 -+Node: Troubleshooting114638 -+Node: Stage1 errors115176 -+Node: Stage1.5 errors116553 -+Node: Stage2 errors116991 -+Node: Invoking the grub shell124451 -+Node: Basic usage125204 -+Node: Installation under UNIX127492 -+Node: Device map129167 -+Node: Invoking grub-install130315 -+Node: Invoking grub-md5-crypt131884 -+Node: Invoking grub-terminfo132533 -+Node: Invoking grub-set-default133299 -+Node: Invoking mbchk135100 -+Node: Obtaining and Building GRUB135614 -+Node: Reporting bugs137031 -+Node: Future139835 -+Node: Internals140326 -+Node: Memory map141549 -+Node: Embedded data143027 -+Node: Filesystem interface145044 -+Node: Command interface148477 -+Node: Bootstrap tricks149792 -+Node: I/O ports detection151941 -+Node: Memory detection152213 -+Node: Low-level disk I/O152505 -+Node: MBR152774 -+Node: Partition table152971 -+Node: Submitting patches153244 -+Node: Index154732 -  - End Tag Table -diff --git a/docs/grub.texi b/docs/grub.texi -index 51d330a..5fd324d 100644 ---- a/docs/grub.texi -+++ b/docs/grub.texi -@@ -21,6 +21,7 @@ - @dircategory Kernel - @direntry - * GRUB: (grub). The GRand Unified Bootloader -+* grub-crypt: (grub)Invoking grub-crypt. Encrypt a password - * grub-install: (grub)Invoking grub-install. Install GRUB on your drive - * grub-md5-crypt: (grub)Invoking grub-md5-crypt. Encrypt a password - in MD5 format -@@ -115,8 +116,9 @@ This edition documents version @value{VERSION}. - * Commands:: The list of available builtin commands - * Troubleshooting:: Error messages produced by GRUB - * Invoking the grub shell:: How to use the grub shell -+* Invoking grub-crypt:: How to generate an encrypted password - * Invoking grub-install:: How to use the GRUB installer --* Invoking grub-md5-crypt:: How to generate a cryptic password -+* Invoking grub-md5-crypt:: How to generate an MD5-encrypted password - * Invoking grub-terminfo:: How to generate a terminfo command - * Invoking grub-set-default:: How to set a default boot entry - * Invoking mbchk:: How to use the Multiboot checker -@@ -1265,7 +1267,7 @@ OS. There's a solution to that - GRUB provides a menu interface - keys) that will do everything to boot an OS. - - To enable the menu, you need a configuration file, --@file{menu.lst} under the boot directory. We'll analyze an example -+@file{grub.conf} under the boot directory. We'll analyze an example - file. - - The file first contains some general settings, the menu interface -@@ -1685,27 +1687,17 @@ run the command @command{password} in your configuration file - (@pxref{password}), like this: - - @example --password --md5 PASSWORD -+password --encrypted PASSWORD - @end example - - If this is specified, GRUB disallows any interactive control, until you - press the key @key{p} and enter a correct password. The option --@option{--md5} tells GRUB that @samp{PASSWORD} is in MD5 format. If it -+@option{--encrypted} tells GRUB that @samp{PASSWORD} is encrypted format. If it - is omitted, GRUB assumes the @samp{PASSWORD} is in clear text. - --You can encrypt your password with the command @command{md5crypt} --(@pxref{md5crypt}). For example, run the grub shell (@pxref{Invoking the --grub shell}), and enter your password: -- --@example --@group --grub> md5crypt --Password: ********** --Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb. --@end group --@end example -- --Then, cut and paste the encrypted password to your configuration file. -+You can encrypt your password with the program @command{grub-crypt} -+(@pxref{Invoking grub-crypt}). Then, cut and paste the encrypted password to -+your configuration file. - - Also, you can specify an optional argument to @command{password}. See - this example: -@@ -1882,8 +1874,8 @@ There are two ways to specify files, by @dfn{absolute file name} and by - - An absolute file name resembles a Unix absolute file name, using - @samp{/} for the directory separator (not @samp{\} as in DOS). One --example is @samp{(hd0,0)/boot/grub/menu.lst}. This means the file --@file{/boot/grub/menu.lst} in the first partition of the first hard -+example is @samp{(hd0,0)/boot/grub/grub.conf}. This means the file -+@file{/boot/grub/grub.conf} in the first partition of the first hard - disk. If you omit the device name in an absolute file name, GRUB uses - GRUB's @dfn{root device} implicitly. So if you set the root device to, - say, @samp{(hd1,0)} by the command @command{root} (@pxref{root}), then -@@ -2199,6 +2191,7 @@ Commands usable anywhere in the menu and in the command-line. - * rarp:: Initialize a network device via RARP - * serial:: Set up a serial device - * setkey:: Configure the key map -+* splashimage:: Use a splash image - * terminal:: Choose a terminal - * terminfo:: Define escape sequences for a terminal - * tftpserver:: Specify a TFTP server -@@ -2398,7 +2391,7 @@ is the new partition type and must be a number in the range 0-0xff. - @node password - @subsection password - --@deffn Command password [@option{--md5}] passwd [new-config-file] -+@deffn Command password [@option{--md5}] [@option{--encrypted}] passwd [new-config-file] - If used in the first section of a menu file, disable all interactive - editing control (menu entry editor and command-line) and entries - protected by the command @command{lock}. If the password @var{passwd} is -@@ -2408,7 +2401,9 @@ specified. Otherwise, GRUB will just unlock the privileged instructions. - You can also use this command in the script section, in which case it - will ask for the password, before continuing. The option - @option{--md5} tells GRUB that @var{passwd} is encrypted with --@command{md5crypt} (@pxref{md5crypt}). -+@command{md5crypt} (@pxref{md5crypt}), the option @option{--encrypted} -+tells GRUB that @var{passwd} is using one of the crypt formats (GRUB currently -+supports MD5, SHA-256 and SHA-512 encryption). - @end deffn - - -@@ -2578,6 +2573,16 @@ character each of the symbols corresponds: - @end deffn - - -+@node splashimage -+@subsection splashimage -+ -+@deffn Command splashimage file -+Select an image to use as the background image. This should be -+specified using normal GRUB device naming syntax. The format of the -+file is a gzipped xpm which is 640x480 with a 14 color palette. -+@end deffn -+ -+ - @node terminal - @subsection terminal - -@@ -3542,7 +3547,7 @@ ignores this option. - - @item --config-file=@var{file} - Read the configuration file @var{file} instead of --@file{/boot/grub/menu.lst}. The format is the same as the normal GRUB -+@file{/boot/grub/grub.conf}. The format is the same as the normal GRUB - syntax. See @ref{Filesystem}, for more information. - - @item --boot-drive=@var{drive} -@@ -3653,6 +3658,31 @@ comments in the file if needed, as the grub shell assumes that a line is - just a comment if the first character is @samp{#}. - - -+@node Invoking grub-crypt -+@chapter Invoking grub-crypt -+ -+The program @command{grub-crypt} encrypts a password in one of the specified -+formats. Passwords encrypted by this program can be used with the -+command @command{password} (@pxref{password}). -+ -+@command{grub-crypt} accepts the following options: -+ -+@table @option -+@item --help -+Print a summary of the command-line options and exit. -+ -+@item --version -+Print the version information and exit. -+ -+@item --md5 -+Use MD5 for password encryption. -+@item --sha-256 -+Use SHA-256 for password encryption. -+@item --sha-512 -+Use SHA-512 for password encryption. This is the default. -+@end table -+ -+ - @node Invoking grub-install - @chapter Invoking grub-install - -@@ -3702,8 +3732,9 @@ Use @var{file} as the grub shell. You can append arbitrary options to - - @item --recheck - Recheck the device map, even if @file{/boot/grub/device.map} already --exists. You should use this option whenever you add/remove a disk --into/from your computer. -+exists. -+ -+This option is unreliable and its use is strongly discouraged. - @end table - - -diff --git a/docs/stamp-vti b/docs/stamp-vti -index b97de24..eb5144d 100644 ---- a/docs/stamp-vti -+++ b/docs/stamp-vti -@@ -1,4 +1,4 @@ --@set UPDATED 8 May 2005 --@set UPDATED-MONTH May 2005 -+@set UPDATED 7 August 2007 -+@set UPDATED-MONTH August 2007 - @set EDITION 0.97 - @set VERSION 0.97 -diff --git a/docs/version.texi b/docs/version.texi -index b97de24..eb5144d 100644 ---- a/docs/version.texi -+++ b/docs/version.texi -@@ -1,4 +1,4 @@ --@set UPDATED 8 May 2005 --@set UPDATED-MONTH May 2005 -+@set UPDATED 7 August 2007 -+@set UPDATED-MONTH August 2007 - @set EDITION 0.97 - @set VERSION 0.97 -diff --git a/efi/.gitignore b/efi/.gitignore -new file mode 100644 -index 0000000..a0e4294 ---- /dev/null -+++ b/efi/.gitignore -@@ -0,0 +1,7 @@ -+.deps -+Makefile.in -+Makefile -+*.a -+*.o -+*.so -+*.efi -diff --git a/efi/Makefile.am b/efi/Makefile.am -new file mode 100644 -index 0000000..1d5bd15 ---- /dev/null -+++ b/efi/Makefile.am -@@ -0,0 +1,76 @@ -+ -+pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+ -+if PLATFORM_EFI -+ -+if NETBOOT_SUPPORT -+NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 -+else -+NETBOOT_FLAGS = -+endif -+ -+if SERIAL_SUPPORT -+SERIAL_FLAGS = -DSUPPORT_SERIAL=1 -+else -+SERIAL_FLAGS = -+endif -+ -+if HERCULES_SUPPORT -+HERCULES_FLAGS = -DSUPPORT_HERCULES=1 -+else -+HERCULES_FLAGS = -+endif -+ -+if GRAPHICS_SUPPORT -+GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 -+else -+GRAPHICS_FLAGS = -+endif -+ -+GRUBEFI_FORMAT = efi-app-$(EFI_ARCH) -+GRUBSO_LD_SCRIPT = @GNUEFI_LDS@ -+GRUBSO_LD_FLAGS = -T $(GRUBSO_LD_SCRIPT) -nostdlib -shared -Bsymbolic -+ -+GRUBSO_OBJS = efimain.o -+GRUBSO_LIBS = @GNUEFI_CRT0@ $(top_srcdir)/stage2/libstage2.a \ -+ libgrubefi.a @LIBGCC@ -+ -+if NETBOOT_SUPPORT -+GRUBSO_LIBS += $(top_srcdir)/netboot/libdrivers.a -+endif -+ -+pkgdata_DATA = grub.efi -+ -+grub.efi: grub.so -+ $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \ -+ -j .rela -j .reloc --target=$(GRUBEFI_FORMAT) $^ $@ -+ -+grub.so: $(GRUBSO_OBJS) $(GRUBSO_LIBS) @LIBGNUEFI@ -+ $(LD) -o $@ $(GRUBSO_LD_FLAGS) $^ -+ echo '-------------- unresolved symbols ---------------------' -+ ! nm $@ | grep -iw u -+ echo '-------------------------------------------------------' -+ -+crt0-efi.o: $(EFI_ARCH)/crt0-efi.S -+ $(CC) -o $@ -c $(libgrubefi_a_CFLAGS) $^ -+ -+efimain.o: efimain.c -+ $(CC) -o $@ -c $(libgrubefi_a_CFLAGS) $^ -+ -+clean-local: -+ -rm -rf grub.so grub.efi -+ -+RELOC_FLAGS = $(STAGE2_CFLAGS) -I$(top_srcdir)/stage1 \ -+ -I$(top_srcdir)/lib -I. -I$(top_srcdir) -I$(top_srcdir)/stage2 \ -+ -fno-builtin $(NETBOOT_FLAGS) $(SERIAL_FLAGS) \ -+ $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) -+ -+noinst_LIBRARIES = libgrubefi.a -+libgrubefi_a_SOURCES = $(EFI_ARCH)/callwrap.S eficore.c efimm.c efimisc.c \ -+ eficon.c efidisk.c graphics.c efigraph.c efiuga.c efidp.c \ -+ font_8x16.c efiserial.c $(EFI_ARCH)/loader/linux.c efichainloader.c \ -+ xpm.c pxe.c efitftp.c -+libgrubefi_a_CFLAGS = $(RELOC_FLAGS) -nostdinc -+ -+endif -diff --git a/efi/byteswap.h b/efi/byteswap.h -new file mode 100644 -index 0000000..5a057c4 ---- /dev/null -+++ b/efi/byteswap.h -@@ -0,0 +1,37 @@ -+#ifndef BYTESWAP_H -+#define BYTESWAP_H 1 -+ -+#if defined(__i386__) -+#define LITTLE_ENDIAN 1 -+#elif defined(__x86_64__) -+#define LITTLE_ENDIAN 1 -+#else -+#error endian not defined -+#endif -+ -+#define bswap_16(x) \ -+ ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)) -+ -+#define bswap_32(x) \ -+ ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \ -+ (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) -+ -+static inline grub_efi_uint16_t htons(grub_efi_uint16_t hostshort) -+{ -+#ifdef LITTLE_ENDIAN -+ return bswap_16(hostshort); -+#else -+ return hostshort; -+#endif -+} -+ -+static inline grub_efi_uint32_t htonl(grub_efi_uint32_t hostshort) -+{ -+#ifdef LITTLE_ENDIAN -+ return bswap_32(hostshort); -+#else -+ return hostshort; -+#endif -+} -+ -+#endif /* BYTESWAP_H */ -diff --git a/efi/dhcp.h b/efi/dhcp.h -new file mode 100644 -index 0000000..a82a522 ---- /dev/null -+++ b/efi/dhcp.h -@@ -0,0 +1,133 @@ -+#ifndef DHCP_H -+#define DHCP_H 1 -+ -+#include "pxe.h" -+ -+#define EFI_DHCP4_PROTOCOL_GUID \ -+{ 0x8a219718, 0x4ef5, 0x4761, {0x91,0xc8,0xc0,0xf0,0x4b,0xda,0x9e,0x56} } -+static grub_efi_guid_t DHCP4Protocol = EFI_DHCP4_PROTOCOL_GUID; -+ -+#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID \ -+{ 0x9d9a39d8, 0xbd42, 0x4a73, {0xa4,0xd5,0x8e,0xe9,0x4b,0xe1,0x13,0x80} } -+static grub_efi_guid_t DHCP4SbProtocol = EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID; -+ -+#define EFI_PXE_DHCP4_PROTOCOL_GUID \ -+{ 0x03c4e624, 0xac28, 0x11d3, {0x9a,0x2d,0x00,0x90,0x29,0x3f,0xc1,0x4d} } -+static grub_efi_guid_t PxeDHCP4Protocol = EFI_PXE_DHCP4_PROTOCOL_GUID; -+ -+ -+typedef EFI_STATUS (*EFI_DHCP4_GET_MODE_DATA)(); -+typedef EFI_STATUS (*EFI_DHCP4_CONFIGURE)(); -+typedef EFI_STATUS (*EFI_DHCP4_START)(); -+typedef EFI_STATUS (*EFI_DHCP4_RENEW_REBIND)(); -+typedef EFI_STATUS (*EFI_DHCP4_RELEASE)(); -+typedef EFI_STATUS (*EFI_DHCP4_STOP)(); -+typedef EFI_STATUS (*EFI_DHCP4_BUILD)(); -+typedef EFI_STATUS (*EFI_DHCP4_TRANSMIT_RECIEVE)(); -+typedef EFI_STATUS (*EFI_DHCP4_PARSE)(); -+ -+typedef struct _EFI_DHCP4_PROTOCOL { -+ EFI_DHCP4_GET_MODE_DATA GetModeData; -+ EFI_DHCP4_CONFIGURE Configure; -+ EFI_DHCP4_START Start; -+ EFI_DHCP4_RENEW_REBIND RenewRebind; -+ EFI_DHCP4_RELEASE Release; -+ EFI_DHCP4_STOP Stop; -+ EFI_DHCP4_BUILD Build; -+ EFI_DHCP4_TRANSMIT_RECIEVE TransmitReceive; -+ EFI_DHCP4_PARSE Parse; -+} EFI_DHCP4_PROTOCOL; -+ -+typedef enum { -+ Dhcp4Stopped, -+ Dhcp4Init, -+ Dhcp4Selecting, -+ Dhcp4Requesting, -+ Dhcp4Bound, -+ Dhcp4Renewing, -+ Dhcp4Rebinding, -+ Dhcp4InitReboot, -+ Dhcp4Rebooting, -+} EFI_DHCP4_STATE; -+ -+typedef enum { -+ Dhcp4SendDiscover = 0x1, -+ Dhcp4RcvdOffer, -+ Dhcp4SelectOffer, -+ Dhcp4SendRequest, -+ Dhcp4RcvdAck, -+ Dhcp4RcvdNak, -+ Dhcp4SendDecline, -+ Dhcp4BoundCompleted, -+ Dhcp4EnterRenewing, -+ Dhcp4EnterRebinding, -+ Dhcp4AddressLost, -+ Dhcp4Fail, -+} EFI_DHCP4_EVENT; -+ -+typedef struct { -+ grub_efi_uint8_t OpCode; -+ grub_efi_uint8_t HwType; -+ grub_efi_uint8_t HwAddrLen; -+ grub_efi_uint8_t Hops; -+ grub_efi_uint32_t xid; -+ grub_efi_uint16_t Seconds; -+ grub_efi_uint16_t reserved; -+ EFI_IPv4_ADDRESS ClientAddr; -+ EFI_IPv4_ADDRESS YourAddr; -+ EFI_IPv4_ADDRESS ServerAddr; -+ EFI_IPv4_ADDRESS GatewayAddr; -+ grub_efi_uint8_t ClientHwAddr[16]; -+ char ServerName[64]; -+ char BootFileName[128]; -+} EFI_DHCP4_HEADER; -+ -+typedef struct { -+ grub_efi_uint32_t Size; -+ grub_efi_uint32_t Length; -+ struct { -+ EFI_DHCP4_HEADER Header; -+ grub_efi_uint32_t Magik; -+ grub_efi_uint8_t option[]; -+ } Dhcp4; -+} EFI_DHCP4_PACKET; -+ -+typedef struct { -+ grub_efi_uint8_t OpCode; -+ grub_efi_uint8_t Length; -+ grub_efi_uint8_t Data[1]; -+} EFI_DHCP4_PACKET_OPTION; -+ -+typedef EFI_STATUS (*EFI_DHCP4_CALLBACK) ( -+ EFI_DHCP4_PROTOCOL *This, -+ void *Context, -+ EFI_DHCP4_STATE CurrentState, -+ EFI_DHCP4_EVENT Dhcp4Event, -+ EFI_DHCP4_PACKET *Packet, -+ EFI_DHCP4_PACKET **NewPacket); -+ -+typedef struct { -+ grub_efi_uint32_t DiscoverTryCount; -+ grub_efi_uint32_t *DiscoverTimeout; -+ grub_efi_uint32_t RequestTryCount; -+ grub_efi_uint32_t *RequestTimeout; -+ EFI_IPv4_ADDRESS ClientAddress; -+ EFI_DHCP4_CALLBACK Dhcp4Callback; -+ void *CallbackContext; -+ grub_efi_uint32_t OptionCount; -+ EFI_DHCP4_PACKET_OPTION **OptionList; -+} EFI_DHCP4_CONFIG_DATA; -+ -+typedef struct { -+ EFI_DHCP4_STATE State; -+ EFI_DHCP4_CONFIG_DATA ConfigData; -+ EFI_IPv4_ADDRESS ClientAddress; -+ EFI_MAC_ADDRESS ClientMacAddress; -+ EFI_IPv4_ADDRESS ServerAddress; -+ EFI_IPv4_ADDRESS RouterAddress; -+ EFI_IPv4_ADDRESS SubnetMask; -+ grub_efi_uint32_t LeaseTime; -+ EFI_DHCP4_PACKET *ReplyPacket; -+} EFI_DHCP4_MODE_DATA; -+ -+#endif /* DHCP_H */ -diff --git a/efi/efichainloader.c b/efi/efichainloader.c -new file mode 100644 -index 0000000..016636c ---- /dev/null -+++ b/efi/efichainloader.c -@@ -0,0 +1,265 @@ -+/* efichainloader.c - boot another boot loader */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2004,2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#define grub_file_size() filemax -+ -+static grub_efi_physical_address_t address; -+static grub_efi_uintn_t pages; -+static grub_efi_device_path_t *file_path; -+static grub_efi_handle_t image_handle; -+ -+static int -+grub_chainloader_unload (void) -+{ -+ grub_efi_boot_services_t *b; -+ -+ b = grub_efi_system_table->boot_services; -+ Call_Service_1 (b->unload_image, image_handle); -+ Call_Service_2 (b->free_pages, address, pages); -+ grub_free (file_path); -+ -+ return 0; -+} -+ -+static int -+grub_chainloader_boot (void) -+{ -+ grub_efi_boot_services_t *b; -+ grub_efi_status_t status; -+ grub_efi_uintn_t exit_data_size = 0; -+ grub_efi_char16_t *exit_data = NULL; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_3 (b->start_image, image_handle, -+ &exit_data_size, &exit_data); -+ if (status != GRUB_EFI_SUCCESS) -+ { -+ if (exit_data) -+ { -+ char *buf; -+ -+ buf = grub_malloc (exit_data_size * 4 + 1); -+ if (buf) -+ { -+ *grub_utf16_to_utf8 ((grub_uint8_t *) buf, -+ exit_data, exit_data_size) = 0; -+ -+ grub_printf (buf); -+ grub_free (buf); -+ } -+ else -+ grub_printf ("unknown error\n"); -+ } -+ errnum = ERR_UNRECOGNIZED; -+ } -+ -+ if (exit_data) -+ Call_Service_1 (b->free_pool, exit_data); -+ -+ grub_chainloader_unload (); -+ -+ return 0; -+} -+ -+static void -+copy_file_path (grub_efi_file_path_device_path_t *fp, -+ const char *str, grub_efi_uint16_t len) -+{ -+ grub_efi_char16_t *p; -+ grub_efi_uint16_t size; -+ -+ fp->header.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE; -+ fp->header.subtype = GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE; -+ size = len * sizeof (grub_efi_char16_t) + sizeof (*fp); -+ fp->header.length[0] = (grub_efi_uint8_t) (size & 0xff); -+ fp->header.length[1] = (grub_efi_uint8_t) (size >> 8); -+ for (p = fp->path_name; len > 0; len--, p++, str++) -+ { -+ *p = (grub_efi_char16_t) (*str == '/' ? '\\' : *str); -+ } -+} -+ -+static grub_efi_device_path_t * -+make_file_path (const char *filename) -+{ -+ char *dir_start; -+ char *dir_end; -+ grub_size_t size; -+ grub_efi_device_path_t *d; -+ -+ dir_start = grub_strchr (filename, ')'); -+ if (! dir_start) -+ dir_start = (char *) filename; -+ else -+ dir_start++; -+ -+ dir_end = grub_strrchr (dir_start, '/'); -+ if (! dir_end) -+ { -+ errnum = ERR_BAD_FILENAME; -+ grub_printf ("invalid EFI file path"); -+ return 0; -+ } -+ -+ size = 0; -+ file_path = grub_malloc ((grub_strlen (dir_start) + 1) -+ * sizeof (grub_efi_char16_t) -+ + sizeof (grub_efi_file_path_device_path_t) * 2); -+ if (! file_path) -+ return 0; -+ -+ /* Fill the file path for the directory. */ -+ d = (grub_efi_device_path_t *) file_path; -+ -+ if (dir_end - dir_start) -+ { -+ copy_file_path ((grub_efi_file_path_device_path_t *) d, -+ dir_start, dir_end - dir_start); -+ d = GRUB_EFI_NEXT_DEVICE_PATH (d); -+ /* Fill the file path for the file. */ -+ copy_file_path ((grub_efi_file_path_device_path_t *) d, -+ dir_end + 1, grub_strlen (dir_end + 1)); -+ } -+ else -+ { -+ /* Fill the file path for the file. */ -+ copy_file_path ((grub_efi_file_path_device_path_t *) d, -+ dir_end, grub_strlen (dir_end)); -+ } -+ -+ /* Fill the end of device path nodes. */ -+ d = GRUB_EFI_NEXT_DEVICE_PATH (d); -+ d->type = GRUB_EFI_END_DEVICE_PATH_TYPE; -+ d->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; -+ d->length[0] = sizeof (*d); -+ d->length[1] = 0; -+ -+ return file_path; -+} -+ -+int -+grub_chainloader (char *filename) -+{ -+ grub_ssize_t size; -+ grub_efi_status_t status; -+ grub_efi_boot_services_t *b; -+ grub_efi_handle_t dev_handle = 0; -+ grub_efi_loaded_image_t *loaded_image; -+ -+ /* Initialize some global variables. */ -+ address = 0xffffffff; -+ image_handle = 0; -+ -+ b = grub_efi_system_table->boot_services; -+ -+ if (! grub_open (filename)) -+ goto fail1; -+ -+ dev_handle = grub_efidisk_get_current_bdev_handle (); -+ if (! dev_handle) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("not a valid root device\n"); -+ goto fail; -+ } -+ -+ file_path = make_file_path (filename); -+ if (! file_path) -+ goto fail; -+ -+ grub_printf ("file path: "); -+ grub_efi_print_device_path (file_path); -+ -+ size = grub_file_size (); -+ pages = (((grub_efi_uintn_t) size + ((1 << 12) - 1)) >> 12); -+ -+ status = Call_Service_4 (b->allocate_pages, GRUB_EFI_ALLOCATE_ANY_PAGES, -+ GRUB_EFI_LOADER_CODE, pages, &address); -+ if (status != GRUB_EFI_SUCCESS) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("cannot allocate %u pages", pages); -+ goto fail; -+ } -+ -+ if (grub_read ((void *) ((grub_addr_t) address), size) != size) -+ { -+ if (errnum == ERR_NONE) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("too small"); -+ } -+ goto fail; -+ } -+ -+ status = Call_Service_6 (b->load_image, 0, grub_efi_image_handle, file_path, -+ (void *) ((grub_addr_t) address), size, -+ &image_handle); -+ if (status != GRUB_EFI_SUCCESS) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ if (status == GRUB_EFI_OUT_OF_RESOURCES) -+ grub_printf ("out of resources"); -+ else -+ grub_printf ("cannot load image"); -+ -+ goto fail; -+ } -+ -+ /* LoadImage does not set a device handler when the image is -+ loaded from memory, so it is necessary to set it explicitly here. -+ This is a mess. */ -+ loaded_image = grub_efi_get_loaded_image (image_handle); -+ if (! loaded_image) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("no loaded image available"); -+ goto fail; -+ } -+ loaded_image->device_handle = dev_handle; -+ -+ grub_close (); -+ return KERNEL_TYPE_CHAINLOADER; -+ -+ fail: -+ grub_close (); -+ fail1: -+ if (address) -+ b->free_pages (address, pages); -+ -+ return KERNEL_TYPE_NONE; -+} -+ -+/* calls for direct boot-loader chaining */ -+void -+chain_stage1 (unsigned long segment, unsigned long offset, -+ unsigned long part_table_addr) -+{ -+ grub_chainloader_boot (); -+ for (;;); -+} -diff --git a/efi/eficon.c b/efi/eficon.c -new file mode 100644 -index 0000000..037f050 ---- /dev/null -+++ b/efi/eficon.c -@@ -0,0 +1,306 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+static int -+grub_console_standard_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_YELLOW, -+ GRUB_EFI_BACKGROUND_BLACK); -+static int -+grub_console_normal_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_LIGHTGRAY, -+ GRUB_EFI_BACKGROUND_BLACK); -+static int -+grub_console_highlight_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_BLACK, -+ GRUB_EFI_BACKGROUND_LIGHTGRAY); -+ -+static int read_key = -1; -+ -+void -+console_putchar (int c) -+{ -+ grub_efi_char16_t str[2]; -+ grub_efi_simple_text_output_interface_t *o; -+ -+ o = grub_efi_system_table->con_out; -+ -+ switch (c) -+ { -+ case DISP_LEFT: -+ c = '<'; -+ break; -+ -+ case DISP_UP: -+ c = '^'; -+ break; -+ -+ case DISP_RIGHT: -+ c = '>'; -+ break; -+ -+ case DISP_DOWN: -+ c = 'v'; -+ break; -+ -+ case DISP_HORIZ: -+ c = '-'; -+ break; -+ -+ case DISP_VERT: -+ c = '|'; -+ break; -+ -+ case DISP_UL: -+ case DISP_UR: -+ case DISP_LL: -+ case DISP_LR: -+ c = '+'; -+ break; -+ } -+ -+ /* For now, do not try to use a surrogate pair. */ -+ if (c > 0xffff) -+ c = '?'; -+ -+ str[0] = (grub_efi_char16_t) (c & 0xffff); -+ str[1] = 0; -+ -+ /* Should this test be cached? */ -+ if (c > 0x7f && Call_Service_2 (o->test_string, o, str) != GRUB_EFI_SUCCESS) -+ return; -+ -+ Call_Service_2 (o->output_string, o, str); -+} -+ -+int -+console_checkkey (void) -+{ -+ grub_efi_simple_input_interface_t *i; -+ grub_efi_input_key_t key; -+ grub_efi_status_t status; -+ -+ if (read_key >= 0) -+ return 1; -+ -+ i = grub_efi_system_table->con_in; -+ status = Call_Service_2 (i->read_key_stroke ,i, &key); -+#if 0 -+ switch (status) -+ { -+ case GRUB_EFI_SUCCESS: -+ { -+ int xy; -+ -+ xy = console_getxy (); -+ console_gotoxy (0, 0); -+ grub_printf ("scan_code=%x,unicode_char=%x ", -+ (unsigned) key.scan_code, -+ (unsigned) key.unicode_char); -+ console_gotoxy (xy >> 8, xy & 0xff); -+ } -+ break; -+ -+ case GRUB_EFI_NOT_READY: -+ grub_printf ("not ready "); -+ break; -+ -+ default: -+ grub_printf ("device error "); -+ break; -+ } -+#endif -+ -+ if (status == GRUB_EFI_SUCCESS) -+ { -+ switch (key.scan_code) -+ { -+ case 0x00: -+ read_key = key.unicode_char; -+ break; -+ case 0x01: -+ read_key = 16; -+ break; -+ case 0x02: -+ read_key = 14; -+ break; -+ case 0x03: -+ read_key = 6; -+ break; -+ case 0x04: -+ read_key = 2; -+ break; -+ case 0x05: -+ read_key = 1; -+ break; -+ case 0x06: -+ read_key = 5; -+ break; -+ case 0x07: -+ break; -+ case 0x08: -+ read_key = 4; -+ break; -+ case 0x09: -+ break; -+ case 0x0a: -+ break; -+ case 0x17: -+ read_key = '\e'; -+ break; -+ default: -+ break; -+ } -+ } -+ -+ return read_key; -+} -+ -+int -+console_getkey (void) -+{ -+ grub_efi_simple_input_interface_t *i; -+ grub_efi_boot_services_t *b; -+ grub_efi_uintn_t index; -+ grub_efi_status_t status; -+ int key; -+ -+ if (read_key >= 0) -+ { -+ key = read_key; -+ read_key = -1; -+ return key; -+ } -+ -+ i = grub_efi_system_table->con_in; -+ b = grub_efi_system_table->boot_services; -+ -+ do -+ { -+ status = Call_Service_3 (b->wait_for_event , 1, &(i->wait_for_key), &index); -+ if (status != GRUB_EFI_SUCCESS) -+ return -1; -+ -+ console_checkkey (); -+ } -+ while (read_key < 0); -+ -+ key = read_key; -+ read_key = -1; -+ return key; -+} -+ -+int -+console_keystatus (void) -+{ -+ /* Doesn't look like EFI can support this... */ -+ return 0; -+} -+ -+int -+console_getxy (void) -+{ -+ grub_efi_simple_text_output_interface_t *o; -+ -+ o = grub_efi_system_table->con_out; -+ return ((o->mode->cursor_column << 8) | o->mode->cursor_row); -+} -+ -+void -+console_gotoxy (int x, int y) -+{ -+ grub_efi_simple_text_output_interface_t *o; -+ -+ o = grub_efi_system_table->con_out; -+ Call_Service_3 (o->set_cursor_position , o, x, y); -+} -+ -+void -+console_cls (void) -+{ -+ grub_efi_simple_text_output_interface_t *o; -+ grub_efi_int32_t orig_attr; -+ -+ o = grub_efi_system_table->con_out; -+ orig_attr = o->mode->attribute; -+ Call_Service_2 (o->set_attributes, o, GRUB_EFI_BACKGROUND_BLACK); -+ Call_Service_1 (o->clear_screen , o); -+ Call_Service_2 (o->set_attributes , o, orig_attr); -+} -+ -+void -+console_setcolorstate (color_state state) -+{ -+ grub_efi_simple_text_output_interface_t *o; -+ -+ o = grub_efi_system_table->con_out; -+ -+ switch (state) { -+ case COLOR_STATE_STANDARD: -+ Call_Service_2 (o->set_attributes, o, grub_console_standard_color); -+ break; -+ case COLOR_STATE_NORMAL: -+ Call_Service_2 (o->set_attributes, o, grub_console_normal_color); -+ break; -+ case COLOR_STATE_HIGHLIGHT: -+ Call_Service_2 (o->set_attributes, o, grub_console_highlight_color); -+ break; -+ default: -+ break; -+ } -+} -+ -+void -+console_setcolor (int normal_color, int highlight_color) -+{ -+ grub_console_normal_color = normal_color; -+ grub_console_highlight_color = highlight_color; -+} -+ -+int -+console_setcursor (int on) -+{ -+ grub_efi_simple_text_output_interface_t *o; -+ -+ o = grub_efi_system_table->con_out; -+ Call_Service_2 (o->enable_cursor, o, on); -+ return on; -+} -+ -+void -+grub_console_init (void) -+{ -+ /* FIXME: it is necessary to consider the case where no console control -+ is present but the default is already in text mode. */ -+ if (! grub_efi_set_text_mode (1)) -+ { -+ grub_printf ("cannot set text mode"); -+ return; -+ } -+} -+ -+void -+grub_console_fini (void) -+{ -+} -diff --git a/efi/eficore.c b/efi/eficore.c -new file mode 100644 -index 0000000..8abea7d ---- /dev/null -+++ b/efi/eficore.c -@@ -0,0 +1,241 @@ -+/* eficore.c - generic EFI support */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+/* The handle of GRUB itself. Filled in by the startup code. */ -+grub_efi_handle_t grub_efi_image_handle; -+ -+/* The pointer to a system table. Filled in by the startup code. */ -+grub_efi_system_table_t *grub_efi_system_table; -+ -+static grub_efi_guid_t console_control_guid = GRUB_EFI_CONSOLE_CONTROL_GUID; -+static grub_efi_guid_t loaded_image_guid = GRUB_EFI_LOADED_IMAGE_GUID; -+static grub_efi_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID; -+ -+/* temporary, until we're using gnu-efi's include files --pjones */ -+extern int setjmp(grub_jmp_buf env); -+int grub_setjmp(grub_jmp_buf env) -+{ -+ return setjmp(env); -+} -+ -+extern void longjmp(grub_jmp_buf env, int val); -+void grub_longjmp(grub_jmp_buf env, int val) -+{ -+ longjmp(env, val); -+} -+ -+grub_efi_status_t -+grub_efi_locate_device_path (grub_efi_guid_t *protocol, -+ grub_efi_device_path_t **dp, -+ grub_efi_handle_t *handle) -+{ -+ return Call_Service_3( -+ grub_efi_system_table->boot_services->locate_device_path, -+ protocol, dp, handle); -+} -+ -+grub_efi_status_t -+grub_efi_locate_handle_buffer (grub_efi_locate_search_type_t search_type, -+ grub_efi_guid_t *protocol, -+ void *search_key, -+ grub_efi_uintn_t *no_handles, -+ grub_efi_handle_t **buffer) -+{ -+ return Call_Service_5( -+ grub_efi_system_table->boot_services->locate_handle_buffer, -+ search_type, protocol, search_key, no_handles, buffer); -+} -+ -+void * -+grub_efi_locate_protocol (grub_efi_guid_t *protocol, void *registration) -+{ -+ void *interface; -+ grub_efi_status_t status; -+ -+ status = Call_Service_3 (grub_efi_system_table->boot_services->locate_protocol, -+ protocol, -+ registration, -+ &interface); -+ if (status != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ return interface; -+} -+ -+/* Return the array of handles which meet the requirement. If successful, -+ the number of handles is stored in NUM_HANDLES. The array is allocated -+ from the heap. */ -+grub_efi_handle_t * -+grub_efi_locate_handle (grub_efi_locate_search_type_t search_type, -+ grub_efi_guid_t *protocol, -+ void *search_key, -+ grub_efi_uintn_t *num_handles) -+{ -+ grub_efi_boot_services_t *b; -+ grub_efi_status_t status; -+ grub_efi_handle_t *buffer; -+ grub_efi_uintn_t buffer_size = 8 * sizeof (grub_efi_handle_t); -+ -+ buffer = grub_malloc (buffer_size); -+ if (! buffer) -+ return 0; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_5 (b->locate_handle, search_type, protocol, -+ search_key, &buffer_size, buffer); -+ if (status == GRUB_EFI_BUFFER_TOO_SMALL) -+ { -+ grub_free (buffer); -+ buffer = grub_malloc (buffer_size); -+ if (! buffer) -+ return 0; -+ -+ status = Call_Service_5 (b->locate_handle, search_type, protocol, -+ search_key, &buffer_size, buffer); -+ } -+ -+ if (status != GRUB_EFI_SUCCESS) -+ { -+ grub_free (buffer); -+ return 0; -+ } -+ -+ *num_handles = buffer_size / sizeof (grub_efi_handle_t); -+ return buffer; -+} -+ -+void * -+grub_efi_open_protocol (grub_efi_handle_t handle, -+ grub_efi_guid_t *protocol, -+ grub_efi_uint32_t attributes) -+{ -+ grub_efi_boot_services_t *b; -+ grub_efi_status_t status; -+ void *interface; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_6 ( b->open_protocol, -+ handle, -+ protocol, -+ &interface, -+ grub_efi_image_handle, -+ 0, -+ attributes); -+ if (status != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ return interface; -+} -+ -+int -+grub_efi_set_text_mode (int on) -+{ -+ grub_efi_console_control_protocol_t *c; -+ grub_efi_screen_mode_t mode, new_mode; -+ -+ c = grub_efi_locate_protocol (&console_control_guid, 0); -+ if (! c) -+ /* No console control protocol instance available, assume it is -+ already in text mode. */ -+ return 1; -+ -+ if (Call_Service_4 (c->get_mode , c, &mode, 0, 0) != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ new_mode = on ? GRUB_EFI_SCREEN_TEXT : GRUB_EFI_SCREEN_GRAPHICS; -+ if (mode != new_mode) -+ if (Call_Service_2 (c->set_mode , c, new_mode) != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ return 1; -+} -+ -+void -+grub_efi_stall (grub_efi_uintn_t microseconds) -+{ -+ Call_Service_1 (grub_efi_system_table->boot_services->stall , microseconds); -+} -+ -+grub_efi_loaded_image_t * -+grub_efi_get_loaded_image (grub_efi_handle_t image_handle) -+{ -+ return grub_efi_open_protocol (image_handle, -+ &loaded_image_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+} -+ -+void -+grub_exit (void) -+{ -+ grub_efi_fini (); -+ Call_Service_4(grub_efi_system_table->boot_services->exit, -+ grub_efi_image_handle, -+ GRUB_EFI_SUCCESS, -+ 0, -+ 0 ); -+ for (;;); -+} -+ -+int -+grub_efi_exit_boot_services (grub_efi_uintn_t map_key) -+{ -+ grub_efi_boot_services_t *b; -+ grub_efi_status_t status; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_2 (b->exit_boot_services , -+ grub_efi_image_handle, -+ map_key); -+ return status == GRUB_EFI_SUCCESS; -+} -+ -+grub_uint32_t -+grub_get_rtc (void) -+{ -+ grub_efi_time_t time; -+ grub_efi_runtime_services_t *r; -+ -+ r = grub_efi_system_table->runtime_services; -+ if (Call_Service_2(r->get_time , &time, 0) != GRUB_EFI_SUCCESS) -+ /* What is possible in this case? */ -+ return 0; -+ -+ return (((time.minute * 60 + time.second) * 1000 -+ + time.nanosecond / 1000000) -+ * GRUB_TICKS_PER_SECOND / 1000); -+} -+ -+grub_efi_device_path_t * -+grub_efi_get_device_path (grub_efi_handle_t handle) -+{ -+ return grub_efi_open_protocol (handle, &device_path_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+} -+ -diff --git a/efi/efidisk.c b/efi/efidisk.c -new file mode 100644 -index 0000000..2192021 ---- /dev/null -+++ b/efi/efidisk.c -@@ -0,0 +1,785 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+struct grub_efidisk_data -+{ -+ grub_efi_handle_t handle; -+ grub_efi_device_path_t *device_path; -+ grub_efi_device_path_t *last_device_path; -+ grub_efi_block_io_t *block_io; -+ grub_efi_disk_io_t *disk_io; -+ struct grub_efidisk_data *next; -+}; -+ -+/* GUIDs. */ -+static grub_efi_guid_t disk_io_guid = GRUB_EFI_DISK_IO_GUID; -+static grub_efi_guid_t block_io_guid = GRUB_EFI_BLOCK_IO_GUID; -+static grub_efi_guid_t device_path_from_text_guid = GRUB_EFI_DEVICE_PATH_FROM_TEXT_GUID; -+ -+static struct grub_efidisk_data *fd_devices; -+static struct grub_efidisk_data *hd_devices; -+static struct grub_efidisk_data *cd_devices; -+ -+static int get_device_sector_bits(struct grub_efidisk_data *device); -+static int get_device_sector_size(struct grub_efidisk_data *device); -+static struct grub_efidisk_data *get_device_from_drive (int drive); -+ -+static struct grub_efidisk_data * -+make_devices (void) -+{ -+ grub_efi_uintn_t num_handles; -+ grub_efi_handle_t *handles; -+ grub_efi_handle_t *handle; -+ struct grub_efidisk_data *devices = 0; -+ -+ /* Find handles which support the disk io interface. */ -+ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, &disk_io_guid, -+ 0, &num_handles); -+ if (! handles) -+ return 0; -+ -+ /* Make a linked list of devices. */ -+ for (handle = handles; num_handles--; handle++) -+ { -+ grub_efi_device_path_t *dp; -+ grub_efi_device_path_t *ldp; -+ struct grub_efidisk_data *d; -+ grub_efi_block_io_t *bio; -+ grub_efi_disk_io_t *dio; -+ -+ dp = grub_efi_get_device_path (*handle); -+ if (! dp) -+ continue; -+ -+ ldp = find_last_device_path (dp); -+ if (! ldp) -+ /* This is empty. Why? */ -+ continue; -+ -+ bio = grub_efi_open_protocol (*handle, &block_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ dio = grub_efi_open_protocol (*handle, &disk_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ if (! bio || ! dio) -+ /* This should not happen... Why? */ -+ continue; -+ -+ d = grub_malloc (sizeof (*d)); -+ if (! d) -+ { -+ /* Uggh. */ -+ grub_free (handles); -+ return 0; -+ } -+ -+ d->handle = *handle; -+ d->device_path = dp; -+ d->last_device_path = ldp; -+ d->block_io = bio; -+ d->disk_io = dio; -+ d->next = devices; -+ devices = d; -+ } -+ -+ grub_free (handles); -+ -+ return devices; -+} -+ -+static int -+iterate_child_devices (struct grub_efidisk_data *devices, -+ struct grub_efidisk_data *d, -+ int (*hook) (struct grub_efidisk_data *child)) -+{ -+ struct grub_efidisk_data *p; -+ -+ for (p = devices; p; p = p->next) -+ { -+ grub_efi_device_path_t *dp, *ldp; -+ -+ dp = duplicate_device_path (p->device_path); -+ if (! dp) -+ return 0; -+ -+ ldp = find_last_device_path (dp); -+ ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE; -+ ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; -+ ldp->length[0] = sizeof (*ldp); -+ ldp->length[1] = 0; -+ -+ if (compare_device_paths (dp, d->device_path) == 0) -+ if (hook (p)) -+ { -+ grub_free (dp); -+ return 1; -+ } -+ -+ grub_free (dp); -+ } -+ -+ return 0; -+} -+ -+/* Add a device into a list of devices in an ascending order. */ -+static void -+add_device (struct grub_efidisk_data **devices, struct grub_efidisk_data *d) -+{ -+ struct grub_efidisk_data **p; -+ struct grub_efidisk_data *n; -+ -+ for (p = devices; *p; p = &((*p)->next)) -+ { -+ int ret; -+ -+ ret = compare_device_paths (find_last_device_path ((*p)->device_path), -+ find_last_device_path (d->device_path)); -+ if (ret == 0) -+ ret = compare_device_paths ((*p)->device_path, -+ d->device_path); -+ if (ret == 0) -+ return; -+ else if (ret > 0) -+ break; -+ } -+ -+ n = grub_malloc (sizeof (*n)); -+ if (! n) -+ return; -+ -+ grub_memcpy (n, d, sizeof (*n)); -+ n->next = (*p); -+ (*p) = n; -+} -+ -+/* Name the devices. */ -+static void -+name_devices (struct grub_efidisk_data *devices) -+{ -+ struct grub_efidisk_data *d; -+ -+ /* Let's see what can be added more. */ -+ for (d = devices; d; d = d->next) -+ { -+ grub_efi_device_path_t *dp; -+ grub_efi_block_io_media_t *m; -+ -+ dp = d->last_device_path; -+ if (! dp) -+ continue; -+ -+ m = d->block_io->media; -+ if (GRUB_EFI_DEVICE_PATH_TYPE(dp) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE) -+ { -+ /* XXX FIXME this won't work if we see write-protected disks with -+ * 4k sectors */ -+ if (m->read_only && m->block_size > 0x200) -+ { -+ add_device (&cd_devices, d); -+ } else -+ { -+ add_device (&hd_devices, d); -+ } -+ } -+ if (GRUB_EFI_DEVICE_PATH_TYPE(dp) == GRUB_EFI_ACPI_DEVICE_PATH_TYPE) -+ { -+ add_device (&fd_devices, d); -+ } -+ } -+} -+ -+static void -+free_devices (struct grub_efidisk_data *devices) -+{ -+ struct grub_efidisk_data *p, *q; -+ -+ for (p = devices; p; p = q) -+ { -+ q = p->next; -+ grub_free (p); -+ } -+} -+ -+/* Enumerate all disks to name devices. */ -+static void -+enumerate_disks (void) -+{ -+ struct grub_efidisk_data *devices; -+ -+ devices = make_devices (); -+ if (! devices) -+ return; -+ -+ name_devices (devices); -+ free_devices (devices); -+} -+ -+static struct grub_efidisk_data * -+get_device (struct grub_efidisk_data *devices, int num) -+{ -+ struct grub_efidisk_data *d; -+ -+ for (d = devices; d && num; d = d->next, num--) -+ ; -+ -+ if (num == 0) -+ return d; -+ -+ return 0; -+} -+ -+static int -+grub_efidisk_read (struct grub_efidisk_data *d, grub_disk_addr_t sector, -+ grub_size_t size, char *buf) -+{ -+ /* For now, use the disk io interface rather than the block io's. */ -+ grub_efi_disk_io_t *dio; -+ grub_efi_block_io_t *bio; -+ grub_efi_status_t status; -+ grub_efi_uint64_t sector_size = get_device_sector_size(d); -+ -+ dio = d->disk_io; -+ bio = d->block_io; -+ -+ status = Call_Service_5 (dio->read, -+ dio, bio->media->media_id, -+ sector * sector_size, -+ size * sector_size, -+ buf); -+ if (status != GRUB_EFI_SUCCESS) -+ return -1; -+ -+ return 0; -+} -+ -+static int -+grub_efidisk_write (struct grub_efidisk_data *d, grub_disk_addr_t sector, -+ grub_size_t size, const char *buf) -+{ -+ /* For now, use the disk io interface rather than the block io's. */ -+ grub_efi_disk_io_t *dio; -+ grub_efi_block_io_t *bio; -+ grub_efi_status_t status; -+ grub_efi_uint64_t sector_size = get_device_sector_size(d); -+ -+ dio = d->disk_io; -+ bio = d->block_io; -+ -+ grub_dprintf ("efidisk", -+ "writing 0x%x sectors at the sector 0x%x to ??\n", -+ (unsigned) size, (unsigned int) sector); -+ -+ status = Call_Service_5 (dio->write , -+ dio, bio->media->media_id, -+ sector * sector_size, -+ size * sector_size, -+ (void *) buf); -+ if (status != GRUB_EFI_SUCCESS) -+ return -1; -+ -+ return 0; -+} -+ -+void -+grub_efidisk_init (void) -+{ -+ enumerate_disks (); -+} -+ -+void -+grub_efidisk_fini (void) -+{ -+ free_devices (fd_devices); -+ free_devices (hd_devices); -+ free_devices (cd_devices); -+} -+ -+static int -+get_device_sector_size(struct grub_efidisk_data *device) -+{ -+ return device->block_io->media->block_size; -+} -+ -+int -+get_sector_size(int drive) -+{ -+ struct grub_efidisk_data *device = get_device_from_drive(drive); -+ return get_device_sector_size(device); -+} -+ -+/* -+ * ffz = Find First Zero in word. Undefined if no zero exists, -+ * so code should check against ~0UL first.. -+ */ -+static __inline__ unsigned int -+ffz (unsigned int word) -+{ -+ __asm__ ("bsfl %1,%0" -+: "=r" (word) -+: "r" (~word)); -+ return word; -+} -+#define log2(n) ffz(~(n)) -+ -+static int -+get_device_sector_bits(struct grub_efidisk_data *device) -+{ -+ int sector_size = get_device_sector_size(device); -+ return log2(sector_size); -+} -+ -+int -+get_sector_bits(int drive) -+{ -+ int sector_size = get_sector_size(drive); -+ return log2(sector_size); -+} -+ -+static struct grub_efidisk_data * -+get_device_from_drive (int drive) -+{ -+#ifdef SUPPORT_NETBOOT -+ /* Not supported */ -+ if (drive == NETWORK_DRIVE) -+ return NULL; -+#endif -+ if (drive == GRUB_INVALID_DRIVE) -+ return NULL; -+ if (drive == cdrom_drive) -+ return get_device (cd_devices, 0); -+ /* Hard disk */ -+ if (drive & 0x80) -+ return get_device (hd_devices, drive - 0x80); -+ /* Floppy disk */ -+ else -+ return get_device (fd_devices, drive); -+} -+ -+/* Low-level disk I/O. Our stubbed version just returns a file -+ descriptor, not the actual geometry. */ -+int -+get_diskinfo (int drive, struct geometry *geometry) -+{ -+ struct grub_efidisk_data *d; -+ -+ d = get_device_from_drive (drive); -+ if (!d) -+ return -1; -+ geometry->total_sectors = d->block_io->media->last_block+1; -+ geometry->sector_size = d->block_io->media->block_size; -+ geometry->flags = BIOSDISK_FLAG_LBA_EXTENSION; -+ geometry->sectors = 63; -+ if (geometry->total_sectors / 63 < 255) -+ geometry->heads = 1; -+ else -+ geometry->heads = 255; -+ geometry->cylinders = geometry->total_sectors / 63 / geometry->heads; -+ return 0; -+} -+ -+int -+biosdisk (int subfunc, int drive, struct geometry *geometry, -+ int sector, int nsec, int segment) -+{ -+ char *buf; -+ struct grub_efidisk_data *d; -+ int ret; -+ -+ d = get_device_from_drive (drive); -+ if (!d) -+ return -1; -+ buf = (char *) ((unsigned long) segment << 4); -+ switch (subfunc) -+ { -+ case BIOSDISK_READ: -+ ret = grub_efidisk_read (d, sector, nsec, buf); -+ break; -+ case BIOSDISK_WRITE: -+ ret = grub_efidisk_write (d, sector, nsec, buf); -+ break; -+ default: -+ return -1; -+ } -+ -+ return 0; -+} -+ -+/* Some utility functions to map GRUB devices with EFI devices. */ -+grub_efi_handle_t -+grub_efidisk_get_current_bdev_handle (void) -+{ -+ struct grub_efidisk_data *d; -+ -+ d = get_device_from_drive (current_drive); -+ if (d == NULL) -+ return NULL; -+ -+ if (current_drive == GRUB_INVALID_DRIVE) -+ return NULL; -+ -+ if (current_drive == cdrom_drive) -+ return d->handle; -+ -+ if (! (current_drive & 0x80)) -+ return d->handle; -+ /* If this is the whole disk, just return its own data. */ -+ else if (current_partition == 0xFFFFFF) -+ return d->handle; -+ /* Otherwise, we must query the corresponding device to the firmware. */ -+ else -+ { -+ struct grub_efidisk_data *devices; -+ grub_efi_handle_t handle = 0; -+ auto int find_partition (struct grub_efidisk_data *c); -+ -+ int find_partition (struct grub_efidisk_data *c) -+ { -+ grub_efi_hard_drive_device_path_t hd; -+ -+ grub_memcpy (&hd, c->last_device_path, sizeof (hd)); -+ -+ if ((GRUB_EFI_DEVICE_PATH_TYPE (c->last_device_path) -+ == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE) -+ && (GRUB_EFI_DEVICE_PATH_SUBTYPE (c->last_device_path) -+ == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE) -+ && (part_start == hd.partition_start) -+ && (part_length == hd.partition_size)) -+ { -+ handle = c->handle; -+ return 1; -+ } -+ -+ return 0; -+ } -+ -+ devices = make_devices (); -+ iterate_child_devices (devices, d, find_partition); -+ free_devices (devices); -+ -+ if (handle != 0) -+ return handle; -+ } -+ -+ return 0; -+} -+ -+int -+grub_get_drive_partition_from_bdev_handle (grub_efi_handle_t handle, -+ unsigned long *drive, -+ unsigned long *partition) -+{ -+ grub_efi_device_path_t *dp, *dp1; -+ struct grub_efidisk_data *d, *devices; -+ int drv; -+ unsigned long part; -+ grub_efi_hard_drive_device_path_t hd; -+ int found; -+ int part_type, part_entry; -+ unsigned long partition_start, partition_len, part_offset, part_extoffset; -+ unsigned long gpt_offset; -+ int gpt_count, gpt_size; -+ auto int find_bdev (struct grub_efidisk_data *c); -+ -+ int find_bdev (struct grub_efidisk_data *c) -+ { -+ if (! compare_device_paths (c->device_path, dp)) -+ { -+ grub_memcpy (&hd, c->last_device_path, sizeof (hd)); -+ found = 1; -+ return 1; -+ } -+ return 0; -+ } -+ -+ dp = grub_efi_get_device_path (handle); -+ if (! dp) -+ return 0; -+ -+ dp1 = dp; -+ while (1) -+ { -+ grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (dp1); -+ grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE(dp1); -+ -+ if (type == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE && -+ subtype == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE) -+ { -+ dp1->type = GRUB_EFI_END_DEVICE_PATH_TYPE; -+ dp1->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; -+ dp1->length[0] = 4; -+ dp1->length[1] = 0; -+ } -+ -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp1)) -+ break; -+ -+ dp1 = GRUB_EFI_NEXT_DEVICE_PATH(dp1); -+ } -+ -+ drv = 0; -+ for (d = fd_devices; d; d = d->next, drv++) -+ { -+ if (! compare_device_paths (d->device_path, dp)) -+ { -+ *partition = 0xFFFFFF; -+ *drive = drv; -+ return 1; -+ } -+ } -+ -+ drv = cdrom_drive; -+ if (cd_devices && ! compare_device_paths (cd_devices->device_path, dp)) -+ { -+ *partition = 0xFFFFFF; -+ *drive = drv; -+ return 1; -+ } -+ -+ drv = 0x80; -+ for (d = hd_devices; d; d = d->next, drv++) -+ { -+ if (! compare_device_paths (d->device_path, dp)) -+ { -+ *partition = 0xFFFFFF; -+ *drive = drv; -+ return 1; -+ } -+ } -+ -+ devices = make_devices (); -+ -+ drv = 0x80; -+ found = 0; -+ for (d = hd_devices; d; d = d->next, drv++) -+ { -+ iterate_child_devices (devices, d, find_bdev); -+ if (found) -+ break; -+ } -+ -+ free_devices (devices); -+ -+ if (! found) -+ return 0; -+ -+ char buf[get_sector_size(drv)]; -+ part = 0xFFFFFF; -+ while (next_partition (drv, 0, &part, &part_type, -+ &partition_start, &partition_len, -+ &part_offset, &part_entry, -+ &part_extoffset, &gpt_offset, &gpt_count, -+ &gpt_size, buf)) -+ { -+ if (part_type -+ && partition_start == hd.partition_start -+ && partition_len == hd.partition_size) -+ { -+ *drive = drv; -+ *partition = part; -+ return 1; -+ } -+ } -+ -+ return 0; -+} -+ -+int -+check_device (const char *device) -+{ -+ grub_efi_device_path_t *dp; -+ -+ dp = device_path_from_utf8(device); -+ if (dp == NULL) -+ return 0; -+ -+ grub_free(dp); -+ return 1; -+} -+ -+static void -+swap_devices (struct grub_efidisk_data *d0, -+ struct grub_efidisk_data *d1) -+{ -+ struct grub_efidisk_data tmp; -+ -+ if (!d0 || !d1) -+ return; -+ -+ memcpy(&tmp, d1, sizeof(*d1)); -+ -+ memcpy(&d0->handle, &d1->handle, sizeof(d1->handle)); -+ d0->device_path = d1->device_path; -+ d0->last_device_path = d1->last_device_path; -+ d0->block_io = d1->block_io; -+ d0->disk_io = d1->disk_io; -+ -+ memcpy(d1->handle, tmp.handle, sizeof(tmp.handle)); -+ d1->device_path = tmp.device_path; -+ d1->last_device_path = tmp.last_device_path; -+ d1->block_io = tmp.block_io; -+ d1->disk_io = tmp.disk_io; -+} -+ -+static int -+compare_hd_device_paths(grub_efi_hard_drive_device_path_t *hd0, -+ grub_efi_hard_drive_device_path_t *hd1) -+{ -+ grub_efi_uint64_t x; -+ int sigsize; -+ -+ if ((x = hd1->partition_number - hd0->partition_number)) -+ return x; -+ -+ if ((x = hd1->partition_start - hd0->partition_start)) -+ return x; -+ -+ -+ if ((x = hd1->partition_size - hd0->partition_size)) -+ return x; -+ -+ if ((x = hd1->signature_type - hd0->signature_type)) -+ return x; -+ -+ switch (hd0->signature_type) -+ { -+ case 1: -+ sigsize = 4; -+ break; -+ case 2: -+ sigsize = 16; -+ break; -+ default: -+ sigsize = 0; -+ break; -+ } -+ x = grub_memcmp((char *)hd0->partition_signature, -+ (char *)hd1->partition_signature, sigsize); -+ return x; -+} -+ -+static grub_efi_device_path_t * -+get_parent_of_disk(grub_efi_device_path_t *hd) -+{ -+ grub_efi_uintn_t num_handles; -+ grub_efi_handle_t *handles; -+ grub_efi_handle_t *handle; -+ grub_efi_device_path_t *ret; -+ -+ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, -+ &simple_file_system_guid, -+ 0, &num_handles); -+ for (handle = handles; num_handles--; handle++) -+ { -+ grub_efi_device_path_t *fsdp, *hddp; -+ -+ fsdp = grub_efi_get_device_path (*handle); -+ if (!fsdp) -+ continue; -+ hddp = find_last_device_path(fsdp); -+ -+ if (compare_hd_device_paths((grub_efi_hard_drive_device_path_t *)hddp, -+ (grub_efi_hard_drive_device_path_t *)hd) == 0) -+ { -+ grub_efi_device_path_t *p; -+ ret = duplicate_device_path((grub_efi_device_path_t *)fsdp); -+ if (!ret) -+ return NULL; -+ for (p = ret; ; p = GRUB_EFI_NEXT_DEVICE_PATH(p)) -+ { -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH(p)) -+ break; -+ if ((GRUB_EFI_DEVICE_PATH_TYPE(p) == -+ GRUB_EFI_MEDIA_DEVICE_PATH_TYPE) -+ && (GRUB_EFI_DEVICE_PATH_SUBTYPE(p) == -+ GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)) -+ { -+ p->type = GRUB_EFI_END_DEVICE_PATH_TYPE; -+ p->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; -+ p->length[0] = 4; -+ p->length[1] = 0; -+ break; -+ } -+ } -+ return ret; -+ } -+ } -+ return NULL; -+} -+ -+void -+assign_device_name (int drive, const char *device) -+{ -+ grub_efi_device_path_t *dp0, *dp1; -+ struct grub_efidisk_data *devices; -+ struct grub_efidisk_data *d, *d0 = NULL, *d1 = NULL; -+ int n = -1; -+ -+ dp0 = device_path_from_utf8(device); -+ if (!dp0) -+ return; -+ -+ dp1 = get_parent_of_disk(dp0); -+ grub_free(dp0); -+ if (!dp1) -+ return; -+ -+ if (drive & 0x80) -+ { -+ drive -= 0x80; -+ devices = hd_devices; -+ } -+ else -+ { -+ devices = cd_devices; -+ drive -= 0x100; -+ } -+ -+ for (d = devices; d; d = d->next) -+ { -+ if (!d->device_path) -+ continue; -+ -+ if (++n == drive) -+ d0 = d; -+ -+ int x; -+ if (!(x = compare_device_paths(dp1, d->device_path))) -+ d1 = d; -+ -+ if (d0 && d1) -+ { -+ /* if they're the same node, that just means it's already at -+ * the right position. */ -+ if (d0 != d1) -+ { -+ swap_devices(d0, d1); -+ grub_free(dp1); -+ return; -+ } -+ } -+ } -+ grub_free(dp1); -+} -diff --git a/efi/efidp.c b/efi/efidp.c -new file mode 100644 -index 0000000..d8ca03d ---- /dev/null -+++ b/efi/efidp.c -@@ -0,0 +1,999 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2010 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+/* Duplicate a device path. */ -+grub_efi_device_path_t * -+duplicate_device_path (const grub_efi_device_path_t *dp) -+{ -+ grub_efi_device_path_t *p; -+ grub_size_t total_size = 0; -+ -+ for (p = (grub_efi_device_path_t *) dp; -+ ; -+ p = GRUB_EFI_NEXT_DEVICE_PATH (p)) -+ { -+ total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p); -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p)) -+ break; -+ } -+ -+ p = grub_malloc (total_size); -+ if (! p) -+ return 0; -+ -+ grub_memcpy (p, dp, total_size); -+ return p; -+} -+ -+/* Return the device path node right before the end node. */ -+grub_efi_device_path_t * -+find_last_device_path (const grub_efi_device_path_t *dp) -+{ -+ grub_efi_device_path_t *next, *p; -+ -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp)) -+ return 0; -+ -+ for (p = (grub_efi_device_path_t *) dp, next = GRUB_EFI_NEXT_DEVICE_PATH (p); -+ ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next); -+ p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next)) -+ ; -+ -+ return p; -+} -+ -+/* Return the parent device path node. Must be freed */ -+grub_efi_device_path_t * -+find_parent_device_path (const grub_efi_device_path_t *dp) -+{ -+ grub_efi_device_path_t *final, *dup; -+ -+ dup = duplicate_device_path(dp); -+ final = find_last_device_path(dup); -+ -+ final->type = GRUB_EFI_END_DEVICE_PATH_TYPE; -+ final->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; -+ -+ return dup; -+} -+ -+/* Compare device paths. */ -+int -+compare_device_paths (const grub_efi_device_path_t *dp1, -+ const grub_efi_device_path_t *dp2) -+{ -+ if (! dp1 || ! dp2) -+ /* Return non-zero. */ -+ return 1; -+ -+ while (1) -+ { -+ grub_efi_uint8_t type1, type2; -+ grub_efi_uint8_t subtype1, subtype2; -+ grub_efi_uint16_t len1, len2; -+ int ret; -+ -+ type1 = GRUB_EFI_DEVICE_PATH_TYPE (dp1); -+ type2 = GRUB_EFI_DEVICE_PATH_TYPE (dp2); -+ -+ if (type1 != type2) -+ return (int) type2 - (int) type1; -+ -+ subtype1 = GRUB_EFI_DEVICE_PATH_SUBTYPE (dp1); -+ subtype2 = GRUB_EFI_DEVICE_PATH_SUBTYPE (dp2); -+ -+ if (subtype1 != subtype2) -+ return (int) subtype1 - (int) subtype2; -+ -+ len1 = GRUB_EFI_DEVICE_PATH_LENGTH (dp1); -+ len2 = GRUB_EFI_DEVICE_PATH_LENGTH (dp2); -+ -+ if (len1 != len2) -+ return (int) len1 - (int) len2; -+ -+ ret = grub_memcmp ((char *)dp1, (char *)dp2, len1); -+ if (ret != 0) -+ return ret; -+ -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp1)) -+ break; -+ -+ dp1 = (grub_efi_device_path_t *) ((char *) dp1 + len1); -+ dp2 = (grub_efi_device_path_t *) ((char *) dp2 + len2); -+ } -+ -+ return 0; -+} -+ -+/* Print the chain of Device Path nodes. This is mainly for debugging. */ -+void -+grub_efi_print_device_path (grub_efi_device_path_t *dp) -+{ -+ while (1) -+ { -+ grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (dp); -+ grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE (dp); -+ grub_efi_uint16_t len = GRUB_EFI_DEVICE_PATH_LENGTH (dp); -+ -+ switch (type) -+ { -+ case GRUB_EFI_END_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE: -+ grub_printf ("/EndEntire\n"); -+ //grub_putchar ('\n'); -+ break; -+ case GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE: -+ grub_printf ("/EndThis\n"); -+ //grub_putchar ('\n'); -+ break; -+ default: -+ grub_printf ("/EndUnknown(%x)\n", (unsigned) subtype); -+ break; -+ } -+ break; -+ -+ case GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_pci_device_path_t pci; -+ grub_memcpy (&pci, dp, len); -+ grub_printf ("/PCI(%x,%x)", -+ (unsigned) pci.function, (unsigned) pci.device); -+ } -+ break; -+ case GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_pccard_device_path_t pccard; -+ grub_memcpy (&pccard, dp, len); -+ grub_printf ("/PCCARD(%x)", -+ (unsigned) pccard.function); -+ } -+ break; -+ case GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_memory_mapped_device_path_t mmapped; -+ grub_memcpy (&mmapped, dp, len); -+ grub_printf ("/MMap(%x,%llx,%llx)", -+ (unsigned) mmapped.memory_type, -+ mmapped.start_address, -+ mmapped.end_address); -+ } -+ break; -+ case GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_vendor_device_path_t vendor; -+ grub_memcpy (&vendor, dp, sizeof (vendor)); -+ grub_printf ("/Vendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", -+ (unsigned) vendor.vendor_guid.data1, -+ (unsigned) vendor.vendor_guid.data2, -+ (unsigned) vendor.vendor_guid.data3, -+ (unsigned) vendor.vendor_guid.data4[0], -+ (unsigned) vendor.vendor_guid.data4[1], -+ (unsigned) vendor.vendor_guid.data4[2], -+ (unsigned) vendor.vendor_guid.data4[3], -+ (unsigned) vendor.vendor_guid.data4[4], -+ (unsigned) vendor.vendor_guid.data4[5], -+ (unsigned) vendor.vendor_guid.data4[6], -+ (unsigned) vendor.vendor_guid.data4[7]); -+ } -+ break; -+ case GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_controller_device_path_t controller; -+ grub_memcpy (&controller, dp, len); -+ grub_printf ("/Ctrl(%x)", -+ (unsigned) controller.controller_number); -+ } -+ break; -+ default: -+ grub_printf ("/UnknownHW(%x)", (unsigned) subtype); -+ break; -+ } -+ break; -+ -+ case GRUB_EFI_ACPI_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_acpi_device_path_t acpi; -+ grub_memcpy (&acpi, dp, len); -+ grub_printf ("/ACPI(%x,%x)", -+ (unsigned) acpi.hid, -+ (unsigned) acpi.uid); -+ } -+ break; -+ case GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_expanded_acpi_device_path_t eacpi; -+ grub_memcpy (&eacpi, dp, sizeof (eacpi)); -+ grub_printf ("/ACPI("); -+ -+ if (GRUB_EFI_EXPANDED_ACPI_HIDSTR (dp)[0] == '\0') -+ grub_printf ("%x,", (unsigned) eacpi.hid); -+ else -+ grub_printf ("%s,", GRUB_EFI_EXPANDED_ACPI_HIDSTR (dp)); -+ -+ if (GRUB_EFI_EXPANDED_ACPI_UIDSTR (dp)[0] == '\0') -+ grub_printf ("%x,", (unsigned) eacpi.uid); -+ else -+ grub_printf ("%s,", GRUB_EFI_EXPANDED_ACPI_UIDSTR (dp)); -+ -+ if (GRUB_EFI_EXPANDED_ACPI_CIDSTR (dp)[0] == '\0') -+ grub_printf ("%x)", (unsigned) eacpi.cid); -+ else -+ grub_printf ("%s)", GRUB_EFI_EXPANDED_ACPI_CIDSTR (dp)); -+ } -+ break; -+ default: -+ grub_printf ("/UnknownACPI(%x)", (unsigned) subtype); -+ break; -+ } -+ break; -+ -+ case GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_atapi_device_path_t atapi; -+ grub_memcpy (&atapi, dp, len); -+ grub_printf ("/ATAPI(%x,%x,%x)", -+ (unsigned) atapi.primary_secondary, -+ (unsigned) atapi.slave_master, -+ (unsigned) atapi.lun); -+ } -+ break; -+ case GRUB_EFI_SCSI_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_scsi_device_path_t scsi; -+ grub_memcpy (&scsi, dp, len); -+ grub_printf ("/SCSI(%x,%x)", -+ (unsigned) scsi.pun, -+ (unsigned) scsi.lun); -+ } -+ break; -+ case GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_fibre_channel_device_path_t fc; -+ grub_memcpy (&fc, dp, len); -+ grub_printf ("/FibreChannel(%llx,%llx)", -+ fc.wwn, fc.lun); -+ } -+ break; -+ case GRUB_EFI_1394_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_1394_device_path_t firewire; -+ grub_memcpy (&firewire, dp, len); -+ grub_printf ("/1394(%llx)", firewire.guid); -+ } -+ break; -+ case GRUB_EFI_USB_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_usb_device_path_t usb; -+ grub_memcpy (&usb, dp, len); -+ grub_printf ("/USB(%x,%x)", -+ (unsigned) usb.parent_port_number, -+ (unsigned) usb.interface); -+ } -+ break; -+ case GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_usb_class_device_path_t usb_class; -+ grub_memcpy (&usb_class, dp, len); -+ grub_printf ("/USBClass(%x,%x,%x,%x,%x)", -+ (unsigned) usb_class.vendor_id, -+ (unsigned) usb_class.product_id, -+ (unsigned) usb_class.device_class, -+ (unsigned) usb_class.device_subclass, -+ (unsigned) usb_class.device_protocol); -+ } -+ break; -+ case GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_i2o_device_path_t i2o; -+ grub_memcpy (&i2o, dp, len); -+ grub_printf ("/I2O(%x)", (unsigned) i2o.tid); -+ } -+ break; -+ case GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_mac_address_device_path_t mac; -+ grub_memcpy (&mac, dp, len); -+ grub_printf ("/MacAddr(%x:%x:%x:%x:%x:%x,%x)", -+ (unsigned) mac.mac_address[0], -+ (unsigned) mac.mac_address[1], -+ (unsigned) mac.mac_address[2], -+ (unsigned) mac.mac_address[3], -+ (unsigned) mac.mac_address[4], -+ (unsigned) mac.mac_address[5], -+ (unsigned) mac.if_type); -+ } -+ break; -+ case GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_ipv4_device_path_t ipv4; -+ grub_memcpy (&ipv4, dp, len); -+ grub_printf ("/IPv4(%u.%u.%u.%u,%u.%u.%u.%u,%u,%u,%x,%x)", -+ (unsigned) ipv4.local_ip_address[0], -+ (unsigned) ipv4.local_ip_address[1], -+ (unsigned) ipv4.local_ip_address[2], -+ (unsigned) ipv4.local_ip_address[3], -+ (unsigned) ipv4.remote_ip_address[0], -+ (unsigned) ipv4.remote_ip_address[1], -+ (unsigned) ipv4.remote_ip_address[2], -+ (unsigned) ipv4.remote_ip_address[3], -+ (unsigned) ipv4.local_port, -+ (unsigned) ipv4.remote_port, -+ (unsigned) ipv4.protocol, -+ (unsigned) ipv4.static_ip_address); -+ } -+ break; -+ case GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_ipv6_device_path_t ipv6; -+ grub_memcpy (&ipv6, dp, len); -+ grub_printf ("/IPv6(%x:%x:%x:%x:%x:%x:%x:%x,%x:%x:%x:%x:%x:%x:%x:%x,%u,%u,%x,%x)", -+ (unsigned) ipv6.local_ip_address[0], -+ (unsigned) ipv6.local_ip_address[1], -+ (unsigned) ipv6.local_ip_address[2], -+ (unsigned) ipv6.local_ip_address[3], -+ (unsigned) ipv6.local_ip_address[4], -+ (unsigned) ipv6.local_ip_address[5], -+ (unsigned) ipv6.local_ip_address[6], -+ (unsigned) ipv6.local_ip_address[7], -+ (unsigned) ipv6.remote_ip_address[0], -+ (unsigned) ipv6.remote_ip_address[1], -+ (unsigned) ipv6.remote_ip_address[2], -+ (unsigned) ipv6.remote_ip_address[3], -+ (unsigned) ipv6.remote_ip_address[4], -+ (unsigned) ipv6.remote_ip_address[5], -+ (unsigned) ipv6.remote_ip_address[6], -+ (unsigned) ipv6.remote_ip_address[7], -+ (unsigned) ipv6.local_port, -+ (unsigned) ipv6.remote_port, -+ (unsigned) ipv6.protocol, -+ (unsigned) ipv6.static_ip_address); -+ } -+ break; -+ case GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_infiniband_device_path_t ib; -+ grub_memcpy (&ib, dp, len); -+ grub_printf ("/InfiniBand(%x,%llx,%llx,%llx)", -+ (unsigned) ib.port_gid[0], /* XXX */ -+ ib.remote_id, -+ ib.target_port_id, -+ ib.device_id); -+ } -+ break; -+ case GRUB_EFI_UART_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_uart_device_path_t uart; -+ grub_memcpy (&uart, dp, len); -+ grub_printf ("/UART(%llu,%u,%x,%x)", -+ uart.baud_rate, -+ uart.data_bits, -+ uart.parity, -+ uart.stop_bits); -+ } -+ break; -+ case GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_vendor_messaging_device_path_t vendor; -+ grub_memcpy (&vendor, dp, sizeof (vendor)); -+ grub_printf ("/Vendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", -+ (unsigned) vendor.vendor_guid.data1, -+ (unsigned) vendor.vendor_guid.data2, -+ (unsigned) vendor.vendor_guid.data3, -+ (unsigned) vendor.vendor_guid.data4[0], -+ (unsigned) vendor.vendor_guid.data4[1], -+ (unsigned) vendor.vendor_guid.data4[2], -+ (unsigned) vendor.vendor_guid.data4[3], -+ (unsigned) vendor.vendor_guid.data4[4], -+ (unsigned) vendor.vendor_guid.data4[5], -+ (unsigned) vendor.vendor_guid.data4[6], -+ (unsigned) vendor.vendor_guid.data4[7]); -+ } -+ break; -+ default: -+ grub_printf ("/UnknownMessaging(%x)", (unsigned) subtype); -+ break; -+ } -+ break; -+ -+ case GRUB_EFI_MEDIA_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_hard_drive_device_path_t hd; -+ grub_memcpy (&hd, dp, len); -+ grub_printf ("/HD(%u,%llx,%llx,%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x)", -+ hd.partition_number, -+ hd.partition_start, -+ hd.partition_size, -+ (unsigned) hd.partition_signature[3], -+ (unsigned) hd.partition_signature[2], -+ (unsigned) hd.partition_signature[1], -+ (unsigned) hd.partition_signature[0], -+ (unsigned) hd.partition_signature[5], -+ (unsigned) hd.partition_signature[4], -+ (unsigned) hd.partition_signature[7], -+ (unsigned) hd.partition_signature[6], -+ (unsigned) hd.partition_signature[9], -+ (unsigned) hd.partition_signature[8], -+ (unsigned) hd.partition_signature[10], -+ (unsigned) hd.partition_signature[11], -+ (unsigned) hd.partition_signature[12], -+ (unsigned) hd.partition_signature[13], -+ (unsigned) hd.partition_signature[14], -+ (unsigned) hd.partition_signature[15]); -+ } -+ break; -+ case GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_cdrom_device_path_t cd; -+ grub_memcpy (&cd, dp, len); -+ grub_printf ("/CD(%u,%llx,%llx)", -+ cd.boot_entry, -+ cd.partition_start, -+ cd.partition_size); -+ } -+ break; -+ case GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_vendor_media_device_path_t vendor; -+ grub_memcpy (&vendor, dp, sizeof (vendor)); -+ grub_printf ("/Vendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", -+ (unsigned) vendor.vendor_guid.data1, -+ (unsigned) vendor.vendor_guid.data2, -+ (unsigned) vendor.vendor_guid.data3, -+ (unsigned) vendor.vendor_guid.data4[0], -+ (unsigned) vendor.vendor_guid.data4[1], -+ (unsigned) vendor.vendor_guid.data4[2], -+ (unsigned) vendor.vendor_guid.data4[3], -+ (unsigned) vendor.vendor_guid.data4[4], -+ (unsigned) vendor.vendor_guid.data4[5], -+ (unsigned) vendor.vendor_guid.data4[6], -+ (unsigned) vendor.vendor_guid.data4[7]); -+ } -+ break; -+ case GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_file_path_device_path_t *fp; -+ grub_uint8_t buf[(len - 4) * 2 + 1]; -+ fp = (grub_efi_file_path_device_path_t *) dp; -+ *grub_utf16_to_utf8 (buf, fp->path_name, -+ (len - 4) / sizeof (grub_efi_char16_t)) -+ = '\0'; -+ grub_printf ("/File(%s)", buf); -+ } -+ break; -+ case GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_protocol_device_path_t proto; -+ grub_memcpy (&proto, dp, sizeof (proto)); -+ grub_printf ("/Protocol(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", -+ (unsigned) proto.guid.data1, -+ (unsigned) proto.guid.data2, -+ (unsigned) proto.guid.data3, -+ (unsigned) proto.guid.data4[0], -+ (unsigned) proto.guid.data4[1], -+ (unsigned) proto.guid.data4[2], -+ (unsigned) proto.guid.data4[3], -+ (unsigned) proto.guid.data4[4], -+ (unsigned) proto.guid.data4[5], -+ (unsigned) proto.guid.data4[6], -+ (unsigned) proto.guid.data4[7]); -+ } -+ break; -+ default: -+ grub_printf ("/UnknownMedia(%x)", (unsigned) subtype); -+ break; -+ } -+ break; -+ -+ case GRUB_EFI_BIOS_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_bios_device_path_t bios; -+ grub_memcpy (&bios, dp, sizeof (bios)); -+ grub_printf ("/BIOS(%x,%x,%s)", -+ (unsigned) bios.device_type, -+ (unsigned) bios.status_flags, -+ (char *) (dp + 1)); -+ } -+ break; -+ default: -+ grub_printf ("/UnknownBIOS(%x)", (unsigned) subtype); -+ break; -+ } -+ break; -+ -+ default: -+ grub_printf ("/UnknownType(%x,%x)\n", -+ (unsigned) type, -+ (unsigned) subtype); -+ return; -+ break; -+ } -+ -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp)) -+ break; -+ -+ dp = (grub_efi_device_path_t *) ((char *) dp + len); -+ } -+} -+ -+static inline int -+dpname_matches(char *str, char *candidate) -+{ -+ grub_size_t clen = grub_strlen(candidate); -+ char scratch[clen + 2]; -+ int rc; -+ -+ grub_strncpy(scratch, candidate, clen); -+ scratch[clen+1] = '\0'; -+ if (scratch[clen-1] == '$') -+ { -+ scratch[--clen] = '\0'; -+ rc = !grub_strncasecmp(str, scratch, clen); -+ return rc; -+ } -+ -+ grub_strncpy(scratch+clen, "(", 2); -+ clen = grub_strlen(scratch); -+ rc = !grub_strncasecmp(str, scratch, clen); -+ return rc; -+} -+ -+static void -+finish_param_parse(char *pos, char **end, char *tmp) -+{ -+ if (!pos || !end || !tmp) -+ return; -+ -+ if (*end) -+ **end = *tmp; -+} -+ -+static char * -+get_next_param(char *pos, char **end, char *tmp) -+{ -+ char *comma = NULL; -+ char *openparen = NULL; -+ char *closeparen = NULL; -+ -+ if (!pos || !end || !tmp) -+ return NULL; -+ -+ if (*end) -+ **end = *tmp; -+ -+ openparen = grub_strchr(pos, '('); -+ if (openparen && *openparen) -+ { -+ pos = grub_strnchr(openparen + 1, ' '); -+ comma = grub_strchr(pos, ','); -+ closeparen = grub_strchr(pos, ')'); -+ -+ if (comma && *comma) -+ { -+ *tmp = *comma; -+ *comma = '\0'; -+ *end = comma; -+ } -+ else if (closeparen && *closeparen) -+ { -+ *tmp = *closeparen; -+ *closeparen = '\0'; -+ *end = closeparen; -+ } -+ return pos; -+ } -+ -+ comma = grub_strchr(pos, ','); -+ if (comma && *comma) -+ { -+ pos = grub_strnchr(comma + 1, ' '); -+ comma = grub_strchr(pos, ','); -+ closeparen = grub_strchr(pos, ')'); -+ -+ if (comma && *comma) -+ { -+ *tmp = *comma; -+ *comma = '\0'; -+ *end = comma; -+ } -+ else if (closeparen && *closeparen) -+ { -+ *tmp = *closeparen; -+ *closeparen = '\0'; -+ *end = closeparen; -+ } -+ return pos; -+ } -+ -+ closeparen = grub_strchr(pos, ')'); -+ if (closeparen && *closeparen) -+ pos = grub_strnchr(closeparen + 1, ' '); -+ -+ return pos; -+} -+ -+struct generic_device_path -+ { -+ grub_efi_uint8_t type; -+ grub_efi_uint8_t subtype; -+ grub_efi_uint16_t length; -+ } __attribute__((packed)); -+ -+struct hd_media_device_path -+ { -+ grub_efi_uint8_t type; -+ grub_efi_uint8_t subtype; -+ grub_efi_uint16_t length; -+ grub_efi_uint32_t partition; -+ grub_efi_uint64_t startlba; -+ grub_efi_uint64_t size; -+ grub_efi_uint8_t signature[16]; -+ grub_efi_uint8_t mbr_type; -+ grub_efi_uint8_t signature_type; -+ } __attribute__((packed)); -+ -+static inline int -+parse_device_path_component(const char *orig_str, void *data) -+{ -+ int orig_str_len = strlen(orig_str) + 1; -+ char str[orig_str_len]; -+ char tmp; -+ char *pos = str; -+ int ret = 0; -+ -+ grub_strcpy(str, orig_str); -+ if (dpname_matches(str, "pci")) -+ { -+ } -+ else if (dpname_matches(str, "pccard")) -+ { -+ } -+ else if (dpname_matches(str, "mmap")) -+ { -+ } -+ else if (dpname_matches(str, "ctrl")) -+ { -+ } -+ else if (dpname_matches(str, "acpi")) -+ { -+ } -+ /* XXX what about _ADR? */ -+ /* messaging device paths */ -+ else if (dpname_matches(str, "atapi")) -+ { -+ } -+ else if (dpname_matches(str, "scsi")) -+ { -+ } -+ else if (dpname_matches(str, "fibrechannel")) -+ { -+ } -+ else if (dpname_matches(str, "1394")) -+ { -+ } -+ else if (dpname_matches(str, "usb")) -+ { -+ } -+ else if (dpname_matches(str, "sata")) -+ { -+ } -+ /* XXX what about usb-wwid */ -+ /* XXX what about lun */ -+ else if (dpname_matches(str, "usbclass")) -+ { -+ } -+ else if (dpname_matches(str, "i2o")) -+ { -+ } -+ else if (dpname_matches(str, "macaddr")) -+ { -+ } -+ else if (dpname_matches(str, "ipv4")) -+ { -+ } -+ else if (dpname_matches(str, "ipv6")) -+ { -+ } -+ /* XXX what about vlan */ -+ else if (dpname_matches(str, "infiniband")) -+ { -+ } -+ else if (dpname_matches(str, "uart")) -+ { -+ } -+ else if (dpname_matches(str, "uartflowctrl")) -+ { -+ } -+ else if (dpname_matches(str, "sas")) -+ { -+ } -+ else if (dpname_matches(str, "iscsi")) -+ { -+ } -+ /* media device paths */ -+ else if (dpname_matches(str, "hd")) -+ { -+ /* these look roughly like: -+ * HD(Partition,Type,Signature,Start, Size) -+ * but: -+ * - type may be optional. 1 or "MBR" means MBR. 2 or "GPT" means GPT. -+ * - start and size are optional -+ * - there can be random spaces -+ */ -+ struct hd_media_device_path hddp; -+ unsigned long tmpul; -+ char *end = NULL, c; -+ char tmps[19] = "0x"; -+ char *tmpsp; -+ -+ ret = 42; -+ -+ hddp.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE; -+ hddp.subtype = GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE; -+ hddp.length = ret; -+ -+ //pos += grub_strcspn(pos, '('); -+ pos = get_next_param(pos, &end, &c); -+ if (!*pos) -+ { -+broken_hd: -+ finish_param_parse(pos, &end, &c); -+ return 0; -+ } -+ grub_strncpy(tmps+2, pos, 16); -+ tmps[18] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ hddp.partition = tmpul; -+ -+ pos = get_next_param(pos, &end, &c); -+ if (!*pos) -+ goto broken_hd; -+ grub_strcpy(tmps+2, pos); -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ hddp.startlba = tmpul; -+ -+ pos = get_next_param(pos, &end, &c); -+ if (!*pos) -+ goto broken_hd; -+ grub_strcpy(tmps+2, pos); -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ hddp.size = tmpul; -+ -+ pos = get_next_param(pos, &end, &c); -+ if (!*pos) -+ goto broken_hd; -+ if (!grub_strcmp(pos, "None")) -+ { -+ hddp.signature_type = 0; -+ grub_memset(hddp.signature, '\0', sizeof(hddp.signature)); -+ } -+ else if (grub_strnlen(pos, 36) == 8) -+ { -+ grub_efi_uint32_t tmpu32; -+ grub_strncpy(tmps+2, pos, 8); -+ tmps[10] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu32 = tmpul; -+ hddp.signature_type = 1; -+ grub_memcpy(hddp.signature, &tmpu32, sizeof(tmpu32)); -+ } -+ else if (grub_strnlen(pos, 36) == 36) -+ { -+ grub_efi_uint32_t tmpu32; -+ grub_efi_uint16_t tmpu16; -+ grub_efi_uint8_t tmpu8; -+ -+ grub_strncpy(tmps+2, pos, 8); -+ tmps[10] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu32 = tmpul; -+ grub_memcpy(hddp.signature, &tmpu32, sizeof(tmpu32)); -+ -+ grub_strncpy(tmps+2, pos+9, 4); -+ tmps[6] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu16 = tmpul; -+ grub_memcpy(hddp.signature + 4, &tmpu16, sizeof(tmpu16)); -+ -+ grub_strncpy(tmps+2, pos+14, 4); -+ tmps[6] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu16 = tmpul; -+ grub_memcpy(hddp.signature + 6, &tmpu16, sizeof(tmpu16)); -+ -+ /* these are displayed like a u16, but they're a u8. thanks. */ -+ grub_strncpy(tmps+2, pos+19, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 8, &tmpu8, sizeof(tmpu8)); -+ grub_strncpy(tmps+2, pos+21, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 9, &tmpu8, sizeof(tmpu8)); -+ -+ grub_strncpy(tmps+2, pos+24, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 10, &tmpu8, sizeof(tmpu8)); -+ -+ grub_strncpy(tmps+2, pos+26, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 11, &tmpu8, sizeof(tmpu8)); -+ -+ grub_strncpy(tmps+2, pos+28, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 12, &tmpu8, sizeof(tmpu8)); -+ -+ grub_strncpy(tmps+2, pos+30, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 13, &tmpu8, sizeof(tmpu8)); -+ -+ grub_strncpy(tmps+2, pos+32, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 14, &tmpu8, sizeof(tmpu8)); -+ -+ grub_strncpy(tmps+2, pos+34, 2); -+ tmps[4] = '\0'; -+ tmpsp = tmps; -+ safe_parse_maxulong(&tmpsp, &tmpul); -+ tmpu8 = tmpul; -+ grub_memcpy(hddp.signature + 15, &tmpu8, sizeof(tmpu8)); -+ -+ hddp.signature_type = 2; -+ } -+ else -+ goto broken_hd; -+ -+ hddp.mbr_type = hddp.signature_type; -+ -+ if (data) -+ grub_memcpy(data, &hddp, sizeof(hddp)); -+ } -+ else if (dpname_matches(str, "cd")) -+ { -+ } -+ else if (dpname_matches(str, "file")) -+ { -+ } -+ else if (dpname_matches(str, "protocol")) -+ { -+ } -+ /* what about piwg firmware file? */ -+ /* what about piwg firmware volume? */ -+ /* what about relative offset media */ -+ else if (dpname_matches(str, "bios")) -+ { -+ } -+ /* This is the end beautiful friend */ -+ else if (dpname_matches(str, "EndEntire$")) -+ { -+ struct generic_device_path gdp = { -+ .type = GRUB_EFI_END_DEVICE_PATH_TYPE, -+ .subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE, -+ .length = 4 -+ }; -+ ret = 4; -+ if (data) -+ grub_memmove(data, &gdp, sizeof(gdp)); -+ } -+ else if (dpname_matches(str, "EndThis$")) -+ { -+ struct generic_device_path gdp = { -+ .type = GRUB_EFI_END_DEVICE_PATH_TYPE, -+ .subtype = GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE, -+ .length = 4 -+ }; -+ ret = 4; -+ if (data) -+ grub_memmove(data, &gdp, sizeof(gdp)); -+ } -+ else if (dpname_matches(str, "EndUnknown$")) -+ { -+ struct generic_device_path gdp = { -+ .type = GRUB_EFI_END_DEVICE_PATH_TYPE, -+ .subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE, -+ .length = 4 -+ }; -+ ret = 4; -+ if (data) -+ grub_memmove(data, &gdp, sizeof(gdp)); -+ } -+ /* handle anything we didn't recognize */ -+ else if (dpname_matches(str, "vendor")) -+ { -+ /* needs to handle: -+ * 1) hw vendor -+ * 2) messaging vendor -+ * 3) media vendor -+ */ -+ } -+ else -+ { -+ } -+ -+ return ret; -+} -+ -+grub_efi_device_path_t * -+device_path_from_utf8 (const char *device) -+{ -+ grub_size_t device_len; -+ grub_efi_device_path_t *dp = NULL; -+ -+ device_len = parse_device_path_component(device, dp); -+ device_len += parse_device_path_component("EndEntire", dp); -+ dp = grub_malloc(device_len); -+ if (!dp) -+ return NULL; -+ device_len = parse_device_path_component(device, dp); -+ device_len += parse_device_path_component("EndEntire", -+ (void *)((unsigned long)dp + device_len)); -+ -+ -+ return dp; -+} -diff --git a/efi/efigraph.c b/efi/efigraph.c -new file mode 100644 -index 0000000..c285d39 ---- /dev/null -+++ b/efi/efigraph.c -@@ -0,0 +1,1498 @@ -+/* efigraph.c - EFI "graphics output" support for GRUB/EFI */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright 2007 Red Hat, Inc. -+ * Copyright (C) 2007 Intel Corp. -+ * Copyright (C) 2001,2002 Red Hat, Inc. -+ * Portions copyright (C) 2000 Conectiva, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifdef SUPPORT_GRAPHICS -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include "graphics.h" -+#include "xpm.h" -+ -+#define dbgdelay(_f, _l) ({\ -+ if (debug_graphics) { \ -+ do { \ -+ grub_efi_stall(1000); \ -+ } while (console_getkey() < 0); \ -+ } \ -+ }) -+ -+#define dprintf(format, args...) ({ \ -+ if (debug_graphics) { \ -+ struct term_entry *_tt = current_term; \ -+ current_term = term_table; \ -+ grub_printf(format, ##args); \ -+ current_term = _tt; \ -+ } \ -+ }) -+ -+struct grub_pixel_info -+{ -+ char depth_bits; -+ char depth_bytes; -+ unsigned char red_size; -+ unsigned char red_pos; -+ unsigned char green_size; -+ unsigned char green_pos; -+ unsigned char blue_size; -+ unsigned char blue_pos; -+ unsigned char reserved_size; -+ unsigned char reserved_pos; -+ int line_length; -+}; -+ -+typedef struct grub_pixel_info grub_pixel_info_t; -+ -+ -+static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GRAPHICS_OUTPUT_GUID; -+static grub_efi_guid_t pci_io_guid = GRUB_EFI_PCI_IO_GUID; -+ -+#ifndef MIN -+#define MIN(x,y) ( ((x) < (y)) ? (x) : (y)) -+#endif -+#ifndef MAX -+#define MAX(x,y) ( ((x) < (y)) ? (y) : (x)) -+#endif -+ -+#define pixel_equal(x,y) ((x).bgrr.red == (y).bgrr.red && \ -+ (x).bgrr.green == (y).bgrr.green && \ -+ (x).bgrr.blue == (y).bgrr.blue && \ -+ (x).bgrr.reserved == (y).bgrr.reserved) -+ -+struct video_mode { -+ grub_efi_uint32_t number; -+ grub_efi_uintn_t size; -+ grub_efi_graphics_output_mode_information_t *info; -+}; -+ -+#define MAX_PALETTE 16 -+struct eg { -+ struct graphics_backend *backend; -+ grub_efi_graphics_output_t *output_intf; -+ struct video_mode **modes; -+ int max_mode; -+ grub_efi_uint32_t text_mode; -+ grub_efi_uint32_t graphics_mode; -+ grub_pixel_info_t pixel_info; -+ enum { TEXT, GRAPHICS } current_mode; -+ -+ position_t screen_size; -+ position_t screen_pos; -+ -+ struct bltbuf *background; -+ -+ grub_efi_graphics_output_pixel_t palette[MAX_PALETTE + 1]; -+}; -+ -+#define RGB(r,g,b) { .bgrr.red = r, .bgrr.green = g, .bgrr.blue = b } -+ -+static grub_efi_graphics_output_pixel_t cga_colors[] = { -+ RGB(0x00,0x00,0x00), // 0 Black -+ RGB(0x7f,0x00,0x00), // 1 Dark Red -+ RGB(0x00,0x7f,0x00), // 2 Dark Green -+ RGB(0x7f,0x7f,0x00), // 3 Dark Yellow -+ RGB(0x00,0x00,0x7f), // 4 Dark Blue -+ RGB(0x7f,0x00,0x7f), // 5 Dark Magenta -+ RGB(0x00,0x7f,0x7f), // 6 Dark Cyan -+ RGB(0xc0,0xc0,0xc0), // 7 Light Grey -+ RGB(0x7f,0x7f,0x7f), // 8 Dark Grey -+ RGB(0xff,0x00,0x00), // 9 Red -+ RGB(0x00,0xff,0x00), // 10 Green -+ RGB(0xff,0xff,0x00), // 11 Yellow -+ RGB(0x00,0x00,0xff), // 12 Blue -+ RGB(0xff,0x00,0xff), // 13 Magenta -+ RGB(0x00,0xff,0xff), // 14 Cyan -+ RGB(0xff,0xff,0xff), // 15 White -+ RGB(0xff,0xff,0xff), // 16 Also white ;) -+}; -+ -+static const int n_cga_colors = sizeof (cga_colors) / sizeof (cga_colors[0]); -+ -+static void -+find_bits (unsigned long mask, unsigned char *first, -+ unsigned char* len) -+{ -+ unsigned char bit_pos = 0, bit_len = 0; -+ *first =0; -+ *len = 0; -+ if (mask == 0) -+ return; -+ while (! (mask & 0x1)) { -+ mask = mask >> 1; -+ bit_pos++; -+ } -+ while (mask & 0x1) { -+ mask = mask >> 1; -+ bit_len++; -+ } -+ *first = bit_pos; -+ *len = bit_len; -+} -+ -+static grub_efi_graphics_output_mode_information_t * -+get_graphics_mode_info_for_mode(struct eg *eg, int mode) -+{ -+ int i; -+ -+ for (i = 0; i < eg->max_mode; i++) { -+ if (eg->modes[i] == NULL) -+ continue; -+ if (eg->modes[i]->number == mode) -+ return eg->modes[i]->info; -+ } -+ return NULL; -+} -+ -+static grub_efi_graphics_output_mode_information_t * -+get_graphics_mode_info(struct eg *eg) -+{ -+ return get_graphics_mode_info_for_mode(eg, eg->graphics_mode); -+} -+ -+static void -+print_mode_info(struct video_mode *mode) -+{ -+ grub_efi_graphics_output_mode_information_t *info = mode->info; -+ dprintf("mode %d (%dx%d, pitch %d, ", -+ mode->number, -+ info->horizontal_resolution, -+ info->vertical_resolution, -+ info->pixels_per_scan_line); -+ switch(info->pixel_format) { -+ case GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR: -+ dprintf("rgbr 8bpc"); -+ break; -+ case GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR: -+ dprintf("bgrr 8bpc"); -+ break; -+ case GRUB_EFI_PIXEL_BIT_MASK: -+ dprintf("bitmask color"); -+ break; -+ case GRUB_EFI_PIXEL_BLT_ONLY: -+ dprintf("blt only"); -+ break; -+ } -+ dprintf(")\n"); -+ if (info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { -+ dprintf("red: %08x green: %08x blue: %08x res: %08x\n", -+ info->pixel_information.red_mask, -+ info->pixel_information.green_mask, -+ info->pixel_information.blue_mask, -+ info->pixel_information.reserved_mask); -+ } -+} -+ -+static void -+set_kernel_params(struct graphics_backend *backend, -+ struct linux_kernel_params *params) -+{ -+ struct eg *eg; -+ -+ if (!backend || !backend->priv) -+ return; -+ -+ eg = backend->priv; -+ grub_efi_graphics_output_t *gop_intf = NULL; -+ grub_efi_graphics_output_mode_t *gop_mode = NULL; -+ grub_efi_status_t efi_status = GRUB_EFI_SUCCESS; -+ grub_efi_graphics_output_mode_information_t *gop_info = NULL; -+ grub_efi_uintn_t size; -+ -+ gop_intf = grub_efi_locate_protocol (&graphics_output_guid, NULL); -+ if (gop_intf == NULL) -+ return; -+ -+ gop_mode = gop_intf->mode; -+ -+ efi_status = Call_Service_4 (gop_intf->query_mode, -+ gop_intf, gop_mode->mode, &size, &gop_info); -+ -+ -+ if (efi_status == GRUB_EFI_SUCCESS) { -+ /* No VBE on EFI. */ -+ params->lfb_width = gop_info->horizontal_resolution; -+ params->lfb_height = gop_info->vertical_resolution; -+ params->lfb_base = gop_mode->frame_buffer_base; -+ params->lfb_size = gop_mode->frame_buffer_size; -+ params->lfb_pages = 1; -+ params->vesapm_segment = 0; -+ params->vesapm_offset = 0; -+ params->vesa_attrib = 0; -+ if (gop_info->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) { -+ params->lfb_depth = 32; -+ params->red_mask_size = 8; -+ params->red_field_pos = 0; -+ params->green_mask_size = 8; -+ params->green_field_pos = 8; -+ params->blue_mask_size = 8; -+ params->blue_field_pos = 16; -+ params->reserved_mask_size = 8; -+ params->reserved_field_pos = 24; -+ params->lfb_line_len = gop_info->pixels_per_scan_line * 4; -+ } else if (gop_info->pixel_format == -+ GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) { -+ params->lfb_depth = 32; -+ params->red_mask_size = 8; -+ params->red_field_pos = 16; -+ params->green_mask_size = 8; -+ params->green_field_pos = 8; -+ params->blue_mask_size = 8; -+ params->blue_field_pos = 0; -+ params->reserved_mask_size = 8; -+ params->reserved_field_pos = 24; -+ params->lfb_line_len = gop_info->pixels_per_scan_line * 4; -+ } else if (gop_info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { -+ find_bits (gop_info->pixel_information.red_mask, -+ ¶ms->red_field_pos, ¶ms->red_mask_size); -+ find_bits (gop_info->pixel_information.green_mask, -+ ¶ms->green_field_pos, ¶ms->green_mask_size); -+ find_bits (gop_info->pixel_information.blue_mask, -+ ¶ms->blue_field_pos, ¶ms->blue_mask_size); -+ find_bits (gop_info->pixel_information.reserved_mask, -+ ¶ms->reserved_field_pos, ¶ms->reserved_mask_size); -+ params->lfb_depth = params->red_mask_size -+ + params->green_mask_size -+ + params->blue_mask_size -+ + params->reserved_mask_size; -+ params->lfb_line_len = -+ (gop_info->pixels_per_scan_line * params->lfb_depth) / 8; -+ } else { -+ params->lfb_depth = 4; -+ params->red_mask_size = 0; -+ params->red_field_pos = 0; -+ params->green_mask_size = 0; -+ params->green_field_pos = 0; -+ params->blue_mask_size = 0; -+ params->blue_field_pos = 0; -+ params->reserved_mask_size = 0; -+ params->reserved_field_pos = 0; -+ params->lfb_line_len = params->lfb_width / 2; -+ } -+#if 0 -+ params->video_cursor_x = 0; -+ params->video_cursor_y = 0; -+ params->video_page = 0; -+ params->video_mode = 0; -+ params->video_width = 0; -+ params->video_ega_bx = 0; -+ params->video_height = 0; -+ params->have_vga = 0x70; -+ params->font_size = 0; -+#else -+ params->video_cursor_x = grub_efi_system_table->con_out->mode->cursor_column; -+ params->video_cursor_y = grub_efi_system_table->con_out->mode->cursor_row; -+ params->video_page = 0; /* ??? */ -+ params->video_mode = grub_efi_system_table->con_out->mode->mode; -+ params->video_width = (grub_console_getwh () >> 8); -+ params->video_ega_bx = 0; -+ params->video_height = (grub_console_getwh () & 0xff); -+ params->have_vga = VIDEO_TYPE_EFI; -+ params->font_size = 16; /* XXX */ -+#endif -+ } -+} -+ -+static void -+pixel_to_rgb(grub_efi_graphics_output_pixel_t *pixel, -+ int *red, int *green, int *blue) -+{ -+ *red = pixel->bgrr.red; -+ *green = pixel->bgrr.green; -+ *blue = pixel->bgrr.blue; -+} -+ -+static void -+rgb_to_pixel(int red, int green, int blue, -+ grub_efi_graphics_output_pixel_t *pixel) -+{ -+ pixel->bgrr.red = red; -+ pixel->bgrr.green = green; -+ pixel->bgrr.blue = blue; -+} -+ -+static void -+position_to_phys(struct eg *eg, position_t *virt, position_t *phys) -+{ -+ phys->x = virt->x + eg->screen_pos.x; -+ phys->y = virt->y + eg->screen_pos.y; -+} -+ -+static int -+abs_paddr(struct eg *eg, position_t *virt) -+{ -+ position_t phys; -+ position_to_phys(eg, virt, &phys); -+ return phys.x + phys.y * eg->screen_size.x; -+} -+ -+struct bltbuf { -+ grub_efi_uintn_t width; -+ grub_efi_uintn_t height; -+ grub_efi_graphics_output_pixel_t pixbuf[]; -+}; -+ -+static struct bltbuf *alloc_bltbuf(grub_efi_uintn_t width, -+ grub_efi_uintn_t height) -+{ -+ struct bltbuf *buf = NULL; -+ grub_efi_uintn_t pixbuf_size = width * height * -+ sizeof (grub_efi_graphics_output_pixel_t); -+ -+ if (!(buf = grub_malloc(sizeof(buf->width) + sizeof(buf->height) + -+ pixbuf_size))) -+ return NULL; -+ -+ buf->width = width; -+ buf->height = height; -+ grub_memset(buf->pixbuf, '\0', pixbuf_size); -+ return buf; -+} -+ -+ -+static void -+hw_blt_pos_to_screen_pos(struct eg *eg, struct bltbuf *bltbuf, -+ position_t *bltpos, position_t *bltsz, position_t *pos) -+{ -+ position_t phys; -+ -+ position_to_phys(eg, pos, &phys); -+ -+ Call_Service_10(eg->output_intf->blt, eg->output_intf, (void *)bltbuf->pixbuf, -+ GRUB_EFI_BLT_BUFFER_TO_VIDEO, -+ bltpos->x, bltpos->y, -+ phys.x, phys.y, -+ bltsz->x, bltsz->y, -+ 0); -+} -+ -+static void -+blt_pos_to_screen_pos(struct eg *eg, struct bltbuf *bltbuf, -+ position_t *bltpos, position_t *bltsz, position_t *pos) -+{ -+ grub_efi_graphics_output_mode_information_t *info = get_graphics_mode_info(eg); -+ grub_efi_graphics_output_pixel_t *pixel; -+ position_t phys; -+ const int pxlstride = info->pixels_per_scan_line; -+ const int bytestride = pxlstride * sizeof (*pixel); -+ -+ position_to_phys(eg, pos, &phys); -+ -+ if (info->pixel_format == GRUB_EFI_PIXEL_BLT_ONLY || 1) { -+ hw_blt_pos_to_screen_pos(eg, bltbuf, bltpos, bltsz, pos); -+#if 0 -+ } else if (info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { -+ int y; -+ grub_pixel_info_t *pinfo = &eg->pixel_info; -+ const int maxpixels = -+ MIN(info->horizontal_resolution - pos->x, bltsz->x); -+ -+ for (y = bltpos->y; y < bltpos->y + bltsz->y; y++, phys.y++) { -+ char raw_pixels[maxpixels * pinfo->depth_bytes]; -+ char *fb = (char *)(unsigned long)eg->output_intf->mode->frame_buffer_base; -+ int x; -+ -+ pixel = (void *)&bltbuf->pixbuf[y * bltbuf->width + bltpos->x]; -+ fb += phys.y * pinfo->line_length + phys.x * pinfo->depth_bytes; -+ -+ for (x = 0; x < maxpixels; x++) { -+ char depth_bytes = pinfo->depth_bytes; -+ char *raw_pixel = raw_pixels + x * depth_bytes; -+ -+ int red, green, blue, color; -+ char *colorp; -+ -+#if 0 -+ red = pixel[x].bgrr.red & 0x3f; -+ green = pixel[x].bgrr.green & 0x3f; -+ blue = pixel[x].bgrr.blue & 0x3f; -+ red = red * ((1 << pinfo->red_size) - 1) / 0x3f; -+ green = green * ((1 << pinfo->green_size) - 1) / 0x3f; -+ blue = blue * ((1 << pinfo->blue_size) - 1) / 0x3f; -+#else -+ red = pixel[x].bgrr.red; -+ green = pixel[x].bgrr.green; -+ blue = pixel[x].bgrr.blue; -+ -+ red >>= 8 - pinfo->red_size; -+ green >>= 8 - pinfo->green_size; -+ blue >>= 8 - pinfo->blue_size; -+#endif -+ -+ color = (red << pinfo->red_pos) | -+ (green << pinfo->green_pos) | -+ (blue << pinfo->blue_pos); -+ colorp = (void *)&color; -+ while (depth_bytes--) -+ *raw_pixel++ = *colorp++; -+ } -+ memmove(fb, raw_pixels, maxpixels * pinfo->depth_bytes); -+ } -+#endif -+ } else { -+ int y; -+ grub_pixel_info_t *pinfo = &eg->pixel_info; -+ const int maxpixels = -+ MIN(info->horizontal_resolution - pos->x, bltsz->x); -+ -+ //char *line = &fb[phys.y * bytestride + phys.x * sizeof(*pixel)]; -+ for (y = bltpos->y; y < bltpos->y + bltsz->y; y++, phys.y++) { -+ char raw_pixels[maxpixels * sizeof(*pixel)]; -+ char *fb = (char *)(unsigned long)eg->output_intf->mode->frame_buffer_base; -+ int x; -+ -+ pixel = (void *)&bltbuf->pixbuf[y * bltbuf->width + bltpos->x]; -+ fb += phys.y * pinfo->line_length + phys.x * pinfo->depth_bytes; -+ -+ if (info->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) { -+ memmove(raw_pixels, pixel, maxpixels * sizeof (*pixel)); -+ continue; -+ } else if (info->pixel_format==GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) { -+ grub_efi_graphics_output_pixel_t shadow[maxpixels]; -+ for (x = 0; x < maxpixels; x++) { -+ shadow[x].rgbr.red = pixel[x].bgrr.red; -+ shadow[x].rgbr.green = pixel[x].bgrr.green; -+ shadow[x].rgbr.blue = pixel[x].bgrr.blue; -+ } -+ -+ memmove(raw_pixels, shadow, maxpixels * sizeof (*pixel)); -+ } else if (info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { -+ for (x = 0; x < maxpixels; x++) { -+ char depth_bytes = pinfo->depth_bytes; -+ char *raw_pixel = raw_pixels + x * depth_bytes; -+ -+ int red, green, blue, color; -+ char *colorp; -+ -+#if 0 -+ red = pixel[x].bgrr.red & 0x3f; -+ green = pixel[x].bgrr.green & 0x3f; -+ blue = pixel[x].bgrr.blue & 0x3f; -+ red = red * ((1 << pinfo->red_size) - 1) / 0x3f; -+ green = green * ((1 << pinfo->green_size) - 1) / 0x3f; -+ blue = blue * ((1 << pinfo->blue_size) - 1) / 0x3f; -+#else -+ red = pixel[x].bgrr.red; -+ green = pixel[x].bgrr.green; -+ blue = pixel[x].bgrr.blue; -+ -+ red >>= 8 - pinfo->red_size; -+ green >>= 8 - pinfo->green_size; -+ blue >>= 8 - pinfo->blue_size; -+#endif -+ -+ color = (red << pinfo->red_pos) | -+ (green << pinfo->green_pos) | -+ (blue << pinfo->blue_pos); -+ colorp = (void *)&color; -+ while (depth_bytes--) -+ *raw_pixel++ = *colorp++; -+ } -+ } -+ memmove(fb, raw_pixels, maxpixels * pinfo->depth_bytes); -+ } -+ } -+} -+ -+static void -+blt_to_screen(struct eg *eg, struct bltbuf *bltbuf) -+{ -+#if 0 -+ position_t addr = {0, 0}; -+ -+ position_to_phys(eg, &addr, &addr); -+ -+ Call_Service_10(eg->output_intf->blt, eg->output_intf, bltbuf->pixbuf, -+ GRUB_EFI_BLT_BUFFER_TO_VIDEO, -+ 0, 0, -+ addr.x, addr.y, -+ bltbuf->width, bltbuf->height, -+ 0); -+#else -+ const int pxlstride = eg->output_intf->mode->info->pixels_per_scan_line; -+ position_t bltsz, bltpos = { 0, 0 }, pos = { 0, 0 }; -+ bltsz.x = MIN(bltbuf->width, pxlstride); -+ bltsz.y = MIN(bltbuf->height, eg->output_intf->mode->info->vertical_resolution); -+ -+ blt_pos_to_screen_pos(eg, bltbuf, &bltpos, &bltsz, &pos); -+#endif -+} -+ -+static void -+blt_to_screen_pos(struct eg *eg, struct bltbuf *bltbuf, position_t *pos) -+{ -+ position_t bltpos = {0, 0}; -+ position_t bltsz = { bltbuf->width, bltbuf->height }; -+ blt_pos_to_screen_pos(eg, bltbuf, &bltpos, &bltsz, pos); -+} -+ -+static int -+save_video_mode(struct eg *eg, struct video_mode *mode) -+{ -+ grub_efi_status_t status; -+ -+ -+ -+ status = Call_Service_4(eg->output_intf->query_mode, eg->output_intf, -+ mode->number, &mode->size, &mode->info); -+ return status == GRUB_EFI_SUCCESS; -+} -+ -+static void -+get_screen_size(struct graphics_backend *backend, position_t *size) -+{ -+ struct eg *eg = backend->priv; -+ grub_efi_graphics_output_mode_information_t *info; -+ -+ info = get_graphics_mode_info(eg); -+ -+ size->x = info->horizontal_resolution; -+ size->y = info->vertical_resolution; -+} -+ -+static void -+bltbuf_set_pixel(struct bltbuf *bltbuf, position_t *pos, -+ grub_efi_graphics_output_pixel_t *pixel) -+{ -+ if (pos->x < 0 || pos->x >= bltbuf->width) -+ return; -+ if (pos->x < 0 || pos->y >= bltbuf->height) -+ return; -+ grub_memmove(&bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], pixel, -+ sizeof *pixel); -+} -+ -+static void -+bltbuf_get_pixel(struct bltbuf *bltbuf, position_t *pos, -+ grub_efi_graphics_output_pixel_t *pixel) -+{ -+ if (bltbuf && pos->x < bltbuf->width && pos->y < bltbuf->height) { -+ grub_memmove(pixel, &bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], -+ sizeof *pixel); -+ } else { -+ pixel->bgrr.red = 0x00; -+ pixel->bgrr.green = 0x00; -+ pixel->bgrr.blue = 0x00; -+ } -+} -+ -+static void -+bltbuf_set_pixel_rgb(struct bltbuf *bltbuf, position_t *pos, -+ int red, int green, int blue) -+{ -+ grub_efi_graphics_output_pixel_t pixel; -+ rgb_to_pixel(red, green, blue, &pixel); -+ bltbuf_set_pixel(bltbuf, pos, &pixel); -+} -+ -+static void -+bltbuf_set_pixel_idx(struct eg *eg, struct bltbuf *bltbuf, -+ position_t *pos, int idx) -+{ -+ bltbuf_set_pixel(bltbuf, pos, &eg->palette[idx]); -+} -+ -+static void -+bltbuf_get_pixel_idx(struct bltbuf *bltbuf, position_t *pos, int *idx) -+{ -+ grub_efi_graphics_output_pixel_t pixel; -+ -+ rgb_to_pixel(0, 0, 0, &pixel); -+ bltbuf_get_pixel(bltbuf, pos, &pixel); -+ for (*idx = 0; *idx < 16; (*idx)++) { -+ if (pixel_equal(cga_colors[*idx], pixel)) -+ break; -+ } -+} -+ -+static struct bltbuf * -+xpm_to_bltbuf(struct xpm *xpm) -+{ -+ struct bltbuf *bltbuf = NULL; -+ position_t pos; -+ -+ if (!(bltbuf = alloc_bltbuf(xpm->width, xpm->height))) -+ return NULL; -+ -+ for (pos.y = 0; pos.y < xpm->height; pos.y++) { -+ for (pos.x = 0; pos.x < xpm->width; pos.x++) { -+ xpm_pixel_t xpl; -+ unsigned char idx; -+ -+ idx = xpm_get_pixel_idx(xpm, pos.x, pos.y); -+ xpm_get_idx(xpm, idx, &xpl); -+ -+ bltbuf_set_pixel_rgb(bltbuf, &pos, xpl.red, xpl.green, xpl.blue); -+ } -+ } -+ -+ return bltbuf; -+} -+ -+static void -+cursor(struct graphics_backend *backend, int set) -+{ -+ struct eg *eg; -+ int ch, invert; -+ unsigned short *text; -+ position_t fpos, screensz; -+ int offset; -+ -+ eg = backend->priv; -+ -+ if (set && !graphics_get_scroll()) -+ return; -+ -+ text = graphics_get_text_buf(); -+ graphics_get_font_position(&fpos); -+ graphics_get_screen_rowscols(&screensz); -+ -+ offset = fpos.y * screensz.x + fpos.x; -+ -+ if (set) -+ text[offset] |= 0x0200; -+ -+ graphics_clbl(fpos.x, fpos.y, 1, 1, 1); -+ -+ if (set) -+ text[offset] &= 0xfdff; -+} -+ -+static void blank(struct graphics_backend *backend); -+ -+static void -+reset_screen_geometry(struct graphics_backend *backend) -+{ -+ struct eg *eg = backend->priv; -+ struct xpm *xpm = graphics_get_splash_xpm(); -+ grub_efi_graphics_output_mode_information_t *info; -+ position_t screensz; -+ -+ info = get_graphics_mode_info(eg); -+ -+ if (xpm) { -+ eg->screen_pos.x = -+ (info->horizontal_resolution - xpm->width) / 2; -+ eg->screen_pos.y = -+ (info->vertical_resolution - xpm->height) / 2; -+ } else { -+ eg->screen_pos.x = 0; -+ eg->screen_pos.y = 0; -+ } -+ -+ blank(backend); -+ graphics_get_screen_rowscols(&screensz); -+ graphics_clbl(0, 0, screensz.x, screensz.y, 0); -+ graphics_clbl(0, 0, screensz.x, screensz.y, 1); -+} -+ -+static void -+setxy(struct graphics_backend *backend, position_t *pos) -+{ -+ position_t fpos; -+ -+ fpos.x = pos->x; -+ fpos.y = pos->y; -+ graphics_set_font_position(&fpos); -+} -+ -+static void -+eg_getxy(struct graphics_backend *backend, position_t *pos) -+{ -+ graphics_get_font_position(pos); -+} -+ -+static void -+draw_pixel(struct graphics_backend *backend, position_t *pos, pixel_t *pixel) -+{ -+ struct bltbuf *bltbuf = NULL; -+ grub_efi_graphics_output_pixel_t *eup = (grub_efi_graphics_output_pixel_t *)pixel; -+ -+ bltbuf = alloc_bltbuf(1,1); -+ if (!bltbuf) -+ return; -+ -+ grub_memmove(&bltbuf->pixbuf[0], eup, sizeof (*eup)); -+ -+ blt_to_screen_pos(backend->priv, bltbuf, pos); -+ -+ grub_free(bltbuf); -+} -+ -+static pixel_t * -+get_pixel_idx(struct graphics_backend *backend, int idx) -+{ -+ static grub_efi_graphics_output_pixel_t pixel; -+ struct eg *eg = backend->priv; -+ if (idx < 0 || idx > MAX_PALETTE) -+ return NULL; -+ pixel.bgrr.red = eg->palette[idx].bgrr.red; -+ pixel.bgrr.green = eg->palette[idx].bgrr.green; -+ pixel.bgrr.blue = eg->palette[idx].bgrr.blue; -+ return (pixel_t *)&pixel; -+} -+ -+static pixel_t * -+get_pixel_rgb(struct graphics_backend *backend, int red, int green, int blue) -+{ -+ static grub_efi_graphics_output_pixel_t pixel; -+ rgb_to_pixel(red, green, blue, &pixel); -+ return &pixel; -+} -+ -+static void -+set_palette(struct graphics_backend *backend, int idx, -+ int red, int green, int blue) -+{ -+ grub_efi_graphics_output_pixel_t pixel; -+ struct eg *eg = backend->priv; -+ -+ if (idx > MAX_PALETTE) -+ return; -+ rgb_to_pixel(red, green, blue, &pixel); -+ grub_memmove(&eg->palette[idx], &pixel, sizeof pixel); -+} -+ -+static void -+blank(struct graphics_backend *backend) -+{ -+ struct eg *eg = backend->priv; -+ struct bltbuf *bltbuf; -+ position_t pos = {0, 0}; -+ grub_efi_graphics_output_mode_information_t *info; -+ grub_efi_uintn_t x, y, i, j; -+ unsigned char r = 0 ,g = 0; -+ -+ info = get_graphics_mode_info(eg); -+ x = info->horizontal_resolution; -+ y = info->vertical_resolution; -+ -+ if (x == 0 || y == 0) -+ return; -+ -+ bltbuf = alloc_bltbuf(x, y); -+ for (j = 0; j < y; j++) { -+ if (debug_graphics && j % 16 == 0) { -+ g = g == 0 ? 7 : 0; -+ r = g == 0 ? 7 : 0; -+ } -+ for (i = 0; i < x; i++) { -+ if (debug_graphics && i % 16 == 0) { -+ g = g == 0 ? 7 : 0; -+ r = g == 0 ? 7 : 0; -+ } -+ pos.x = i; -+ pos.y = j; -+ bltbuf_set_pixel_rgb(bltbuf, &pos, r * 16, g * 16, 0x0); -+ } -+ } -+ -+ blt_to_screen(eg, bltbuf); -+ -+ grub_free(bltbuf); -+} -+ -+ -+static void -+draw_white_box(struct graphics_backend *backend) -+{ -+ struct eg *eg = backend->priv; -+ struct bltbuf *bltbuf; -+ position_t pos = {0, 0}, bltpos = {0, 0}, bltsz = {100,100}; -+ -+ bltbuf = alloc_bltbuf(bltsz.x, bltsz.y); -+ for (pos.y = 0; pos.y < bltsz.y; pos.y++) { -+ for (pos.x = 0; pos.x < bltsz.x; pos.x++) { -+ bltbuf_set_pixel_rgb(bltbuf, &pos, 0xff, 0xff, 0xff); -+ } -+ } -+ -+ blt_pos_to_screen_pos(eg, bltbuf, &bltpos, &bltsz, &pos); -+ -+#if 0 -+ Call_Service_10(eg->output_intf->blt, eg->output_intf, bltbuf->pixbuf, -+ GRUB_EFI_BLT_BUFFER_TO_VIDEO, 0, 0, 100, 100, x, y, 0); -+#endif -+ -+ grub_free(bltbuf); -+} -+ -+static void -+bltbuf_cp_bl(struct bltbuf *d, position_t dpos, -+ struct bltbuf *s, position_t spos) -+{ -+ grub_efi_graphics_output_pixel_t *dp, *sp; -+ -+ const int xavail = MAX(0, s ? s->width - spos.x : 0); -+ const int xtotal = MAX(0, d->width - dpos.x); -+ const int xcp = MAX(0, MIN(xtotal, xavail)); -+ const int xcl = MAX(0, xtotal - xcp); -+ -+ const int yavail = MAX(0, s ? s->height - spos.y : 0); -+ const int ytotal = MAX(0, d->height - dpos.y); -+ const int ycp = MAX(0, MIN(ytotal, yavail)); -+ const int ycl = MAX(0, ytotal - ycp); -+ -+ int y, x; -+ -+ for (y = 0; y < ytotal; y++) { -+ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x]; -+ -+ if (y < yavail) { -+ sp = &s->pixbuf[(spos.y + y) * s->width + spos.x]; -+ memmove(dp, sp, xcp * sizeof (*dp)); -+ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x + xcp]; -+ memset(dp, '\0', xcl * sizeof (*dp)); -+ } else { -+ memset(dp, '\0', xtotal * sizeof (*dp)); -+ } -+ } -+} -+ -+/* copy a region the size of bltbuf from the background into bltbuf, -+ * starting at offset bgpos -+ */ -+static void -+bltbuf_draw_bg(struct graphics_backend *backend, struct bltbuf *bltbuf, -+ position_t bgpos) -+{ -+ struct eg *eg = backend->priv; -+ position_t blpos = { 0, 0 }; -+ -+ bltbuf_cp_bl(bltbuf, blpos, eg->background, bgpos); -+} -+ -+static void -+dbg_dump_palette(struct graphics_backend *backend) -+{ -+ struct eg *eg; -+ int i; -+ if (!backend || !backend->priv) -+ return; -+ eg = backend->priv; -+ if (!eg->palette) -+ return; -+} -+ -+static int -+is_shadow_pixel(position_t screensz, position_t textpos, position_t bitpos, -+ position_t fontsz) -+{ -+ unsigned short *text = graphics_get_text_buf(); -+ const unsigned char *glyph; -+ position_t glyphpos = { textpos.x, textpos.y }; -+ position_t glyphbit = { bitpos.x, bitpos.y }; -+ unsigned short ch; -+ -+ if (glyphbit.x == 0) { -+ glyphbit.x = fontsz.x; -+ glyphpos.x--; -+ } -+ if (glyphbit.y == 0) { -+ glyphbit.y = fontsz.y; -+ glyphpos.y--; -+ } -+ glyphbit.x--; -+ glyphbit.y--; -+ -+ if (glyphpos.x < 0 || glyphpos.y < 0) -+ return 0; -+ -+ ch = text[glyphpos.y * screensz.x + glyphpos.x] & 0xff; -+ glyph = font8x16 + (ch << 4); -+ return glyph[glyphbit.y] & (1 << ((fontsz.x-1) - glyphbit.x)); -+} -+ -+static void -+bltbuf_draw_character(struct graphics_backend *backend, -+ struct bltbuf *bltbuf, /* the bltbuf to draw into */ -+ position_t target, /* the position in the bltbuf to draw to */ -+ position_t fontsz, /* the size of the font, in pixels */ -+ position_t charpos, /* the position of the character in the text -+ screen buffer */ -+ position_t screensz, /* the size of the screen in characters */ -+ unsigned short ch /* the character to draw, plus flags */ -+ ) -+{ -+ struct eg *eg = backend->priv; -+ position_t blpos; -+ position_t glyphpos; -+ -+ blpos.y = target.y; -+ for (glyphpos.y = 0; glyphpos.y < fontsz.y; glyphpos.y++, blpos.y++) { -+ blpos.x = target.x; -+ for (glyphpos.x = 0; glyphpos.x < fontsz.x; glyphpos.x++, blpos.x++) { -+ int invert = (ch & 0x0100) != 0; -+ int set = (ch & 0x0200) != 0; -+ const unsigned char *glyph = font8x16 + ((ch & 0xff) << 4); -+ int bit = glyph[glyphpos.y] & (1 << ((fontsz.x-1) - glyphpos.x)); -+ int idx = -1; -+ -+ if (!set) { -+ if (invert) -+ idx = bit ? 0 : 15; -+ else if (bit) -+ idx = 15; -+ -+ if (idx == -1) { -+ if (is_shadow_pixel(screensz, charpos, glyphpos, fontsz) || -+ !eg->background) -+ idx = invert ? 15 : 0; -+ } -+ } else { -+ idx = bit ? 0 : 15; -+ } -+ -+ if (idx != -1) -+ bltbuf_set_pixel_idx(eg, bltbuf, &blpos, idx); -+ } -+ } -+} -+ -+static void -+bltbuf_draw_text(struct graphics_backend *backend, -+ struct bltbuf *bltbuf, /* the buffer to draw into */ -+ position_t screensz, /* the size of the screen in characters */ -+ position_t fontsz, /* the size of the font in pixels */ -+ position_t txtpos, /* the position of the text on the screen -+ (in characters) */ -+ position_t txtsz /* the size of the block to fill in -+ (in characters) */ -+ ) -+{ -+ struct eg *eg = backend->priv; -+ unsigned short *text = graphics_get_text_buf(); -+ position_t charpos; -+ -+ for (charpos.y = txtpos.y; charpos.y < txtpos.y + txtsz.y; charpos.y++) { -+ for (charpos.x = txtpos.x; charpos.x < txtpos.x + txtsz.x; charpos.x++){ -+ int offset = charpos.y * screensz.x + charpos.x; -+ position_t blpos = { (charpos.x-txtpos.x)*fontsz.x, -+ (charpos.y-txtpos.y)*fontsz.y }; -+ -+ bltbuf_draw_character(backend, bltbuf, blpos, fontsz, charpos, -+ screensz, text[offset]); -+ } -+ } -+} -+ -+static void -+clbl(struct graphics_backend *backend, int col, int row, int width, int height, -+ int draw_text) -+{ -+ struct eg *eg = backend->priv; -+ struct xpm *xpm; -+ -+ struct bltbuf *bltbuf; -+ position_t fontsz, blpos, blsz, screensz; -+ unsigned short *text; -+ -+// blank(backend); -+// -+ xpm = graphics_get_splash_xpm(); -+ if (xpm && !eg->background) -+ eg->background = xpm_to_bltbuf(xpm); -+ -+ graphics_get_screen_rowscols(&screensz); -+ width = MIN(width, screensz.x - col); -+ height = MIN(height, screensz.y - row); -+ graphics_get_font_size(&fontsz); -+ -+ blsz.x = width * fontsz.x; -+ blsz.y = height * fontsz.y; -+ -+ bltbuf = alloc_bltbuf(blsz.x, blsz.y); -+ if (!bltbuf) -+ return; -+ -+ blsz.x = col * fontsz.x; -+ blsz.y = row * fontsz.y; -+ -+ text = graphics_get_text_buf(); -+ bltbuf_draw_bg(backend, bltbuf, blsz); -+ -+ if (draw_text) { -+ blsz.x = width; -+ blsz.y = height; -+ blpos.x = col; -+ blpos.y = row; -+ -+ bltbuf_draw_text(backend, bltbuf, screensz, fontsz, blpos, blsz); -+ } -+ -+ blpos.x = col * fontsz.x; -+ blpos.y = row * fontsz.y; -+ -+ blt_to_screen_pos(eg, bltbuf, &blpos); -+} -+ -+static void -+setup_cga_palette(struct eg *eg) -+{ -+ rgb_to_pixel(0x00,0x00,0x00, &eg->palette[0]); // 0 Black -+ rgb_to_pixel(0x7f,0x00,0x00, &eg->palette[1]); // 1 Dark Red -+ rgb_to_pixel(0x00,0x7f,0x00, &eg->palette[2]); // 2 Dark Green -+ rgb_to_pixel(0x7f,0x7f,0x00, &eg->palette[3]); // 3 Dark Yellow -+ rgb_to_pixel(0x00,0x00,0x7f, &eg->palette[4]); // 4 Dark Blue -+ rgb_to_pixel(0x7f,0x00,0x7f, &eg->palette[5]); // 5 Dark Magenta -+ rgb_to_pixel(0x00,0x7f,0x7f, &eg->palette[6]); // 6 Dark Cyan -+ rgb_to_pixel(0xc0,0xc0,0xc0, &eg->palette[7]); // 7 Light Grey -+ rgb_to_pixel(0x7f,0x7f,0x7f, &eg->palette[8]); // 8 Dark Grey -+ rgb_to_pixel(0xff,0x00,0x00, &eg->palette[9]); // 9 Red -+ rgb_to_pixel(0x00,0xff,0x00, &eg->palette[10]); // 10 Green -+ rgb_to_pixel(0xff,0xff,0x00, &eg->palette[11]); // 11 Yellow -+ rgb_to_pixel(0x00,0x00,0xff, &eg->palette[12]); // 12 Blue -+ rgb_to_pixel(0xff,0x00,0xff, &eg->palette[13]); // 13 Magenta -+ rgb_to_pixel(0x00,0xff,0xff, &eg->palette[14]); // 14 Cyan -+ rgb_to_pixel(0xff,0xff,0xff, &eg->palette[15]); // 15 White -+ rgb_to_pixel(0xff,0xff,0xff, &eg->palette[16]); // 16 Also white ;) -+} -+ -+static grub_efi_status_t -+set_video_mode(struct eg *eg, int mode) -+{ -+ grub_efi_status_t efi_status; -+ efi_status = Call_Service_2(eg->output_intf->set_mode, eg->output_intf, mode); -+ return efi_status; -+} -+ -+static void disable(struct graphics_backend *backend) -+{ -+ struct eg *eg; -+ -+ if (!backend) -+ return; -+ -+ eg = backend->priv; -+ if (!eg || eg->current_mode != GRAPHICS) -+ return; -+ -+#if 0 -+ blank(backend); -+ -+ set_video_mode(eg, eg->text_mode); -+ grub_efi_set_text_mode(1); -+#endif -+ eg->current_mode = TEXT; -+} -+ -+static int -+fill_pixel_info (grub_pixel_info_t *pixel_info, -+ grub_efi_graphics_output_mode_information_t *mode_info) -+{ -+ if (mode_info->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) -+ { -+ pixel_info->depth_bits = 32; -+ pixel_info->depth_bytes = 4; -+ pixel_info->red_size = 8; -+ pixel_info->red_pos = 0; -+ pixel_info->green_size = 8; -+ pixel_info->green_pos = 8; -+ pixel_info->blue_size = 8; -+ pixel_info->blue_pos = 16; -+ pixel_info->reserved_size = 8; -+ pixel_info->reserved_pos = 24; -+ pixel_info->line_length = mode_info->pixels_per_scan_line * 4; -+ } -+ else if (mode_info->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) -+ { -+ pixel_info->depth_bits = 32; -+ pixel_info->depth_bytes = 4; -+ pixel_info->red_size = 8; -+ pixel_info->red_pos = 16; -+ pixel_info->green_size = 8; -+ pixel_info->green_pos = 8; -+ pixel_info->blue_size = 8; -+ pixel_info->blue_pos = 0; -+ pixel_info->reserved_size = 8; -+ pixel_info->reserved_pos = 24; -+ pixel_info->line_length = mode_info->pixels_per_scan_line * 4; -+ } -+ else if (mode_info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) -+ { -+ find_bits (mode_info->pixel_information.red_mask, -+ &pixel_info->red_pos, &pixel_info->red_size); -+ find_bits (mode_info->pixel_information.green_mask, -+ &pixel_info->green_pos, &pixel_info->green_size); -+ find_bits (mode_info->pixel_information.blue_mask, -+ &pixel_info->blue_pos, &pixel_info->blue_size); -+ find_bits (mode_info->pixel_information.reserved_mask, -+ &pixel_info->reserved_pos, &pixel_info->reserved_size); -+ pixel_info->depth_bits = pixel_info->red_size + pixel_info->green_size + -+ pixel_info->blue_size + pixel_info->reserved_size; -+ pixel_info->depth_bytes = (pixel_info->depth_bits + 7) / 8; -+ pixel_info->line_length = mode_info->pixels_per_scan_line * -+ pixel_info->depth_bytes; -+ } -+ else -+ return 0; -+ return 1; -+} -+ -+/* 1 = prefer a -+ * 0 = prefer neither -+ * -1 = prefer b -+ */ -+static int -+modecmp_helper(struct eg *eg, struct video_mode *amode, struct video_mode *bmode) -+{ -+ grub_efi_graphics_output_mode_information_t *a = amode->info; -+ grub_efi_graphics_output_mode_information_t *b = bmode->info; -+ -+ if (a != NULL && b == NULL) -+ return 1; -+ if (a == NULL && b == NULL) -+ return 0; -+ if (a == NULL && b != NULL) -+ return -1; -+ -+#if 0 -+ if (amode->number == eg->graphics_mode && bmode->number != eg->graphics_mode) -+ return 1; -+ if (amode->number == eg->graphics_mode && bmode->number == eg->graphics_mode) -+ return 0; -+ if (amode->number != eg->graphics_mode && bmode->number == eg->graphics_mode) -+ return -1; -+#endif -+ -+ -+ /* kernel doesn't deal with blt only modes, so prefer against them. */ -+ if (a->pixel_format != GRUB_EFI_PIXEL_BLT_ONLY && -+ b->pixel_format == GRUB_EFI_PIXEL_BLT_ONLY) -+ return 1; -+ if (b->pixel_format != GRUB_EFI_PIXEL_BLT_ONLY && -+ a->pixel_format == GRUB_EFI_PIXEL_BLT_ONLY) -+ return -1; -+ -+ /* XXX PJFIX there's something wrong with what we're passing to the -+ * kernel for stride in the bgrr/rgbr modes, and I haven't figured out -+ * just what yet, so for now, prefer bitmask modes. -+ */ -+ if (a->pixel_format == GRUB_EFI_PIXEL_BIT_MASK && -+ b->pixel_format != GRUB_EFI_PIXEL_BIT_MASK) -+ return 1; -+ if (a->pixel_format != GRUB_EFI_PIXEL_BIT_MASK && -+ b->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) -+ return -1; -+ -+ if (a->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR && -+ b->pixel_format != GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) -+ return 1; -+ if (a->pixel_format != GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR && -+ b->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) -+ return -1; -+ -+ if (a->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR && -+ b->pixel_format != GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) -+ return 1; -+ if (a->pixel_format != GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR && -+ b->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) -+ return -1; -+ -+ if (a->horizontal_resolution > b->horizontal_resolution && -+ a->vertical_resolution > b->vertical_resolution) -+ return 1; -+ if (a->horizontal_resolution < b->horizontal_resolution && -+ a->vertical_resolution < b->vertical_resolution) -+ return -1; -+ return 0; -+} -+ -+static int -+modecmp(struct eg *eg, struct video_mode *amode, struct video_mode *bmode) -+{ -+ int rc; -+#if 0 -+ grub_efi_graphics_output_mode_information_t *a = amode->info; -+ grub_efi_graphics_output_mode_information_t *b = bmode->info; -+#endif -+ rc = modecmp_helper(eg, amode, bmode); -+#if 0 -+ grub_printf("comparing nodes:\n"); -+ print_mode_info(amode); -+ print_mode_info(bmode); -+ if (rc > 0) -+ grub_printf("result: a > b\n"); -+ else if (rc < 0) -+ grub_printf("result: a < b\n"); -+ else -+ grub_printf("result: a == b\n"); -+ -+ //dbgdelay(__FILE__, __LINE__); -+#endif -+ return rc; -+} -+ -+static void -+modeswap(struct video_mode *amode, struct video_mode *bmode) -+{ -+ struct video_mode tmp; -+ -+ memcpy(&tmp, amode, sizeof (tmp)); -+ memcpy(amode, bmode, sizeof (tmp)); -+ memcpy(bmode, &tmp, sizeof(tmp)); -+} -+ -+static void -+sort_modes(struct eg *eg, int p, int r) -+{ -+ struct video_mode **modes = eg->modes; -+ -+ int i, j; -+ for (i = 0; i < eg->max_mode; i++) { -+ for (j = i + 1; j < eg->max_mode; j++) { -+ if (modecmp(eg, modes[j], modes[i]) < 0) -+ modeswap(modes[j], modes[i]); -+ } -+ } -+} -+ -+static int -+try_enable(struct graphics_backend *backend) -+{ -+ struct eg *eg = backend->priv; -+ grub_efi_status_t efi_status = GRUB_EFI_UNSUPPORTED; -+ int i; -+ -+ if (eg->text_mode == 0xffffffff) { -+ grub_efi_set_text_mode(1); -+ eg->text_mode = eg->output_intf->mode->mode; -+ } -+ -+ if (eg->graphics_mode == 0xffffffff) { -+ grub_efi_graphics_output_mode_information_t *info; -+ -+ if (!graphics_alloc_text_buf()) -+ return 0; -+ -+ grub_efi_set_text_mode(0); -+ eg->graphics_mode = eg->output_intf->mode->mode; -+ grub_efi_set_text_mode(1); -+#if 0 -+ dprintf("graphics mode is %d\n", eg->graphics_mode); -+ /* this is okay here because we haven't sorted yet.*/ -+ print_mode_info(eg->modes[eg->graphics_mode]); -+ dprintf("text mode is %d\n", eg->text_mode); -+ print_mode_info(eg->modes[eg->text_mode]); -+#endif -+ -+ sort_modes(eg, 0, eg->max_mode-1); -+ -+#if 0 -+ for (i = eg->max_mode - 1; i >= 0; i--) -+ print_mode_info(eg->modes[i]); -+ dbgdelay(__FILE__, __LINE__); -+#endif -+ -+ efi_status = GRUB_EFI_UNSUPPORTED; -+ -+ for (i = eg->max_mode - 1; i >= 0; i--) { -+ if (!eg->modes[i]) -+ continue; -+ -+ info = eg->modes[i]->info; -+ -+#if 0 -+ if (info->pixel_format != GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR && -+ info->pixel_format != GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR && -+ info->pixel_format != GRUB_EFI_PIXEL_BIT_MASK) { -+ continue; -+ } -+#endif -+ -+ grub_efi_set_text_mode(0); -+ efi_status = set_video_mode(eg, eg->modes[i]->number); -+ if (efi_status == GRUB_EFI_SUCCESS) { -+#if 0 -+ grub_efi_set_text_mode(1); -+ dprintf("switched to mode %d successfully\n", -+ eg->modes[i]->number); -+ dbgdelay(__FILE__,__LINE__); -+ grub_efi_set_text_mode(0); -+#endif -+ eg->graphics_mode = eg->modes[i]->number; -+ fill_pixel_info(&eg->pixel_info, info); -+ break; -+ } else { -+#if 0 -+ set_video_mode(eg, eg->text_mode); -+ grub_efi_set_text_mode(1); -+ dprintf("return code was %d\n", efi_status); -+#endif -+ } -+ } -+ if (efi_status != GRUB_EFI_SUCCESS) { -+#if 1 -+ grub_efi_set_text_mode(1); -+ set_video_mode(eg, eg->text_mode); -+#endif -+ return 0; -+ } -+ -+ } -+ -+ eg->current_mode = GRAPHICS; -+ return 1; -+} -+ -+static int -+enable(struct graphics_backend *backend) -+{ -+ struct eg *eg = backend->priv; -+ int i; -+ -+ if (eg) { -+ if (eg->current_mode == GRAPHICS) { -+ return 1; -+ } -+ } else { -+ grub_efi_status_t efi_status; -+ grub_efi_handle_t *handle, *handles; -+ grub_efi_uintn_t num_handles; -+ grub_efi_pci_io_t *pci_proto; -+ -+ if (!(eg = grub_malloc(sizeof (*eg)))) -+ return 0; -+ -+ grub_memset(eg, '\0', sizeof (*eg)); -+ -+ eg->backend = backend; -+ eg->current_mode = TEXT; -+ -+ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, -+ &graphics_output_guid, -+ NULL, &num_handles); -+ -+ if (!num_handles || !handles) -+ goto fail; -+ -+ for (handle = handles; num_handles--; handle++) -+ { -+ pci_proto = grub_efi_open_protocol (*handle, &pci_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ if (!pci_proto) -+ continue; -+ -+ eg->output_intf = grub_efi_open_protocol (*handle, -+ &graphics_output_guid, GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ if (eg->output_intf) -+ { -+ grub_efi_setup_gfx_pci(*handle); -+ break; -+ } -+ } -+ -+ grub_free(handles); -+ -+ if (!eg->output_intf) -+ goto fail; -+ -+ eg->text_mode = eg->graphics_mode = 0xffffffff; -+ -+ eg->max_mode = eg->output_intf->mode->max_mode; -+ eg->modes = grub_malloc(eg->max_mode * sizeof (void *)); -+ if (!eg->modes) -+ goto fail; -+ memset(eg->modes, '\0', eg->max_mode * sizeof (void *)); -+ -+ for (i = 0; i < eg->max_mode; i++) { -+ eg->modes[i] = grub_malloc(sizeof eg->modes[0]); -+ if (!eg->modes[i]) -+ goto fail; -+ memset(eg->modes[i], '\0', sizeof (eg->modes[0])); -+ eg->modes[i]->number = i; -+ -+ efi_status = Call_Service_4(eg->output_intf->query_mode, -+ eg->output_intf, i, &eg->modes[i]->size, -+ &eg->modes[i]->info); -+ if (efi_status == GRUB_EFI_NOT_STARTED) { -+ /* The firmware didn't turn on GRAPHICS_OUTPUT_PROTOCOL, so -+ * try to do so ourselves. Thanks, Intel. */ -+ set_video_mode(eg, eg->output_intf->mode->mode); -+ efi_status = Call_Service_4(eg->output_intf->query_mode, -+ eg->output_intf, i, &eg->modes[i]->size, -+ &eg->modes[i]->info); -+ } -+ if (efi_status != GRUB_EFI_SUCCESS) { -+ grub_free(eg->modes[i]); -+ eg->modes[i] = NULL; -+ //eg->max_mode = i; -+ break; -+ } -+ } -+ -+ backend->priv = eg; -+ setup_cga_palette(eg); -+ for (i = 0; i < n_cga_colors; i++) { -+ eg->palette[i].bgrr.red = cga_colors[i].bgrr.red; -+ eg->palette[i].bgrr.green = cga_colors[i].bgrr.green; -+ eg->palette[i].bgrr.blue = cga_colors[i].bgrr.blue; -+ } -+ } -+ -+ if (try_enable(backend)) { -+ reset_screen_geometry(backend); -+ return 1; -+ } -+ -+fail: -+ backend->priv = NULL; -+ if (eg->modes) { -+ for (i = 0; i < eg->max_mode; i++) { -+ if (eg->modes[i]) -+ grub_free(eg->modes[i]); -+ } -+ grub_free(eg->modes); -+ } -+ grub_free(eg); -+ return 0; -+} -+ -+struct graphics_backend eg_backend = { -+ .name = "eg", -+ .enable = enable, -+ .disable = disable, -+ .set_kernel_params = set_kernel_params, -+ .clbl = clbl, -+ .set_palette = set_palette, -+ .get_pixel_idx = get_pixel_idx, -+ .get_pixel_rgb = get_pixel_rgb, -+ .draw_pixel = draw_pixel, -+ .reset_screen_geometry = reset_screen_geometry, -+ .get_screen_size = get_screen_size, -+ .getxy = eg_getxy, -+ .setxy = setxy, -+ .gotoxy = NULL, -+ .cursor = cursor, -+}; -+ -+#endif /* SUPPORT_GRAPHICS */ -diff --git a/efi/efimain.c b/efi/efimain.c -new file mode 100644 -index 0000000..e1a1e66 ---- /dev/null -+++ b/efi/efimain.c -@@ -0,0 +1,129 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2007 Intel Corp. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+ * MA 02110-1301, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#include "pxe.h" -+ -+#define GRUB_SCRATCH_MEM_PAGES (GRUB_SCRATCH_MEM_SIZE >> 12) -+ -+/* Emulation requirements. */ -+void *grub_scratch_mem = NULL; -+ -+#define LOW_STACK_SIZE 0x100000 -+#define LOW_STACK_PAGES (LOW_STACK_SIZE >> 12) -+static void *low_stack, *real_stack; -+ -+extern int grub_test_pxe(grub_efi_loaded_image_t *loaded_image); -+ -+static void -+real_main (void) -+{ -+ grub_efi_loaded_image_t *loaded_image; -+ char *path_name = NULL; -+ -+ loaded_image = grub_efi_get_loaded_image (grub_efi_image_handle); -+ -+ path_name = grub_efi_pxe_get_config_path(loaded_image); -+ -+ if (path_name) { -+ network_ready = 1; -+ -+ grub_set_config_file (path_name); -+ grub_free (path_name); -+ } else { -+ grub_get_drive_partition_from_bdev_handle (loaded_image->device_handle, -+ &boot_drive, -+ &install_partition); -+ path_name = grub_efi_file_path_to_path_name (loaded_image->file_path); -+ -+ if (path_name) -+ { -+ grub_set_config_file (path_name); -+ grub_free (path_name); -+ } -+ -+ grub_load_saved_default (loaded_image->device_handle); -+ } -+ -+ init_bios_info (); -+ while (console_getkey() < 0) -+ grub_efi_stall(1000); -+} -+ -+grub_efi_status_t -+efi_main (grub_efi_handle_t image_handle, grub_efi_system_table_t *sys_tab) -+{ -+ grub_efi_image_handle = image_handle; -+ grub_efi_system_table = sys_tab; -+ grub_efi_init (); -+ -+ grub_scratch_mem = grub_efi_allocate_pages (0, GRUB_SCRATCH_MEM_PAGES); -+ if (! grub_scratch_mem) -+ { -+ grub_printf ("Failed to allocate scratch mem!\n"); -+ return GRUB_EFI_OUT_OF_RESOURCES; -+ } -+ -+ /* If current stack reside in memory region > 2G, switch stack to a -+ memory region < 2G */ -+ if ((unsigned long)&image_handle >= 0x80000000UL) -+ { -+ low_stack = grub_efi_allocate_pages (0, LOW_STACK_PAGES); -+ if (! low_stack) -+ { -+ grub_printf("Failed to allocate low memory stack!\n"); -+ return GRUB_EFI_OUT_OF_RESOURCES; -+ } -+ -+#ifdef __x86_64__ -+ asm volatile ("movq %%rsp, %0\n\tmovq %1, %%rsp\n" -+ : "=&r" (real_stack) : "r" (low_stack+LOW_STACK_SIZE)); -+#else -+ asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n" -+ : "=&r" (real_stack) : "r" (low_stack+LOW_STACK_SIZE)); -+#endif -+ } -+ -+ real_main (); -+ -+ if (real_stack) { -+#ifdef __x86_64__ -+ asm volatile ("movq %0, %%rsp\n" : : "r" (real_stack)); -+#else -+ asm volatile ("movl %0, %%esp\n" : : "r" (real_stack)); -+#endif -+ -+ grub_efi_free_pages ((grub_efi_physical_address_t)(unsigned long) low_stack, -+ LOW_STACK_PAGES); -+ } -+ -+ grub_efi_free_pages ((grub_efi_physical_address_t)(unsigned long)grub_scratch_mem, -+ GRUB_SCRATCH_MEM_PAGES); -+ grub_efi_fini (); -+ -+ return GRUB_EFI_SUCCESS; -+} -diff --git a/efi/efimisc.c b/efi/efimisc.c -new file mode 100644 -index 0000000..480ba25 ---- /dev/null -+++ b/efi/efimisc.c -@@ -0,0 +1,665 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+ * MA 02110-1301, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+unsigned long install_partition = 0x20000; -+unsigned long boot_drive = 0x80; -+int saved_entryno = 0; -+char version_string[] = VERSION; -+char config_file[128] = "/boot/grub/menu.lst"; -+unsigned short io_map[IO_MAP_SIZE]; -+struct apm_info apm_bios_info; -+/* The key map. */ -+unsigned short bios_key_map[KEY_MAP_SIZE + 1]; -+unsigned short ascii_key_map[KEY_MAP_SIZE + 1]; -+ -+void -+grub_efi_init (void) -+{ -+ /* First of all, initialize the console so that GRUB can display -+ messages. */ -+ grub_console_init (); -+ /* Initialize the memory management system. */ -+ grub_efi_mm_init (); -+ grub_efidisk_init (); -+} -+ -+void -+grub_efi_fini (void) -+{ -+ grub_efidisk_fini (); -+ grub_efi_mm_fini (); -+ grub_console_fini (); -+} -+ -+void * -+grub_malloc (grub_size_t size) -+{ -+ return grub_efi_allocate_pool (size); -+} -+ -+void -+grub_free (void *p) -+{ -+ grub_efi_free_pool (p); -+} -+ -+char * -+grub_stpcpy (char *dest, const char *src) -+{ -+ char *d = dest; -+ const char *s = src; -+ -+ do -+ *d++ = *s; -+ while (*s++ != '\0'); -+ -+ return d - 1; -+} -+ -+void -+grub_fatal (const char *fmt, ...) -+{ -+ va_list ap; -+ -+ va_start (ap, fmt); -+ grub_vsprintf (NULL, fmt, ap); -+ va_end (ap); -+ -+ grub_exit (); -+} -+ -+void -+grub_real_dprintf (const char *file, const int line, const char *condition, -+ const char *fmt, ...) -+{ -+ va_list args; -+ -+ if (! debug) -+ return; -+ -+ grub_printf ("%s:%d: ", file, line); -+ va_start (args, fmt); -+ grub_vsprintf (0, fmt, args); -+ va_end (args); -+} -+ -+grub_size_t -+grub_utf8_char_len(grub_uint8_t ch) -+{ -+ return ((0xe5000000 >> ((ch >> 3) & 0x1e)) & 3) + 1; -+} -+ -+#define UTF8_SHIFT_AND_MASK(unicode, byte) (unicode)<<=6; (unicode) |= (0x3f & (byte)) -+ -+/* convert utf8 to utf32 */ -+grub_uint32_t -+grub_utf8_to_utf32(const grub_uint8_t *src, grub_size_t length) -+{ -+ grub_uint32_t unicode; -+ -+ switch (length) -+ { -+ case 1: -+ return src[0]; -+ case 2: -+ unicode = src[0] & 0x1f; -+ UTF8_SHIFT_AND_MASK(unicode, src[1]); -+ return unicode; -+ case 3: -+ unicode = src[0] & 0x0f; -+ UTF8_SHIFT_AND_MASK(unicode, src[1]); -+ UTF8_SHIFT_AND_MASK(unicode, src[2]); -+ return unicode; -+ case 4: -+ unicode = src[0] & 0x07; -+ UTF8_SHIFT_AND_MASK(unicode, src[1]); -+ UTF8_SHIFT_AND_MASK(unicode, src[2]); -+ UTF8_SHIFT_AND_MASK(unicode, src[3]); -+ return unicode; -+ default: -+ return 0xffff; -+ } -+} -+ -+/* convert utf8 to utf16 */ -+void -+grub_utf8_to_utf16(const grub_uint8_t *src, grub_size_t srclen, -+ grub_uint16_t *dst, grub_size_t dstlen) -+{ -+ const grub_uint8_t *end = src + srclen; -+ grub_efi_char16_t *dstend = dst + dstlen; -+ -+ while (src < end && dst < dstend) -+ { -+ grub_size_t len = grub_utf8_char_len(*src); -+ /* get the utf32 codepoint */ -+ grub_uint32_t codepoint = grub_utf8_to_utf32(src, len); -+ -+ /* convert that codepoint to utf16 codepoints */ -+ if (codepoint <= 0xffff) -+ { -+ /* it's a single utf16 character */ -+ *dst++ = (grub_efi_char16_t) codepoint; -+ } -+ else -+ { -+ /* it's multiple utf16 characters, with surrogate pairs */ -+ codepoint = codepoint - 0x10000; -+ *dst++ = (grub_efi_char16_t) ((codepoint >> 10) + 0xd800); -+ *dst++ = (grub_efi_char16_t) ((codepoint & 0x3ff) + 0xdc00); -+ } -+ -+ src += len; -+ } -+ -+ if (dst < dstend) -+ *dst = 0; -+} -+ -+/* Convert UTF-16 to UTF-8. */ -+grub_uint8_t * -+grub_utf16_to_utf8 (grub_uint8_t *dest, grub_uint16_t *src, -+ grub_size_t size) -+{ -+ grub_uint32_t code_high = 0; -+ -+ while (size--) -+ { -+ grub_uint32_t code = *src++; -+ -+ if (code_high) -+ { -+ if (code >= 0xDC00 && code <= 0xDFFF) -+ { -+ /* Surrogate pair. */ -+ code = ((code_high - 0xD800) << 12) + (code - 0xDC00) + 0x10000; -+ -+ *dest++ = (code >> 18) | 0xF0; -+ *dest++ = ((code >> 12) & 0x3F) | 0x80; -+ *dest++ = ((code >> 6) & 0x3F) | 0x80; -+ *dest++ = (code & 0x3F) | 0x80; -+ } -+ else -+ { -+ /* Error... */ -+ *dest++ = '?'; -+ } -+ -+ code_high = 0; -+ } -+ else -+ { -+ if (code <= 0x007F) -+ *dest++ = code; -+ else if (code <= 0x07FF) -+ { -+ *dest++ = (code >> 6) | 0xC0; -+ *dest++ = (code & 0x3F) | 0x80; -+ } -+ else if (code >= 0xD800 && code <= 0xDBFF) -+ { -+ code_high = code; -+ continue; -+ } -+ else if (code >= 0xDC00 && code <= 0xDFFF) -+ { -+ /* Error... */ -+ *dest++ = '?'; -+ } -+ else -+ { -+ *dest++ = (code >> 16) | 0xE0; -+ *dest++ = ((code >> 12) & 0x3F) | 0x80; -+ *dest++ = (code & 0x3F) | 0x80; -+ } -+ } -+ } -+ -+ return dest; -+} -+ -+/* low-level timing info */ -+int -+getrtsecs (void) -+{ -+ return grub_get_rtc() / GRUB_TICKS_PER_SECOND; -+} -+ -+void -+grub_reboot (void) -+{ -+ grub_efi_runtime_services_t *r; -+ -+ r = grub_efi_system_table->runtime_services; -+ Call_Service_4 (r->reset_system, GRUB_EFI_RESET_COLD, -+ GRUB_EFI_SUCCESS, 0, NULL); -+ for (;;); -+} -+ -+void -+grub_halt (int no_apm) -+{ -+ grub_efi_runtime_services_t *r; -+ -+ r = grub_efi_system_table->runtime_services; -+ Call_Service_4 (r->reset_system, GRUB_EFI_RESET_SHUTDOWN, -+ GRUB_EFI_SUCCESS, 0, NULL); -+ for (;;); -+} -+ -+void -+stop (void) -+{ -+ grub_exit (); -+} -+ -+/* booting a multiboot executable */ -+void -+multi_boot (int start, int mb_info) -+{ -+ stop (); -+} -+ -+/* sets it to linear or wired A20 operation */ -+void -+gateA20 (int linear) -+{ -+} -+ -+/* Set up the int15 handler. */ -+void -+set_int15_handler (void) -+{ -+} -+ -+/* Restore the original int15 handler. */ -+void -+unset_int15_handler (void) -+{ -+} -+ -+/* Copy MAP to the drive map and set up the int13 handler. */ -+void -+set_int13_handler (unsigned short *map) -+{ -+} -+ -+/* Get the ROM configuration table. */ -+unsigned long -+get_rom_config_table (void) -+{ -+ return 0; -+} -+ -+/* Get APM BIOS information. */ -+void -+get_apm_info (void) -+{ -+ /* Nothing to do in the simulator. */ -+} -+ -+void -+stop_floppy (void) -+{ -+ /* NOTUSED */ -+} -+ -+char * -+grub_strndup (const char *s, int n) -+{ -+ int l = grub_strnlen(s, n); -+ char *new = grub_malloc(l + 1); -+ -+ if (new == NULL) -+ return NULL; -+ -+ new[l] = '\0'; -+ return grub_strncpy(new, s, l); -+} -+ -+int -+safe_parse_maxulong (char **str_ptr, unsigned long *myulong_ptr) -+{ -+ char *ptr = *str_ptr; -+ unsigned long myulong = 0; -+ unsigned int mult = 10, found = 0; -+ -+ /* -+ * Is this a hex number? -+ */ -+ if (*ptr == '0' && tolower (*(ptr + 1)) == 'x') -+ { -+ ptr += 2; -+ mult = 16; -+ } -+ -+ while (1) -+ { -+ /* A bit tricky. This below makes use of the equivalence: -+ (A >= B && A <= C) <=> ((A - B) <= (C - B)) -+ when C > B and A is unsigned. */ -+ unsigned int digit; -+ -+ digit = tolower (*ptr) - '0'; -+ if (digit > 9) -+ { -+ digit -= 'a' - '0'; -+ if (mult == 10 || digit > 5) -+ break; -+ digit += 10; -+ } -+ -+ found = 1; -+ if (myulong > ((~0UL - digit) / mult)) -+ { -+ errnum = ERR_NUMBER_OVERFLOW; -+ return 0; -+ } -+ myulong = (myulong * mult) + digit; -+ ptr++; -+ } -+ -+ if (!found) -+ { -+ errnum = ERR_NUMBER_PARSING; -+ return 0; -+ } -+ -+ *str_ptr = ptr; -+ *myulong_ptr = myulong; -+ -+ return 1; -+} -+ -+int -+currticks (void) -+{ -+ return grub_get_rtc (); -+} -+ -+static char * -+fix_path_name (char *path_name) -+{ -+ char *p1, *p2; -+ -+ p1 = path_name; -+ p2 = p1 + 1; -+ if (*p1 == '\\') -+ *p1 = '/'; -+ while (*p1) -+ { -+ switch (*p2) -+ { -+ case '\0': -+ *++p1 = *p2; -+ break; -+ case '.': -+ if (*p1 == '/' && *(p2+1) == '\\') -+ p2 += 2; -+ else -+ *++p1=*p2++; -+ break; -+ case '\\': -+ if (*p1 == '/') -+ p2++; -+ else -+ *++p1 = '/'; -+ break; -+ default: -+ *++p1=*p2++; -+ break; -+ } -+ } -+ return path_name; -+} -+ -+char * -+grub_efi_file_path_to_path_name (grub_efi_device_path_t *file_path) -+{ -+ char *str; -+ grub_efi_uint32_t str_len = 16; -+ grub_efi_uint32_t str_pos = 0; -+ -+ str = grub_malloc (str_len); -+ if (! str) -+ return NULL; -+ str[0] = '\0'; -+ -+ while (1) -+ { -+ grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (file_path); -+ grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE (file_path); -+ grub_efi_uint16_t len = GRUB_EFI_DEVICE_PATH_LENGTH (file_path); -+ -+ switch (type) -+ { -+ case GRUB_EFI_MEDIA_DEVICE_PATH_TYPE: -+ switch (subtype) -+ { -+ case GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE: -+ { -+ grub_efi_file_path_device_path_t *fp; -+ grub_uint8_t buf[(len - 4) * 2 + 2]; -+ grub_uint32_t path_name_len; -+ char *tmp_str; -+ -+ fp = (grub_efi_file_path_device_path_t *) file_path; -+ *grub_utf16_to_utf8 (buf, fp->path_name, -+ (len - 4) / sizeof (grub_efi_char16_t)) -+ = '\0'; -+ path_name_len = strlen ((char *)buf) + 1; -+ if ((str_len - str_pos) <= path_name_len) -+ { -+ do -+ str_len *= 2; -+ while ((str_len - str_pos) <= path_name_len); -+ tmp_str = grub_malloc (str_len); -+ if (tmp_str == NULL) -+ goto fail; -+ grub_memmove (tmp_str, str, str_pos); -+ grub_free (str); -+ str = tmp_str; -+ } -+ str[str_pos] = '\\'; -+ strcpy (str + str_pos + 1, (char *)buf); -+ str_pos += path_name_len; -+ } -+ break; -+ default: -+ break; -+ } -+ break; -+ default: -+ break; -+ } -+ -+ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (file_path)) -+ break; -+ -+ file_path = (grub_efi_device_path_t *) ((char *) file_path + len); -+ } -+ return fix_path_name (str); -+ -+ fail: -+ grub_free (str); -+ return NULL; -+} -+ -+#define DEFAULT_SAVED_DEFAULT_FILE_NAME "grub.default" -+#define DEFAULT_CONFIG_FILE_NAME "grub.conf" -+ -+static char saved_default_file[128] = "/boot/grub/grub.default"; -+ -+void -+grub_set_config_file (char *path_name) -+{ -+ char *dir_end; -+ grub_uint32_t path_name_len; -+ -+ path_name_len = strlen (path_name); -+ if (path_name_len > 4 -+ && path_name[path_name_len - 4] == '.' -+ && grub_tolower (path_name[path_name_len - 3]) == 'e' -+ && grub_tolower (path_name[path_name_len - 2]) == 'f' -+ && grub_tolower (path_name[path_name_len - 1]) == 'i') -+ { -+ /* Bigger than buffer of config_file */ -+ if (path_name_len + 1 > 127) -+ return; -+ grub_memmove (config_file, path_name, path_name_len - 4); -+ grub_strcpy (config_file + path_name_len - 4, ".conf"); -+ /* Bigger than buffer of default file */ -+ if (path_name_len + 4 > 127) -+ return; -+ grub_memmove (saved_default_file, path_name, path_name_len - 4); -+ grub_strcpy (saved_default_file + path_name_len - 4, ".default"); -+ return; -+ } -+ dir_end = grub_strrchr (path_name, '/'); -+ if (! dir_end) -+ { -+ grub_strcpy (config_file, DEFAULT_CONFIG_FILE_NAME); -+ grub_strcpy (saved_default_file, DEFAULT_SAVED_DEFAULT_FILE_NAME); -+ return; -+ } -+ if (strlen(dir_end) == 1) { -+ path_name_len = dir_end + 1 - path_name; -+ if (path_name_len + sizeof (DEFAULT_CONFIG_FILE_NAME) > 128) -+ return; -+ grub_memmove (config_file, path_name, path_name_len); -+ grub_strcpy (config_file + path_name_len, DEFAULT_CONFIG_FILE_NAME); -+ } else { -+ grub_memmove (config_file, path_name, path_name_len+1); -+ } -+ if (path_name_len + sizeof (DEFAULT_SAVED_DEFAULT_FILE_NAME) > 128) -+ return; -+ path_name_len = dir_end + 1 - path_name; -+ grub_memmove (saved_default_file, path_name, path_name_len); -+ grub_strcpy (saved_default_file + path_name_len, -+ DEFAULT_SAVED_DEFAULT_FILE_NAME); -+} -+ -+grub_efi_guid_t simple_file_system_guid = GRUB_EFI_SIMPLE_FILE_SYSTEM_GUID; -+ -+static grub_efi_file_t * -+simple_open_file(grub_efi_handle_t dev_handle, -+ char *file_name, -+ int for_write) -+{ -+ grub_efi_simple_file_system_t *file_system; -+ grub_efi_file_t *root; -+ grub_efi_file_t *file = NULL; -+ grub_efi_status_t status; -+ grub_efi_char16_t *file_name_w = NULL; -+ grub_efi_char16_t *chp_w; -+ grub_efi_uint64_t open_mode; -+ -+ file_system = grub_efi_open_protocol (dev_handle, -+ &simple_file_system_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ if (! file_system) -+ return NULL; -+ status = Call_Service_2 (file_system->open_volume, file_system, &root); -+ if (status != GRUB_EFI_SUCCESS) -+ return NULL; -+ file_name_w = grub_malloc (2 * strlen(file_name) + 2); -+ if (! file_name_w) -+ goto done; -+ for (chp_w = file_name_w; *file_name; chp_w++, file_name++) -+ if (*file_name == '/') -+ *chp_w = '\\'; -+ else -+ *chp_w = *file_name; -+ *chp_w = '\0'; -+ open_mode = for_write ? GRUB_EFI_FILE_MODE_READ | GRUB_EFI_FILE_MODE_WRITE \ -+ | GRUB_EFI_FILE_MODE_CREATE : GRUB_EFI_FILE_MODE_READ; -+ status = Call_Service_5 (root->open, root, &file, file_name_w, -+ open_mode, 0); -+ done: -+ if (file_name_w) -+ grub_free (file_name_w); -+ Call_Service_1 (root->close, root); -+ return file; -+} -+ -+void -+grub_load_saved_default (grub_efi_handle_t dev_handle) -+{ -+ grub_efi_file_t *file; -+ char buf[16]; -+ char *ptr = buf; -+ grub_efi_status_t status; -+ int val; -+ grub_efi_uintn_t buf_size = sizeof(buf); -+ -+ file = simple_open_file (dev_handle, saved_default_file, 0); -+ if (! file) -+ return; -+ status = Call_Service_3 (file->read, file, &buf_size, buf); -+ if (status != GRUB_EFI_SUCCESS) -+ goto done; -+ if (buf_size >= sizeof(buf)) -+ buf_size = sizeof(buf) - 1; -+ buf[buf_size] = '\0'; -+ if (safe_parse_maxint (&ptr, &val)) -+ saved_entryno = val; -+ done: -+ Call_Service_1 (file->close, file); -+} -+ -+int -+grub_save_saved_default (int new_default) -+{ -+ grub_efi_loaded_image_t *loaded_image; -+ grub_efi_file_t *file; -+ char buf[16]; -+ grub_efi_status_t status; -+ grub_efi_uintn_t buf_size; -+ int ret = 0; -+ -+ loaded_image = grub_efi_get_loaded_image (grub_efi_image_handle); -+ file = simple_open_file (loaded_image->device_handle, -+ saved_default_file, 1); -+ if (! file) -+ { -+ errnum = ERR_FILE_NOT_FOUND; -+ return 1; -+ } -+ sprintf (buf, "%d", new_default); -+ buf_size = strlen (buf); -+ status = Call_Service_3 (file->write, file, &buf_size, buf); -+ if (status != GRUB_EFI_SUCCESS) -+ { -+ errnum = ERR_WRITE; -+ ret = 1; -+ goto done; -+ } -+ done: -+ Call_Service_1 (file->close, file); -+ return ret; -+} -diff --git a/efi/efimm.c b/efi/efimm.c -new file mode 100644 -index 0000000..836188d ---- /dev/null -+++ b/efi/efimm.c -@@ -0,0 +1,539 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+ * MA 02110-1301, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#define NEXT_MEMORY_DESCRIPTOR(desc, size) \ -+ ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size))) -+ -+#define BYTES_TO_PAGES(bytes) ((bytes) >> 12) -+#define PAGES_TO_BYTES(pages) ((pages) << 12) -+ -+/* Global variables used to store memory map, its size, and the number of -+ * pages allocated for the buffer. */ -+void *mmap_buf; -+grub_efi_uintn_t mmap_size; -+grub_efi_uintn_t mmap_pages; -+ -+/* Maintain the list of allocated pages. */ -+struct allocated_page -+{ -+ grub_efi_physical_address_t addr; -+ grub_efi_uint64_t num_pages; -+}; -+ -+#define ALLOCATED_PAGES_SIZE 0x1000 -+#define MAX_ALLOCATED_PAGES \ -+ (ALLOCATED_PAGES_SIZE / sizeof (struct allocated_page)) -+ -+static struct allocated_page *allocated_pages = 0; -+ -+/* The minimum and maximum heap size for GRUB itself. */ -+#define MIN_HEAP_SIZE 0x100000 -+#define MAX_HEAP_SIZE (16 * 0x100000) -+ -+ -+void * -+grub_efi_allocate_pool (grub_efi_uintn_t size) -+{ -+ grub_efi_status_t status; -+ void *p; -+ grub_efi_boot_services_t *b; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_3(b->allocate_pool, GRUB_EFI_LOADER_DATA, size, &p); -+ if (status != GRUB_EFI_SUCCESS) -+ return NULL; -+ -+ return p; -+} -+ -+void -+grub_efi_free_pool (void *buffer) -+{ -+ grub_efi_boot_services_t *b; -+ -+ b = grub_efi_system_table->boot_services; -+ Call_Service_1(b->free_pool, buffer); -+} -+ -+void * -+grub_efi_allocate_anypages(grub_efi_uintn_t pages) -+{ -+ grub_efi_boot_services_t *b; -+ grub_efi_status_t status; -+ grub_efi_physical_address_t address; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_4 (b->allocate_pages, -+ GRUB_EFI_ALLOCATE_ANY_PAGES, -+ GRUB_EFI_LOADER_DATA, -+ pages, -+ &address); -+ if (status != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ if (allocated_pages) -+ { -+ unsigned i; -+ -+ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) -+ if (allocated_pages[i].addr == 0) -+ { -+ allocated_pages[i].addr = address; -+ allocated_pages[i].num_pages = pages; -+ break; -+ } -+ -+ if (i == MAX_ALLOCATED_PAGES) -+ { -+ grub_printf ("too many page allocations"); -+ return NULL; -+ } -+ } -+ -+ return (void *) ((grub_addr_t) address); -+ -+} -+ -+/* Allocate pages. Return the pointer to the first of allocated pages. */ -+static void * -+grub_efi_allocate_pages_real (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages, -+ grub_efi_memory_type_t memtype) -+{ -+ grub_efi_allocate_type_t type; -+ grub_efi_status_t status; -+ grub_efi_boot_services_t *b; -+ -+ /* Limit the memory access to less than 2GB to avoid 64bit -+ * compatible problem of grub */ -+ if (address > 0x7fffffff) -+ return 0; -+ -+ if (address == 0) -+ { -+ type = GRUB_EFI_ALLOCATE_MAX_ADDRESS; -+ address = 0x7fffffff; -+ } -+ else -+ type = GRUB_EFI_ALLOCATE_ADDRESS; -+ -+ b = grub_efi_system_table->boot_services; -+ status = Call_Service_4 (b->allocate_pages, type, -+ memtype, pages, &address); -+ -+ if (status != GRUB_EFI_SUCCESS) -+ { -+ /* EFI_NOT_FOUND means the region was unavailable, which means we can -+ probably just use it. This is only for hacks to start with */ -+ if (memtype == GRUB_EFI_RUNTIME_SERVICES_DATA && -+ status == GRUB_EFI_NOT_FOUND) -+ return (void *) ((grub_addr_t) address); -+ else -+ return 0; -+ } -+ -+ if (address == 0) -+ { -+ /* Uggh, the address 0 was allocated... This is too annoying, -+ so reallocate another one. */ -+ address = 0x7fffffff; -+ status = Call_Service_4 (b->allocate_pages, -+ type, GRUB_EFI_LOADER_DATA, pages, &address); -+ grub_efi_free_pages (0, pages); -+ if (status != GRUB_EFI_SUCCESS) -+ return 0; -+ } -+ -+ /* We don't want to free anything we've allocated for runtime */ -+ if (allocated_pages && memtype != GRUB_EFI_RUNTIME_SERVICES_DATA) -+ { -+ unsigned i; -+ -+ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) -+ if (allocated_pages[i].addr == 0) -+ { -+ allocated_pages[i].addr = address; -+ allocated_pages[i].num_pages = pages; -+ break; -+ } -+ -+ if (i == MAX_ALLOCATED_PAGES) -+ { -+ grub_printf ("too many page allocations"); -+ return NULL; -+ } -+ } -+ -+ return (void *) ((grub_addr_t) address); -+} -+ -+void * -+grub_efi_allocate_pages (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages) -+ -+{ -+ return grub_efi_allocate_pages_real(address, pages, GRUB_EFI_LOADER_DATA); -+} -+ -+void * -+grub_efi_allocate_runtime_pages (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages) -+ -+{ -+ return grub_efi_allocate_pages_real(address, pages, -+ GRUB_EFI_RUNTIME_SERVICES_DATA); -+} -+/* Free pages starting from ADDRESS. */ -+void -+grub_efi_free_pages (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages) -+{ -+ grub_efi_boot_services_t *b; -+ -+ if (allocated_pages -+ && ((grub_efi_physical_address_t) ((grub_addr_t) allocated_pages) -+ != address)) -+ { -+ unsigned i; -+ -+ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) -+ if (allocated_pages[i].addr == address) -+ { -+ allocated_pages[i].addr = 0; -+ break; -+ } -+ } -+ -+ b = grub_efi_system_table->boot_services; -+ Call_Service_2 (b->free_pages ,address, pages); -+} -+ -+/* Get the memory map as defined in the EFI spec. Return 1 if successful, -+ return 0 if partial, or return -1 if an error occurs. -+ -+ This function will allocate memory for (global) mmap_buf if there isn't -+ already a buffer allocated, and will free & reallocate if it needs to -+ be larger. */ -+ -+int -+grub_efi_get_memory_map (grub_efi_uintn_t *map_key, -+ grub_efi_uintn_t *descriptor_size, -+ grub_efi_uint32_t *descriptor_version) -+{ -+ grub_efi_status_t status; -+ grub_efi_boot_services_t *b; -+ grub_efi_uintn_t key; -+ grub_efi_uint32_t version; -+ grub_efi_uintn_t tmp_mmap_size; -+ -+ /* Allow some parameters to be missing. */ -+ if (! map_key) -+ map_key = &key; -+ if (! descriptor_version) -+ descriptor_version = &version; -+ -+ while (1) -+ { -+ b = grub_efi_system_table->boot_services; -+ tmp_mmap_size = PAGES_TO_BYTES(mmap_pages); -+ status = Call_Service_5 (b->get_memory_map, -+ &tmp_mmap_size, mmap_buf, map_key, -+ descriptor_size, descriptor_version); -+ if (status == GRUB_EFI_SUCCESS) -+ { -+ mmap_size = tmp_mmap_size; -+ return 1; -+ } -+ else if (status != GRUB_EFI_BUFFER_TOO_SMALL) -+ return -1; -+ -+ /* we need a larger buffer */ -+ if (mmap_buf) -+ grub_efi_free_pages ((grub_addr_t) mmap_buf, mmap_pages); -+ -+ /* get 1 more page than we need, just in case */ -+ mmap_pages = BYTES_TO_PAGES(tmp_mmap_size + 4095) + 1; -+ mmap_buf = grub_efi_allocate_pages (0, mmap_pages); -+ if (! mmap_buf) -+ { -+ mmap_pages = 0; -+ grub_printf ("cannot allocate memory for memory map"); -+ return -1; -+ } -+ } -+} -+ -+#define MMAR_DESC_LENGTH 20 -+ -+/* -+ * Add a memory region to the kernel e820 map. -+ * -+ * Convert EFI memory map to E820 map for the operating system -+ * This code is based on a Linux kernel patch submitted by Edgar Hucek -+ */ -+static void -+add_memory_region (struct e820_entry *e820_map, -+ int *e820_nr_map, -+ unsigned long long start, -+ unsigned long long size, -+ unsigned int type) -+{ -+ int x = *e820_nr_map; -+ static unsigned long long estart = 0ULL; -+ static unsigned long esize = 0L; -+ static unsigned int etype = -1; -+ static int merge = 0; -+ -+ /* merge adjacent regions of same type */ -+ if ((x > 0) && e820_map[x-1].addr + e820_map[x-1].size == start -+ && e820_map[x-1].type == type) -+ { -+ e820_map[x-1].size += size; -+ estart = e820_map[x-1].addr; -+ esize = e820_map[x-1].size; -+ etype = e820_map[x-1].type; -+ merge++; -+ return; -+ } -+ -+ /* fill up to E820_MAX */ -+ if ( x < E820_MAX ) -+ { -+ e820_map[x].addr = start; -+ e820_map[x].size = size; -+ e820_map[x].type = type; -+ (*e820_nr_map)++; -+ merge=0; -+ return; -+ } -+ -+ /* different type means another region didn't fit */ -+ /* or same type, but there's a hole */ -+ if (etype != type || (estart + esize) != start) -+ { -+ merge = 0; -+ estart = start; -+ esize = size; -+ etype = type; -+ return; -+ } -+ -+ /* same type and no hole, merge it */ -+ estart += esize; -+ esize += size; -+ merge++; -+} -+ -+/* -+ * Make a e820 memory map -+ */ -+void -+e820_map_from_efi_map (struct e820_entry *e820_map, -+ int *e820_nr_map, -+ grub_efi_memory_descriptor_t *memory_map, -+ grub_efi_uintn_t desc_size, -+ grub_efi_uintn_t memory_map_size) -+{ -+ grub_efi_memory_descriptor_t *desc; -+ unsigned long long start = 0; -+ unsigned long long end = 0; -+ unsigned long long size = 0; -+ grub_efi_memory_descriptor_t *memory_map_end; -+ -+ memory_map_end = NEXT_MEMORY_DESCRIPTOR (memory_map, memory_map_size); -+ *e820_nr_map = 0; -+ for (desc = memory_map; -+ desc < memory_map_end; -+ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) -+ { -+ switch (desc->type) -+ { -+ case GRUB_EFI_ACPI_RECLAIM_MEMORY: -+ add_memory_region (e820_map, e820_nr_map, -+ desc->physical_start, desc->num_pages << 12, -+ E820_ACPI); -+ break; -+ case GRUB_EFI_RUNTIME_SERVICES_CODE: -+ case GRUB_EFI_RUNTIME_SERVICES_DATA: -+ case GRUB_EFI_RESERVED_MEMORY_TYPE: -+ case GRUB_EFI_MEMORY_MAPPED_IO: -+ case GRUB_EFI_MEMORY_MAPPED_IO_PORT_SPACE: -+ case GRUB_EFI_UNUSABLE_MEMORY: -+ case GRUB_EFI_PAL_CODE: -+ add_memory_region (e820_map, e820_nr_map, -+ desc->physical_start, desc->num_pages << 12, -+ E820_RESERVED); -+ break; -+ case GRUB_EFI_LOADER_CODE: -+ case GRUB_EFI_LOADER_DATA: -+ case GRUB_EFI_BOOT_SERVICES_CODE: -+ case GRUB_EFI_BOOT_SERVICES_DATA: -+ case GRUB_EFI_CONVENTIONAL_MEMORY: -+ start = desc->physical_start; -+ size = desc->num_pages << 12; -+ end = start + size; -+ if (start < 0x100000ULL && end > 0xA0000ULL) -+ { -+ if (start < 0xA0000ULL) -+ add_memory_region (e820_map, e820_nr_map, -+ start, 0xA0000ULL-start, -+ E820_RAM); -+ if (end <= 0x100000ULL) -+ continue; -+ start = 0x100000ULL; -+ size = end - start; -+ } -+ add_memory_region (e820_map, e820_nr_map, -+ start, size, E820_RAM); -+ break; -+ case GRUB_EFI_ACPI_MEMORY_NVS: -+ add_memory_region (e820_map, e820_nr_map, -+ desc->physical_start, desc->num_pages << 12, -+ E820_NVS); -+ break; -+ } -+ } -+} -+ -+static void -+update_e820_map (struct e820_entry *e820_map, -+ int *e820_nr_map) -+{ -+ grub_efi_uintn_t desc_size; -+ -+ if (grub_efi_get_memory_map (0, &desc_size, 0) < 0) -+ { -+ grub_printf ("cannot get memory map"); -+ return; -+ } -+ -+ e820_map_from_efi_map (e820_map, e820_nr_map, -+ mmap_buf, desc_size, mmap_size); -+} -+ -+/* Simulated memory sizes. */ -+#define EXTENDED_MEMSIZE (3 * 1024 * 1024) /* 3MB */ -+#define CONVENTIONAL_MEMSIZE (640 * 1024) /* 640kB */ -+ -+int -+get_code_end (void) -+{ -+ /* Just return a little area for simulation. */ -+ return BOOTSEC_LOCATION + (60 * 1024); -+} -+ -+/* memory probe routines */ -+int -+get_memsize (int type) -+{ -+ if (! type) -+ return CONVENTIONAL_MEMSIZE >> 10; -+ else -+ return EXTENDED_MEMSIZE >> 10; -+} -+ -+/* get_eisamemsize() : return packed EISA memory map, lower 16 bits is -+ * memory between 1M and 16M in 1K parts, upper 16 bits is -+ * memory above 16M in 64K parts. If error, return -1. -+ */ -+int -+get_eisamemsize (void) -+{ -+ return (EXTENDED_MEMSIZE >> 10); -+} -+ -+static int grub_e820_nr_map; -+static struct e820_entry grub_e820_map[E820_MAX]; -+ -+/* Fetch the next entry in the memory map and return the continuation -+ value. DESC is a pointer to the descriptor buffer, and CONT is the -+ previous continuation value (0 to get the first entry in the -+ map). */ -+int -+get_mmap_entry (struct mmar_desc *desc, int cont) -+{ -+ if (cont < 0 || cont >= grub_e820_nr_map) -+ { -+ /* Should not happen. */ -+ desc->desc_len = 0; -+ } -+ else -+ { -+ struct e820_entry *entry; -+ /* Copy the entry. */ -+ desc->desc_len = MMAR_DESC_LENGTH; -+ entry = &grub_e820_map[cont++]; -+ desc->addr = entry->addr; -+ desc->length = entry->size; -+ desc->type = entry->type; -+ -+ /* If the next entry exists, return the index. */ -+ if (cont < grub_e820_nr_map) -+ return cont; -+ } -+ -+ return 0; -+} -+ -+void -+grub_efi_mm_init (void) -+{ -+ /* First of all, allocate pages to maintain allocations. */ -+ allocated_pages -+ = grub_efi_allocate_pages (0, BYTES_TO_PAGES (ALLOCATED_PAGES_SIZE)); -+ if (! allocated_pages) -+ { -+ grub_printf ("cannot allocate memory"); -+ return; -+ } -+ -+ grub_memset (allocated_pages, 0, ALLOCATED_PAGES_SIZE); -+ -+ update_e820_map (grub_e820_map, &grub_e820_nr_map); -+} -+ -+void -+grub_efi_mm_fini (void) -+{ -+ if (allocated_pages) -+ { -+ unsigned i; -+ -+ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) -+ { -+ struct allocated_page *p; -+ -+ p = allocated_pages + i; -+ if (p->addr != 0) -+ grub_efi_free_pages ((grub_addr_t) p->addr, p->num_pages); -+ } -+ -+ grub_efi_free_pages ((grub_addr_t) allocated_pages, -+ BYTES_TO_PAGES (ALLOCATED_PAGES_SIZE)); -+ } -+} -diff --git a/efi/efinic.c b/efi/efinic.c -new file mode 100644 -index 0000000..e69de29 -diff --git a/efi/efiserial.c b/efi/efiserial.c -new file mode 100644 -index 0000000..32898a9 ---- /dev/null -+++ b/efi/efiserial.c -@@ -0,0 +1,265 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2007 Intel Corp. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifdef SUPPORT_SERIAL -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+struct grub_efiserial_data -+{ -+ grub_efi_handle_t handle; -+ grub_efi_serial_io_t *serial_io; -+ struct grub_efiserial_data *next; -+}; -+ -+/* GUIDs. */ -+static grub_efi_guid_t serial_io_guid = GRUB_EFI_SERIAL_IO_GUID; -+ -+static grub_efi_serial_io_t *serial_device = NULL; -+ -+static struct grub_efiserial_data * -+make_devices (void) -+{ -+ grub_efi_uintn_t num_handles; -+ grub_efi_handle_t *handles; -+ grub_efi_handle_t *handle; -+ struct grub_efiserial_data *devices = 0; -+ -+ /* Find handles which support the serial io interface. */ -+ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, &serial_io_guid, -+ 0, &num_handles); -+ if (! handles) -+ return 0; -+ -+ /* Make a linked list of devices. */ -+ for (handle = handles; num_handles--; handle++) -+ { -+ struct grub_efiserial_data *s; -+ grub_efi_serial_io_t *sio; -+ -+ sio = grub_efi_open_protocol (*handle, &serial_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ if (! sio) -+ /* This should not happen... Why? */ -+ continue; -+ -+ s = grub_malloc (sizeof (*s)); -+ if (! s) -+ { -+ /* Uggh. */ -+ grub_free (handles); -+ return 0; -+ } -+ -+ s->handle = *handle; -+ s->serial_io = sio; -+ s->next = devices; -+ devices = s; -+ } -+ -+ grub_free (handles); -+ -+ return devices; -+} -+ -+static void -+free_devices (struct grub_efiserial_data *devices) -+{ -+ struct grub_efiserial_data *p, *q; -+ -+ for (p = devices; p; p = q) -+ { -+ q = p->next; -+ grub_free (p); -+ } -+} -+ -+static struct grub_efiserial_data * -+get_device (struct grub_efiserial_data *devices, int num) -+{ -+ struct grub_efiserial_data *s; -+ -+ for (s = devices; s && num; s = s->next, num--) -+ ; -+ -+ if (num == 0) -+ return s; -+ -+ return 0; -+} -+ -+/* Fetch a key from a serial device. */ -+int -+serial_hw_fetch (void) -+{ -+ grub_efi_status_t status; -+ char buf[1]; -+ grub_efi_uintn_t buf_siz = sizeof (buf); -+ grub_efi_uint32_t control; -+ -+ if (! serial_device) -+ return -1; -+ -+ status = Call_Service_2 (serial_device->get_control_bits, serial_device, &control); -+ if (status != GRUB_EFI_SUCCESS) -+ return -1; -+ if (control & GRUB_EFI_SERIAL_INPUT_BUFFER_EMPTY) -+ return -1; -+ status = Call_Service_3 (serial_device->read, serial_device, &buf_siz, buf); -+ if (status != GRUB_EFI_SUCCESS) -+ return -1; -+ -+ return buf[0]; -+} -+ -+/* Put a character to a serial device. */ -+void -+serial_hw_put (int c) -+{ -+ grub_efi_status_t status; -+ char ch = c; -+ grub_efi_uintn_t buf_size = sizeof (ch); -+ -+ if (! serial_device) -+ return; -+ -+ status = Call_Service_3 (serial_device->write, serial_device, &buf_size, &ch); -+} -+ -+void -+serial_hw_delay (void) -+{ -+} -+ -+/* Get the port number of the unit UNIT, the port number is same as -+ serial port unit number in EFI. */ -+unsigned short -+serial_hw_get_port (int unit) -+{ -+ return unit; -+} -+ -+static inline grub_efi_uint8_t -+efi_data_bits_from_8250_LCR (int word_len) -+{ -+ switch (word_len & 0x3) -+ { -+ case 0: -+ return 5; -+ case 1: -+ return 6; -+ case 2: -+ return 7; -+ case 3: -+ return 8; -+ default: -+ return 0; -+ } -+} -+ -+static inline grub_efi_stop_bits_t -+efi_stop_bits_from_8250_LCR (int stop_bit_len) -+{ -+ switch (stop_bit_len & 0x4) -+ { -+ case 0x0: -+ return GRUB_EFI_ONE_STOP_BIT; -+ case 0x4: -+ return GRUB_EFI_TWO_STOP_BITS; -+ default: -+ return GRUB_EFI_DEFAULT_STOP_BITS; -+ } -+} -+ -+static inline grub_efi_parity_t -+efi_parity_from_8250_LCR (int parity_8250) -+{ -+ if (! (parity_8250 & 0x8)) -+ return GRUB_EFI_NO_PARITY; -+ -+ switch (parity_8250 & 0x30) -+ { -+ case 0x00: -+ return GRUB_EFI_ODD_PARITY; -+ case 0x10: -+ return GRUB_EFI_EVEN_PARITY; -+ case 0x20: -+ return GRUB_EFI_MARK_PARITY; -+ case 0x30: -+ return GRUB_EFI_SPACE_PARITY; -+ default: -+ return GRUB_EFI_DEFAULT_PARITY; -+ } -+} -+ -+/* Initialize a serial device. In EFI, PORT is used to assign -+ serial port unit number. */ -+int -+serial_hw_init (unsigned short port, unsigned int speed, -+ int word_len, int parity, int stop_bit_len) -+{ -+ grub_efi_serial_io_t *sio; -+ struct grub_efiserial_data *devices, *s; -+ grub_efi_parity_t efi_parity; -+ grub_efi_stop_bits_t efi_stop_bits; -+ grub_efi_uint8_t efi_data_bits; -+ grub_efi_status_t status; -+ int i; -+ -+ devices = make_devices (); -+ s = get_device (devices, port); -+ if (!s) -+ return 0; -+ sio = s->serial_io; -+ free_devices (devices); -+ -+ efi_data_bits = efi_data_bits_from_8250_LCR (word_len); -+ efi_parity = efi_parity_from_8250_LCR (parity); -+ efi_stop_bits = efi_stop_bits_from_8250_LCR (stop_bit_len); -+ -+ status = Call_Service_1 (sio->reset, sio); -+ if (status != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ status = Call_Service_7 (sio->set_attributes, sio, speed, 0, 0, -+ efi_parity, efi_data_bits, efi_stop_bits); -+ if (status != GRUB_EFI_SUCCESS) -+ return 0; -+ -+ serial_device = sio; -+ /* Get rid of TERM_NEED_INIT from the serial terminal. */ -+ for (i = 0; term_table[i].name; i++) -+ if (grub_strcmp (term_table[i].name, "serial") == 0) -+ { -+ term_table[i].flags &= ~TERM_NEED_INIT; -+ break; -+ } -+ -+ return 1; -+} -+ -+#endif /* SUPPORT_SERIAL */ -diff --git a/efi/efitftp.c b/efi/efitftp.c -new file mode 100644 -index 0000000..ba6918f ---- /dev/null -+++ b/efi/efitftp.c -@@ -0,0 +1,228 @@ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include "pxe.h" -+ -+struct tftp_info tftp_info = { -+ .LoadedImage = NULL, -+ .Pxe = NULL, -+ .ServerIp = NULL, -+ .BasePath = NULL -+}; -+ -+/* -+ * CLIENT MAC ADDR: 00 15 17 4C E6 74 -+ * CLIENT IP: 10.16.52.158 MASK: 255.255.255.0 DHCP IP: 10.16.52.16 -+ * GATEWAY IP: 10.16.52.254 -+ * -+ * TSize.Running LoadFile() -+ * -+ * TFTP.status: 5 -+ * got to grub_efi_pxe_get_config_path -+ * SiAddr: 10.16.52.16 -+ * BootpHwAddr: 00:15:17:4c:e6:74:00:00:00:00:00:00:00:00:00:00 -+ * BootpSrvName: -+ * BootpBootFile: X86PC/UNDI/pxelinux/bootx64.efi -+ */ -+ -+static grub_efi_status_t tftp_get_file_size_defective_buffer_fallback( -+ char *Filename, -+ grub_efi_uintn_t *Size) -+{ -+ EFI_PXE_BASE_CODE_TFTP_OPCODE OpCode = EFI_PXE_BASE_CODE_TFTP_READ_FILE; -+ char *Buffer = NULL; -+ grub_efi_boolean_t Overwrite = 0; -+ grub_efi_boolean_t DontUseBuffer = 0; -+ grub_efi_uint64_t BufferSize = 4096; -+ grub_efi_uintn_t BlockSize = 512; -+ grub_efi_status_t rc = GRUB_EFI_BUFFER_TOO_SMALL; -+ char *FullPath = NULL; -+ -+ while (rc == GRUB_EFI_BUFFER_TOO_SMALL) { -+ char *NewBuffer; -+ -+ if (Buffer) { -+ grub_free(Buffer); -+ Buffer = NULL; -+ } -+ BufferSize *= 2; -+ NewBuffer = grub_malloc(BufferSize); -+ if (!NewBuffer) -+ return GRUB_EFI_OUT_OF_RESOURCES; -+ Buffer = NewBuffer; -+ -+ if (tftp_info.BasePath) { -+ int PathSize = 0; -+ PathSize = strlen(tftp_info.BasePath) + 2 + -+ strlen(Filename); -+ FullPath = grub_malloc(PathSize); -+ grub_sprintf(FullPath, "%s/%s", tftp_info.BasePath, -+ Filename); -+ } else { -+ FullPath = grub_malloc(strlen(Filename)); -+ strcpy(FullPath, Filename); -+ } -+ -+ rc = Call_Service_10(tftp_info.Pxe->Mtftp, tftp_info.Pxe, -+ OpCode, Buffer, Overwrite, &BufferSize, &BlockSize, -+ tftp_info.ServerIp, FullPath, NULL, DontUseBuffer); -+ if (rc == GRUB_EFI_SUCCESS || rc == GRUB_EFI_BUFFER_TOO_SMALL) -+ *Size = BufferSize; -+ } -+ grub_free(FullPath); -+ grub_free(Buffer); -+ return rc; -+} -+ -+grub_efi_status_t tftp_get_file_size( -+ char *Filename, -+ grub_efi_uintn_t *Size) -+{ -+ EFI_PXE_BASE_CODE_TFTP_OPCODE OpCode = EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE; -+ char Buffer[8192]; -+ grub_efi_boolean_t Overwrite = 0; -+ grub_efi_boolean_t DontUseBuffer = 0; -+ grub_efi_uint64_t BufferSize = 8192; -+ grub_efi_uintn_t BlockSize = 512; -+ grub_efi_status_t rc; -+ char *FullPath = NULL; -+ -+ if (tftp_info.BasePath) { -+ int PathSize = 0; -+ PathSize = strlen(tftp_info.BasePath) + 2 + strlen(Filename); -+ FullPath = grub_malloc(PathSize); -+ grub_sprintf(FullPath, "%s/%s", tftp_info.BasePath, Filename); -+ } else { -+ FullPath = grub_malloc(strlen(Filename)); -+ strcpy(FullPath, Filename); -+ } -+ -+ rc = Call_Service_10(tftp_info.Pxe->Mtftp, tftp_info.Pxe, OpCode, -+ Buffer, Overwrite, &BufferSize, &BlockSize, tftp_info.ServerIp, -+ FullPath, NULL, DontUseBuffer); -+ if (rc == GRUB_EFI_BUFFER_TOO_SMALL) -+ rc = tftp_get_file_size_defective_buffer_fallback(Filename, Size); -+ if (rc == GRUB_EFI_SUCCESS) -+ *Size = BufferSize; -+ grub_free(FullPath); -+ return rc; -+} -+ -+static grub_efi_status_t tftp_read_file( -+ char *Filename, -+ char *Buffer, -+ grub_efi_uint64_t BufferSize) -+{ -+ EFI_PXE_BASE_CODE_TFTP_OPCODE OpCode = EFI_PXE_BASE_CODE_TFTP_READ_FILE; -+ grub_efi_boolean_t Overwrite = 0; -+ grub_efi_boolean_t DontUseBuffer = 0; -+ grub_efi_uintn_t BlockSize = 512; -+ grub_efi_status_t rc; -+ char *FullPath = NULL; -+ -+ if (tftp_info.BasePath) { -+ int PathSize = 0; -+ PathSize = strlen(tftp_info.BasePath) + 2 + strlen(Filename); -+ FullPath = grub_malloc(PathSize); -+ grub_sprintf(FullPath, "%s/%s", tftp_info.BasePath, Filename); -+ } else { -+ FullPath = grub_malloc(strlen(Filename)); -+ strcpy(FullPath, Filename); -+ } -+ -+ rc = Call_Service_10(tftp_info.Pxe->Mtftp, tftp_info.Pxe, OpCode, -+ Buffer, Overwrite, &BufferSize, &BlockSize, tftp_info.ServerIp, -+ FullPath, NULL, DontUseBuffer); -+ grub_free(FullPath); -+ return rc; -+} -+ -+int -+efi_tftp_mount (void) -+{ -+ if (current_drive != NETWORK_DRIVE) { -+ return 0; -+ } -+ return 1; -+} -+ -+int -+efi_tftp_read (char *addr, int size) -+{ -+ int rc; -+ -+ if (tftp_info.LastPath == NULL) { -+ grub_printf(" = 0 (no path known)\n"); -+ return 0; -+ } -+ if (tftp_info.Buffer == NULL) { -+ grub_printf(" = 0 (no file open)\n"); -+ return 0; -+ } -+ if (filemax == -1) { -+ grub_printf(" = 0 (file not found)\n"); -+ return 0; -+ } -+ if (filepos == 0) { -+ rc = tftp_read_file(tftp_info.LastPath, tftp_info.Buffer, -+ filemax); -+ } -+ -+ grub_memmove(addr, tftp_info.Buffer+filepos, size); -+ filepos += size; -+ -+ return size; -+} -+ -+int -+efi_tftp_dir (char *dirname) -+{ -+ int rc; -+ int ch; -+ grub_efi_uintn_t size; -+ int len; -+ char *name; -+ -+ ch = nul_terminate(dirname); -+ len = strlen(dirname); -+ -+ name = grub_malloc(len + 1); -+ grub_memmove(name, dirname, len); -+ name[len] = '\0'; -+ dirname[len] = ch; -+ -+#if 0 -+ if (print_possibilities) -+ return 1; -+#endif -+ -+ filemax = -1; -+ -+ rc = tftp_get_file_size(name, &size); -+ if (rc == GRUB_EFI_SUCCESS) { -+ tftp_info.LastPath = grub_malloc(strlen(name) + 1); -+ sprintf(tftp_info.LastPath, "%s", name); -+ filemax = size; -+ filepos = 0; -+ -+ tftp_info.Buffer = grub_malloc(filemax); -+ -+ return 1; -+ } -+ return 0; -+} -+ -+void -+efi_tftp_close (void) -+{ -+ filepos = 0; -+ filemax = -1; -+ grub_free(tftp_info.LastPath); -+ tftp_info.LastPath = NULL; -+ grub_free(tftp_info.Buffer); -+ tftp_info.Buffer = NULL; -+} -diff --git a/efi/efiuga.c b/efi/efiuga.c -new file mode 100644 -index 0000000..e035c55 ---- /dev/null -+++ b/efi/efiuga.c -@@ -0,0 +1,979 @@ -+/* efiuga.c - "univeral graphics adapter" support for GRUB/EFI */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright 2007 Red Hat, Inc. -+ * Copyright (C) 2007 Intel Corp. -+ * Copyright (C) 2001,2002 Red Hat, Inc. -+ * Portions copyright (C) 2000 Conectiva, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifdef SUPPORT_GRAPHICS -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include "graphics.h" -+#include "xpm.h" -+ -+static grub_efi_guid_t draw_guid = GRUB_EFI_UGA_DRAW_GUID; -+static grub_efi_guid_t pci_io_guid = GRUB_EFI_PCI_IO_GUID; -+ -+#if 0 -+#define UGA -+#include "ugadebug.h" -+#endif -+ -+#ifndef MIN -+#define MIN(x,y) ( ((x) < (y)) ? (x) : (y)) -+#endif -+#ifndef MAX -+#define MAX(x,y) ( ((x) < (y)) ? (y) : (x)) -+#endif -+ -+#define pixel_equal(x,y) ((x).red == (y).red && \ -+ (x).green == (y).green && \ -+ (x).blue == (y).blue) -+ -+struct video_mode { -+ grub_efi_uint32_t horizontal_resolution; -+ grub_efi_uint32_t vertical_resolution; -+ grub_efi_uint32_t color_depth; -+ grub_efi_uint32_t refresh_rate; -+}; -+ -+static void -+xpnd_6_to_8(grub_efi_uga_pixel_t *pixel) -+{ -+ if (!((pixel->red | pixel->green | pixel->blue) & 0xc0)) { -+ pixel->red <<= 2; -+ pixel->red |= ((pixel->red & 0xc0) >> 6); -+ pixel->red &= 0xff; -+ pixel->green <<= 2; -+ pixel->green |= ((pixel->green & 0xc0) >> 6); -+ pixel->green &= 0xff; -+ pixel->blue <<= 2; -+ pixel->blue |= ((pixel->blue & 0xc0) >> 6); -+ pixel->blue &= 0xff; -+ } -+} -+ -+ -+ -+#define MAX_PALETTE 16 -+struct uga { -+ grub_efi_uga_draw_t *draw_intf; -+ struct video_mode graphics_mode; -+ struct video_mode text_mode; -+ enum { TEXT, GRAPHICS } current_mode; -+ -+ position_t screen_size; -+ position_t screen_pos; -+ -+ struct bltbuf *background; -+ -+ grub_efi_uga_pixel_t palette[MAX_PALETTE + 1]; -+}; -+ -+#define RGB(r,g,b) { .red = r, .green = g, .blue = b } -+ -+static grub_efi_uga_pixel_t cga_colors[] = { -+ RGB(0x00,0x00,0x00), // 0 Black -+ RGB(0x7f,0x00,0x00), // 1 Dark Red -+ RGB(0x00,0x7f,0x00), // 2 Dark Green -+ RGB(0x7f,0x7f,0x00), // 3 Dark Yellow -+ RGB(0x00,0x00,0x7f), // 4 Dark Blue -+ RGB(0x7f,0x00,0x7f), // 5 Dark Magenta -+ RGB(0x00,0x7f,0x7f), // 6 Dark Cyan -+ RGB(0xc0,0xc0,0xc0), // 7 Light Grey -+ RGB(0x7f,0x7f,0x7f), // 8 Dark Grey -+ RGB(0xff,0x00,0x00), // 9 Red -+ RGB(0x00,0xff,0x00), // 10 Green -+ RGB(0xff,0xff,0x00), // 11 Yellow -+ RGB(0x00,0x00,0xff), // 12 Blue -+ RGB(0xff,0x00,0xff), // 13 Magenta -+ RGB(0x00,0xff,0xff), // 14 Cyan -+ RGB(0xff,0xff,0xff), // 15 White -+ RGB(0xff,0xff,0xff), // 16 Also white ;) -+}; -+ -+static const int n_cga_colors = sizeof (cga_colors) / sizeof (cga_colors[0]); -+ -+static void -+set_kernel_params(struct graphics_backend *backend, -+ struct linux_kernel_params *params) -+{ -+ struct uga *uga; -+ -+ if (!backend || !backend->priv) -+ return; -+ -+ uga = backend->priv; -+ -+ params->lfb_width = uga->graphics_mode.horizontal_resolution; -+ params->lfb_height = uga->graphics_mode.vertical_resolution; -+ params->lfb_depth = 32; -+ params->red_mask_size = 8; -+ params->red_field_pos = 16; -+ params->green_mask_size = 8; -+ params->green_field_pos = 8; -+ params->blue_mask_size = 8; -+ params->blue_field_pos = 0; -+ params->reserved_mask_size = 8; -+ params->reserved_field_pos = 24; -+ params->have_vga = VIDEO_TYPE_EFI; -+} -+ -+static void -+pixel_to_rgb(grub_efi_uga_pixel_t *pixel, int *red, int *green, int *blue) -+{ -+ *red = pixel->red; -+ *green = pixel->green; -+ *blue = pixel->blue; -+} -+ -+static void -+rgb_to_pixel(int red, int green, int blue, grub_efi_uga_pixel_t *pixel) -+{ -+ pixel->red = red; -+ pixel->green = green; -+ pixel->blue = blue; -+} -+ -+static void -+position_to_phys(struct uga *uga, position_t *virt, position_t *phys) -+{ -+ phys->x = virt->x + uga->screen_pos.x; -+ phys->y = virt->y + uga->screen_pos.y; -+} -+ -+static int -+abs_paddr(struct uga *uga, position_t *virt) -+{ -+ position_t phys; -+ position_to_phys(uga, virt, &phys); -+ return phys.x + phys.y * uga->screen_size.x; -+} -+ -+struct bltbuf { -+ grub_efi_uintn_t width; -+ grub_efi_uintn_t height; -+ grub_efi_uga_pixel_t pixbuf[]; -+}; -+ -+static struct bltbuf *alloc_bltbuf(grub_efi_uintn_t width, -+ grub_efi_uintn_t height) -+{ -+ struct bltbuf *buf = NULL; -+ grub_efi_uintn_t pixbuf_size = width * height * -+ sizeof (grub_efi_uga_pixel_t); -+ -+ if (!(buf = grub_malloc(sizeof(buf->width) + sizeof(buf->height) + -+ pixbuf_size))) -+ return NULL; -+ -+ buf->width = width; -+ buf->height = height; -+ grub_memset(buf->pixbuf, '\0', pixbuf_size); -+ return buf; -+} -+ -+static void -+blt_to_screen(struct uga *uga, struct bltbuf *bltbuf) -+{ -+ position_t addr = {0, 0}; -+ -+ position_to_phys(uga, &addr, &addr); -+ -+ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, -+ EfiUgaBltBufferToVideo, -+ 0, 0, -+ addr.x, addr.y, -+ bltbuf->width, bltbuf->height, -+ 0); -+} -+ -+static void -+blt_pos_to_screen_pos(struct uga *uga, struct bltbuf *bltbuf, -+ position_t *bltpos, position_t *bltsz, position_t *pos) -+{ -+ position_t phys; -+ -+ position_to_phys(uga, pos, &phys); -+ -+ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, -+ EfiUgaBltBufferToVideo, -+ bltpos->x, bltpos->y, -+ phys.x, phys.y, -+ bltsz->x, bltsz->y, -+ 0); -+} -+ -+static void -+blt_to_screen_pos(struct uga *uga, struct bltbuf *bltbuf, position_t *pos) -+{ -+ position_t bltpos = {0, 0}; -+ position_t bltsz = { bltbuf->width, bltbuf->height }; -+ blt_pos_to_screen_pos(uga, bltbuf, &bltpos, &bltsz, pos); -+} -+ -+static int -+blt_from_screen_pos(struct uga *uga, struct bltbuf **retbuf, -+ position_t *pos, position_t *size) -+{ -+ struct bltbuf *bltbuf = NULL; -+ position_t phys; -+ -+ if (!retbuf) -+ return 0; -+ -+ if (*retbuf) -+ grub_free(*retbuf); -+ -+ bltbuf = alloc_bltbuf(size->x, size->y); -+ if (!bltbuf) -+ return 0; -+ -+ position_to_phys(uga, pos, &phys); -+ -+ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, -+ EfiUgaVideoToBltBuffer, -+ phys.x, phys.y, -+ 0, 0, -+ size->x, size->y, 0); -+ *retbuf = bltbuf; -+ return 1; -+} -+ -+static int -+save_video_mode(struct uga *uga, struct video_mode *mode) -+{ -+ grub_efi_status_t status; -+ -+ status = Call_Service_5(uga->draw_intf->get_mode, uga->draw_intf, -+ &mode->horizontal_resolution, &mode->vertical_resolution, -+ &mode->color_depth, &mode->refresh_rate); -+ return status == GRUB_EFI_SUCCESS; -+} -+ -+static grub_efi_status_t -+set_video_mode(struct uga *uga, struct video_mode *mode) -+{ -+ grub_efi_status_t status; -+ -+ status = Call_Service_5(uga->draw_intf->set_mode, uga->draw_intf, -+ mode->horizontal_resolution, -+ mode->vertical_resolution, -+ mode->color_depth, -+ mode->refresh_rate); -+ return status; -+} -+ -+static int -+cmp_video_modes(struct video_mode *vm0, struct video_mode *vm1) -+{ -+ if (vm0->horizontal_resolution == vm1->horizontal_resolution && -+ vm0->vertical_resolution == vm1->vertical_resolution) -+ return 0; -+ if (vm0->horizontal_resolution >= vm1->horizontal_resolution && -+ vm0->vertical_resolution >= vm1->vertical_resolution) -+ return 1; -+ return -1; -+} -+ -+static int -+blt_from_screen(struct uga *uga, struct bltbuf **retbuf) -+{ -+ struct bltbuf *bltbuf = NULL; -+ position_t pos = {0 ,0}; -+ position_t size = { -+ .x = uga->graphics_mode.horizontal_resolution, -+ .y = uga->graphics_mode.vertical_resolution -+ }; -+ -+ return blt_from_screen_pos(uga, retbuf, &pos, &size); -+} -+ -+static void -+bltbuf_set_pixel(struct bltbuf *bltbuf, position_t *pos, -+ grub_efi_uga_pixel_t *pixel) -+{ -+ if (pos->x < 0 || pos->x >= bltbuf->width) -+ return; -+ if (pos->x < 0 || pos->y >= bltbuf->height) -+ return; -+ grub_memmove(&bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], pixel, -+ sizeof *pixel); -+} -+ -+static void -+bltbuf_get_pixel(struct bltbuf *bltbuf, position_t *pos, -+ grub_efi_uga_pixel_t *pixel) -+{ -+ if (bltbuf && pos->x < bltbuf->width && pos->y < bltbuf->height) { -+ grub_memmove(pixel, &bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], -+ sizeof *pixel); -+ } else { -+ pixel->red = 0x00; -+ pixel->green = 0x00; -+ pixel->blue = 0x00; -+ } -+} -+ -+static void -+bltbuf_set_pixel_rgb(struct bltbuf *bltbuf, position_t *pos, -+ int red, int green, int blue) -+{ -+ grub_efi_uga_pixel_t pixel; -+ rgb_to_pixel(red, green, blue, &pixel); -+ bltbuf_set_pixel(bltbuf, pos, &pixel); -+} -+ -+static void -+bltbuf_set_pixel_idx(struct uga *uga, struct bltbuf *bltbuf, -+ position_t *pos, int idx) -+{ -+ bltbuf_set_pixel(bltbuf, pos, &uga->palette[idx]); -+} -+ -+static void -+bltbuf_get_pixel_idx(struct bltbuf *bltbuf, position_t *pos, int *idx) -+{ -+ grub_efi_uga_pixel_t pixel; -+ -+ rgb_to_pixel(0, 0, 0, &pixel); -+ bltbuf_get_pixel(bltbuf, pos, &pixel); -+ for (*idx = 0; *idx < 16; (*idx)++) { -+ if (pixel_equal(cga_colors[*idx], pixel)) -+ break; -+ } -+} -+ -+static struct bltbuf * -+xpm_to_bltbuf(struct xpm *xpm) -+{ -+ struct bltbuf *bltbuf = NULL; -+ position_t pos; -+ -+ if (!(bltbuf = alloc_bltbuf(xpm->width, xpm->height))) -+ return NULL; -+ -+ for (pos.y = 0; pos.y < xpm->height; pos.y++) { -+ for (pos.x = 0; pos.x < xpm->width; pos.x++) { -+ xpm_pixel_t xpl; -+ unsigned char idx; -+ -+ idx = xpm_get_pixel_idx(xpm, pos.x, pos.y); -+ xpm_get_idx(xpm, idx, &xpl); -+ -+ bltbuf_set_pixel_rgb(bltbuf, &pos, xpl.red, xpl.green, xpl.blue); -+ } -+ } -+ -+ return bltbuf; -+} -+ -+static void -+cursor(struct graphics_backend *backend, int set) -+{ -+ struct uga *uga; -+ int ch, invert; -+ unsigned short *text; -+ position_t fpos, screensz; -+ int offset; -+ -+ uga = backend->priv; -+ -+ if (set && !graphics_get_scroll()) -+ return; -+ -+ text = graphics_get_text_buf(); -+ graphics_get_font_position(&fpos); -+ graphics_get_screen_rowscols(&screensz); -+ -+ offset = fpos.y * screensz.x + fpos.x; -+ -+ if (set) -+ text[offset] |= 0x200; -+ -+ graphics_clbl(fpos.x, fpos.y, 1, 1, 1); -+ -+ if (set) -+ text[offset] &= 0xfdff; -+} -+ -+static void blank(struct graphics_backend *backend); -+ -+static void -+reset_screen_geometry(struct graphics_backend *backend) -+{ -+ struct uga *uga = backend->priv; -+ struct xpm *xpm = graphics_get_splash_xpm(); -+ position_t screensz = { .x = 640, .y = 480 }; -+ -+ if (xpm) { -+ screensz.x = xpm->width; -+ screensz.y = xpm->height; -+ } -+ -+ uga->screen_pos.x = -+ (uga->graphics_mode.horizontal_resolution - screensz.x) / 2; -+ uga->screen_pos.y = -+ (uga->graphics_mode.vertical_resolution - screensz.y) / 2; -+ -+ blank(backend); -+ graphics_get_screen_rowscols(&screensz); -+ graphics_clbl(0, 0, screensz.x, screensz.y, 0); -+ graphics_clbl(0, 0, screensz.x, screensz.y, 1); -+} -+ -+static void -+get_screen_size(struct graphics_backend *backend, position_t *size) -+{ -+ struct uga *uga = backend->priv; -+ size->x = uga->graphics_mode.horizontal_resolution; -+ size->y = uga->graphics_mode.vertical_resolution; -+} -+ -+static void -+setxy(struct graphics_backend *backend, position_t *pos) -+{ -+ position_t fpos; -+ -+ fpos.x = pos->x; -+ fpos.y = pos->y; -+ graphics_set_font_position(&fpos); -+} -+ -+static void -+uga_getxy(struct graphics_backend *backend, position_t *pos) -+{ -+ graphics_get_font_position(pos); -+} -+ -+static void -+draw_pixel(struct graphics_backend *backend, position_t *pos, pixel_t *pixel) -+{ -+ struct bltbuf *bltbuf = NULL; -+ grub_efi_uga_pixel_t *eup = (grub_efi_uga_pixel_t *)pixel; -+ -+ bltbuf = alloc_bltbuf(1,1); -+ if (!bltbuf) -+ return; -+ -+ grub_memmove(&bltbuf->pixbuf[0], eup, sizeof (*eup)); -+ -+ blt_to_screen_pos(backend->priv, bltbuf, pos); -+ -+ grub_free(bltbuf); -+} -+ -+static pixel_t * -+get_pixel_idx(struct graphics_backend *backend, int idx) -+{ -+ static grub_efi_uga_pixel_t pixel; -+ struct uga *uga = backend->priv; -+ if (idx < 0 || idx > MAX_PALETTE) -+ return NULL; -+ pixel.red = uga->palette[idx].red; -+ pixel.green = uga->palette[idx].green; -+ pixel.blue = uga->palette[idx].blue; -+ return (pixel_t *)&pixel; -+} -+ -+static pixel_t * -+get_pixel_rgb(struct graphics_backend *backend, int red, int green, int blue) -+{ -+ static grub_efi_uga_pixel_t pixel; -+ rgb_to_pixel(red, green, blue, &pixel); -+ return &pixel; -+} -+ -+static void -+set_palette(struct graphics_backend *backend, int idx, -+ int red, int green, int blue) -+{ -+ grub_efi_uga_pixel_t pixel; -+ struct uga *uga = backend->priv; -+ -+ if (idx > MAX_PALETTE) -+ return; -+ rgb_to_pixel(red, green, blue, &pixel); -+ grub_memmove(&uga->palette[idx], &pixel, sizeof pixel); -+} -+ -+static void -+blank(struct graphics_backend *backend) -+{ -+ struct uga *uga = backend->priv; -+ struct bltbuf *bltbuf; -+ position_t pos = {0, 0}; -+ grub_efi_uintn_t x, y, i, j; -+ unsigned char r = 0 ,g = 0; -+ -+ x = uga->graphics_mode.horizontal_resolution; -+ y = uga->graphics_mode.vertical_resolution; -+ -+ if (x == 0 || y == 0) -+ return; -+ -+ bltbuf = alloc_bltbuf(x, y); -+ for (j = 0; j < y; j++) { -+ if (debug_graphics && j % 16 == 0) { -+ g = g == 0 ? 7 : 0; -+ r = g == 0 ? 7 : 0; -+ } -+ for (i = 0; i < x; i++) { -+ if (debug_graphics && i % 16 == 0) { -+ g = g == 0 ? 7 : 0; -+ r = g == 0 ? 7 : 0; -+ } -+ pos.x = i; -+ pos.y = j; -+ bltbuf_set_pixel_rgb(bltbuf, &pos, r * 16, g * 16, 0x0); -+ } -+ } -+ -+ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, -+ EfiUgaBltBufferToVideo, 0, 0, 0, 0, x, y, 0); -+ -+ grub_free(bltbuf); -+} -+ -+static void -+bltbuf_cp_bl(struct bltbuf *d, position_t dpos, -+ struct bltbuf *s, position_t spos) -+{ -+ grub_efi_uga_pixel_t *dp, *sp; -+ -+ const int xavail = MAX(0, s ? s->width - spos.x : 0); -+ const int xtotal = MAX(0, d->width - dpos.x); -+ const int xcp = MAX(0, MIN(xtotal, xavail)); -+ const int xcl = MAX(0, xtotal - xcp); -+ -+ const int yavail = MAX(0, s ? s->height - spos.y : 0); -+ const int ytotal = MAX(0, d->height - dpos.y); -+ const int ycp = MAX(0, MIN(ytotal, yavail)); -+ const int ycl = MAX(0, ytotal - ycp); -+ -+ int y, x; -+ -+ for (y = 0; y < ytotal; y++) { -+ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x]; -+ -+ if (y < yavail) { -+ sp = &s->pixbuf[(spos.y + y) * s->width + spos.x]; -+ memmove(dp, sp, xcp * sizeof (*dp)); -+ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x + xcp]; -+ memset(dp, '\0', xcl * sizeof (*dp)); -+ } else { -+ memset(dp, '\0', xtotal * sizeof (*dp)); -+ } -+ } -+} -+ -+/* copy a region the size of bltbuf from the background into bltbuf, -+ * starting at offset bgpos -+ */ -+static void -+bltbuf_draw_bg(struct graphics_backend *backend, struct bltbuf *bltbuf, -+ position_t bgpos) -+{ -+ struct uga *uga = backend->priv; -+ position_t blpos = { 0, 0 }; -+ -+ bltbuf_cp_bl(bltbuf, blpos, uga->background, bgpos); -+} -+ -+static void -+dbg_dump_palette(struct graphics_backend *backend) -+{ -+ struct uga *uga; -+ int i; -+ if (!backend || !backend->priv) -+ return; -+ uga = backend->priv; -+ if (!uga->palette) -+ return; -+} -+ -+static int -+is_shadow_pixel(position_t screensz, position_t textpos, position_t bitpos, -+ position_t fontsz) -+{ -+ unsigned short *text = graphics_get_text_buf(); -+ const unsigned char *glyph; -+ position_t glyphpos = { textpos.x, textpos.y }; -+ position_t glyphbit = { bitpos.x, bitpos.y }; -+ unsigned short ch; -+ -+ if (glyphbit.x == 0) { -+ glyphbit.x = fontsz.x; -+ glyphpos.x--; -+ } -+ if (glyphbit.y == 0) { -+ glyphbit.y = fontsz.y; -+ glyphpos.y--; -+ } -+ glyphbit.x--; -+ glyphbit.y--; -+ -+ if (glyphpos.x < 0 || glyphpos.y < 0) -+ return 0; -+ -+ ch = text[glyphpos.y * screensz.x + glyphpos.x] & 0xff; -+ glyph = font8x16 + (ch << 4); -+ return glyph[glyphbit.y] & (1 << ((fontsz.x-1) - glyphbit.x)); -+} -+ -+static void -+bltbuf_draw_character(struct graphics_backend *backend, -+ struct bltbuf *bltbuf, /* the bltbuf to draw into */ -+ position_t target, /* the position in the bltbuf to draw to */ -+ position_t fontsz, /* the size of the font, in pixels */ -+ position_t charpos, /* the position of the character in the text -+ screen buffer */ -+ position_t screensz, /* the size of the screen in characters */ -+ unsigned short ch /* the character to draw, plus flags */ -+ ) -+{ -+ struct uga *uga = backend->priv; -+ position_t blpos; -+ position_t glyphpos; -+ -+ blpos.y = target.y; -+ for (glyphpos.y = 0; glyphpos.y < fontsz.y; glyphpos.y++, blpos.y++) { -+ blpos.x = target.x; -+ for (glyphpos.x = 0; glyphpos.x < fontsz.x; glyphpos.x++, blpos.x++) { -+ int invert = (ch & 0x0100) != 0; -+ int set = (ch & 0x0200) != 0; -+ const unsigned char *glyph = font8x16 + ((ch & 0xff) << 4); -+ int bit = glyph[glyphpos.y] & (1 << ((fontsz.x-1) - glyphpos.x)); -+ int idx = -1; -+ -+ if (!set) { -+ if (invert) -+ idx = bit ? 0 : 15; -+ else if (bit) -+ idx = 15; -+ -+ if (idx == -1) { -+ if (is_shadow_pixel(screensz, charpos, glyphpos, fontsz) || -+ !uga->background) -+ idx = invert ? 15 : 0; -+ } -+ } else { -+ idx = bit ? 0 : 15; -+ } -+ -+ if (idx != -1) -+ bltbuf_set_pixel_idx(uga, bltbuf, &blpos, idx); -+ } -+ } -+} -+ -+static void -+bltbuf_draw_text(struct graphics_backend *backend, -+ struct bltbuf *bltbuf, /* the buffer to draw into */ -+ position_t screensz, /* the size of the screen in characters */ -+ position_t fontsz, /* the size of the font in pixels */ -+ position_t txtpos, /* the position of the text on the screen -+ (in characters) */ -+ position_t txtsz /* the size of the block to fill in -+ (in characters) */ -+ ) -+{ -+ struct uga *uga = backend->priv; -+ unsigned short *text = graphics_get_text_buf(); -+ position_t charpos; -+ -+ for (charpos.y = txtpos.y; charpos.y < txtpos.y + txtsz.y; charpos.y++) { -+ for (charpos.x = txtpos.x; charpos.x < txtpos.x + txtsz.x; charpos.x++){ -+ int offset = charpos.y * screensz.x + charpos.x; -+ position_t blpos = { (charpos.x-txtpos.x)*fontsz.x, -+ (charpos.y-txtpos.y)*fontsz.y }; -+ -+ bltbuf_draw_character(backend, bltbuf, blpos, fontsz, charpos, -+ screensz, text[offset]); -+ } -+ } -+} -+ -+static void -+clbl(struct graphics_backend *backend, int col, int row, int width, int height, -+ int draw_text) -+{ -+ struct uga *uga = backend->priv; -+ struct xpm *xpm; -+ -+ struct bltbuf *bltbuf; -+ position_t fontsz, blpos, blsz, screensz; -+ unsigned short *text; -+ -+// blank(backend); -+// -+ xpm = graphics_get_splash_xpm(); -+ if (xpm && !uga->background) -+ uga->background = xpm_to_bltbuf(xpm); -+ -+ graphics_get_screen_rowscols(&screensz); -+ width = MIN(width, screensz.x - col); -+ height = MIN(height, screensz.y - row); -+ graphics_get_font_size(&fontsz); -+ -+ blsz.x = width * fontsz.x; -+ blsz.y = height * fontsz.y; -+ -+ bltbuf = alloc_bltbuf(blsz.x, blsz.y); -+ if (!bltbuf) -+ return; -+ -+ blsz.x = col * fontsz.x; -+ blsz.y = row * fontsz.y; -+ -+ text = graphics_get_text_buf(); -+ bltbuf_draw_bg(backend, bltbuf, blsz); -+ -+ if (draw_text) { -+ blsz.x = width; -+ blsz.y = height; -+ blpos.x = col; -+ blpos.y = row; -+ -+ bltbuf_draw_text(backend, bltbuf, screensz, fontsz, blpos, blsz); -+ } -+ -+ blpos.x = col * fontsz.x; -+ blpos.y = row * fontsz.y; -+ -+ blt_to_screen_pos(uga, bltbuf, &blpos); -+} -+ -+static void -+setup_cga_palette(void) -+{ -+/* -+ * Nov 27 15:53:19 ping? -+ * Nov 27 15:54:13 pong? -+ * Nov 27 15:54:16 say I've got a color channel in 6 bits, and it's -+ * stored in an 8-bit value. let's call it white. -+ * now let's say I've got hardware with 8 bits per -+ * channel that I'm blitting to. What's the right -+ * way to expand 0x3f to 0xff? -+ * Nov 27 15:55:17 (my naive idea, which I haven't tried yet, is -+ * "x <<= 2; if (x) x |= 3;") -+ * Nov 27 15:55:35 no. -+ * Nov 27 15:55:43 yeah, figured I'd ask instead of doing that. -+ * Nov 27 15:56:15 x <<= 2; x |= ((x & 0xc0) >> 6); -+ */ -+ int i; -+ for (i = 0; i < n_cga_colors; i++) { -+ grub_efi_uga_pixel_t *pixel = &cga_colors[i]; -+ -+ if ((pixel->red | pixel->green | pixel->blue) & 0xc0) -+ continue; -+ pixel->red <<= 2; -+ pixel->red |= ((pixel->red & 0xc0) >> 6); -+ pixel->red &= 0xff; -+ pixel->green <<= 2; -+ pixel->green |= ((pixel->green & 0xc0) >> 6); -+ pixel->green &= 0xff; -+ pixel->blue <<= 2; -+ pixel->blue |= ((pixel->blue & 0xc0) >> 6); -+ pixel->blue &= 0xff; -+ } -+} -+ -+static int -+try_enable(struct graphics_backend *backend) -+{ -+ struct uga *uga = backend->priv; -+ struct video_mode modes[] = { -+ { 1440, 900, 32, 60 }, -+ { 640, 480, 32, 60 }, -+ { 800, 600, 32, 60 }, -+ { 640, 480, 16, 60 }, -+ { 800, 600, 16, 60 }, -+ { 640, 480, 8, 60 }, -+ { 800, 600, 8, 60 } -+ }; -+ struct video_mode mode; -+ position_t font_size; -+ int i; -+ -+ if (uga->text_mode.horizontal_resolution == 0) { -+ grub_efi_set_text_mode(1); -+ save_video_mode(uga, &uga->text_mode); -+ } -+ -+ if (uga->graphics_mode.horizontal_resolution == 0) { -+ grub_efi_set_text_mode(0); -+ save_video_mode(uga, &uga->graphics_mode); -+ -+ if (cmp_video_modes(&uga->graphics_mode, &modes[0]) >= 0) { -+ uga->current_mode = GRAPHICS; -+ graphics_alloc_text_buf(); -+ return 1; -+ } -+ for (i = 0; i < sizeof (modes) / sizeof (modes[0]); i++) { -+ set_video_mode(uga, &modes[i]); -+ save_video_mode(uga, &mode); -+ if (!cmp_video_modes(&modes[i], &mode)) { -+ grub_memmove(&uga->graphics_mode, &mode, sizeof (mode)); -+ uga->current_mode = GRAPHICS; -+ graphics_alloc_text_buf(); -+ return 1; -+ } -+ } -+ set_video_mode(uga, &uga->graphics_mode); -+ save_video_mode(uga, &mode); -+ if (!cmp_video_modes(&uga->graphics_mode, &mode)) { -+ uga->current_mode = GRAPHICS; -+ graphics_alloc_text_buf(); -+ return 1; -+ } -+ grub_efi_set_text_mode(1); -+ return 0; -+ } -+ set_video_mode(uga, &uga->graphics_mode); -+ -+ uga->current_mode = GRAPHICS; -+ return 1; -+} -+ -+static int -+enable(struct graphics_backend *backend) -+{ -+ struct uga *uga = backend->priv; -+ grub_efi_handle_t *handle, *handles; -+ grub_efi_uintn_t num_handles; -+ grub_efi_pci_io_t *pci_proto; -+ int i; -+ -+ if (uga) { -+ if (uga->current_mode == GRAPHICS) { -+ return 1; -+ } -+ } else { -+ if (!(uga = grub_malloc(sizeof (*uga)))) { -+ return 0; -+ } -+ grub_memset(uga, '\0', sizeof (*uga)); -+ -+ uga->current_mode = TEXT; -+ -+ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, -+ &draw_guid, NULL, &num_handles); -+ -+ if (!num_handles || !handles) -+ { -+ grub_free(uga); -+ return 0; -+ } -+ -+ for (handle = handles; num_handles--; handle++) -+ { -+ pci_proto = grub_efi_open_protocol (*handle, &pci_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ if (!pci_proto) -+ continue; -+ -+ uga->draw_intf = grub_efi_open_protocol (*handle, &draw_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ if (uga->draw_intf) -+ { -+ grub_efi_setup_gfx_pci(*handle); -+ break; -+ } -+ } -+ -+ grub_free(handles); -+ -+ if (!uga->draw_intf) { -+ grub_free(uga); -+ return 0; -+ } -+ grub_memset(&uga->graphics_mode, '\0', sizeof (uga->graphics_mode)); -+ grub_memset(&uga->text_mode, '\0', sizeof (uga->text_mode)); -+ backend->priv = uga; -+ -+ setup_cga_palette(); -+ for (i = 0; i < n_cga_colors; i++) { -+ uga->palette[i].red = cga_colors[i].red; -+ uga->palette[i].green = cga_colors[i].green; -+ uga->palette[i].blue = cga_colors[i].blue; -+ } -+ } -+ -+ if (try_enable(backend)) { -+ reset_screen_geometry(backend); -+ return 1; -+ } -+ -+ backend->priv = NULL; -+ grub_free(uga); -+ return 0; -+} -+ -+static void disable(struct graphics_backend *backend) -+{ -+ struct uga *uga; -+ -+ if (!backend) -+ return; -+ -+ uga = backend->priv; -+ if (!uga || uga->current_mode != GRAPHICS) -+ return; -+ -+#if 0 -+ blank(backend); -+ -+ set_video_mode(uga, &uga->text_mode); -+ grub_efi_set_text_mode(1); -+#endif -+ uga->current_mode = TEXT; -+} -+ -+struct graphics_backend uga_backend = { -+ .name = "uga", -+ .enable = enable, -+ .disable = disable, -+ .set_kernel_params = set_kernel_params, -+ .clbl = clbl, -+ .set_palette = set_palette, -+ .get_pixel_idx = get_pixel_idx, -+ .get_pixel_rgb = get_pixel_rgb, -+ .draw_pixel = draw_pixel, -+ .reset_screen_geometry = reset_screen_geometry, -+ .get_screen_size = get_screen_size, -+ .getxy = uga_getxy, -+ .setxy = setxy, -+ .gotoxy = NULL, -+ .cursor = cursor, -+}; -+ -+#endif /* SUPPORT_GRAPHICS */ -diff --git a/efi/font_8x16.c b/efi/font_8x16.c -new file mode 100644 -index 0000000..94829ec ---- /dev/null -+++ b/efi/font_8x16.c -@@ -0,0 +1,4638 @@ -+/* font_8x16.c - 8x16 font for GRUB/EFI */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copied from Linux kernel drivers/video/console/font_8x16.c, -+ * which is generated by cpi2fnt. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifdef SUPPORT_GRAPHICS -+ -+#define FONTDATAMAX 4096 -+ -+const unsigned char font8x16[FONTDATAMAX] = { -+ -+ /* 0 0x00 '^@' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 1 0x01 '^A' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x81, /* 10000001 */ -+ 0xa5, /* 10100101 */ -+ 0x81, /* 10000001 */ -+ 0x81, /* 10000001 */ -+ 0xbd, /* 10111101 */ -+ 0x99, /* 10011001 */ -+ 0x81, /* 10000001 */ -+ 0x81, /* 10000001 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 2 0x02 '^B' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0xff, /* 11111111 */ -+ 0xdb, /* 11011011 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xc3, /* 11000011 */ -+ 0xe7, /* 11100111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 3 0x03 '^C' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x6c, /* 01101100 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0x7c, /* 01111100 */ -+ 0x38, /* 00111000 */ -+ 0x10, /* 00010000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 4 0x04 '^D' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x7c, /* 01111100 */ -+ 0xfe, /* 11111110 */ -+ 0x7c, /* 01111100 */ -+ 0x38, /* 00111000 */ -+ 0x10, /* 00010000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 5 0x05 '^E' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x3c, /* 00111100 */ -+ 0xe7, /* 11100111 */ -+ 0xe7, /* 11100111 */ -+ 0xe7, /* 11100111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 6 0x06 '^F' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x7e, /* 01111110 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 7 0x07 '^G' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 8 0x08 '^H' */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xe7, /* 11100111 */ -+ 0xc3, /* 11000011 */ -+ 0xc3, /* 11000011 */ -+ 0xe7, /* 11100111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ -+ /* 9 0x09 '^I' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0x42, /* 01000010 */ -+ 0x42, /* 01000010 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 10 0x0a '^J' */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xc3, /* 11000011 */ -+ 0x99, /* 10011001 */ -+ 0xbd, /* 10111101 */ -+ 0xbd, /* 10111101 */ -+ 0x99, /* 10011001 */ -+ 0xc3, /* 11000011 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ -+ /* 11 0x0b '^K' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1e, /* 00011110 */ -+ 0x0e, /* 00001110 */ -+ 0x1a, /* 00011010 */ -+ 0x32, /* 00110010 */ -+ 0x78, /* 01111000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x78, /* 01111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 12 0x0c '^L' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 13 0x0d '^M' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3f, /* 00111111 */ -+ 0x33, /* 00110011 */ -+ 0x3f, /* 00111111 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x70, /* 01110000 */ -+ 0xf0, /* 11110000 */ -+ 0xe0, /* 11100000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 14 0x0e '^N' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7f, /* 01111111 */ -+ 0x63, /* 01100011 */ -+ 0x7f, /* 01111111 */ -+ 0x63, /* 01100011 */ -+ 0x63, /* 01100011 */ -+ 0x63, /* 01100011 */ -+ 0x63, /* 01100011 */ -+ 0x67, /* 01100111 */ -+ 0xe7, /* 11100111 */ -+ 0xe6, /* 11100110 */ -+ 0xc0, /* 11000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 15 0x0f '^O' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xdb, /* 11011011 */ -+ 0x3c, /* 00111100 */ -+ 0xe7, /* 11100111 */ -+ 0x3c, /* 00111100 */ -+ 0xdb, /* 11011011 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 16 0x10 '^P' */ -+ 0x00, /* 00000000 */ -+ 0x80, /* 10000000 */ -+ 0xc0, /* 11000000 */ -+ 0xe0, /* 11100000 */ -+ 0xf0, /* 11110000 */ -+ 0xf8, /* 11111000 */ -+ 0xfe, /* 11111110 */ -+ 0xf8, /* 11111000 */ -+ 0xf0, /* 11110000 */ -+ 0xe0, /* 11100000 */ -+ 0xc0, /* 11000000 */ -+ 0x80, /* 10000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 17 0x11 '^Q' */ -+ 0x00, /* 00000000 */ -+ 0x02, /* 00000010 */ -+ 0x06, /* 00000110 */ -+ 0x0e, /* 00001110 */ -+ 0x1e, /* 00011110 */ -+ 0x3e, /* 00111110 */ -+ 0xfe, /* 11111110 */ -+ 0x3e, /* 00111110 */ -+ 0x1e, /* 00011110 */ -+ 0x0e, /* 00001110 */ -+ 0x06, /* 00000110 */ -+ 0x02, /* 00000010 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 18 0x12 '^R' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 19 0x13 '^S' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 20 0x14 '^T' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7f, /* 01111111 */ -+ 0xdb, /* 11011011 */ -+ 0xdb, /* 11011011 */ -+ 0xdb, /* 11011011 */ -+ 0x7b, /* 01111011 */ -+ 0x1b, /* 00011011 */ -+ 0x1b, /* 00011011 */ -+ 0x1b, /* 00011011 */ -+ 0x1b, /* 00011011 */ -+ 0x1b, /* 00011011 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 21 0x15 '^U' */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0x60, /* 01100000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x0c, /* 00001100 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 22 0x16 '^V' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 23 0x17 '^W' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 24 0x18 '^X' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 25 0x19 '^Y' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 26 0x1a '^Z' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0xfe, /* 11111110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 27 0x1b '^[' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xfe, /* 11111110 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 28 0x1c '^\' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 29 0x1d '^]' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x28, /* 00101000 */ -+ 0x6c, /* 01101100 */ -+ 0xfe, /* 11111110 */ -+ 0x6c, /* 01101100 */ -+ 0x28, /* 00101000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 30 0x1e '^^' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x38, /* 00111000 */ -+ 0x7c, /* 01111100 */ -+ 0x7c, /* 01111100 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 31 0x1f '^_' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0x7c, /* 01111100 */ -+ 0x7c, /* 01111100 */ -+ 0x38, /* 00111000 */ -+ 0x38, /* 00111000 */ -+ 0x10, /* 00010000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 32 0x20 ' ' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 33 0x21 '!' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x3c, /* 00111100 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 34 0x22 '"' */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x24, /* 00100100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 35 0x23 '#' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0xfe, /* 11111110 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0xfe, /* 11111110 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 36 0x24 '$' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc2, /* 11000010 */ -+ 0xc0, /* 11000000 */ -+ 0x7c, /* 01111100 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x86, /* 10000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 37 0x25 '%' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc2, /* 11000010 */ -+ 0xc6, /* 11000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc6, /* 11000110 */ -+ 0x86, /* 10000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 38 0x26 '&' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 39 0x27 ''' */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 40 0x28 '(' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 41 0x29 ')' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 42 0x2a '*' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0xff, /* 11111111 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 43 0x2b '+' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 44 0x2c ',' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 45 0x2d '-' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 46 0x2e '.' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 47 0x2f '/' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x02, /* 00000010 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc0, /* 11000000 */ -+ 0x80, /* 10000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 48 0x30 '0' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 49 0x31 '1' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x38, /* 00111000 */ -+ 0x78, /* 01111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 50 0x32 '2' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 51 0x33 '3' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x3c, /* 00111100 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 52 0x34 '4' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x0c, /* 00001100 */ -+ 0x1c, /* 00011100 */ -+ 0x3c, /* 00111100 */ -+ 0x6c, /* 01101100 */ -+ 0xcc, /* 11001100 */ -+ 0xfe, /* 11111110 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x1e, /* 00011110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 53 0x35 '5' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xfc, /* 11111100 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 54 0x36 '6' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x60, /* 01100000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xfc, /* 11111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 55 0x37 '7' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 56 0x38 '8' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 57 0x39 '9' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7e, /* 01111110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x78, /* 01111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 58 0x3a ':' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 59 0x3b ';' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 60 0x3c '<' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x06, /* 00000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 61 0x3d '=' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 62 0x3e '>' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 63 0x3f '?' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 64 0x40 '@' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xde, /* 11011110 */ -+ 0xde, /* 11011110 */ -+ 0xde, /* 11011110 */ -+ 0xdc, /* 11011100 */ -+ 0xc0, /* 11000000 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 65 0x41 'A' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 66 0x42 'B' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfc, /* 11111100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x7c, /* 01111100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0xfc, /* 11111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 67 0x43 'C' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0xc2, /* 11000010 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc2, /* 11000010 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 68 0x44 'D' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xf8, /* 11111000 */ -+ 0x6c, /* 01101100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x6c, /* 01101100 */ -+ 0xf8, /* 11111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 69 0x45 'E' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x66, /* 01100110 */ -+ 0x62, /* 01100010 */ -+ 0x68, /* 01101000 */ -+ 0x78, /* 01111000 */ -+ 0x68, /* 01101000 */ -+ 0x60, /* 01100000 */ -+ 0x62, /* 01100010 */ -+ 0x66, /* 01100110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 70 0x46 'F' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x66, /* 01100110 */ -+ 0x62, /* 01100010 */ -+ 0x68, /* 01101000 */ -+ 0x78, /* 01111000 */ -+ 0x68, /* 01101000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0xf0, /* 11110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 71 0x47 'G' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0xc2, /* 11000010 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xde, /* 11011110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x66, /* 01100110 */ -+ 0x3a, /* 00111010 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 72 0x48 'H' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 73 0x49 'I' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 74 0x4a 'J' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1e, /* 00011110 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x78, /* 01111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 75 0x4b 'K' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xe6, /* 11100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x6c, /* 01101100 */ -+ 0x78, /* 01111000 */ -+ 0x78, /* 01111000 */ -+ 0x6c, /* 01101100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0xe6, /* 11100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 76 0x4c 'L' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xf0, /* 11110000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x62, /* 01100010 */ -+ 0x66, /* 01100110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 77 0x4d 'M' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xee, /* 11101110 */ -+ 0xfe, /* 11111110 */ -+ 0xfe, /* 11111110 */ -+ 0xd6, /* 11010110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 78 0x4e 'N' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xe6, /* 11100110 */ -+ 0xf6, /* 11110110 */ -+ 0xfe, /* 11111110 */ -+ 0xde, /* 11011110 */ -+ 0xce, /* 11001110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 79 0x4f 'O' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 80 0x50 'P' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfc, /* 11111100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x7c, /* 01111100 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0xf0, /* 11110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 81 0x51 'Q' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xd6, /* 11010110 */ -+ 0xde, /* 11011110 */ -+ 0x7c, /* 01111100 */ -+ 0x0c, /* 00001100 */ -+ 0x0e, /* 00001110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 82 0x52 'R' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfc, /* 11111100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x7c, /* 01111100 */ -+ 0x6c, /* 01101100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0xe6, /* 11100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 83 0x53 'S' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x60, /* 01100000 */ -+ 0x38, /* 00111000 */ -+ 0x0c, /* 00001100 */ -+ 0x06, /* 00000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 84 0x54 'T' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x5a, /* 01011010 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 85 0x55 'U' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 86 0x56 'V' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x10, /* 00010000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 87 0x57 'W' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xfe, /* 11111110 */ -+ 0xee, /* 11101110 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 88 0x58 'X' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x7c, /* 01111100 */ -+ 0x38, /* 00111000 */ -+ 0x38, /* 00111000 */ -+ 0x7c, /* 01111100 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 89 0x59 'Y' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 90 0x5a 'Z' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0x86, /* 10000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc2, /* 11000010 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 91 0x5b '[' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 92 0x5c '\' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x80, /* 10000000 */ -+ 0xc0, /* 11000000 */ -+ 0xe0, /* 11100000 */ -+ 0x70, /* 01110000 */ -+ 0x38, /* 00111000 */ -+ 0x1c, /* 00011100 */ -+ 0x0e, /* 00001110 */ -+ 0x06, /* 00000110 */ -+ 0x02, /* 00000010 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 93 0x5d ']' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 94 0x5e '^' */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 95 0x5f '_' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 96 0x60 '`' */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 97 0x61 'a' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0x0c, /* 00001100 */ -+ 0x7c, /* 01111100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 98 0x62 'b' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xe0, /* 11100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x78, /* 01111000 */ -+ 0x6c, /* 01101100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 99 0x63 'c' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 100 0x64 'd' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1c, /* 00011100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x3c, /* 00111100 */ -+ 0x6c, /* 01101100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 101 0x65 'e' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 102 0x66 'f' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1c, /* 00011100 */ -+ 0x36, /* 00110110 */ -+ 0x32, /* 00110010 */ -+ 0x30, /* 00110000 */ -+ 0x78, /* 01111000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x78, /* 01111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 103 0x67 'g' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x7c, /* 01111100 */ -+ 0x0c, /* 00001100 */ -+ 0xcc, /* 11001100 */ -+ 0x78, /* 01111000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 104 0x68 'h' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xe0, /* 11100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x6c, /* 01101100 */ -+ 0x76, /* 01110110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0xe6, /* 11100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 105 0x69 'i' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 106 0x6a 'j' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x00, /* 00000000 */ -+ 0x0e, /* 00001110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ -+ /* 107 0x6b 'k' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xe0, /* 11100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x66, /* 01100110 */ -+ 0x6c, /* 01101100 */ -+ 0x78, /* 01111000 */ -+ 0x78, /* 01111000 */ -+ 0x6c, /* 01101100 */ -+ 0x66, /* 01100110 */ -+ 0xe6, /* 11100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 108 0x6c 'l' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 109 0x6d 'm' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xec, /* 11101100 */ -+ 0xfe, /* 11111110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 110 0x6e 'n' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xdc, /* 11011100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 111 0x6f 'o' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 112 0x70 'p' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xdc, /* 11011100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x7c, /* 01111100 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0xf0, /* 11110000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 113 0x71 'q' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x7c, /* 01111100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x1e, /* 00011110 */ -+ 0x00, /* 00000000 */ -+ -+ /* 114 0x72 'r' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xdc, /* 11011100 */ -+ 0x76, /* 01110110 */ -+ 0x66, /* 01100110 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0xf0, /* 11110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 115 0x73 's' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0x60, /* 01100000 */ -+ 0x38, /* 00111000 */ -+ 0x0c, /* 00001100 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 116 0x74 't' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0xfc, /* 11111100 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x36, /* 00110110 */ -+ 0x1c, /* 00011100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 117 0x75 'u' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 118 0x76 'v' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 119 0x77 'w' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xd6, /* 11010110 */ -+ 0xfe, /* 11111110 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 120 0x78 'x' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x38, /* 00111000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 121 0x79 'y' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7e, /* 01111110 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0xf8, /* 11111000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 122 0x7a 'z' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xcc, /* 11001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 123 0x7b '{' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x0e, /* 00001110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x70, /* 01110000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x0e, /* 00001110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 124 0x7c '|' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 125 0x7d '}' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x70, /* 01110000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x0e, /* 00001110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x70, /* 01110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 126 0x7e '~' */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 127 0x7f '' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 128 0x80 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0xc2, /* 11000010 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc2, /* 11000010 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x70, /* 01110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 129 0x81 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 130 0x82 '�' */ -+ 0x00, /* 00000000 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 131 0x83 '�' */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0x0c, /* 00001100 */ -+ 0x7c, /* 01111100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 132 0x84 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0x0c, /* 00001100 */ -+ 0x7c, /* 01111100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 133 0x85 '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0x0c, /* 00001100 */ -+ 0x7c, /* 01111100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 134 0x86 '�' */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0x0c, /* 00001100 */ -+ 0x7c, /* 01111100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 135 0x87 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x18, /* 00011000 */ -+ 0x70, /* 01110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 136 0x88 '�' */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 137 0x89 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 138 0x8a '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 139 0x8b '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 140 0x8c '�' */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 141 0x8d '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 142 0x8e '�' */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 143 0x8f '�' */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 144 0x90 '�' */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x66, /* 01100110 */ -+ 0x62, /* 01100010 */ -+ 0x68, /* 01101000 */ -+ 0x78, /* 01111000 */ -+ 0x68, /* 01101000 */ -+ 0x62, /* 01100010 */ -+ 0x66, /* 01100110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 145 0x91 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xec, /* 11101100 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x7e, /* 01111110 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0x6e, /* 01101110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 146 0x92 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3e, /* 00111110 */ -+ 0x6c, /* 01101100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xfe, /* 11111110 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xce, /* 11001110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 147 0x93 '�' */ -+ 0x00, /* 00000000 */ -+ 0x10, /* 00010000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 148 0x94 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 149 0x95 '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 150 0x96 '�' */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x78, /* 01111000 */ -+ 0xcc, /* 11001100 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 151 0x97 '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 152 0x98 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7e, /* 01111110 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x78, /* 01111000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 153 0x99 '�' */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 154 0x9a '�' */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 155 0x9b '�' */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 156 0x9c '�' */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x64, /* 01100100 */ -+ 0x60, /* 01100000 */ -+ 0xf0, /* 11110000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0xe6, /* 11100110 */ -+ 0xfc, /* 11111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 157 0x9d '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 158 0x9e '�' */ -+ 0x00, /* 00000000 */ -+ 0xf8, /* 11111000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xf8, /* 11111000 */ -+ 0xc4, /* 11000100 */ -+ 0xcc, /* 11001100 */ -+ 0xde, /* 11011110 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 159 0x9f '�' */ -+ 0x00, /* 00000000 */ -+ 0x0e, /* 00001110 */ -+ 0x1b, /* 00011011 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xd8, /* 11011000 */ -+ 0x70, /* 01110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 160 0xa0 '�' */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0x0c, /* 00001100 */ -+ 0x7c, /* 01111100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 161 0xa1 '�' */ -+ 0x00, /* 00000000 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 162 0xa2 '�' */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 163 0xa3 '�' */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x00, /* 00000000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 164 0xa4 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0x00, /* 00000000 */ -+ 0xdc, /* 11011100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 165 0xa5 '�' */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0x00, /* 00000000 */ -+ 0xc6, /* 11000110 */ -+ 0xe6, /* 11100110 */ -+ 0xf6, /* 11110110 */ -+ 0xfe, /* 11111110 */ -+ 0xde, /* 11011110 */ -+ 0xce, /* 11001110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 166 0xa6 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x3e, /* 00111110 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 167 0xa7 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 168 0xa8 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc0, /* 11000000 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x7c, /* 01111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 169 0xa9 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 170 0xaa '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 171 0xab '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0xe0, /* 11100000 */ -+ 0x62, /* 01100010 */ -+ 0x66, /* 01100110 */ -+ 0x6c, /* 01101100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xdc, /* 11011100 */ -+ 0x86, /* 10000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x3e, /* 00111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 172 0xac '�' */ -+ 0x00, /* 00000000 */ -+ 0x60, /* 01100000 */ -+ 0xe0, /* 11100000 */ -+ 0x62, /* 01100010 */ -+ 0x66, /* 01100110 */ -+ 0x6c, /* 01101100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x66, /* 01100110 */ -+ 0xce, /* 11001110 */ -+ 0x9a, /* 10011010 */ -+ 0x3f, /* 00111111 */ -+ 0x06, /* 00000110 */ -+ 0x06, /* 00000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 173 0xad '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x3c, /* 00111100 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 174 0xae '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x36, /* 00110110 */ -+ 0x6c, /* 01101100 */ -+ 0xd8, /* 11011000 */ -+ 0x6c, /* 01101100 */ -+ 0x36, /* 00110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 175 0xaf '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xd8, /* 11011000 */ -+ 0x6c, /* 01101100 */ -+ 0x36, /* 00110110 */ -+ 0x6c, /* 01101100 */ -+ 0xd8, /* 11011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 176 0xb0 '�' */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ 0x11, /* 00010001 */ -+ 0x44, /* 01000100 */ -+ -+ /* 177 0xb1 '�' */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ 0x55, /* 01010101 */ -+ 0xaa, /* 10101010 */ -+ -+ /* 178 0xb2 '�' */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ 0xdd, /* 11011101 */ -+ 0x77, /* 01110111 */ -+ -+ /* 179 0xb3 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 180 0xb4 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 181 0xb5 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 182 0xb6 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xf6, /* 11110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 183 0xb7 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 184 0xb8 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 185 0xb9 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xf6, /* 11110110 */ -+ 0x06, /* 00000110 */ -+ 0xf6, /* 11110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 186 0xba '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 187 0xbb '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x06, /* 00000110 */ -+ 0xf6, /* 11110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 188 0xbc '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xf6, /* 11110110 */ -+ 0x06, /* 00000110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 189 0xbd '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 190 0xbe '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 191 0xbf '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xf8, /* 11111000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 192 0xc0 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 193 0xc1 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 194 0xc2 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 195 0xc3 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 196 0xc4 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 197 0xc5 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xff, /* 11111111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 198 0xc6 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 199 0xc7 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x37, /* 00110111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 200 0xc8 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x37, /* 00110111 */ -+ 0x30, /* 00110000 */ -+ 0x3f, /* 00111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 201 0xc9 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3f, /* 00111111 */ -+ 0x30, /* 00110000 */ -+ 0x37, /* 00110111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 202 0xca '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xf7, /* 11110111 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 203 0xcb '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0xf7, /* 11110111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 204 0xcc '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x37, /* 00110111 */ -+ 0x30, /* 00110000 */ -+ 0x37, /* 00110111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 205 0xcd '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 206 0xce '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xf7, /* 11110111 */ -+ 0x00, /* 00000000 */ -+ 0xf7, /* 11110111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 207 0xcf '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 208 0xd0 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 209 0xd1 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 210 0xd2 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 211 0xd3 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x3f, /* 00111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 212 0xd4 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 213 0xd5 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 214 0xd6 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x3f, /* 00111111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 215 0xd7 '�' */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0xff, /* 11111111 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ -+ /* 216 0xd8 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xff, /* 11111111 */ -+ 0x18, /* 00011000 */ -+ 0xff, /* 11111111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 217 0xd9 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xf8, /* 11111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 218 0xda '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1f, /* 00011111 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 219 0xdb '�' */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ -+ /* 220 0xdc '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ -+ /* 221 0xdd '�' */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ 0xf0, /* 11110000 */ -+ -+ /* 222 0xde '�' */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ 0x0f, /* 00001111 */ -+ -+ /* 223 0xdf '�' */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0xff, /* 11111111 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 224 0xe0 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0xdc, /* 11011100 */ -+ 0x76, /* 01110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 225 0xe1 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x78, /* 01111000 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xcc, /* 11001100 */ -+ 0xd8, /* 11011000 */ -+ 0xcc, /* 11001100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xcc, /* 11001100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 226 0xe2 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0xc0, /* 11000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 227 0xe3 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 228 0xe4 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 229 0xe5 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0x70, /* 01110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 230 0xe6 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x7c, /* 01111100 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0xc0, /* 11000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 231 0xe7 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 232 0xe8 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 233 0xe9 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xfe, /* 11111110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 234 0xea '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0xee, /* 11101110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 235 0xeb '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1e, /* 00011110 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x3e, /* 00111110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x66, /* 01100110 */ -+ 0x3c, /* 00111100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 236 0xec '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0xdb, /* 11011011 */ -+ 0xdb, /* 11011011 */ -+ 0xdb, /* 11011011 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 237 0xed '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x03, /* 00000011 */ -+ 0x06, /* 00000110 */ -+ 0x7e, /* 01111110 */ -+ 0xdb, /* 11011011 */ -+ 0xdb, /* 11011011 */ -+ 0xf3, /* 11110011 */ -+ 0x7e, /* 01111110 */ -+ 0x60, /* 01100000 */ -+ 0xc0, /* 11000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 238 0xee '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x1c, /* 00011100 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x7c, /* 01111100 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x1c, /* 00011100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 239 0xef '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7c, /* 01111100 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0xc6, /* 11000110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 240 0xf0 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0xfe, /* 11111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 241 0xf1 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x7e, /* 01111110 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 242 0xf2 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x06, /* 00000110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 243 0xf3 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x30, /* 00110000 */ -+ 0x60, /* 01100000 */ -+ 0x30, /* 00110000 */ -+ 0x18, /* 00011000 */ -+ 0x0c, /* 00001100 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 244 0xf4 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x0e, /* 00001110 */ -+ 0x1b, /* 00011011 */ -+ 0x1b, /* 00011011 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ -+ /* 245 0xf5 '�' */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0xd8, /* 11011000 */ -+ 0x70, /* 01110000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 246 0xf6 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 247 0xf7 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0x00, /* 00000000 */ -+ 0x76, /* 01110110 */ -+ 0xdc, /* 11011100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 248 0xf8 '�' */ -+ 0x00, /* 00000000 */ -+ 0x38, /* 00111000 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x38, /* 00111000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 249 0xf9 '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 250 0xfa '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x18, /* 00011000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 251 0xfb '�' */ -+ 0x00, /* 00000000 */ -+ 0x0f, /* 00001111 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0x0c, /* 00001100 */ -+ 0xec, /* 11101100 */ -+ 0x6c, /* 01101100 */ -+ 0x6c, /* 01101100 */ -+ 0x3c, /* 00111100 */ -+ 0x1c, /* 00011100 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 252 0xfc '�' */ -+ 0x00, /* 00000000 */ -+ 0x6c, /* 01101100 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x36, /* 00110110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 253 0xfd '�' */ -+ 0x00, /* 00000000 */ -+ 0x3c, /* 00111100 */ -+ 0x66, /* 01100110 */ -+ 0x0c, /* 00001100 */ -+ 0x18, /* 00011000 */ -+ 0x32, /* 00110010 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 254 0xfe '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x7e, /* 01111110 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+ /* 255 0xff '�' */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ 0x00, /* 00000000 */ -+ -+}; -+ -+#endif -diff --git a/efi/graphics.c b/efi/graphics.c -new file mode 100644 -index 0000000..2302590 ---- /dev/null -+++ b/efi/graphics.c -@@ -0,0 +1,659 @@ -+#ifdef SUPPORT_GRAPHICS -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include "graphics.h" -+ -+#if 0 -+#include "ugadebug.h" -+#endif -+ -+int foreground = 0x00ffffff, background = 0; -+int graphics_inited = 0; -+ -+/* Convert a character which is a hex digit to the appropriate integer */ -+int -+hex (int v) -+{ -+ if (v >= 'A' && v <= 'F') -+ return (v - 'A' + 10); -+ if (v >= 'a' && v <= 'f') -+ return (v - 'a' + 10); -+ return (v - '0'); -+} -+ -+grub_uint16_t -+grub_console_getwh (void) -+{ -+ grub_efi_simple_text_output_interface_t *o; -+ grub_efi_uintn_t columns, rows; -+ -+ o = grub_efi_system_table->con_out; -+ if (Call_Service_4 (o->query_mode , o, o->mode->mode, &columns, &rows) -+ != GRUB_EFI_SUCCESS) -+ { -+ /* Why does this fail? */ -+ columns = 80; -+ rows = 25; -+ } -+ -+ return ((columns << 8) | rows); -+} -+ -+extern struct graphics_backend uga_backend; -+extern struct graphics_backend eg_backend; -+ -+static struct graphics_backend *backends[] = { -+ &eg_backend, -+ &uga_backend, -+ NULL -+}; -+static struct graphics_backend *backend; -+ -+struct graphics { -+ int scroll; -+ int fontx; -+ int fonty; -+ -+ int standard_color; -+ int normal_color; -+ int highlight_color; -+ int current_color; -+ color_state color_state; -+ -+ char splashpath[64]; -+ struct xpm *splashimage; -+ -+ unsigned short *text; -+}; -+ -+static grub_efi_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID; -+static grub_efi_guid_t pci_io_guid = GRUB_EFI_PCI_IO_GUID; -+static grub_efi_guid_t pci_root_io_guid = GRUB_EFI_PCI_ROOT_IO_GUID; -+ -+static void -+grub_efi_configure_pci(grub_efi_handle_t handle) -+{ -+ grub_efi_device_path_t *path, *parent; -+ grub_efi_handle_t parent_handle; -+ grub_efi_pci_io_t *pci_proto; -+ grub_efi_pci_root_io_t *pci_root_proto; -+ grub_efi_status_t status; -+ -+ path = grub_efi_get_device_path(handle); -+ parent = find_parent_device_path(path); -+ -+ if (!parent) -+ return; -+ -+ status = grub_efi_locate_device_path (&device_path_guid, &parent, -+ &parent_handle); -+ if (status != GRUB_EFI_SUCCESS) -+ return; -+ -+ pci_proto = grub_efi_open_protocol (parent_handle, &pci_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ pci_root_proto = grub_efi_open_protocol (parent_handle, &pci_root_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ -+ if (pci_proto || pci_root_proto) -+ { -+ if (pci_proto) -+ { -+ Call_Service_4 (pci_proto->attributes, pci_proto, -+ grub_efi_pci_io_attribute_operation_enable, -+ GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | -+ GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_IO | -+ GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO, NULL); -+ -+ grub_efi_configure_pci (parent_handle); -+ } -+ else -+ { -+ grub_uint8_t value = 0x33; -+ -+ Call_Service_5 (pci_root_proto->pci.write, pci_root_proto, -+ grub_efi_pci_io_width_uint8, 0x91, 1, &value); -+ Call_Service_5 (pci_root_proto->pci.write, pci_root_proto, -+ grub_efi_pci_io_width_uint8, 0x92, 1, &value); -+ } -+ } -+ grub_free(parent); -+} -+ -+void -+grub_efi_setup_gfx_pci(grub_efi_handle_t handle) -+{ -+ grub_efi_uint64_t romsize; -+ grub_efi_uint16_t *header; -+ void *vrom; -+ grub_efi_pci_io_t *pci_proto; -+ -+ pci_proto = grub_efi_open_protocol (handle, &pci_io_guid, -+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); -+ -+ if (!pci_proto) -+ return; -+ -+ romsize = pci_proto->rom_size; -+ -+ if (!romsize || romsize > 65536 || !pci_proto->rom_image) -+ return; -+ -+ /* Copy the ROM */ -+ vrom = grub_efi_allocate_runtime_pages(0xc0000, 16); -+ -+ if (!vrom) -+ return; -+ -+ header = vrom; -+ -+ if (*header == 0xaa55) -+ return; -+ -+ grub_efi_configure_pci(handle); -+ -+ grub_memcpy(vrom, pci_proto->rom_image, romsize); -+} -+ -+void -+graphics_set_kernel_params(struct linux_kernel_params *params) -+{ -+ params->video_cursor_x = grub_efi_system_table->con_out->mode->cursor_column; -+ params->video_cursor_y = grub_efi_system_table->con_out->mode->cursor_row; -+ params->video_page = 0; /* ??? */ -+ params->video_mode = grub_efi_system_table->con_out->mode->mode; -+ params->video_width = (grub_console_getwh () >> 8); -+ params->video_ega_bx = 0; -+ params->video_height = (grub_console_getwh () & 0xff); -+ params->have_vga = 0; -+ params->font_size = 16; /* XXX */ -+ -+ /* No VBE. */ -+ params->lfb_width = 0; -+ params->lfb_height = 0; -+ params->lfb_depth = 0; -+ params->lfb_base = 0; -+ params->lfb_size = 0; -+ params->lfb_line_len = 0; -+ params->red_mask_size = 0; -+ params->red_field_pos = 0; -+ params->green_mask_size = 0; -+ params->green_field_pos = 0; -+ params->blue_mask_size = 0; -+ params->blue_field_pos = 0; -+ params->reserved_mask_size = 0; -+ params->reserved_field_pos = 0; -+ params->vesapm_segment = 0; -+ params->vesapm_offset = 0; -+ params->lfb_pages = 0; -+ params->vesa_attrib = 0; -+ -+ if (backend && backend->set_kernel_params) -+ backend->set_kernel_params(backend, params); -+} -+ -+int -+graphics_alloc_text_buf(void) -+{ -+ if (backend) { -+ struct graphics *graphics = backend->graphics; -+ position_t screen_size; -+ -+ if (graphics->text) { -+ grub_free(graphics->text); -+ graphics->text = NULL; -+ } -+ graphics_get_screen_rowscols(&screen_size); -+ graphics->text = grub_malloc(screen_size.x -+ * screen_size.y -+ * sizeof (graphics->text[0])); -+ if (graphics->text) { -+ int x, y; -+ for (y = 0; y < screen_size.y; y++) -+ for (x = 0; x < screen_size.x; x++) -+ graphics->text[y * screen_size.x + x] = ' '; -+ return 1; -+ } -+ } -+ return 0; -+} -+ -+unsigned short * -+graphics_get_text_buf(void) -+{ -+ return backend ? backend->graphics->text : NULL; -+ return NULL; -+} -+ -+int -+graphics_get_screen_rowscols(position_t *size) -+{ -+#if 0 -+ if (backend && backend->get_screen_size) { -+ backend->get_screen_size(backend, size); -+ size->x >>= 3; -+ size->y >>= 4; -+ return 1; -+ } -+ size->x = -1; -+ size->y = -1; -+ return 0; -+#else -+ size->x = 80; -+ size->y = 30; -+ return 1; -+#endif -+} -+ -+int -+graphics_get_scroll(void) -+{ -+ return backend ? backend->graphics->scroll : 1; -+} -+ -+void -+graphics_set_palette(int idx, int red, int green, int blue) -+{ -+ if (backend && backend->set_palette) { -+ backend->set_palette(backend, idx, red, green, blue); -+ backend->set_palette(backend, 0, 0x00, 0x00, 0x00); -+ backend->set_palette(backend, 15, 0xff, 0xff, 0xff); -+ backend->set_palette(backend, 16, 0x00, 0x00, 0x00); -+ } -+} -+ -+static char splashpath[64] = ""; -+ -+static void -+graphics_set_splash_helper(void) -+{ -+ if (backend) { -+ struct xpm *xpm = NULL; -+ -+ if (backend->graphics->splashimage) -+ xpm_free(backend->graphics->splashimage); -+ -+ if (splashpath[0]) -+ xpm = xpm_open(splashpath); -+ -+ if (xpm) { -+ backend->graphics->splashimage = xpm; -+ grub_strcpy(backend->graphics->splashpath, splashpath); -+ } else { -+ backend->graphics->splashimage = NULL; -+ backend->graphics->splashpath[0] = '\0'; -+ } -+ backend->reset_screen_geometry(backend); -+ } -+} -+ -+void -+graphics_set_splash(char *s) -+{ -+ if (s && s[0] != '\0') -+ grub_strcpy(splashpath, s); -+ else -+ splashpath[0] = '\0'; -+ graphics_set_splash_helper(); -+} -+ -+char * -+graphics_get_splash(void) -+{ -+ if (backend) -+ return backend->graphics->splashpath; -+ if (splashpath[0] != '\0') -+ return splashpath; -+ return NULL; -+} -+ -+struct xpm * -+graphics_get_splash_xpm(void) -+{ -+ if (backend) -+ return backend->graphics->splashimage; -+ return NULL; -+} -+ -+void -+graphics_putchar(int ch) -+{ -+ struct graphics *graphics; -+ position_t screensz; -+ int offset; -+ -+ void *old_term = current_term; -+ -+ if (!backend) -+ return; -+ -+ graphics = backend->graphics; -+ graphics_get_screen_rowscols(&screensz); -+ -+ ch &= 0xff; -+ -+ graphics_cursor(0); -+ -+ if (ch == '\n') { -+ if (graphics->fonty + 1 < screensz.y) { -+ graphics_setxy(graphics->fontx, graphics->fonty + 1); -+ } else -+ graphics_scroll(); -+ graphics_cursor(1); -+ return; -+ } else if (ch == '\r') { -+ graphics_setxy(0, graphics->fonty); -+ graphics_cursor(1); -+ return; -+ } -+ -+ graphics_cursor(0); -+ -+ offset = graphics->fontx + graphics->fonty * screensz.x; -+ graphics->text[offset] = ch; -+ graphics->text[offset] &= 0x00ff; -+ if (graphics->current_color & 0xf0) -+ graphics->text[offset] |= 0x100; -+ -+ graphics_cursor(0); -+ -+ if ((graphics->fontx + 1) >= screensz.x) { -+ graphics_setxy(0, graphics->fonty); -+ if (graphics->fonty + 1 < screensz.y) -+ graphics_setxy(0, graphics->fonty + 1); -+ else -+ graphics_scroll(); -+ } else { -+ graphics_setxy(graphics->fontx + 1, graphics->fonty); -+ } -+ -+ graphics_cursor(1); -+} -+ -+void -+graphics_set_font_position(position_t *pos) -+{ -+ if (backend) { -+ backend->graphics->fontx = pos->x; -+ backend->graphics->fonty = pos->y; -+ } -+} -+ -+void -+graphics_get_font_position(position_t *pos) -+{ -+ if (backend) { -+ pos->x = backend->graphics->fontx; -+ pos->y = backend->graphics->fonty; -+ return; -+ } -+ pos->x = -1; -+ pos->y = -1; -+} -+ -+void -+graphics_get_font_size(position_t *size) -+{ -+ size->x = 8; -+ size->y = 16; -+} -+ -+void -+graphics_setxy(int x, int y) -+{ -+ if (!backend) -+ return; -+ -+ if (backend->setxy) { -+ position_t pos = {x, y}; -+ backend->setxy(backend, &pos); -+ return; -+ } -+} -+ -+int -+graphics_getxy(void) -+{ -+ int ret = 0; -+ if (backend) { -+ if (backend->getxy) { -+ position_t pos; -+ backend->getxy(backend, &pos); -+ ret = ((pos.x & 0xff) << 8) | (pos.y & 0xff); -+ } else { -+ ret = ((backend->graphics->fontx & 0xff) << 8) | (backend->graphics->fonty & 0xff); -+ } -+ } -+ return ret; -+} -+ -+void -+graphics_scroll (void) -+{ -+ struct graphics *graphics; -+ position_t screensz; -+ int i; -+ unsigned short *text; -+ int linesz; -+ -+ if (!backend) -+ return; -+ -+ graphics = backend->graphics; -+ -+ /* we don't want to scroll recursively... that would be bad */ -+ if (!graphics->scroll) -+ return; -+ graphics->scroll = 0; -+ graphics_get_screen_rowscols(&screensz); -+ -+ text = graphics_get_text_buf(); -+ linesz = screensz.x * sizeof (text[0]); -+ for (i = 1; i < screensz.y; i++) { -+ unsigned short *prev = &text[(i-1) * screensz.x]; -+ unsigned short *this = prev + screensz.x; -+ -+ memmove(prev, this, linesz); -+ prev = this; -+ this += screensz.x; -+ } -+ graphics_setxy(0, screensz.y - 1); -+ for (i = 0; i < screensz.x; i++) { -+ graphics_putchar(' '); -+ //text[(screensz.y-1) + i] = ' '; -+ } -+ -+ graphics_clbl(0, 0, screensz.x, screensz.y, 1); -+ graphics_setxy(0, screensz.y - 1); -+ graphics->scroll = 1; -+} -+ -+void -+graphics_cursor(int set) -+{ -+ if (backend && backend->cursor) -+ backend->cursor(backend, set); -+} -+ -+void -+graphics_gotoxy(int x, int y) -+{ -+ position_t pos = {x,y}; -+ if (backend) { -+ if (backend->gotoxy) { -+ backend->gotoxy(backend, &pos); -+ } else { -+ graphics_cursor(0); -+ graphics_setxy(x, y); -+ graphics_cursor(1); -+ } -+ } -+} -+ -+void -+graphics_cls(void) -+{ -+ int x = 0, y = 0, xy; -+ unsigned short *text; -+ position_t screensz; -+ -+ graphics_get_screen_rowscols(&screensz); -+ text = graphics_get_text_buf(); -+ for (y = 0; y < screensz.y; y++) -+ for (x = 0; x < screensz.x; x++) -+ text[x + y * screensz.x] = ' '; -+ -+ if (backend) { -+ //int xy = graphics_getxy(); -+ -+ graphics_clbl(0, 0, screensz.x, screensz.y, 0); -+ //graphics_gotoxy(xy & 0xf0 >> 8, xy & 0xf); -+ graphics_gotoxy(0, 0); -+ } -+} -+ -+void -+graphics_clbl(int col, int row, int width, int height, int draw_text) -+{ -+ if (backend) { -+ int x = 0, y = 0, xy; -+ unsigned short *text; -+ position_t screensz; -+ -+ graphics_get_screen_rowscols(&screensz); -+ -+#if 0 -+ xy = graphics_getxy(); -+#endif -+ if (backend->clbl) { -+ backend->clbl(backend, col, row, width, height, draw_text); -+ } else { -+ for (y = 0; y < screensz.y; y++) { -+ for (x = 0; x < screensz.x; x++) { -+ graphics_setxy(x, y); -+ graphics_cursor(0); -+ } -+ } -+ } -+#if 0 -+ graphics_gotoxy(xy >> 8, xy & 0xf); -+#endif -+ } -+} -+ -+void -+graphics_setcolorstate (color_state state) -+{ -+ struct graphics *graphics; -+ if (!backend) -+ return; -+ -+ graphics = backend->graphics; -+ -+ switch (state) { -+ case COLOR_STATE_STANDARD: -+ graphics->current_color = graphics->standard_color; -+ break; -+ case COLOR_STATE_NORMAL: -+ graphics->current_color = graphics->normal_color; -+ break; -+ case COLOR_STATE_HIGHLIGHT: -+ graphics->current_color = graphics->highlight_color; -+ break; -+ default: -+ graphics->current_color = graphics->standard_color; -+ break; -+ } -+ -+ graphics->color_state = state; -+} -+ -+void -+graphics_setcolor (int normal_color, int highlight_color) -+{ -+ backend->graphics->normal_color = normal_color; -+ backend->graphics->highlight_color = highlight_color; -+ -+ graphics_setcolorstate (backend->graphics->color_state); -+} -+ -+int -+graphics_setcursor(int on) -+{ -+ /* FIXME: we don't have a cursor in graphics */ -+ return 0; -+} -+ -+int -+graphics_init(void) -+{ -+ struct graphics *graphics; -+ int i; -+ -+ if (graphics_inited) -+ return 1; -+ -+ if (backend) { -+ if (backend->enable(backend)) { -+ graphics_inited = 1; -+ graphics_set_splash_helper(); -+ return 1; -+ } -+ return 0; -+ } -+ -+ graphics = grub_malloc(sizeof (*graphics)); -+ if (!graphics) -+ return 0; -+ -+ grub_memset(graphics, '\0', sizeof (*graphics)); -+ -+ graphics->scroll = 1; -+ graphics->fontx = 0; -+ graphics->fonty = 0; -+ -+ graphics->standard_color = A_NORMAL; -+ graphics->normal_color = A_NORMAL; -+ graphics->highlight_color = A_REVERSE; -+ graphics->current_color = A_NORMAL; -+ graphics->color_state = COLOR_STATE_STANDARD; -+ -+ grub_memset(graphics->splashpath, '\0', sizeof (graphics->splashpath)); -+ -+ for(i = 0; backends[i] != NULL; i++) { -+ backend = backends[i]; -+ backend->graphics = graphics; -+ if (backend->enable(backend)) { -+ graphics_inited = 1; -+ graphics_set_splash_helper(); -+ return 1; -+ } -+ backend->graphics = NULL; -+ } -+ grub_free(graphics->text); -+ grub_free(graphics); -+ return 0; -+} -+ -+void -+graphics_end(void) -+{ -+ if (backend && graphics_inited) { -+ graphics_inited = 0; -+ backend->disable(backend); -+ } -+} -+ -+#endif /* SUPPORT_GRAPHICS */ -diff --git a/efi/graphics.h b/efi/graphics.h -new file mode 100644 -index 0000000..ecf9e0e ---- /dev/null -+++ b/efi/graphics.h -@@ -0,0 +1,81 @@ -+#ifndef GRUB_EFI_GRAPHICS_H -+#define GRUB_EFI_GRAPHICS_H -+ -+#ifdef SUPPORT_GRAPHICS -+ -+#include -+#include "xpm.h" -+ -+#define VIDEO_TYPE_EFI 0x70 -+ -+typedef void pixel_t; -+struct graphics; -+ -+struct position { -+ int x; -+ int y; -+}; -+typedef struct position position_t; -+ -+extern void grub_efi_setup_gfx_pci (grub_efi_handle_t handle); -+ -+extern grub_uint16_t grub_console_getwh (void); -+extern void graphics_set_kernel_params(struct linux_kernel_params *params); -+extern void graphics_set_font_position(position_t *pos); -+extern void graphics_get_font_position(position_t *pos); -+extern void graphics_get_font_size(position_t *size); -+extern int graphics_get_screen_rowscols(position_t *size); -+extern int graphics_alloc_text_buf(void); -+extern unsigned short *graphics_get_text_buf(void); -+ -+extern int graphics_get_scroll(void); -+ -+extern char *graphics_get_splash(void); -+extern void graphics_setxy(int x, int y); -+extern void graphics_cls(void); -+extern void graphics_clbl(int x, int y, int width, int height, int draw_text); -+extern void graphics_setcolorstate (color_state state); -+extern void graphics_setcolor (int normal_color, int highlight_color); -+extern int graphics_setcursor(int on); -+extern int graphics_init(void); -+extern void graphics_end(void); -+extern struct xpm *graphics_get_splash_xpm(void); -+extern void graphics_cursor(int set); -+extern void graphics_scroll(void); -+ -+struct graphics_backend { -+ char *name; -+ struct graphics *graphics; -+ void *priv; -+ -+ int (*enable)(struct graphics_backend *backend); -+ void (*disable)(struct graphics_backend *backend); -+ -+ void (*set_kernel_params)(struct graphics_backend *backend, -+ struct linux_kernel_params *params); -+ -+ void (*clbl)(struct graphics_backend *backend, int col, int row, -+ int width, int height, -+ int draw_text); -+ -+ void (*set_palette)(struct graphics_backend *backend, -+ int idx, int red, int green, int blue); -+ pixel_t *(*get_pixel_idx)(struct graphics_backend *backend, int idx); -+ pixel_t *(*get_pixel_rgb)(struct graphics_backend *backend, -+ int red, int green, int blue); -+ void (*draw_pixel)(struct graphics_backend *backend, -+ position_t *pos, pixel_t *pixel); -+ -+ void (*reset_screen_geometry)(struct graphics_backend *backend); -+ void (*get_screen_size)(struct graphics_backend *backend, position_t *size); -+ void (*getxy)(struct graphics_backend *backend, position_t *pos); -+ void (*setxy)(struct graphics_backend *backend, position_t *pos); -+ void (*gotoxy)(struct graphics_backend *backend, position_t *pos); -+ void (*cursor)(struct graphics_backend *backend, int set); -+// void (*putchar)(struct graphics_backend *backend, int ch); -+}; -+ -+extern const unsigned char font8x16[]; -+ -+#endif /* SUPPORT_GRAPHCIS */ -+#endif /* GRUB_EFI_GRAPHICS_H */ -diff --git a/efi/grub/.gitignore b/efi/grub/.gitignore -new file mode 100644 -index 0000000..40a991e ---- /dev/null -+++ b/efi/grub/.gitignore -@@ -0,0 +1 @@ -+cpu -diff --git a/efi/grub/efi/api.h b/efi/grub/efi/api.h -new file mode 100644 -index 0000000..f7f8a3d ---- /dev/null -+++ b/efi/grub/efi/api.h -@@ -0,0 +1,1716 @@ -+/* efi.h - declare EFI types and functions */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_EFI_API_HEADER -+#define GRUB_EFI_API_HEADER 1 -+ -+#include -+#include -+ -+/* For consistency and safety, we name the EFI-defined types differently. -+ All names are transformed into lower case, _t appended, and -+ grub_efi_ prepended. */ -+ -+/* Constants. */ -+#define GRUB_EFI_EVT_TIMER 0x80000000 -+#define GRUB_EFI_EVT_RUNTIME 0x40000000 -+#define GRUB_EFI_EVT_RUNTIME_CONTEXT 0x20000000 -+#define GRUB_EFI_EVT_NOTIFY_WAIT 0x00000100 -+#define GRUB_EFI_EVT_NOTIFY_SIGNAL 0x00000200 -+#define GRUB_EFI_EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201 -+#define GRUB_EFI_EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202 -+ -+#define GRUB_EFI_TPL_APPLICATION 4 -+#define GRUB_EFI_TPL_CALLBACK 8 -+#define GRUB_EFI_TPL_NOTIFY 16 -+#define GRUB_EFI_TPL_HIGH_LEVEL 31 -+ -+#define GRUB_EFI_MEMORY_UC 0x0000000000000001 -+#define GRUB_EFI_MEMORY_WC 0x0000000000000002 -+#define GRUB_EFI_MEMORY_WT 0x0000000000000004 -+#define GRUB_EFI_MEMORY_WB 0x0000000000000008 -+#define GRUB_EFI_MEMORY_UCE 0x0000000000000010 -+#define GRUB_EFI_MEMORY_WP 0x0000000000001000 -+#define GRUB_EFI_MEMORY_RP 0x0000000000002000 -+#define GRUB_EFI_MEMORY_XP 0x0000000000004000 -+#define GRUB_EFI_MEMORY_RUNTIME 0x8000000000000000 -+ -+#define GRUB_EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 -+#define GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 -+#define GRUB_EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 -+#define GRUB_EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 -+#define GRUB_EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 -+#define GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE 0x00000020 -+ -+#define GRUB_EFI_VARIABLE_NON_VOLATILE 0x0000000000000001 -+#define GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002 -+#define GRUB_EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004 -+ -+#define GRUB_EFI_TIME_ADJUST_DAYLIGHT 0x01 -+#define GRUB_EFI_TIME_IN_DAYLIGHT 0x02 -+ -+#define GRUB_EFI_UNSPECIFIED_TIMEZONE 0x07FF -+ -+#define GRUB_EFI_OPTIONAL_PTR 0x00000001 -+ -+#define GRUB_EFI_PCI_IO_GUID \ -+ { 0x4cf5b200, 0x68b8, 0x4ca5, \ -+ { 0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x02, 0x9a } \ -+ } -+ -+#define GRUB_EFI_PCI_ROOT_IO_GUID \ -+ { 0x2F707EBB, 0x4A1A, 0x11d4, \ -+ { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } \ -+ } -+ -+#define GRUB_EFI_LOADED_IMAGE_GUID \ -+ { 0x5b1b31a1, 0x9562, 0x11d2, \ -+ { 0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ -+ } -+ -+#define GRUB_EFI_DISK_IO_GUID \ -+ { 0xce345171, 0xba0b, 0x11d2, \ -+ { 0x8e, 0x4f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ -+ } -+ -+#define GRUB_EFI_BLOCK_IO_GUID \ -+ { 0x964e5b21, 0x6459, 0x11d2, \ -+ { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ -+ } -+ -+#define GRUB_EFI_DEVICE_PATH_GUID \ -+ { 0x09576e91, 0x6d3f, 0x11d2, \ -+ { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ -+ } -+ -+#define GRUB_EFI_DEVICE_PATH_FROM_TEXT_GUID \ -+ { 0x05c99a21, 0xc70f, 0x4ad2, \ -+ { 0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \ -+ } -+ -+#define GRUB_EFI_GRAPHICS_OUTPUT_GUID \ -+ { 0x9042a9de, 0x23dc, 0x4a38, \ -+ { 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a } \ -+ } -+ -+#define GRUB_EFI_UGA_DRAW_GUID \ -+ { 0x982c298b, 0xf4fa, 0x41cb, \ -+ { 0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 } \ -+ } -+ -+#define GRUB_EFI_UGA_IO_GUID \ -+ { 0x61a4d49e, 0x6f68, 0x4f1b, \ -+ { 0xb9, 0x22, 0xa8, 0x6e, 0xed, 0xb, 0x7, 0xa2 } \ -+ } -+ -+#define GRUB_EFI_SIMPLE_FILE_SYSTEM_GUID \ -+ { 0x964e5b22, 0x6459, 0x11d2, \ -+ { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ -+ } -+ -+#define GRUB_EFI_SERIAL_IO_GUID \ -+ { 0xbb25cf6f, 0xf1d4, 0x11d2, \ -+ { 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3F, 0xc1, 0xfd } \ -+ } -+ -+/* Enumerations. */ -+enum grub_efi_timer_delay -+{ -+ GRUB_EFI_TIMER_CANCEL, -+ GRUB_EFI_TIMER_PERIODIC, -+ GRUB_EFI_TIMER_RELATIVE -+}; -+typedef enum grub_efi_timer_delay grub_efi_timer_delay_t; -+ -+enum grub_efi_allocate_type -+{ -+ GRUB_EFI_ALLOCATE_ANY_PAGES, -+ GRUB_EFI_ALLOCATE_MAX_ADDRESS, -+ GRUB_EFI_ALLOCATE_ADDRESS, -+ GRUB_EFI_MAX_ALLOCATION_TYPE -+}; -+typedef enum grub_efi_allocate_type grub_efi_allocate_type_t; -+ -+enum grub_efi_memory_type -+{ -+ GRUB_EFI_RESERVED_MEMORY_TYPE, -+ GRUB_EFI_LOADER_CODE, -+ GRUB_EFI_LOADER_DATA, -+ GRUB_EFI_BOOT_SERVICES_CODE, -+ GRUB_EFI_BOOT_SERVICES_DATA, -+ GRUB_EFI_RUNTIME_SERVICES_CODE, -+ GRUB_EFI_RUNTIME_SERVICES_DATA, -+ GRUB_EFI_CONVENTIONAL_MEMORY, -+ GRUB_EFI_UNUSABLE_MEMORY, -+ GRUB_EFI_ACPI_RECLAIM_MEMORY, -+ GRUB_EFI_ACPI_MEMORY_NVS, -+ GRUB_EFI_MEMORY_MAPPED_IO, -+ GRUB_EFI_MEMORY_MAPPED_IO_PORT_SPACE, -+ GRUB_EFI_PAL_CODE, -+ GRUB_EFI_MAX_MEMORY_TYPE -+}; -+typedef enum grub_efi_memory_type grub_efi_memory_type_t; -+ -+enum grub_efi_interface_type -+{ -+ GRUB_EFI_NATIVE_INTERFACE -+}; -+typedef enum grub_efi_interface_type grub_efi_interface_type_t; -+ -+enum grub_efi_locate_search_type -+{ -+ GRUB_EFI_ALL_HANDLES, -+ GRUB_EFI_BY_REGISTER_NOTIFY, -+ GRUB_EFI_BY_PROTOCOL -+}; -+typedef enum grub_efi_locate_search_type grub_efi_locate_search_type_t; -+ -+enum grub_efi_reset_type -+{ -+ GRUB_EFI_RESET_COLD, -+ GRUB_EFI_RESET_WARM, -+ GRUB_EFI_RESET_SHUTDOWN -+}; -+typedef enum grub_efi_reset_type grub_efi_reset_type_t; -+ -+/* Types. */ -+typedef char grub_efi_boolean_t; -+typedef long grub_efi_intn_t; -+typedef unsigned long grub_efi_uintn_t; -+typedef grub_int8_t grub_efi_int8_t; -+typedef grub_uint8_t grub_efi_uint8_t; -+typedef grub_int16_t grub_efi_int16_t; -+typedef grub_uint16_t grub_efi_uint16_t; -+typedef grub_int32_t grub_efi_int32_t; -+typedef grub_uint32_t grub_efi_uint32_t; -+typedef grub_int64_t grub_efi_int64_t; -+typedef grub_uint64_t grub_efi_uint64_t; -+typedef grub_uint8_t grub_efi_char8_t; -+typedef grub_uint16_t grub_efi_char16_t; -+ -+typedef grub_efi_intn_t grub_efi_status_t; -+ -+#define GRUB_EFI_ERROR_CODE(value) \ -+ ((1L << (sizeof (grub_efi_status_t) * 8 - 1)) | (value)) -+ -+#define GRUB_EFI_WARNING_CODE(value) (value) -+ -+#define GRUB_EFI_SUCCESS 0 -+ -+#define GRUB_EFI_LOAD_ERROR GRUB_EFI_ERROR_CODE (1) -+#define GRUB_EFI_INVALID_PARAMETER GRUB_EFI_ERROR_CODE (2) -+#define GRUB_EFI_UNSUPPORTED GRUB_EFI_ERROR_CODE (3) -+#define GRUB_EFI_BAD_BUFFER_SIZE GRUB_EFI_ERROR_CODE (4) -+#define GRUB_EFI_BUFFER_TOO_SMALL GRUB_EFI_ERROR_CODE (5) -+#define GRUB_EFI_NOT_READY GRUB_EFI_ERROR_CODE (6) -+#define GRUB_EFI_DEVICE_ERROR GRUB_EFI_ERROR_CODE (7) -+#define GRUB_EFI_WRITE_PROTECTED GRUB_EFI_ERROR_CODE (8) -+#define GRUB_EFI_OUT_OF_RESOURCES GRUB_EFI_ERROR_CODE (9) -+#define GRUB_EFI_VOLUME_CORRUPTED GRUB_EFI_ERROR_CODE (10) -+#define GRUB_EFI_VOLUME_FULL GRUB_EFI_ERROR_CODE (11) -+#define GRUB_EFI_NO_MEDIA GRUB_EFI_ERROR_CODE (12) -+#define GRUB_EFI_MEDIA_CHANGED GRUB_EFI_ERROR_CODE (13) -+#define GRUB_EFI_NOT_FOUND GRUB_EFI_ERROR_CODE (14) -+#define GRUB_EFI_ACCESS_DENIED GRUB_EFI_ERROR_CODE (15) -+#define GRUB_EFI_NO_RESPONSE GRUB_EFI_ERROR_CODE (16) -+#define GRUB_EFI_NO_MAPPING GRUB_EFI_ERROR_CODE (17) -+#define GRUB_EFI_TIMEOUT GRUB_EFI_ERROR_CODE (18) -+#define GRUB_EFI_NOT_STARTED GRUB_EFI_ERROR_CODE (19) -+#define GRUB_EFI_ALREADY_STARTED GRUB_EFI_ERROR_CODE (20) -+#define GRUB_EFI_ABORTED GRUB_EFI_ERROR_CODE (21) -+#define GRUB_EFI_ICMP_ERROR GRUB_EFI_ERROR_CODE (22) -+#define GRUB_EFI_TFTP_ERROR GRUB_EFI_ERROR_CODE (23) -+#define GRUB_EFI_PROTOCOL_ERROR GRUB_EFI_ERROR_CODE (24) -+#define GRUB_EFI_INCOMPATIBLE_VERSION GRUB_EFI_ERROR_CODE (25) -+#define GRUB_EFI_SECURITY_VIOLATION GRUB_EFI_ERROR_CODE (26) -+#define GRUB_EFI_CRC_ERROR GRUB_EFI_ERROR_CODE (27) -+ -+#define GRUB_EFI_WARN_UNKNOWN_GLYPH GRUB_EFI_WARNING_CODE (1) -+#define GRUB_EFI_WARN_DELETE_FAILURE GRUB_EFI_WARNING_CODE (2) -+#define GRUB_EFI_WARN_WRITE_FAILURE GRUB_EFI_WARNING_CODE (3) -+#define GRUB_EFI_WARN_BUFFER_TOO_SMALL GRUB_EFI_WARNING_CODE (4) -+ -+typedef void *grub_efi_handle_t; -+typedef void *grub_efi_event_t; -+typedef grub_efi_uint64_t grub_efi_lba_t; -+typedef grub_efi_uintn_t grub_efi_tpl_t; -+typedef grub_uint8_t grub_efi_mac_address_t[32]; -+typedef grub_uint8_t grub_efi_ipv4_address_t[4]; -+typedef grub_uint16_t grub_efi_ipv6_address_t[8]; -+typedef grub_uint8_t grub_efi_ip_address_t[8] __attribute__ ((aligned (4))); -+typedef grub_efi_uint64_t grub_efi_physical_address_t; -+typedef grub_efi_uint64_t grub_efi_virtual_address_t; -+ -+struct grub_efi_guid -+{ -+ grub_uint32_t data1; -+ grub_uint16_t data2; -+ grub_uint16_t data3; -+ grub_uint8_t data4[8]; -+} __attribute__ ((aligned (8))); -+typedef struct grub_efi_guid grub_efi_guid_t; -+ -+/* XXX although the spec does not specify the padding, this actually -+ must have the padding! */ -+struct grub_efi_memory_descriptor -+{ -+ grub_efi_uint32_t type; -+ grub_efi_uint32_t padding; -+ grub_efi_physical_address_t physical_start; -+ grub_efi_virtual_address_t virtual_start; -+ grub_efi_uint64_t num_pages; -+ grub_efi_uint64_t attribute; -+}; -+typedef struct grub_efi_memory_descriptor grub_efi_memory_descriptor_t; -+ -+/* Device Path definitions. */ -+struct grub_efi_device_path -+{ -+ grub_efi_uint8_t type; -+ grub_efi_uint8_t subtype; -+ grub_efi_uint8_t length[2]; -+}; -+typedef struct grub_efi_device_path grub_efi_device_path_t; -+/* XXX EFI does not define EFI_DEVICE_PATH_PROTOCOL but uses it. -+ It seems to be identical to EFI_DEVICE_PATH. */ -+typedef struct grub_efi_device_path grub_efi_device_path_protocol_t; -+ -+#define GRUB_EFI_DEVICE_PATH_TYPE(dp) ((dp)->type & 0x7f) -+#define GRUB_EFI_DEVICE_PATH_SUBTYPE(dp) ((dp)->subtype) -+#define GRUB_EFI_DEVICE_PATH_LENGTH(dp) \ -+ ((dp)->length[0] | ((grub_efi_uint16_t) ((dp)->length[1]) << 8)) -+ -+/* The End of Device Path nodes. */ -+#define GRUB_EFI_END_DEVICE_PATH_TYPE (0xff & 0x7f) -+ -+#define GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE 0xff -+#define GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE 0x01 -+ -+#define GRUB_EFI_END_ENTIRE_DEVICE_PATH(dp) \ -+ (GRUB_EFI_DEVICE_PATH_TYPE (dp) == GRUB_EFI_END_DEVICE_PATH_TYPE \ -+ && (GRUB_EFI_DEVICE_PATH_SUBTYPE (dp) \ -+ == GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE)) -+ -+#define GRUB_EFI_NEXT_DEVICE_PATH(dp) \ -+ ((grub_efi_device_path_t *) ((char *) (dp) \ -+ + GRUB_EFI_DEVICE_PATH_LENGTH (dp))) -+ -+/* Hardware Device Path. */ -+#define GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE 1 -+ -+#define GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE 1 -+ -+struct grub_efi_pci_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint8_t function; -+ grub_efi_uint8_t device; -+}; -+typedef struct grub_efi_pci_device_path grub_efi_pci_device_path_t; -+ -+#define GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE 2 -+ -+struct grub_efi_pccard_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint8_t function; -+}; -+typedef struct grub_efi_pccard_device_path grub_efi_pccard_device_path_t; -+ -+#define GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE 3 -+ -+struct grub_efi_memory_mapped_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_memory_type_t memory_type; -+ grub_efi_physical_address_t start_address; -+ grub_efi_physical_address_t end_address; -+}; -+typedef struct grub_efi_memory_mapped_device_path -+ grub_efi_memory_mapped_device_path_t; -+ -+#define GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE 4 -+ -+struct grub_efi_vendor_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_guid_t vendor_guid; -+ grub_efi_uint8_t vendor_defined_data[0]; -+}; -+typedef struct grub_efi_vendor_device_path grub_efi_vendor_device_path_t; -+ -+#define GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE 5 -+ -+struct grub_efi_controller_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t controller_number; -+}; -+typedef struct grub_efi_controller_device_path -+ grub_efi_controller_device_path_t; -+ -+/* ACPI Device Path. */ -+#define GRUB_EFI_ACPI_DEVICE_PATH_TYPE 2 -+ -+#define GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE 1 -+ -+struct grub_efi_acpi_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t hid; -+ grub_efi_uint32_t uid; -+}; -+typedef struct grub_efi_acpi_device_path grub_efi_acpi_device_path_t; -+ -+#define GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE 2 -+ -+struct grub_efi_expanded_acpi_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t hid; -+ grub_efi_uint32_t uid; -+ grub_efi_uint32_t cid; -+ char hidstr[1]; -+}; -+typedef struct grub_efi_expanded_acpi_device_path -+ grub_efi_expanded_acpi_device_path_t; -+ -+#define GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp) \ -+ (((grub_efi_expanded_acpi_device_path_t *) dp)->hidstr) -+#define GRUB_EFI_EXPANDED_ACPI_UIDSTR(dp) \ -+ (GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp) \ -+ + grub_strlen (GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp)) + 1) -+#define GRUB_EFI_EXPANDED_ACPI_CIDSTR(dp) \ -+ (GRUB_EFI_EXPANDED_ACPI_UIDSTR(dp) \ -+ + grub_strlen (GRUB_EFI_EXPANDED_ACPI_UIDSTR(dp)) + 1) -+ -+/* Messaging Device Path. */ -+#define GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE 3 -+ -+#define GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE 1 -+ -+struct grub_efi_atapi_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint8_t primary_secondary; -+ grub_efi_uint8_t slave_master; -+ grub_efi_uint16_t lun; -+}; -+typedef struct grub_efi_atapi_device_path grub_efi_atapi_device_path_t; -+ -+#define GRUB_EFI_SCSI_DEVICE_PATH_SUBTYPE 2 -+ -+struct grub_efi_scsi_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint16_t pun; -+ grub_efi_uint16_t lun; -+}; -+typedef struct grub_efi_scsi_device_path grub_efi_scsi_device_path_t; -+ -+#define GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE 3 -+ -+struct grub_efi_fibre_channel_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t reserved; -+ grub_efi_uint64_t wwn; -+ grub_efi_uint64_t lun; -+}; -+typedef struct grub_efi_fibre_channel_device_path -+ grub_efi_fibre_channel_device_path_t; -+ -+#define GRUB_EFI_1394_DEVICE_PATH_SUBTYPE 4 -+ -+struct grub_efi_1394_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t reserved; -+ grub_efi_uint64_t guid; -+}; -+typedef struct grub_efi_1394_device_path grub_efi_1394_device_path_t; -+ -+#define GRUB_EFI_USB_DEVICE_PATH_SUBTYPE 5 -+ -+struct grub_efi_usb_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint8_t parent_port_number; -+ grub_efi_uint8_t interface; -+}; -+typedef struct grub_efi_usb_device_path grub_efi_usb_device_path_t; -+ -+#define GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE 15 -+ -+struct grub_efi_usb_class_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint16_t vendor_id; -+ grub_efi_uint16_t product_id; -+ grub_efi_uint8_t device_class; -+ grub_efi_uint8_t device_subclass; -+ grub_efi_uint8_t device_protocol; -+}; -+typedef struct grub_efi_usb_class_device_path -+ grub_efi_usb_class_device_path_t; -+ -+#define GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE 6 -+ -+struct grub_efi_i2o_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t tid; -+}; -+typedef struct grub_efi_i2o_device_path grub_efi_i2o_device_path_t; -+ -+#define GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE 11 -+ -+struct grub_efi_mac_address_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_mac_address_t mac_address; -+ grub_efi_uint8_t if_type; -+}; -+typedef struct grub_efi_mac_address_device_path -+ grub_efi_mac_address_device_path_t; -+ -+#define GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE 12 -+ -+struct grub_efi_ipv4_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_ipv4_address_t local_ip_address; -+ grub_efi_ipv4_address_t remote_ip_address; -+ grub_efi_uint16_t local_port; -+ grub_efi_uint16_t remote_port; -+ grub_efi_uint16_t protocol; -+ grub_efi_uint8_t static_ip_address; -+}; -+typedef struct grub_efi_ipv4_device_path grub_efi_ipv4_device_path_t; -+ -+#define GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE 13 -+ -+struct grub_efi_ipv6_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_ipv6_address_t local_ip_address; -+ grub_efi_ipv6_address_t remote_ip_address; -+ grub_efi_uint16_t local_port; -+ grub_efi_uint16_t remote_port; -+ grub_efi_uint16_t protocol; -+ grub_efi_uint8_t static_ip_address; -+}; -+typedef struct grub_efi_ipv6_device_path grub_efi_ipv6_device_path_t; -+ -+#define GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE 9 -+ -+struct grub_efi_infiniband_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t resource_flags; -+ grub_efi_uint8_t port_gid[16]; -+ grub_efi_uint64_t remote_id; -+ grub_efi_uint64_t target_port_id; -+ grub_efi_uint64_t device_id; -+}; -+typedef struct grub_efi_infiniband_device_path -+ grub_efi_infiniband_device_path_t; -+ -+#define GRUB_EFI_UART_DEVICE_PATH_SUBTYPE 14 -+ -+struct grub_efi_uart_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t reserved; -+ grub_efi_uint64_t baud_rate; -+ grub_efi_uint8_t data_bits; -+ grub_efi_uint8_t parity; -+ grub_efi_uint8_t stop_bits; -+}; -+typedef struct grub_efi_uart_device_path grub_efi_uart_device_path_t; -+ -+#define GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE 10 -+ -+struct grub_efi_vendor_messaging_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_guid_t vendor_guid; -+ grub_efi_uint8_t vendor_defined_data[0]; -+}; -+typedef struct grub_efi_vendor_messaging_device_path -+ grub_efi_vendor_messaging_device_path_t; -+ -+/* Media Device Path. */ -+#define GRUB_EFI_MEDIA_DEVICE_PATH_TYPE 4 -+ -+#define GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE 1 -+ -+struct grub_efi_hard_drive_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t partition_number; -+ grub_efi_lba_t partition_start; -+ grub_efi_lba_t partition_size; -+ grub_efi_uint8_t partition_signature[16]; -+ grub_efi_uint8_t mbr_type; -+ grub_efi_uint8_t signature_type; -+}; -+typedef struct grub_efi_hard_drive_device_path -+ grub_efi_hard_drive_device_path_t; -+ -+#define GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE 2 -+ -+struct grub_efi_cdrom_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint32_t boot_entry; -+ grub_efi_lba_t partition_start; -+ grub_efi_lba_t partition_size; -+}; -+typedef struct grub_efi_cdrom_device_path grub_efi_cdrom_device_path_t; -+ -+#define GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE 3 -+ -+struct grub_efi_vendor_media_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_guid_t vendor_guid; -+ grub_efi_uint8_t vendor_defined_data[0]; -+}; -+typedef struct grub_efi_vendor_media_device_path -+ grub_efi_vendor_media_device_path_t; -+ -+#define GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE 4 -+ -+struct grub_efi_file_path_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_char16_t path_name[0]; -+}; -+typedef struct grub_efi_file_path_device_path -+ grub_efi_file_path_device_path_t; -+ -+#define GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE 5 -+ -+struct grub_efi_protocol_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_guid_t guid; -+}; -+typedef struct grub_efi_protocol_device_path grub_efi_protocol_device_path_t; -+ -+/* BIOS Boot Specification Device Path. */ -+#define GRUB_EFI_BIOS_DEVICE_PATH_TYPE 5 -+ -+#define GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE 1 -+ -+struct grub_efi_bios_device_path -+{ -+ grub_efi_device_path_t header; -+ grub_efi_uint16_t device_type; -+ grub_efi_uint16_t status_flags; -+ char description[0]; -+}; -+typedef struct grub_efi_bios_device_path grub_efi_bios_device_path_t; -+ -+struct grub_efi_device_path_from_text -+{ -+ grub_efi_device_path_t * (*convert_text_to_device_node) (const grub_efi_char16_t *text_device_node); -+ grub_efi_device_path_t * (*convert_text_to_device_path) (const grub_efi_char16_t *text_device_path); -+}; -+typedef struct grub_efi_device_path_from_text grub_efi_device_path_from_text_t; -+ -+struct grub_efi_open_protocol_information_entry -+{ -+ grub_efi_handle_t agent_handle; -+ grub_efi_handle_t controller_handle; -+ grub_efi_uint32_t attributes; -+ grub_efi_uint32_t open_count; -+}; -+typedef struct grub_efi_open_protocol_information_entry -+ grub_efi_open_protocol_information_entry_t; -+ -+struct grub_efi_time -+{ -+ grub_efi_uint16_t year; -+ grub_efi_uint8_t month; -+ grub_efi_uint8_t day; -+ grub_efi_uint8_t hour; -+ grub_efi_uint8_t minute; -+ grub_efi_uint8_t second; -+ grub_efi_uint8_t pad1; -+ grub_efi_uint32_t nanosecond; -+ grub_efi_int16_t time_zone; -+ grub_efi_uint8_t daylight; -+ grub_efi_uint8_t pad2; -+}; -+typedef struct grub_efi_time grub_efi_time_t; -+ -+struct grub_efi_time_capabilities -+{ -+ grub_efi_uint32_t resolution; -+ grub_efi_uint32_t accuracy; -+ grub_efi_boolean_t sets_to_zero; -+}; -+typedef struct grub_efi_time_capabilities grub_efi_time_capabilities_t; -+ -+struct grub_efi_input_key -+{ -+ grub_efi_uint16_t scan_code; -+ grub_efi_char16_t unicode_char; -+}; -+typedef struct grub_efi_input_key grub_efi_input_key_t; -+ -+struct grub_efi_simple_text_output_mode -+{ -+ grub_efi_int32_t max_mode; -+ grub_efi_int32_t mode; -+ grub_efi_int32_t attribute; -+ grub_efi_int32_t cursor_column; -+ grub_efi_int32_t cursor_row; -+ grub_efi_boolean_t cursor_visible; -+}; -+typedef struct grub_efi_simple_text_output_mode -+ grub_efi_simple_text_output_mode_t; -+ -+/* Tables. */ -+struct grub_efi_table_header -+{ -+ grub_efi_uint64_t signature; -+ grub_efi_uint32_t revision; -+ grub_efi_uint32_t header_size; -+ grub_efi_uint32_t crc32; -+ grub_efi_uint32_t reserved; -+}; -+typedef struct grub_efi_table_header grub_efi_table_header_t; -+ -+struct grub_efi_boot_services -+{ -+ grub_efi_table_header_t hdr; -+ -+ grub_efi_tpl_t (*raise_tpl) (grub_efi_tpl_t new_tpl); -+ -+ void (*restore_tpl) (grub_efi_tpl_t old_tpl); -+ -+ grub_efi_status_t -+ (*allocate_pages) (grub_efi_allocate_type_t type, -+ grub_efi_memory_type_t memory_type, -+ grub_efi_uintn_t pages, -+ grub_efi_physical_address_t * memory); -+ -+ grub_efi_status_t -+ (*free_pages) (grub_efi_physical_address_t memory, -+ grub_efi_uintn_t pages); -+ -+ grub_efi_status_t -+ (*get_memory_map) (grub_efi_uintn_t * memory_map_size, -+ grub_efi_memory_descriptor_t * memory_map, -+ grub_efi_uintn_t * map_key, -+ grub_efi_uintn_t * descriptor_size, -+ grub_efi_uint32_t * descriptor_version); -+ -+ grub_efi_status_t -+ (*allocate_pool) (grub_efi_memory_type_t pool_type, -+ grub_efi_uintn_t size, void **buffer); -+ -+ grub_efi_status_t (*free_pool) (void *buffer); -+ -+ grub_efi_status_t -+ (*create_event) (grub_efi_uint32_t type, -+ grub_efi_tpl_t notify_tpl, -+ void (*notify_function) (grub_efi_event_t event, -+ void *context), -+ void *notify_context, grub_efi_event_t * event); -+ -+ grub_efi_status_t -+ (*set_timer) (grub_efi_event_t event, -+ grub_efi_timer_delay_t type, -+ grub_efi_uint64_t trigger_time); -+ -+ grub_efi_status_t -+ (*wait_for_event) (grub_efi_uintn_t num_events, -+ grub_efi_event_t * event, grub_efi_uintn_t * index); -+ -+ grub_efi_status_t (*signal_event) (grub_efi_event_t event); -+ -+ grub_efi_status_t (*close_event) (grub_efi_event_t event); -+ -+ grub_efi_status_t (*check_event) (grub_efi_event_t event); -+ -+ grub_efi_status_t -+ (*install_protocol_interface) (grub_efi_handle_t * handle, -+ grub_efi_guid_t * protocol, -+ grub_efi_interface_type_t interface_type, -+ void *interface); -+ -+ grub_efi_status_t -+ (*reinstall_protocol_interface) (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, -+ void *old_interface, void *new_inteface); -+ -+ grub_efi_status_t -+ (*uninstall_protocol_interface) (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, -+ void *interface); -+ -+ grub_efi_status_t -+ (*handle_protocol) (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, void **interface); -+ -+ void *reserved; -+ -+ grub_efi_status_t -+ (*register_protocol_notify) (grub_efi_guid_t * protocol, -+ grub_efi_event_t event, void **registration); -+ -+ grub_efi_status_t -+ (*locate_handle) (grub_efi_locate_search_type_t search_type, -+ grub_efi_guid_t * protocol, -+ void *search_key, -+ grub_efi_uintn_t * buffer_size, -+ grub_efi_handle_t * buffer); -+ -+ grub_efi_status_t -+ (*locate_device_path) (grub_efi_guid_t * protocol, -+ grub_efi_device_path_t ** device_path, -+ grub_efi_handle_t * device); -+ -+ grub_efi_status_t -+ (*install_configuration_table) (grub_efi_guid_t * guid, void *table); -+ -+ grub_efi_status_t -+ (*load_image) (grub_efi_boolean_t boot_policy, -+ grub_efi_handle_t parent_image_handle, -+ grub_efi_device_path_t * file_path, -+ void *source_buffer, -+ grub_efi_uintn_t source_size, -+ grub_efi_handle_t * image_handle); -+ -+ grub_efi_status_t -+ (*start_image) (grub_efi_handle_t image_handle, -+ grub_efi_uintn_t * exit_data_size, -+ grub_efi_char16_t ** exit_data); -+ -+ grub_efi_status_t -+ (*exit) (grub_efi_handle_t image_handle, -+ grub_efi_status_t exit_status, -+ grub_efi_uintn_t exit_data_size, -+ grub_efi_char16_t * exit_data) __attribute__ ((noreturn)); -+ -+ grub_efi_status_t (*unload_image) (grub_efi_handle_t image_handle); -+ -+ grub_efi_status_t -+ (*exit_boot_services) (grub_efi_handle_t image_handle, -+ grub_efi_uintn_t map_key); -+ -+ grub_efi_status_t (*get_next_monotonic_count) (grub_efi_uint64_t * count); -+ -+ grub_efi_status_t (*stall) (grub_efi_uintn_t microseconds); -+ -+ grub_efi_status_t -+ (*set_watchdog_timer) (grub_efi_uintn_t timeout, -+ grub_efi_uint64_t watchdog_code, -+ grub_efi_uintn_t data_size, -+ grub_efi_char16_t * watchdog_data); -+ -+ grub_efi_status_t -+ (*connect_controller) (grub_efi_handle_t controller_handle, -+ grub_efi_handle_t * driver_image_handle, -+ grub_efi_device_path_protocol_t * -+ remaining_device_path, -+ grub_efi_boolean_t recursive); -+ -+ grub_efi_status_t -+ (*disconnect_controller) (grub_efi_handle_t controller_handle, -+ grub_efi_handle_t driver_image_handle, -+ grub_efi_handle_t child_handle); -+ -+ grub_efi_status_t -+ (*open_protocol) (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, -+ void **interface, -+ grub_efi_handle_t agent_handle, -+ grub_efi_handle_t controller_handle, -+ grub_efi_uint32_t attributes); -+ -+ grub_efi_status_t -+ (*close_protocol) (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, -+ grub_efi_handle_t agent_handle, -+ grub_efi_handle_t controller_handle); -+ -+ grub_efi_status_t -+ (*open_protocol_information) (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, -+ grub_efi_open_protocol_information_entry_t -+ ** entry_buffer, -+ grub_efi_uintn_t * entry_count); -+ -+ grub_efi_status_t -+ (*protocols_per_handle) (grub_efi_handle_t handle, -+ grub_efi_guid_t *** protocol_buffer, -+ grub_efi_uintn_t * protocol_buffer_count); -+ -+ grub_efi_status_t -+ (*locate_handle_buffer) (grub_efi_locate_search_type_t search_type, -+ grub_efi_guid_t * protocol, -+ void *search_key, -+ grub_efi_uintn_t * no_handles, -+ grub_efi_handle_t ** buffer); -+ -+ grub_efi_status_t -+ (*locate_protocol) (grub_efi_guid_t * protocol, -+ void *registration, void **interface); -+ -+ grub_efi_status_t -+ (*install_multiple_protocol_interfaces) (grub_efi_handle_t * handle, ...); -+ -+ grub_efi_status_t -+ (*uninstall_multiple_protocol_interfaces) (grub_efi_handle_t handle, ...); -+ -+ grub_efi_status_t -+ (*calculate_crc32) (void *data, -+ grub_efi_uintn_t data_size, -+ grub_efi_uint32_t * crc32); -+ -+ void (*copy_mem) (void *destination, void *source, grub_efi_uintn_t length); -+ -+ void -+ (*set_mem) (void *buffer, grub_efi_uintn_t size, grub_efi_uint8_t value); -+}; -+typedef struct grub_efi_boot_services grub_efi_boot_services_t; -+ -+struct grub_efi_runtime_services -+{ -+ grub_efi_table_header_t hdr; -+ -+ grub_efi_status_t -+ (*get_time) (grub_efi_time_t * time, -+ grub_efi_time_capabilities_t * capabilities); -+ -+ grub_efi_status_t (*set_time) (grub_efi_time_t * time); -+ -+ grub_efi_status_t -+ (*get_wakeup_time) (grub_efi_boolean_t * enabled, -+ grub_efi_boolean_t * pending, grub_efi_time_t * time); -+ -+ grub_efi_status_t -+ (*set_wakeup_time) (grub_efi_boolean_t enabled, grub_efi_time_t * time); -+ -+ grub_efi_status_t -+ (*set_virtual_address_map) (grub_efi_uintn_t memory_map_size, -+ grub_efi_uintn_t descriptor_size, -+ grub_efi_uint32_t descriptor_version, -+ grub_efi_memory_descriptor_t * virtual_map); -+ -+ grub_efi_status_t -+ (*convert_pointer) (grub_efi_uintn_t debug_disposition, void **address); -+ -+ grub_efi_status_t -+ (*get_variable) (grub_efi_char16_t * variable_name, -+ grub_efi_guid_t * vendor_guid, -+ grub_efi_uint32_t * attributes, -+ grub_efi_uintn_t * data_size, void *data); -+ -+ grub_efi_status_t -+ (*get_next_variable_name) (grub_efi_uintn_t * variable_name_size, -+ grub_efi_char16_t * variable_name, -+ grub_efi_guid_t * vendor_guid); -+ -+ grub_efi_status_t -+ (*set_variable) (grub_efi_char16_t * variable_name, -+ grub_efi_guid_t * vendor_guid, -+ grub_efi_uint32_t attributes, -+ grub_efi_uintn_t data_size, void *data); -+ -+ grub_efi_status_t -+ (*get_next_high_monotonic_count) (grub_efi_uint32_t * high_count); -+ -+ void -+ (*reset_system) (grub_efi_reset_type_t reset_type, -+ grub_efi_status_t reset_status, -+ grub_efi_uintn_t data_size, -+ grub_efi_char16_t * reset_data); -+}; -+typedef struct grub_efi_runtime_services grub_efi_runtime_services_t; -+ -+struct grub_efi_configuration_table -+{ -+ grub_efi_guid_t vendor_guid; -+ void *vendor_table; -+}; -+typedef struct grub_efi_configuration_table grub_efi_configuration_table_t; -+ -+struct grub_efi_simple_input_interface -+{ -+ grub_efi_status_t -+ (*reset) (struct grub_efi_simple_input_interface * this, -+ grub_efi_boolean_t extended_verification); -+ -+ grub_efi_status_t -+ (*read_key_stroke) (struct grub_efi_simple_input_interface * this, -+ grub_efi_input_key_t * key); -+ -+ grub_efi_event_t wait_for_key; -+}; -+typedef struct grub_efi_simple_input_interface -+ grub_efi_simple_input_interface_t; -+ -+struct grub_efi_simple_text_output_interface -+{ -+ grub_efi_status_t -+ (*reset) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_boolean_t extended_verification); -+ -+ grub_efi_status_t -+ (*output_string) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_char16_t * string); -+ -+ grub_efi_status_t -+ (*test_string) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_char16_t * string); -+ -+ grub_efi_status_t -+ (*query_mode) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_uintn_t mode_number, -+ grub_efi_uintn_t * columns, grub_efi_uintn_t * rows); -+ -+ grub_efi_status_t -+ (*set_mode) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_uintn_t mode_number); -+ -+ grub_efi_status_t -+ (*set_attributes) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_uintn_t attribute); -+ -+ grub_efi_status_t -+ (*clear_screen) (struct grub_efi_simple_text_output_interface * this); -+ -+ grub_efi_status_t -+ (*set_cursor_position) (struct grub_efi_simple_text_output_interface * -+ this, grub_efi_uintn_t column, -+ grub_efi_uintn_t row); -+ -+ grub_efi_status_t -+ (*enable_cursor) (struct grub_efi_simple_text_output_interface * this, -+ grub_efi_boolean_t visible); -+ -+ grub_efi_simple_text_output_mode_t *mode; -+}; -+typedef struct grub_efi_simple_text_output_interface -+ grub_efi_simple_text_output_interface_t; -+ -+#define GRUB_EFI_BLACK 0x00 -+#define GRUB_EFI_BLUE 0x01 -+#define GRUB_EFI_GREEN 0x02 -+#define GRUB_EFI_CYAN 0x03 -+#define GRUB_EFI_RED 0x04 -+#define GRUB_EFI_MAGENTA 0x05 -+#define GRUB_EFI_BROWN 0x06 -+#define GRUB_EFI_LIGHTGRAY 0x07 -+#define GRUB_EFI_BRIGHT 0x08 -+#define GRUB_EFI_DARKGRAY 0x08 -+#define GRUB_EFI_LIGHTBLUE 0x09 -+#define GRUB_EFI_LIGHTGREEN 0x0A -+#define GRUB_EFI_LIGHTCYAN 0x0B -+#define GRUB_EFI_LIGHTRED 0x0C -+#define GRUB_EFI_LIGHTMAGENTA 0x0D -+#define GRUB_EFI_YELLOW 0x0E -+#define GRUB_EFI_WHITE 0x0F -+ -+#define GRUB_EFI_BACKGROUND_BLACK 0x00 -+#define GRUB_EFI_BACKGROUND_BLUE 0x10 -+#define GRUB_EFI_BACKGROUND_GREEN 0x20 -+#define GRUB_EFI_BACKGROUND_CYAN 0x30 -+#define GRUB_EFI_BACKGROUND_RED 0x40 -+#define GRUB_EFI_BACKGROUND_MAGENTA 0x50 -+#define GRUB_EFI_BACKGROUND_BROWN 0x60 -+#define GRUB_EFI_BACKGROUND_LIGHTGRAY 0x70 -+ -+#define GRUB_EFI_TEXT_ATTR(fg, bg) ((fg) | ((bg))) -+ -+struct grub_efi_system_table -+{ -+ grub_efi_table_header_t hdr; -+ grub_efi_char16_t *firmware_vendor; -+ grub_efi_uint32_t firmware_revision; -+ grub_efi_handle_t console_in_handler; -+ grub_efi_simple_input_interface_t *con_in; -+ grub_efi_handle_t console_out_handler; -+ grub_efi_simple_text_output_interface_t *con_out; -+ grub_efi_handle_t standard_error_handle; -+ grub_efi_simple_text_output_interface_t *std_err; -+ grub_efi_runtime_services_t *runtime_services; -+ grub_efi_boot_services_t *boot_services; -+ grub_efi_uintn_t num_table_entries; -+ grub_efi_configuration_table_t *configuration_table; -+}; -+typedef struct grub_efi_system_table grub_efi_system_table_t; -+ -+struct grub_efi_loaded_image -+{ -+ grub_efi_uint32_t revision; -+ grub_efi_handle_t parent_handle; -+ grub_efi_system_table_t *system_table; -+ -+ grub_efi_handle_t device_handle; -+ grub_efi_device_path_t *file_path; -+ void *reserved; -+ -+ grub_efi_uint32_t load_options_size; -+ void *load_options; -+ -+ void *image_base; -+ grub_efi_uint64_t image_size; -+ grub_efi_memory_type_t image_code_type; -+ grub_efi_memory_type_t image_data_type; -+ -+ grub_efi_status_t (*unload) (grub_efi_handle_t image_handle); -+}; -+typedef struct grub_efi_loaded_image grub_efi_loaded_image_t; -+ -+struct grub_efi_disk_io -+{ -+ grub_efi_uint64_t revision; -+ grub_efi_status_t (*read) (struct grub_efi_disk_io * this, -+ grub_efi_uint32_t media_id, -+ grub_efi_uint64_t offset, -+ grub_efi_uintn_t buffer_size, void *buffer); -+ grub_efi_status_t (*write) (struct grub_efi_disk_io * this, -+ grub_efi_uint32_t media_id, -+ grub_efi_uint64_t offset, -+ grub_efi_uintn_t buffer_size, void *buffer); -+}; -+typedef struct grub_efi_disk_io grub_efi_disk_io_t; -+ -+struct grub_efi_block_io_media -+{ -+ grub_efi_uint32_t media_id; -+ grub_efi_boolean_t removable_media; -+ grub_efi_boolean_t media_present; -+ grub_efi_boolean_t logical_partition; -+ grub_efi_boolean_t read_only; -+ grub_efi_boolean_t write_caching; -+ grub_efi_uint8_t pad[3]; -+ grub_efi_uint32_t block_size; -+ grub_efi_uint32_t io_align; -+ grub_efi_uint8_t pad2[4]; -+ grub_efi_lba_t last_block; -+}; -+typedef struct grub_efi_block_io_media grub_efi_block_io_media_t; -+ -+struct grub_efi_block_io -+{ -+ grub_efi_uint64_t revision; -+ grub_efi_block_io_media_t *media; -+ grub_efi_status_t (*reset) (struct grub_efi_block_io * this, -+ grub_efi_boolean_t extended_verification); -+ grub_efi_status_t (*read_blocks) (struct grub_efi_block_io * this, -+ grub_efi_uint32_t media_id, -+ grub_efi_lba_t lba, -+ grub_efi_uintn_t buffer_size, -+ void *buffer); -+ grub_efi_status_t (*write_blocks) (struct grub_efi_block_io * this, -+ grub_efi_uint32_t media_id, -+ grub_efi_lba_t lba, -+ grub_efi_uintn_t buffer_size, -+ void *buffer); -+ grub_efi_status_t (*flush_blocks) (struct grub_efi_block_io * this); -+}; -+typedef struct grub_efi_block_io grub_efi_block_io_t; -+ -+struct grub_efi_pixel_bitmask -+{ -+ grub_efi_uint32_t red_mask; -+ grub_efi_uint32_t green_mask; -+ grub_efi_uint32_t blue_mask; -+ grub_efi_uint32_t reserved_mask; -+}; -+typedef struct grub_efi_pixel_bitmask grub_efi_pixel_bitmask_t; -+ -+enum grub_efi_graphics_pixel_format -+{ -+ GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR, -+ GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR, -+ GRUB_EFI_PIXEL_BIT_MASK, -+ GRUB_EFI_PIXEL_BLT_ONLY, -+}; -+typedef enum grub_efi_graphics_pixel_format grub_efi_graphics_pixel_format_t; -+ -+struct grub_efi_graphics_output_mode_information -+{ -+ grub_efi_uint32_t version; -+ grub_efi_uint32_t horizontal_resolution; -+ grub_efi_uint32_t vertical_resolution; -+ grub_efi_graphics_pixel_format_t pixel_format; -+ grub_efi_pixel_bitmask_t pixel_information; -+ grub_efi_uint32_t pixels_per_scan_line; -+}; -+typedef struct grub_efi_graphics_output_mode_information -+ grub_efi_graphics_output_mode_information_t; -+ -+struct grub_efi_graphics_output_bgrr_pixel -+{ -+ grub_efi_uint8_t blue; -+ grub_efi_uint8_t green; -+ grub_efi_uint8_t red; -+ grub_efi_uint8_t reserved; -+}; -+typedef struct grub_efi_graphics_output_bgrr_pixel -+ grub_efi_graphics_output_bgrr_pixel_t; -+typedef struct grub_efi_graphics_output_bgrr_pixel -+ grub_efi_graphics_output_blt_pixel_t; -+typedef struct grub_efi_graphics_output_bgrr_pixel -+ grub_efi_uga_pixel_t; -+ -+struct grub_efi_graphics_output_rgbr_pixel -+{ -+ grub_efi_uint8_t red; -+ grub_efi_uint8_t green; -+ grub_efi_uint8_t blue; -+ grub_efi_uint8_t reserved; -+}; -+typedef struct grub_efi_graphics_output_rgbr_pixel -+ grub_efi_graphics_output_rgbr_pixel_t; -+ -+union grub_efi_graphics_output_pixel -+{ -+ grub_efi_graphics_output_rgbr_pixel_t rgbr; -+ grub_efi_graphics_output_bgrr_pixel_t bgrr; -+ grub_efi_uint32_t raw; -+}; -+typedef union grub_efi_graphics_output_pixel -+ grub_efi_graphics_output_pixel_t; -+ -+enum grub_efi_graphics_output_blt_operation -+{ -+ GRUB_EFI_BLT_VIDEO_FILL, -+ GRUB_EFI_BLT_VIDEO_TO_BLT_BUFFER, -+ GRUB_EFI_BLT_BUFFER_TO_VIDEO, -+ GRUB_EFI_BLT_VIDEO_TO_VIDEO, -+}; -+typedef enum grub_efi_graphics_output_blt_operation -+ grub_efi_graphics_output_blt_operation_t; -+ -+struct grub_efi_graphics_output_mode -+{ -+ grub_efi_uint32_t max_mode; -+ grub_efi_uint32_t mode; -+ grub_efi_graphics_output_mode_information_t *info; -+ grub_efi_uintn_t size_of_info; -+ grub_efi_physical_address_t frame_buffer_base; -+ grub_efi_uintn_t frame_buffer_size; -+}; -+typedef struct grub_efi_graphics_output_mode grub_efi_graphics_output_mode_t; -+ -+struct grub_efi_graphics_output -+{ -+ grub_efi_status_t (*query_mode) (struct grub_efi_graphics_output * this, -+ grub_efi_uint32_t mode_number, -+ grub_efi_uintn_t * size_of_info, -+ grub_efi_graphics_output_mode_information_t -+ ** info); -+ grub_efi_status_t (*set_mode) (struct grub_efi_graphics_output * this, -+ grub_efi_uint32_t mode_number); -+ -+ grub_efi_status_t (*blt) (struct grub_efi_graphics_output * this, -+ grub_efi_graphics_output_blt_pixel_t * blt_buffer, -+ grub_efi_graphics_output_blt_operation_t -+ blt_operation, grub_efi_uintn_t src_x, -+ grub_efi_uintn_t src_y, grub_efi_uintn_t dest_x, -+ grub_efi_uintn_t dest_y, grub_efi_uintn_t width, -+ grub_efi_uintn_t height, grub_efi_uintn_t delta); -+ grub_efi_graphics_output_mode_t *mode; -+}; -+typedef struct grub_efi_graphics_output grub_efi_graphics_output_t; -+ -+typedef enum { -+ EfiUgaVideoFill, -+ EfiUgaVideoToBltBuffer, -+ EfiUgaBltBufferToVideo, -+ EfiUgaVideoToVideo, -+ EfiUgaBltMax -+} grub_efi_uga_blt_operation_t; -+ -+typedef enum { -+ grub_efi_pci_io_width_uint8, -+ grub_efi_pci_io_width_uint16, -+ grub_efi_pci_io_width_uint32, -+ grub_efi_pci_io_width_uint64, -+ grub_efi_pci_io_width_fifo_uint8, -+ grub_efi_pci_io_width_fifo_uint16, -+ grub_efi_pci_io_width_fifo_uint32, -+ grub_efi_pci_io_width_fifo_uint64, -+ grub_efi_pci_io_width_fill_uint8, -+ grub_efi_pci_io_width_fill_uint16, -+ grub_efi_pci_io_width_fill_uint32, -+ grub_efi_pci_io_width_fill_uint64, -+ grub_efi_pci_io_width_maximum -+} grub_efi_pci_io_width; -+ -+struct grub_efi_pci_io; -+ -+typedef struct -+{ -+ grub_efi_status_t(*read) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint8_t bar_index, -+ grub_efi_uint64_t offset, -+ grub_efi_uintn_t count, -+ void *buffer); -+ grub_efi_status_t(*write) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint8_t bar_index, -+ grub_efi_uint64_t offset, -+ grub_efi_uintn_t count, -+ void *buffer); -+} grub_efi_pci_io_access_t; -+ -+typedef struct -+{ -+ grub_efi_status_t( *read) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint32_t offset, -+ grub_efi_uintn_t count, -+ void *buffer); -+ grub_efi_status_t( *write) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint32_t offset, -+ grub_efi_uintn_t count, -+ void *buffer); -+} grub_efi_pci_io_config_access_t; -+ -+typedef enum { -+ grub_efi_pci_io_operation_bus_masterread, -+ grub_efi_pci_io_operation_bus_masterwrite, -+ grub_efi_pci_io_operation_bus_master_common_buffer, -+ grub_efi_pci_io_operation_maximum -+} grub_efi_pci_io_operation_t; -+ -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_ISA_IO 0x0002 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO 0x0004 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY 0x0008 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_IO 0x0010 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO 0x0020 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO 0x0040 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE 0x0080 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_IO 0x0100 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY 0x0200 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_BUS_MASTER 0x0400 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED 0x0800 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE 0x1000 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE 0x2000 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM 0x4000 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE 0x8000 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_ISA_IO_16 0x10000 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 0x20000 -+#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 0x40000 -+ -+typedef enum { -+ grub_efi_pci_io_attribute_operation_get, -+ grub_efi_pci_io_attribute_operation_set, -+ grub_efi_pci_io_attribute_operation_enable, -+ grub_efi_pci_io_attribute_operation_disable, -+ grub_efi_pci_io_attribute_operation_supported, -+ grub_efi_pci_io_attribute_operation_maximum -+} grub_efi_pci_io_attribute_operation_t; -+ -+struct grub_efi_pci_io { -+ grub_efi_status_t (*poll_mem) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint8_t bar_ndex, -+ grub_efi_uint64_t offset, -+ grub_efi_uint64_t mask, -+ grub_efi_uint64_t value, -+ grub_efi_uint64_t delay, -+ grub_efi_uint64_t *result); -+ grub_efi_status_t (*poll_io) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width Width, -+ grub_efi_uint8_t bar_index, -+ grub_efi_uint64_t offset, -+ grub_efi_uint64_t mask, -+ grub_efi_uint64_t value, -+ grub_efi_uint64_t delay, -+ grub_efi_uint64_t *result); -+ grub_efi_pci_io_access_t mem; -+ grub_efi_pci_io_access_t io; -+ grub_efi_pci_io_config_access_t pci; -+ grub_efi_status_t (*copy_mem) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint8_t dest_bar_index, -+ grub_efi_uint64_t dest_offset, -+ grub_efi_uint8_t src_bar_index, -+ grub_efi_uint64_t src_offset, -+ grub_efi_uintn_t count); -+ grub_efi_status_t (*map) ( struct grub_efi_pci_io *this, -+ grub_efi_pci_io_operation_t operation, -+ void *host_address, -+ grub_efi_uintn_t *number_of_bytes, -+ grub_efi_uint64_t *device_address, -+ void **mapping); -+ grub_efi_status_t (*unmap) (struct grub_efi_pci_io *this, -+ void *mapping); -+ grub_efi_status_t (*allocate_buffer) (struct grub_efi_pci_io *this, -+ grub_efi_allocate_type_t type, -+ grub_efi_memory_type_t memory_type, -+ grub_efi_uintn_t pages, -+ void **host_address, -+ grub_efi_uint64_t attributes); -+ grub_efi_status_t (*free_buffer) (struct grub_efi_pci_io *this, -+ grub_efi_allocate_type_t type, -+ grub_efi_memory_type_t memory_type, -+ grub_efi_uintn_t pages, -+ void **host_address, -+ grub_efi_uint64_t attributes); -+ grub_efi_status_t (*flush) (struct grub_efi_pci_io *this); -+ grub_efi_status_t (*get_location) (struct grub_efi_pci_io *this, -+ grub_efi_uintn_t *segment_number, -+ grub_efi_uintn_t *bus_number, -+ grub_efi_uintn_t *device_number, -+ grub_efi_uintn_t *function_number); -+ grub_efi_status_t (*attributes) (struct grub_efi_pci_io *this, -+ grub_efi_pci_io_attribute_operation_t operation, -+ grub_efi_uint64_t attributes, -+ grub_efi_uint64_t *result); -+ grub_efi_status_t (*get_bar_attributes) (struct grub_efi_pci_io *this, -+ grub_efi_uint8_t bar_index, -+ grub_efi_uint64_t *supports, -+ void **resources); -+ grub_efi_status_t (*set_bar_attributes) (struct grub_efi_pci_io *this, -+ grub_efi_uint64_t attributes, -+ grub_efi_uint8_t bar_index, -+ grub_efi_uint64_t *offset, -+ grub_efi_uint64_t *length); -+ grub_efi_uint64_t rom_size; -+ void *rom_image; -+}; -+typedef struct grub_efi_pci_io grub_efi_pci_io_t; -+ -+struct grub_efi_pci_root_io; -+ -+typedef struct -+{ -+ grub_efi_status_t(*read) (struct grub_efi_pci_root_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint64_t address, -+ grub_efi_uintn_t count, -+ void *buffer); -+ grub_efi_status_t(*write) (struct grub_efi_pci_root_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint64_t address, -+ grub_efi_uintn_t count, -+ void *buffer); -+} grub_efi_pci_root_io_access_t; -+ -+typedef enum { -+ grub_efi_pci_root_io_operation_bus_master_read, -+ grub_efi_pci_root_io_operation_bus_master_write, -+ grub_efi_pci_root_io_operation_bus_master_common_buffer, -+ grub_efi_pci_root_io_operation_bus_master_read_64, -+ grub_efi_pci_root_io_operation_bus_master_write_64, -+ grub_efi_pci_root_io_operation_bus_master_common_buffer_64, -+ grub_efi_pci_root_io_operation_maximum -+} grub_efi_pci_root_io_operation_t; -+ -+struct grub_efi_pci_root_io { -+ grub_efi_handle_t parent; -+ grub_efi_status_t (*poll_mem) (struct grub_efi_pci_root_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint64_t address, -+ grub_efi_uint64_t mask, -+ grub_efi_uint64_t value, -+ grub_efi_uint64_t delay, -+ grub_efi_uint64_t *result); -+ grub_efi_status_t (*poll_io) (struct grub_efi_pci_root_io *this, -+ grub_efi_pci_io_width Width, -+ grub_efi_uint64_t address, -+ grub_efi_uint64_t mask, -+ grub_efi_uint64_t value, -+ grub_efi_uint64_t delay, -+ grub_efi_uint64_t *result); -+ grub_efi_pci_root_io_access_t mem; -+ grub_efi_pci_root_io_access_t io; -+ grub_efi_pci_root_io_access_t pci; -+ grub_efi_status_t (*copy_mem) (struct grub_efi_pci_root_io *this, -+ grub_efi_pci_io_width width, -+ grub_efi_uint64_t dest_offset, -+ grub_efi_uint64_t src_offset, -+ grub_efi_uintn_t count); -+ grub_efi_status_t (*map) ( struct grub_efi_pci_root_io *this, -+ grub_efi_pci_root_io_operation_t operation, -+ void *host_address, -+ grub_efi_uintn_t *number_of_bytes, -+ grub_efi_uint64_t *device_address, -+ void **mapping); -+ grub_efi_status_t (*unmap) (struct grub_efi_pci_root_io *this, -+ void *mapping); -+ grub_efi_status_t (*allocate_buffer) (struct grub_efi_pci_root_io *this, -+ grub_efi_allocate_type_t type, -+ grub_efi_memory_type_t memory_type, -+ grub_efi_uintn_t pages, -+ void **host_address, -+ grub_efi_uint64_t attributes); -+ grub_efi_status_t (*free_buffer) (struct grub_efi_pci_root_io *this, -+ grub_efi_uintn_t pages, -+ void **host_address); -+ grub_efi_status_t (*flush) (struct grub_efi_pci_root_io *this); -+ grub_efi_status_t (*get_attributes) (struct grub_efi_pci_root_io *this, -+ grub_efi_uint64_t *supports, -+ void **resources); -+ grub_efi_status_t (*set_attributes) (struct grub_efi_pci_root_io *this, -+ grub_efi_uint64_t attributes, -+ grub_efi_uint64_t *offset, -+ grub_efi_uint64_t *length); -+ grub_efi_status_t (*configuration) (struct grub_efi_pci_root_io *this, -+ void **resources); -+}; -+ -+typedef struct grub_efi_pci_root_io grub_efi_pci_root_io_t; -+ -+struct grub_efi_uga_draw -+{ -+ grub_efi_status_t (*get_mode) (struct grub_efi_uga_draw * this, -+ grub_efi_uint32_t *horizontal_resolution, -+ grub_efi_uint32_t *vertical_resolution, -+ grub_efi_uint32_t *color_depth, -+ grub_efi_uint32_t *refresh_rate); -+ grub_efi_status_t (*set_mode) (struct grub_efi_uga_draw * this, -+ grub_efi_uint32_t horizontal_resolution, -+ grub_efi_uint32_t vertical_resolution, -+ grub_efi_uint32_t color_depth, -+ grub_efi_uint32_t refresh_rate); -+ grub_efi_status_t (*blt) (struct grub_efi_uga_draw * this, -+ grub_efi_uga_pixel_t *blt_buffer, -+ grub_efi_uga_blt_operation_t blt_operation, -+ grub_efi_uintn_t source_x, -+ grub_efi_uintn_t source_y, -+ grub_efi_uintn_t destination_x, -+ grub_efi_uintn_t destination_y, -+ grub_efi_uintn_t width, -+ grub_efi_uintn_t height, -+ grub_efi_uintn_t delta); -+}; -+typedef struct grub_efi_uga_draw grub_efi_uga_draw_t; -+ -+typedef grub_uint32_t grub_uga_status_t; -+ -+typedef enum { -+ UgaDtParentBus = 1, -+ UgaDtGraphicsController, -+ UgaDtOutputController, -+ UgaDtOutputPort, -+ UgaDtOther -+} grub_uga_device_type_t; -+ -+typedef grub_efi_uint32_t grub_uga_device_id_t; -+ -+struct grub_uga_device_data { -+ grub_uga_device_type_t device_type; -+ grub_uga_device_id_t device_id; -+ grub_efi_uint32_t device_context_size; -+ grub_efi_uint32_t shared_context_size; -+}; -+typedef struct grub_uga_device_data grub_uga_device_data_t; -+ -+struct grub_uga_device { -+ void *device_context; -+ void *shared_context; -+ void *runtime_context; -+ struct grub_uga_device *parent_device; -+ void *bus_io_services; -+ void *stdio_services; -+ grub_uga_device_data_t device_data; -+}; -+typedef struct grub_uga_device grub_uga_device_t; -+ -+typedef enum { -+ UgaIoGetVersion = 1, -+ UgaIoGetChildDevice, -+ UgaIoStartDevice, -+ UgaIoStopDevice, -+ UgaIoFlushDevice, -+ UgaIoResetDevice, -+ UgaIoGetDeviceState, -+ UgaIoSetDeviceState, -+ UgaIoSetPowerState, -+ UgaIoGetMemoryConfiguration, -+ UgaIoSetVideoMode, -+ UgaIoCopyRectangle, -+ UgaIoGetEdidSegment, -+ UgaIoDeviceChannelOpen, -+ UgaIoDeviceChannelClose, -+ UgaIoDeviceChannelRead, -+ UgaIoDeviceChannelWrite, -+ UgaIoGetPersistentDataSize, -+ UgaIoGetPersistentData, -+ UgaIoSetPersistentData, -+ UgaIoGetDevicePropertySize, -+ UgaIoGetDeviceProperty, -+ UgaIoBtPrivateInterface -+} grub_uga_io_request_code_t; -+ -+struct grub_uga_io_request { -+ grub_uga_io_request_code_t io_request_code; -+ void *in_buffer; -+ grub_efi_uint64_t in_buffer_size; -+ grub_efi_uint64_t bytes_returned; -+}; -+typedef struct grub_uga_io_request grub_uga_io_request_t; -+ -+struct grub_efi_uga_io -+{ -+ grub_efi_status_t (*create_device) (struct grub_efi_uga_io * this, -+ grub_uga_device_t *parent_device, -+ grub_uga_device_data_t *device_data, -+ void *runtime_context, -+ grub_uga_device_t **device); -+ grub_efi_status_t (*delete_device) (struct grub_efi_uga_io * this, -+ grub_uga_device_t *device); -+ grub_uga_status_t (*dispatch_service) (grub_uga_device_t *device, -+ grub_uga_io_request_t *io_request); -+}; -+typedef struct grub_efi_uga_io grub_efi_uga_io_t; -+ -+/* XXX PJFIX add uga driver handoff stuff */ -+ -+// File Open Modes -+#define GRUB_EFI_FILE_MODE_READ 0x0000000000000001ULL -+#define GRUB_EFI_FILE_MODE_WRITE 0x0000000000000002ULL -+#define GRUB_EFI_FILE_MODE_CREATE 0x8000000000000000ULL -+ -+// File Attributes -+#define GRUB_EFI_FILE_READ_ONLY 0x0000000000000001ULL -+#define GRUB_EFI_FILE_HIDDEN 0x0000000000000002ULL -+#define GRUB_EFI_FILE_SYSTEM 0x0000000000000004ULL -+#define GRUB_EFI_FILE_RESERVED 0x0000000000000008ULL -+#define GRUB_EFI_FILE_DIRECTORY 0x0000000000000010ULL -+#define GRUB_EFI_FILE_ARCHIVE 0x0000000000000020ULL -+#define GRUB_EFI_FILE_VALID_ATTR 0x0000000000000037ULL -+ -+struct grub_efi_file -+{ -+ grub_efi_uint64_t revision; -+ grub_efi_status_t (*open) (struct grub_efi_file * this, -+ struct grub_efi_file ** new_handle, -+ grub_efi_char16_t * file_name, -+ grub_efi_uint64_t open_mode, -+ grub_efi_uint64_t attributes); -+ grub_efi_status_t (*close) (struct grub_efi_file * this); -+ grub_efi_status_t (*delete) (struct grub_efi_file * this); -+ grub_efi_status_t (*read) (struct grub_efi_file * this, -+ grub_efi_uintn_t * buffer_size, -+ void * buffer); -+ grub_efi_status_t (*write) (struct grub_efi_file * this, -+ grub_efi_uintn_t * buffer_size, -+ void * buffer); -+ grub_efi_status_t (*set_position) (struct grub_efi_file * this, -+ grub_efi_uint64_t position); -+ grub_efi_status_t (*get_position) (struct grub_efi_file * this, -+ grub_efi_uint64_t * position); -+ grub_efi_status_t (*get_info) (struct grub_efi_file * this, -+ grub_efi_guid_t * information_type, -+ grub_efi_uintn_t * buffer_size, -+ void * buffer); -+ grub_efi_status_t (*set_info) (struct grub_efi_file * this, -+ grub_efi_guid_t * information_type, -+ grub_efi_uintn_t buffer_size, -+ void * buffer); -+ grub_efi_status_t (*flush) (struct grub_efi_file * this); -+}; -+typedef struct grub_efi_file grub_efi_file_t; -+ -+struct grub_efi_simple_file_system -+{ -+ grub_efi_uint64_t revision; -+ grub_efi_status_t (*open_volume) (struct grub_efi_simple_file_system * this, -+ grub_efi_file_t ** root); -+}; -+typedef struct grub_efi_simple_file_system grub_efi_simple_file_system_t; -+ -+struct grub_efi_serial_io_mode -+{ -+ grub_efi_uint32_t control_mask; -+ grub_efi_uint32_t timeout; -+ grub_efi_uint64_t baud_rate; -+ grub_efi_uint32_t receive_fifo_depth; -+ grub_efi_uint32_t data_bits; -+ grub_efi_uint32_t parity; -+ grub_efi_uint32_t stop_bits; -+}; -+typedef struct grub_efi_serial_io_mode grub_efi_serial_io_mode_t; -+ -+enum grub_efi_parity -+{ -+ GRUB_EFI_DEFAULT_PARITY, -+ GRUB_EFI_NO_PARITY, -+ GRUB_EFI_EVEN_PARITY, -+ GRUB_EFI_ODD_PARITY, -+ GRUB_EFI_MARK_PARITY, -+ GRUB_EFI_SPACE_PARITY -+}; -+typedef enum grub_efi_parity grub_efi_parity_t; -+ -+enum grub_efi_stop_bits -+{ -+ GRUB_EFI_DEFAULT_STOP_BITS, -+ GRUB_EFI_ONE_STOP_BIT, -+ GRUB_EFI_ONE_FIVE_STOP_BITS, -+ GRUB_EFI_TWO_STOP_BITS -+}; -+typedef enum grub_efi_stop_bits grub_efi_stop_bits_t; -+ -+#define GRUB_EFI_SERIAL_CLEAR_TO_SEND 0x0010 -+#define GRUB_EFI_SERIAL_DATA_SET_READY 0x0020 -+#define GRUB_EFI_SERIAL_RING_INDICATE 0x0040 -+#define GRUB_EFI_SERIAL_CARRIER_DETECT 0x0080 -+#define GRUB_EFI_SERIAL_REQUEST_TO_SEND 0x0002 -+#define GRUB_EFI_SERIAL_DATA_TERMINAL_READY 0x0001 -+#define GRUB_EFI_SERIAL_INPUT_BUFFER_EMPTY 0x0100 -+#define GRUB_EFI_SERIAL_OUTPUT_BUFFER_EMPTY 0x0200 -+#define GRUB_EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE 0x1000 -+#define GRUB_EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE 0x2000 -+#define GRUB_EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE 0x4000 -+ -+struct grub_efi_serial_io -+{ -+ grub_efi_uint32_t revision; -+ grub_efi_status_t (*reset) (struct grub_efi_serial_io * this); -+ grub_efi_status_t (*set_attributes) (struct grub_efi_serial_io * this, -+ grub_efi_uint64_t baud_rate, -+ grub_efi_uint32_t receive_fifo_depth, -+ grub_efi_uint32_t timeout, -+ grub_efi_parity_t parity, -+ grub_efi_uint8_t data_bits, -+ grub_efi_stop_bits_t stop_bits); -+ grub_efi_status_t (*set_control_bits) (struct grub_efi_serial_io * this, -+ grub_efi_uint32_t control); -+ grub_efi_status_t (*get_control_bits) (struct grub_efi_serial_io * this, -+ grub_efi_uint32_t * control); -+ grub_efi_status_t (*write) (struct grub_efi_serial_io * this, -+ grub_efi_uintn_t * buffer_size, -+ void * buffer); -+ grub_efi_status_t (*read) (struct grub_efi_serial_io * this, -+ grub_efi_uintn_t * buffer_size, -+ void * buffer); -+ grub_efi_serial_io_mode_t *mode; -+}; -+typedef struct grub_efi_serial_io grub_efi_serial_io_t; -+ -+#endif /* ! GRUB_EFI_API_HEADER */ -diff --git a/efi/grub/efi/console_control.h b/efi/grub/efi/console_control.h -new file mode 100644 -index 0000000..ffc4305 ---- /dev/null -+++ b/efi/grub/efi/console_control.h -@@ -0,0 +1,59 @@ -+/* console_control.h - definitions of the console control protocol */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+/* The console control protocol is not a part of the EFI spec, -+ but defined in Intel's Sample Implementation. */ -+ -+#ifndef GRUB_EFI_CONSOLE_CONTROL_HEADER -+#define GRUB_EFI_CONSOLE_CONTROL_HEADER 1 -+ -+#define GRUB_EFI_CONSOLE_CONTROL_GUID \ -+ { 0xf42f7782, 0x12e, 0x4c12, \ -+ { 0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 } \ -+ } -+ -+enum grub_efi_screen_mode -+{ -+ GRUB_EFI_SCREEN_TEXT, -+ GRUB_EFI_SCREEN_GRAPHICS, -+ GRUB_EFI_SCREEN_TEXT_MAX_VALUE -+}; -+typedef enum grub_efi_screen_mode grub_efi_screen_mode_t; -+ -+struct grub_efi_console_control_protocol -+{ -+ grub_efi_status_t -+ (*get_mode) (struct grub_efi_console_control_protocol * this, -+ grub_efi_screen_mode_t * mode, -+ grub_efi_boolean_t * uga_exists, -+ grub_efi_boolean_t * std_in_locked); -+ -+ grub_efi_status_t -+ (*set_mode) (struct grub_efi_console_control_protocol * this, -+ grub_efi_screen_mode_t mode); -+ -+ grub_efi_status_t -+ (*lock_std_in) (struct grub_efi_console_control_protocol * this, -+ grub_efi_char16_t * password); -+}; -+typedef struct grub_efi_console_control_protocol -+ grub_efi_console_control_protocol_t; -+ -+#endif /* ! GRUB_EFI_CONSOLE_CONTROL_HEADER */ -diff --git a/efi/grub/efi/efi.h b/efi/grub/efi/efi.h -new file mode 100644 -index 0000000..301f9d9 ---- /dev/null -+++ b/efi/grub/efi/efi.h -@@ -0,0 +1,85 @@ -+/* efi.h - declare variables and functions for EFI support */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_EFI_EFI_HEADER -+#define GRUB_EFI_EFI_HEADER 1 -+ -+#include -+#include -+ -+/* Functions. */ -+grub_efi_status_t -+grub_efi_locate_device_path (grub_efi_guid_t *protocol, -+ grub_efi_device_path_t **dp, -+ grub_efi_handle_t *handle); -+grub_efi_status_t -+grub_efi_locate_handle_buffer (grub_efi_locate_search_type_t search_type, -+ grub_efi_guid_t *protocol, -+ void *search_key, -+ grub_efi_uintn_t *no_handles, -+ grub_efi_handle_t **buffer); -+void *grub_efi_locate_protocol (grub_efi_guid_t * protocol, -+ void *registration); -+grub_efi_handle_t *grub_efi_locate_handle (grub_efi_locate_search_type_t -+ search_type, -+ grub_efi_guid_t * protocol, -+ void *search_key, -+ grub_efi_uintn_t * num_handles); -+void *grub_efi_open_protocol (grub_efi_handle_t handle, -+ grub_efi_guid_t * protocol, -+ grub_efi_uint32_t attributes); -+int grub_efi_set_text_mode (int on); -+void grub_efi_stall (grub_efi_uintn_t microseconds); -+void *grub_efi_allocate_pool (grub_efi_uintn_t size); -+void grub_efi_free_pool (void *buffer); -+void *grub_efi_allocate_anypages (grub_efi_uintn_t pages); -+void *grub_efi_allocate_pages (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages); -+void *grub_efi_allocate_runtime_pages (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages); -+void -+grub_efi_free_pages (grub_efi_physical_address_t address, -+ grub_efi_uintn_t pages); -+int -+grub_efi_get_memory_map (grub_efi_uintn_t * map_key, -+ grub_efi_uintn_t * descriptor_size, -+ grub_efi_uint32_t * descriptor_version); -+grub_efi_loaded_image_t *grub_efi_get_loaded_image (grub_efi_handle_t -+ image_handle); -+void grub_efi_print_device_path (grub_efi_device_path_t * dp); -+char *grub_efi_get_filename (grub_efi_device_path_t * dp); -+grub_efi_device_path_t *grub_efi_get_device_path (grub_efi_handle_t handle); -+int grub_efi_exit_boot_services (grub_efi_uintn_t map_key); -+ -+void grub_efi_mm_init (void); -+void grub_efi_mm_fini (void); -+void grub_efi_init (void); -+void grub_efi_fini (void); -+void grub_efi_set_prefix (void); -+ -+/* Variables. */ -+extern void *mmap_buf; -+extern grub_efi_uintn_t mmap_size; -+extern grub_efi_uintn_t mmap_pages; -+ -+extern grub_efi_system_table_t *grub_efi_system_table; -+extern grub_efi_handle_t grub_efi_image_handle; -+ -+#endif /* ! GRUB_EFI_EFI_HEADER */ -diff --git a/efi/grub/efi/eficall.h b/efi/grub/efi/eficall.h -new file mode 100644 -index 0000000..2e79e04 ---- /dev/null -+++ b/efi/grub/efi/eficall.h -@@ -0,0 +1,162 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef _EFI_CALL_INCLUDE_ -+#define _EFI_CALL_INCLUDE_ 1 -+ -+#include -+ -+#ifndef __x86_64__ -+#ifdef EFI_FUNCTION_WRAPPER -+#undef EFI_FUNCTION_WRAPPER -+#endif -+#endif -+ -+#ifdef EFI_FUNCTION_WRAPPER -+typedef long EFI_STATUS; -+ -+EFI_STATUS x64_call0 (unsigned long func); -+EFI_STATUS x64_call1 (unsigned long func, unsigned long a); -+EFI_STATUS x64_call2 (unsigned long func, unsigned long a, unsigned long b); -+EFI_STATUS x64_call3 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c); -+EFI_STATUS x64_call4 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, unsigned long d); -+EFI_STATUS x64_call5 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, -+ unsigned long d, unsigned long e); -+EFI_STATUS x64_call6 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, -+ unsigned long d, unsigned long e, unsigned long f); -+EFI_STATUS x64_call7 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, -+ unsigned long d, unsigned long e, -+ unsigned long f, unsigned long g); -+EFI_STATUS x64_call8 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, -+ unsigned long d, unsigned long e, -+ unsigned long f, unsigned long g, -+ unsigned long h); -+EFI_STATUS x64_call9 (unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, -+ unsigned long d, unsigned long e, -+ unsigned long f, unsigned long g, -+ unsigned long h, unsigned long i); -+EFI_STATUS x64_call10(unsigned long func, unsigned long a, -+ unsigned long b, unsigned long c, -+ unsigned long d, unsigned long e, -+ unsigned long f, unsigned long g, -+ unsigned long h, unsigned long i, -+ unsigned long j); -+ -+#define Call_Service(func) x64_call0((unsigned long)func) -+ -+#define Call_Service_1(func,a) x64_call1((unsigned long)func, \ -+ (unsigned long)a) -+ -+#define Call_Service_2(func,a,b) x64_call2((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b) -+ -+#define Call_Service_3(func,a,b,c) x64_call3((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c) -+ -+#define Call_Service_4(func,a,b,c,d) x64_call4((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d) -+ -+#define Call_Service_5(func,a,b,c,d,e) x64_call5((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d, \ -+ (unsigned long)e) -+ -+#define Call_Service_6(func,a,b,c,d,e,f) x64_call6((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d, \ -+ (unsigned long)e, \ -+ (unsigned long)f) -+ -+#define Call_Service_7(func,a,b,c,d,e,f,g) x64_call7((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d, \ -+ (unsigned long)e, \ -+ (unsigned long)f, \ -+ (unsigned long)g) -+ -+#define Call_Service_8(func,a,b,c,d,e,f,g,h) x64_call8((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d, \ -+ (unsigned long)e, \ -+ (unsigned long)f, \ -+ (unsigned long)g, \ -+ (unsigned long)h) -+ -+#define Call_Service_9(func,a,b,c,d,e,f,g,h,i) x64_call9((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d, \ -+ (unsigned long)e, \ -+ (unsigned long)f, \ -+ (unsigned long)g, \ -+ (unsigned long)h, \ -+ (unsigned long)i) -+ -+#define Call_Service_10(func,a,b,c,d,e,f,g,h,i,j) \ -+ x64_call10((unsigned long)func, \ -+ (unsigned long)a, \ -+ (unsigned long)b, \ -+ (unsigned long)c, \ -+ (unsigned long)d, \ -+ (unsigned long)e, \ -+ (unsigned long)f, \ -+ (unsigned long)g, \ -+ (unsigned long)h, \ -+ (unsigned long)i, \ -+ (unsigned long)j) -+ -+#else -+ -+typedef long EFI_STATUS; -+#define Call_Service(func) func() -+#define Call_Service_1(func,a) func(a) -+#define Call_Service_2(func,a,b) func(a,b) -+#define Call_Service_3(func,a,b,c) func(a,b,c) -+#define Call_Service_4(func,a,b,c,d) func(a,b,c,d) -+#define Call_Service_5(func,a,b,c,d,e) func(a,b,c,d,e) -+#define Call_Service_6(func,a,b,c,d,e,f) func(a,b,c,d,e,f) -+#define Call_Service_7(func,a,b,c,d,e,f,g) func(a,b,c,d,e,f,g) -+#define Call_Service_8(func,a,b,c,d,e,f,g,h) func(a,b,c,d,e,f,g,h) -+#define Call_Service_9(func,a,b,c,d,e,f,g,h,i) func(a,b,c,d,e,f,g,h,i) -+#define Call_Service_10(func,a,b,c,d,e,f,g,h,i,j) func(a,b,c,d,e,f,g,h,i,j) -+#endif -+ -+#endif -diff --git a/efi/grub/efi/misc.h b/efi/grub/efi/misc.h -new file mode 100644 -index 0000000..e06a2fb ---- /dev/null -+++ b/efi/grub/efi/misc.h -@@ -0,0 +1,60 @@ -+/* misc.h - prototypes for misc EFI functions */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2003,2005,2006 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_EFI_MISC_HEADER -+#define GRUB_EFI_MISC_HEADER 1 -+ -+struct e820_entry; -+void e820_map_from_efi_map (struct e820_entry *e820_map, -+ int *e820_nr_map, -+ grub_efi_memory_descriptor_t *memory_map, -+ grub_efi_uintn_t desc_size, -+ grub_efi_uintn_t memory_map_size); -+ -+/* Initialize the console system. */ -+void grub_console_init (void); -+/* Finish the console system. */ -+void grub_console_fini (void); -+ -+void grub_efidisk_init (void); -+void grub_efidisk_fini (void); -+grub_efi_handle_t grub_efidisk_get_current_bdev_handle (void); -+int grub_get_drive_partition_from_bdev_handle (grub_efi_handle_t handle, -+ unsigned long *drive, -+ unsigned long *partition); -+ -+char *grub_efi_file_path_to_path_name (grub_efi_device_path_t *file_path); -+void grub_load_saved_default (grub_efi_handle_t dev_handle); -+ -+grub_efi_device_path_t * -+find_last_device_path (const grub_efi_device_path_t *dp); -+grub_efi_device_path_t * -+find_parent_device_path (const grub_efi_device_path_t *dp); -+grub_efi_device_path_t * -+duplicate_device_path (const grub_efi_device_path_t *dp); -+int -+compare_device_paths (const grub_efi_device_path_t *dp1, -+ const grub_efi_device_path_t *dp2); -+grub_efi_device_path_t * -+device_path_from_utf8 (const char *device); -+ -+extern grub_efi_guid_t simple_file_system_guid; -+ -+#endif /* ! GRUB_EFI_MISC_HEADER */ -diff --git a/efi/grub/efi/net.h b/efi/grub/efi/net.h -new file mode 100644 -index 0000000..e69de29 -diff --git a/efi/grub/efi/time.h b/efi/grub/efi/time.h -new file mode 100644 -index 0000000..55bfe68 ---- /dev/null -+++ b/efi/grub/efi/time.h -@@ -0,0 +1,31 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+ * MA 02110-1301, USA. -+ */ -+ -+#ifndef GRUB_EFI_TIME_HEADER -+#define GRUB_EFI_TIME_HEADER 1 -+ -+#include -+ -+#define GRUB_TICKS_PER_SECOND 18 -+ -+/* Return the real time in ticks. */ -+grub_uint32_t grub_get_rtc (void); -+ -+#endif /* ! GRUB_EFI_TIME_HEADER */ -diff --git a/efi/grub/i386/linux.h b/efi/grub/i386/linux.h -new file mode 100644 -index 0000000..1545a7a ---- /dev/null -+++ b/efi/grub/i386/linux.h -@@ -0,0 +1,226 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_LINUX_MACHINE_HEADER -+#define GRUB_LINUX_MACHINE_HEADER 1 -+ -+#define GRUB_LINUX_MAGIC_SIGNATURE 0x53726448 /* "HdrS" */ -+#define GRUB_LINUX_DEFAULT_SETUP_SECTS 4 -+#define GRUB_LINUX_FLAG_CAN_USE_HEAP 0x80 -+#define GRUB_LINUX_INITRD_MAX_ADDRESS 0x37FFFFFF -+#define GRUB_LINUX_MAX_SETUP_SECTS 64 -+#define GRUB_LINUX_BOOT_LOADER_TYPE 0x72 -+#define GRUB_LINUX_HEAP_END_OFFSET (0x9000 - 0x200) -+ -+#define GRUB_LINUX_BZIMAGE_ADDR 0x100000 -+#define GRUB_LINUX_ZIMAGE_ADDR 0x10000 -+#define GRUB_LINUX_OLD_REAL_MODE_ADDR 0x90000 -+#define GRUB_LINUX_SETUP_STACK 0x9000 -+ -+#define GRUB_LINUX_FLAG_BIG_KERNEL 0x1 -+ -+/* Linux's video mode selection support. Actually I hate it! */ -+#define GRUB_LINUX_VID_MODE_NORMAL 0xFFFF -+#define GRUB_LINUX_VID_MODE_EXTENDED 0xFFFE -+#define GRUB_LINUX_VID_MODE_ASK 0xFFFD -+ -+#define GRUB_LINUX_CL_OFFSET 0x9000 -+#define GRUB_LINUX_CL_END_OFFSET 0x90FF -+#define GRUB_LINUX_SETUP_MOVE_SIZE 0x9100 -+#define GRUB_LINUX_CL_MAGIC 0xA33F -+ -+#if 0 -+#define GRUB_LINUX_EFI_SIGNATURE_X64 \ -+ ('4' << 24 | '6' << 16 | 'L' << 8 | 'E') -+#else -+#define GRUB_LINUX_EFI_SIGNATURE_X64 \ -+ ('L' << 24 | 'I' << 16 | 'F' << 8 | 'E') -+#endif -+ -+#ifndef ASM_FILE -+ -+/* For the Linux/i386 boot protocol version 2.07. */ -+struct grub_linux_kernel_header -+{ -+ grub_uint8_t setup_sects; /* The size of the setup in sectors */ -+ grub_uint16_t root_flags; /* If the root is mounted readonly */ -+ grub_uint32_t syssize; /* obsolete */ -+ grub_uint16_t ram_size; /* obsolete */ -+ grub_uint16_t vid_mode; /* Video mode control */ -+ grub_uint16_t root_dev; /* Default root device number */ -+ grub_uint16_t boot_flag; /* 0xAA55 magic number */ -+ grub_uint8_t jump_ins; /* Jump instruction */ -+ grub_uint8_t jump_off; /* Jump offset */ -+ grub_uint32_t header; /* Magic signature "HdrS" */ -+ grub_uint16_t version; /* Boot protocol version supported */ -+ grub_uint32_t realmode_swtch; /* Boot loader hook */ -+ grub_uint16_t start_sys; /* The load-low segment (obsolete) */ -+ grub_uint16_t kernel_version; /* Points to kernel version string */ -+ grub_uint8_t type_of_loader; /* Boot loader identifier */ -+ grub_uint8_t loadflags; /* Boot protocol option flags */ -+ grub_uint16_t setup_move_size;/* Move to high memory size */ -+ grub_uint32_t code32_start; /* Boot loader hook */ -+ grub_uint32_t ramdisk_image; /* initrd load address */ -+ grub_uint32_t ramdisk_size; /* initrd size */ -+ grub_uint32_t bootsect_kludge;/* obsolete */ -+ grub_uint16_t heap_end_ptr; /* Free memory after setup end */ -+ grub_uint16_t pad1; /* Unused */ -+ grub_uint32_t cmd_line_ptr; /* Points to the kernel command line */ -+ grub_uint32_t initrd_addr_max;/* Highest address for initrd */ -+ grub_uint32_t kernel_alignment; -+ grub_uint8_t relocatable_kernel; -+ grub_uint8_t pad2[3]; -+ grub_uint32_t hardware_subarch; -+ grub_uint64_t hardware_subarch_data; -+} __attribute__ ((packed)); -+ -+/* Boot parameters for Linux based on 2.6.12. This is used by the setup -+ sectors of Linux, and must be simulated by GRUB on EFI, because -+ the setup sectors depend on BIOS. */ -+struct linux_kernel_params -+{ -+ grub_uint8_t video_cursor_x; /* 0 */ -+ grub_uint8_t video_cursor_y; -+ -+ grub_uint16_t ext_mem; /* 2 */ -+ -+ grub_uint16_t video_page; /* 4 */ -+ grub_uint8_t video_mode; /* 6 */ -+ grub_uint8_t video_width; /* 7 */ -+ -+ grub_uint8_t padding1[0xa - 0x8]; -+ -+ grub_uint16_t video_ega_bx; /* a */ -+ -+ grub_uint8_t padding2[0xe - 0xc]; -+ -+ grub_uint8_t video_height; /* e */ -+ grub_uint8_t have_vga; /* f */ -+ grub_uint16_t font_size; /* 10 */ -+ -+ grub_uint16_t lfb_width; /* 12 */ -+ grub_uint16_t lfb_height; /* 14 */ -+ grub_uint16_t lfb_depth; /* 16 */ -+ grub_uint32_t lfb_base; /* 18 */ -+ grub_uint32_t lfb_size; /* 1c */ -+ -+ grub_uint16_t cl_magic; /* 20 */ -+ grub_uint16_t cl_offset; -+ -+ grub_uint16_t lfb_line_len; /* 24 */ -+ grub_uint8_t red_mask_size; /* 26 */ -+ grub_uint8_t red_field_pos; -+ grub_uint8_t green_mask_size; -+ grub_uint8_t green_field_pos; -+ grub_uint8_t blue_mask_size; -+ grub_uint8_t blue_field_pos; -+ grub_uint8_t reserved_mask_size; -+ grub_uint8_t reserved_field_pos; -+ grub_uint16_t vesapm_segment; /* 2e */ -+ grub_uint16_t vesapm_offset; /* 30 */ -+ grub_uint16_t lfb_pages; /* 32 */ -+ grub_uint16_t vesa_attrib; /* 34 */ -+ -+ grub_uint8_t padding3[0x40 - 0x36]; -+ -+ grub_uint16_t apm_version; /* 40 */ -+ grub_uint16_t apm_code_segment; /* 42 */ -+ grub_uint32_t apm_entry; /* 44 */ -+ grub_uint16_t apm_16bit_code_segment; /* 48 */ -+ grub_uint16_t apm_data_segment; /* 4a */ -+ grub_uint16_t apm_flags; /* 4c */ -+ grub_uint32_t apm_code_len; /* 4e */ -+ grub_uint16_t apm_data_len; /* 52 */ -+ -+ grub_uint8_t padding4[0x60 - 0x54]; -+ -+ grub_uint32_t ist_signature; /* 60 */ -+ grub_uint32_t ist_command; /* 64 */ -+ grub_uint32_t ist_event; /* 68 */ -+ grub_uint32_t ist_perf_level; /* 6c */ -+ -+ grub_uint8_t padding5[0x80 - 0x70]; -+ -+ grub_uint8_t hd0_drive_info[0x10]; /* 80 */ -+ grub_uint8_t hd1_drive_info[0x10]; /* 90 */ -+ grub_uint16_t rom_config_len; /* a0 */ -+ -+ grub_uint8_t padding6[0x1b8 - 0xa2]; -+ -+ union { -+ struct { -+ grub_uint32_t padding7_1; /* 0x1b8 */ -+ grub_uint32_t padding7_2; /* 0x1bc */ -+ -+ grub_uint32_t efi_signature; /* 1c0 */ -+ grub_uint32_t efi_system_table; /* 1c4 */ -+ grub_uint32_t efi_mem_desc_size; /* 1c8 */ -+ grub_uint32_t efi_mem_desc_version; /* 1cc */ -+ grub_uint32_t efi_mmap; /* 1d0 */ -+ grub_uint32_t efi_mmap_size; /* 1d4 */ -+ grub_uint32_t efi_system_table_hi; /* 1d8 */ -+ grub_uint32_t efi_mmap_hi; /* 1dc */ -+ } dunno; -+ struct { -+ grub_uint32_t efi_system_table; /* 1b8 */ -+ -+ grub_uint32_t padding7_1; /* 0x1bc */ -+ -+ grub_uint32_t efi_signature; /* 1c0 */ -+ grub_uint32_t efi_mem_desc_size; /* 1c4 */ -+ grub_uint32_t efi_mem_desc_version; /* 1c8 */ -+ grub_uint32_t efi_mmap_size; /* 1cc */ -+ grub_uint32_t efi_mmap; /* 1d0 */ -+ -+ grub_uint8_t padding7_2[0x1e0 - 0x1d4]; /* 1d4 */ -+ } version_0204; -+ struct { -+ grub_uint32_t padding7_1; /* 0x1b8 */ -+ grub_uint32_t padding7_2; /* 0x1bc */ -+ grub_uint32_t padding7_3; /* 0x1c0 */ -+ grub_uint32_t efi_system_table; /* 0x1c4 */ -+ grub_uint32_t efi_mem_desc_size; /* 0x1c8 */ -+ grub_uint32_t efi_mem_desc_version; /* 0x1cc */ -+ grub_uint32_t efi_mmap; /* 0x1d0 */ -+ grub_uint32_t efi_mmap_size; /* 0x1d4 */ -+ grub_uint8_t padding7_4[0x1e0 - 0x1d8]; /* 0x1d8 */ -+ } version_0206; -+ }; -+ -+ grub_uint32_t alt_mem; /* 1e0 */ -+ -+ grub_uint8_t padding8[0x1e8 - 0x1e4]; /* 1e4 */ -+ -+ grub_uint8_t e820_nr_map; /* 1e8 */ -+ grub_uint8_t eddbuf_entries; /* 1e9 */ -+ grub_uint8_t edd_mbr_sig_buf_entries; /* 1ea */ -+ -+ grub_uint8_t padding9[0x1f1 - 0x1eb]; -+ -+ struct grub_linux_kernel_header hdr; /* 0x1f1 */ -+ -+ grub_uint8_t padding10[0x2d0-0x1f1-sizeof(struct grub_linux_kernel_header)]; -+ -+ grub_uint8_t e820_map[2560]; /* 0x2d0 */ -+ -+ grub_uint8_t padding11[0x1000 - 0xcd0]; -+} __attribute__ ((packed)); -+#endif /* ! ASM_FILE */ -+ -+#endif /* ! GRUB_LINUX_MACHINE_HEADER */ -diff --git a/efi/grub/i386/types.h b/efi/grub/i386/types.h -new file mode 100644 -index 0000000..ec4174e ---- /dev/null -+++ b/efi/grub/i386/types.h -@@ -0,0 +1,32 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2006 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_TYPES_CPU_HEADER -+#define GRUB_TYPES_CPU_HEADER 1 -+ -+/* The size of void *. */ -+#define GRUB_TARGET_SIZEOF_VOID_P 4 -+ -+/* The size of long. */ -+#define GRUB_TARGET_SIZEOF_LONG 4 -+ -+/* x64_64 is little-endian. */ -+#undef GRUB_TARGET_WORDS_BIGENDIAN -+ -+#endif /* ! GRUB_TYPES_CPU_HEADER */ -diff --git a/efi/grub/misc.h b/efi/grub/misc.h -new file mode 100644 -index 0000000..5ef2226 ---- /dev/null -+++ b/efi/grub/misc.h -@@ -0,0 +1,71 @@ -+/* misc.h - prototypes for misc functions */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2003,2005,2006 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_MISC_HEADER -+#define GRUB_MISC_HEADER 1 -+ -+#include -+#include -+ -+#define grub_dprintf(condition, fmt, args...) \ -+ grub_real_dprintf(__FILE__, __LINE__, condition, fmt, ## args) -+ -+char *grub_stpcpy (char *dest, const char *src); -+void grub_real_dprintf (const char *file, -+ const int line, -+ const char *condition, -+ const char *fmt, ...) -+ __attribute__ ((format (printf, 4, 5))); -+void grub_exit (void) __attribute__ ((noreturn)); -+void grub_abort (void) __attribute__ ((noreturn)); -+void grub_fatal (const char *fmt, ...) __attribute__ ((noreturn)); -+grub_size_t grub_utf8_char_len(grub_uint8_t ch); -+grub_uint32_t grub_utf8_to_utf32(const grub_uint8_t *src, grub_size_t length); -+void grub_utf8_to_utf16(const grub_uint8_t *src, grub_size_t srclen, -+ grub_uint16_t *dst, grub_size_t dstlen); -+grub_uint8_t *grub_utf16_to_utf8 (grub_uint8_t * dest, -+ grub_uint16_t * src, grub_size_t size); -+ -+void *grub_malloc (grub_size_t size); -+void grub_free (void *ptr); -+ -+char *grub_strndup (const char *s, int n); -+#define strndup grub_strndup -+ -+int safe_parse_maxulong (char **str_ptr, unsigned long *myulong_ptr); -+ -+#define E820_RAM 1 -+#define E820_RESERVED 2 -+#define E820_ACPI 3 -+#define E820_NVS 4 -+#define E820_EXEC_CODE 5 -+#define E820_MAX 128 -+ -+struct e820_entry -+{ -+ grub_uint64_t addr; /* start of memory segment */ -+ grub_uint64_t size; /* size of memory segment */ -+ grub_uint32_t type; /* type of memory segment */ -+} __attribute__ ((packed)); -+ -+int grub_load_linux (char *kernel, char *arg); -+int grub_load_initrd (char *initrd); -+ -+#endif /* ! GRUB_MISC_HEADER */ -diff --git a/efi/grub/symbol.h b/efi/grub/symbol.h -new file mode 100644 -index 0000000..5204c54 ---- /dev/null -+++ b/efi/grub/symbol.h -@@ -0,0 +1,34 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 1999,2000,2001,2002,2006 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_SYMBOL_HEADER -+#define GRUB_SYMBOL_HEADER 1 -+ -+#include -+ -+/* Add an underscore to a C symbol in assembler code if needed. */ -+#ifdef HAVE_ASM_USCORE -+# define EXT_C(sym) _ ## sym -+#else -+# define EXT_C(sym) sym -+#endif -+ -+#define FUNCTION(x) .globl EXT_C(x) ; .type EXT_C(x), "function" ; EXT_C(x): -+ -+#endif /* ! GRUB_SYMBOL_HEADER */ -diff --git a/efi/grub/types.h b/efi/grub/types.h -new file mode 100644 -index 0000000..173adb4 ---- /dev/null -+++ b/efi/grub/types.h -@@ -0,0 +1,158 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2005,2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_TYPES_HEADER -+#define GRUB_TYPES_HEADER 1 -+ -+#include -+#include -+ -+#define UNUSED __attribute__ ((unused)) -+ -+#ifdef GRUB_UTIL -+# define GRUB_CPU_SIZEOF_VOID_P SIZEOF_VOID_P -+# define GRUB_CPU_SIZEOF_LONG SIZEOF_LONG -+# ifdef WORDS_BIGENDIAN -+# define GRUB_CPU_WORDS_BIGENDIAN 1 -+# else -+# undef GRUB_CPU_WORDS_BIGENDIAN -+# endif -+#else /* ! GRUB_UTIL */ -+# define GRUB_CPU_SIZEOF_VOID_P GRUB_TARGET_SIZEOF_VOID_P -+# define GRUB_CPU_SIZEOF_LONG GRUB_TARGET_SIZEOF_LONG -+# ifdef GRUB_TARGET_WORDS_BIGENDIAN -+# define GRUB_CPU_WORDS_BIGENDIAN 1 -+# else -+# undef GRUB_CPU_WORDS_BIGENDIAN -+# endif -+#endif /* ! GRUB_UTIL */ -+ -+#if GRUB_CPU_SIZEOF_VOID_P != GRUB_CPU_SIZEOF_LONG -+# error "This architecture is not supported because sizeof(void *) != sizeof(long)" -+#endif -+ -+#if GRUB_CPU_SIZEOF_VOID_P != 4 && GRUB_CPU_SIZEOF_VOID_P != 8 -+# error "This architecture is not supported because sizeof(void *) != 4 and sizeof(void *) != 8" -+#endif -+ -+/* Define various wide integers. */ -+typedef signed char grub_int8_t; -+typedef short grub_int16_t; -+typedef int grub_int32_t; -+#if GRUB_CPU_SIZEOF_VOID_P == 8 -+typedef long grub_int64_t; -+#else -+typedef long long grub_int64_t; -+#endif -+ -+typedef unsigned char grub_uint8_t; -+typedef unsigned short grub_uint16_t; -+typedef unsigned grub_uint32_t; -+#if GRUB_CPU_SIZEOF_VOID_P == 8 -+typedef unsigned long grub_uint64_t; -+#else -+typedef unsigned long long grub_uint64_t; -+#endif -+ -+/* Misc types. */ -+#if GRUB_TARGET_SIZEOF_VOID_P == 8 -+typedef grub_uint64_t grub_target_addr_t; -+typedef grub_uint64_t grub_target_off_t; -+typedef grub_uint64_t grub_target_size_t; -+typedef grub_int64_t grub_target_ssize_t; -+#else -+typedef grub_uint32_t grub_target_addr_t; -+typedef grub_uint32_t grub_target_off_t; -+typedef grub_uint32_t grub_target_size_t; -+typedef grub_int32_t grub_target_ssize_t; -+#endif -+ -+typedef unsigned long grub_addr_t; -+#if GRUB_CPU_SIZEOF_VOID_P == 8 -+typedef grub_uint64_t grub_size_t; -+typedef grub_int64_t grub_ssize_t; -+#else -+typedef grub_uint32_t grub_size_t; -+typedef grub_int32_t grub_ssize_t; -+#endif -+ -+/* The type for representing a file offset. */ -+typedef grub_uint64_t grub_off_t; -+ -+/* The type for representing a disk block address. */ -+typedef grub_uint64_t grub_disk_addr_t; -+ -+/* Byte-orders. */ -+#define grub_swap_bytes16(x) \ -+({ \ -+ grub_uint16_t _x = (x); \ -+ (grub_uint16_t) ((_x << 8) | (_x >> 8)); \ -+}) -+ -+#define grub_swap_bytes32(x) \ -+({ \ -+ grub_uint32_t _x = (x); \ -+ (grub_uint32_t) ((_x << 24) \ -+ | ((_x & (grub_uint32_t) 0xFF00UL) << 8) \ -+ | ((_x & (grub_uint32_t) 0xFF0000UL) >> 8) \ -+ | (_x >> 24)); \ -+}) -+ -+#define grub_swap_bytes64(x) \ -+({ \ -+ grub_uint64_t _x = (x); \ -+ (grub_uint64_t) ((_x << 56) \ -+ | ((_x & (grub_uint64_t) 0xFF00ULL) << 40) \ -+ | ((_x & (grub_uint64_t) 0xFF0000ULL) << 24) \ -+ | ((_x & (grub_uint64_t) 0xFF000000ULL) << 8) \ -+ | ((_x & (grub_uint64_t) 0xFF00000000ULL) >> 8) \ -+ | ((_x & (grub_uint64_t) 0xFF0000000000ULL) >> 24) \ -+ | ((_x & (grub_uint64_t) 0xFF000000000000ULL) >> 40) \ -+ | (_x >> 56)); \ -+}) -+ -+#ifdef GRUB_CPU_WORDS_BIGENDIAN -+# define grub_cpu_to_le16(x) grub_swap_bytes16(x) -+# define grub_cpu_to_le32(x) grub_swap_bytes32(x) -+# define grub_cpu_to_le64(x) grub_swap_bytes64(x) -+# define grub_le_to_cpu16(x) grub_swap_bytes16(x) -+# define grub_le_to_cpu32(x) grub_swap_bytes32(x) -+# define grub_le_to_cpu64(x) grub_swap_bytes64(x) -+# define grub_cpu_to_be16(x) ((grub_uint16_t) (x)) -+# define grub_cpu_to_be32(x) ((grub_uint32_t) (x)) -+# define grub_cpu_to_be64(x) ((grub_uint64_t) (x)) -+# define grub_be_to_cpu16(x) ((grub_uint16_t) (x)) -+# define grub_be_to_cpu32(x) ((grub_uint32_t) (x)) -+# define grub_be_to_cpu64(x) ((grub_uint64_t) (x)) -+#else /* ! WORDS_BIGENDIAN */ -+# define grub_cpu_to_le16(x) ((grub_uint16_t) (x)) -+# define grub_cpu_to_le32(x) ((grub_uint32_t) (x)) -+# define grub_cpu_to_le64(x) ((grub_uint64_t) (x)) -+# define grub_le_to_cpu16(x) ((grub_uint16_t) (x)) -+# define grub_le_to_cpu32(x) ((grub_uint32_t) (x)) -+# define grub_le_to_cpu64(x) ((grub_uint64_t) (x)) -+# define grub_cpu_to_be16(x) grub_swap_bytes16(x) -+# define grub_cpu_to_be32(x) grub_swap_bytes32(x) -+# define grub_cpu_to_be64(x) grub_swap_bytes64(x) -+# define grub_be_to_cpu16(x) grub_swap_bytes16(x) -+# define grub_be_to_cpu32(x) grub_swap_bytes32(x) -+# define grub_be_to_cpu64(x) grub_swap_bytes64(x) -+#endif /* ! WORDS_BIGENDIAN */ -+ -+#endif /* ! GRUB_TYPES_HEADER */ -diff --git a/efi/grub/x86_64/linux.h b/efi/grub/x86_64/linux.h -new file mode 100644 -index 0000000..65af9ee ---- /dev/null -+++ b/efi/grub/x86_64/linux.h -@@ -0,0 +1,228 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_LINUX_MACHINE_HEADER -+#define GRUB_LINUX_MACHINE_HEADER 1 -+ -+#define GRUB_LINUX_MAGIC_SIGNATURE 0x53726448 /* "HdrS" */ -+#define GRUB_LINUX_DEFAULT_SETUP_SECTS 4 -+#define GRUB_LINUX_FLAG_CAN_USE_HEAP 0x80 -+#define GRUB_LINUX_INITRD_MAX_ADDRESS 0x37FFFFFF -+#define GRUB_LINUX_MAX_SETUP_SECTS 64 -+#define GRUB_LINUX_BOOT_LOADER_TYPE 0x72 -+#define GRUB_LINUX_HEAP_END_OFFSET (0x9000 - 0x200) -+ -+#define GRUB_LINUX_BZIMAGE_ADDR 0x100000 -+#define GRUB_LINUX_ZIMAGE_ADDR 0x10000 -+#define GRUB_LINUX_OLD_REAL_MODE_ADDR 0x90000 -+#define GRUB_LINUX_SETUP_STACK 0x9000 -+ -+#define GRUB_LINUX_FLAG_BIG_KERNEL 0x1 -+ -+/* Linux's video mode selection support. Actually I hate it! */ -+#define GRUB_LINUX_VID_MODE_NORMAL 0xFFFF -+#define GRUB_LINUX_VID_MODE_EXTENDED 0xFFFE -+#define GRUB_LINUX_VID_MODE_ASK 0xFFFD -+ -+#define GRUB_LINUX_CL_OFFSET 0x9000 -+#define GRUB_LINUX_CL_END_OFFSET 0x90FF -+#define GRUB_LINUX_SETUP_MOVE_SIZE 0x9100 -+#define GRUB_LINUX_CL_MAGIC 0xA33F -+ -+#if 0 -+#define GRUB_LINUX_EFI_SIGNATURE_X64 \ -+ ('4' << 24 | '6' << 16 | 'L' << 8 | 'E') -+#else -+#define GRUB_LINUX_EFI_SIGNATURE_X64 \ -+ ('L' << 24 | 'I' << 16 | 'F' << 8 | 'E') -+#endif -+ -+#ifndef ASM_FILE -+ -+/* For the Linux/i386 boot protocol version 2.07. */ -+struct grub_linux_kernel_header -+{ -+ grub_uint8_t setup_sects; /* The size of the setup in sectors */ -+ grub_uint16_t root_flags; /* If the root is mounted readonly */ -+ grub_uint32_t syssize; /* obsolete */ -+ grub_uint16_t ram_size; /* obsolete */ -+ grub_uint16_t vid_mode; /* Video mode control */ -+ grub_uint16_t root_dev; /* Default root device number */ -+ grub_uint16_t boot_flag; /* 0xAA55 magic number */ -+ grub_uint8_t jump_ins; /* Jump instruction */ -+ grub_uint8_t jump_off; /* Jump offset */ -+ grub_uint32_t header; /* Magic signature "HdrS" */ -+ grub_uint16_t version; /* Boot protocol version supported */ -+ grub_uint32_t realmode_swtch; /* Boot loader hook */ -+ grub_uint16_t start_sys; /* The load-low segment (obsolete) */ -+ grub_uint16_t kernel_version; /* Points to kernel version string */ -+ grub_uint8_t type_of_loader; /* Boot loader identifier */ -+ grub_uint8_t loadflags; /* Boot protocol option flags */ -+ grub_uint16_t setup_move_size;/* Move to high memory size */ -+ grub_uint32_t code32_start; /* Boot loader hook */ -+ grub_uint32_t ramdisk_image; /* initrd load address */ -+ grub_uint32_t ramdisk_size; /* initrd size */ -+ grub_uint32_t bootsect_kludge;/* obsolete */ -+ grub_uint16_t heap_end_ptr; /* Free memory after setup end */ -+ grub_uint16_t pad1; /* Unused */ -+ grub_uint32_t cmd_line_ptr; /* Points to the kernel command line */ -+ grub_uint32_t initrd_addr_max;/* Highest address for initrd */ -+ grub_uint32_t kernel_alignment; -+ grub_uint8_t relocatable_kernel; -+ grub_uint8_t pad2[3]; -+ grub_uint32_t cmdline_size; -+ grub_uint32_t hardware_subarch; -+ grub_uint64_t hardware_subarch_data; -+} __attribute__ ((packed)); -+ -+/* Boot parameters for Linux based on 2.6.12. This is used by the setup -+ sectors of Linux, and must be simulated by GRUB on EFI, because -+ the setup sectors depend on BIOS. */ -+struct linux_kernel_params -+{ -+ grub_uint8_t video_cursor_x; /* 0 */ -+ grub_uint8_t video_cursor_y; -+ -+ grub_uint16_t ext_mem; /* 2 */ -+ -+ grub_uint16_t video_page; /* 4 */ -+ grub_uint8_t video_mode; /* 6 */ -+ grub_uint8_t video_width; /* 7 */ -+ -+ grub_uint8_t padding1[0xa - 0x8]; -+ -+ grub_uint16_t video_ega_bx; /* a */ -+ -+ grub_uint8_t padding2[0xe - 0xc]; -+ -+ grub_uint8_t video_height; /* e */ -+ grub_uint8_t have_vga; /* f */ -+ grub_uint16_t font_size; /* 10 */ -+ -+ grub_uint16_t lfb_width; /* 12 */ -+ grub_uint16_t lfb_height; /* 14 */ -+ grub_uint16_t lfb_depth; /* 16 */ -+ grub_uint32_t lfb_base; /* 18 */ -+ grub_uint32_t lfb_size; /* 1c */ -+ -+ grub_uint16_t cl_magic; /* 20 */ -+ grub_uint16_t cl_offset; -+ -+ grub_uint16_t lfb_line_len; /* 24 */ -+ grub_uint8_t red_mask_size; /* 26 */ -+ grub_uint8_t red_field_pos; -+ grub_uint8_t green_mask_size; -+ grub_uint8_t green_field_pos; -+ grub_uint8_t blue_mask_size; -+ grub_uint8_t blue_field_pos; -+ grub_uint8_t reserved_mask_size; -+ grub_uint8_t reserved_field_pos; -+ grub_uint16_t vesapm_segment; /* 2e */ -+ grub_uint16_t vesapm_offset; /* 30 */ -+ grub_uint16_t lfb_pages; /* 32 */ -+ grub_uint16_t vesa_attrib; /* 34 */ -+ grub_uint32_t capabilities; /* 36 */ -+ -+ grub_uint8_t padding3[0x40 - 0x3a]; -+ -+ grub_uint16_t apm_version; /* 40 */ -+ grub_uint16_t apm_code_segment; /* 42 */ -+ grub_uint32_t apm_entry; /* 44 */ -+ grub_uint16_t apm_16bit_code_segment; /* 48 */ -+ grub_uint16_t apm_data_segment; /* 4a */ -+ grub_uint16_t apm_flags; /* 4c */ -+ grub_uint32_t apm_code_len; /* 4e */ -+ grub_uint16_t apm_data_len; /* 52 */ -+ -+ grub_uint8_t padding4[0x60 - 0x54]; -+ -+ grub_uint32_t ist_signature; /* 60 */ -+ grub_uint32_t ist_command; /* 64 */ -+ grub_uint32_t ist_event; /* 68 */ -+ grub_uint32_t ist_perf_level; /* 6c */ -+ -+ grub_uint8_t padding5[0x80 - 0x70]; -+ -+ grub_uint8_t hd0_drive_info[0x10]; /* 80 */ -+ grub_uint8_t hd1_drive_info[0x10]; /* 90 */ -+ grub_uint16_t rom_config_len; /* a0 */ -+ -+ grub_uint8_t padding6[0x1b8 - 0xa2]; -+ -+ union { -+ struct { -+ grub_uint32_t padding7_1; /* 0x1b8 */ -+ grub_uint32_t padding7_2; /* 0x1bc */ -+ -+ grub_uint32_t efi_signature; /* 1c0 */ -+ grub_uint32_t efi_system_table; /* 1c4 */ -+ grub_uint32_t efi_mem_desc_size; /* 1c8 */ -+ grub_uint32_t efi_mem_desc_version; /* 1cc */ -+ grub_uint32_t efi_mmap; /* 1d0 */ -+ grub_uint32_t efi_mmap_size; /* 1d4 */ -+ grub_uint32_t efi_system_table_hi; /* 1d8 */ -+ grub_uint32_t efi_mmap_hi; /* 1dc */ -+ } dunno; -+ struct { -+ grub_uint32_t efi_system_table; /* 1b8 */ -+ -+ grub_uint32_t padding7_1; /* 0x1bc */ -+ -+ grub_uint32_t efi_signature; /* 1c0 */ -+ grub_uint32_t efi_mem_desc_size; /* 1c4 */ -+ grub_uint32_t efi_mem_desc_version; /* 1c8 */ -+ grub_uint32_t efi_mmap_size; /* 1cc */ -+ grub_uint32_t efi_mmap; /* 1d0 */ -+ -+ grub_uint8_t padding7_2[0x1e0 - 0x1d4]; /* 1d4 */ -+ } version_0204; -+ struct { -+ grub_uint32_t padding7_1; /* 0x1b8 */ -+ grub_uint32_t padding7_2; /* 0x1bc */ -+ grub_uint32_t padding7_3; /* 0x1c0 */ -+ grub_uint32_t efi_system_table; /* 0x1c4 */ -+ grub_uint32_t efi_mem_desc_size; /* 0x1c8 */ -+ grub_uint32_t efi_mem_desc_version; /* 0x1cc */ -+ grub_uint32_t efi_mmap; /* 0x1d0 */ -+ grub_uint32_t efi_mmap_size; /* 0x1d4 */ -+ grub_uint8_t padding7_4[0x1e0 - 0x1d8]; /* 0x1d8 */ -+ } version_0206; -+ }; -+ -+ grub_uint32_t alt_mem; /* 1e0 */ -+ -+ grub_uint8_t padding8[0x1e8 - 0x1e4]; /* 1e4 */ -+ -+ grub_uint8_t e820_nr_map; /* 1e8 */ -+ grub_uint8_t eddbuf_entries; /* 1e9 */ -+ grub_uint8_t edd_mbr_sig_buf_entries; /* 1ea */ -+ -+ grub_uint8_t padding9[0x1f1 - 0x1eb]; -+ -+ struct grub_linux_kernel_header hdr; /* 0x1f1 */ -+ -+ grub_uint8_t padding10[0x2d0-0x1f1-sizeof(struct grub_linux_kernel_header)]; -+ -+ grub_uint8_t e820_map[2560]; /* 0x2d0 */ -+ -+ grub_uint8_t padding11[0x1000 - 0xcd0]; -+} __attribute__ ((packed)); -+#endif /* ! ASM_FILE */ -+ -+#endif /* ! GRUB_LINUX_MACHINE_HEADER */ -diff --git a/efi/grub/x86_64/types.h b/efi/grub/x86_64/types.h -new file mode 100644 -index 0000000..0c077f6 ---- /dev/null -+++ b/efi/grub/x86_64/types.h -@@ -0,0 +1,32 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2006 Free Software Foundation, Inc. -+ * -+ * GRUB is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with GRUB; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRUB_TYPES_CPU_HEADER -+#define GRUB_TYPES_CPU_HEADER 1 -+ -+/* The size of void *. */ -+#define GRUB_TARGET_SIZEOF_VOID_P 8 -+ -+/* The size of long. */ -+#define GRUB_TARGET_SIZEOF_LONG 8 -+ -+/* x64_64 is little-endian. */ -+#undef GRUB_TARGET_WORDS_BIGENDIAN -+ -+#endif /* ! GRUB_TYPES_CPU_HEADER */ -diff --git a/efi/ia32/callwrap.S b/efi/ia32/callwrap.S -new file mode 100644 -index 0000000..50d737f ---- /dev/null -+++ b/efi/ia32/callwrap.S -@@ -0,0 +1 @@ -+/* This file is a stub for ia32 building */ -diff --git a/efi/ia32/callwrap.c b/efi/ia32/callwrap.c -new file mode 100644 -index 0000000..56df899 ---- /dev/null -+++ b/efi/ia32/callwrap.c -@@ -0,0 +1,131 @@ -+ -+#define ENTRY(name) \ -+ ".globl " #name ";" \ -+ ".align 16;" \ -+ #name ":" -+ -+asm( -+ENTRY(i386_call0) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $8, %esp \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_call1) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $20, %esp \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_call2) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $16, %esp \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_call3) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $12, %esp \n" -+ "pushl 20(%ebp) \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_call4) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $8, %esp \n" -+ "pushl 24(%ebp) \n" -+ "pushl 20(%ebp) \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_call5) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $20, %esp \n" -+ "pushl 28(%ebp) \n" -+ "pushl 24(%ebp) \n" -+ "pushl 20(%ebp) \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_64_call5) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $12, %esp \n" -+ "pushl 36(%ebp) \n" -+ "pushl 32(%ebp) \n" -+ "pushl 28(%ebp) \n" -+ "pushl 24(%ebp) \n" -+ "pushl 20(%ebp) \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+ -+asm( -+ENTRY(i386_call6) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $16, %esp \n" -+ "pushl 32(%ebp) \n" -+ "pushl 28(%ebp) \n" -+ "pushl 24(%ebp) \n" -+ "pushl 20(%ebp) \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -+ -+asm( -+ENTRY(i386_call7) -+ "pushl %ebp \n" -+ "movl %esp,%ebp \n" -+ "subl $12, %esp \n" -+ "pushl 36(%ebp) \n" -+ "pushl 32(%ebp) \n" -+ "pushl 28(%ebp) \n" -+ "pushl 24(%ebp) \n" -+ "pushl 20(%ebp) \n" -+ "pushl 16(%ebp) \n" -+ "pushl 12(%ebp) \n" -+ "call *8(%ebp) \n" -+ "leave \n" -+ "ret \n" -+ ); -diff --git a/efi/ia32/loader/bin_to_h.c b/efi/ia32/loader/bin_to_h.c -new file mode 100644 -index 0000000..4cff104 ---- /dev/null -+++ b/efi/ia32/loader/bin_to_h.c -@@ -0,0 +1,29 @@ -+#include -+#include -+ -+int -+main (void) -+{ -+ unsigned n = 0; -+ int c; -+ -+ printf ("unsigned char switch_image[] = {\n"); -+ -+ while ((c = getchar ()) != EOF) -+ { -+ printf("0x%02x,%s", -+ c & 0xFF, -+ (++n & 0x07) ? " " : "\n"); -+ } -+ -+ if (n & 0x07) -+ { -+ printf("\n"); -+ } -+ -+ printf("};\n" -+ "int switch_size = sizeof switch_image;\n"); -+ -+ return 0; -+} -+ -diff --git a/efi/ia32/loader/linux.c b/efi/ia32/loader/linux.c -new file mode 100644 -index 0000000..d795d28 ---- /dev/null -+++ b/efi/ia32/loader/linux.c -@@ -0,0 +1,648 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "switch.h" -+ -+#include -+ -+#include "graphics.h" -+ -+#define grub_file_size() filemax -+ -+#define NEXT_MEMORY_DESCRIPTOR(desc, size) \ -+ ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size))) -+ -+#define PTR_HI(x) ((grub_uint32_t) ((unsigned long long)((unsigned long)(x)) >> 32)) -+ -+#ifndef SECTOR_SIZE -+#define SECTOR_SIZE 0x200 -+#endif /* defined(SECTOR_SIZE) */ -+#ifndef SECTOR_BITS -+#define SECTOR_BITS 9 -+#endif /* defined(SECTOR_BITS) */ -+ -+static unsigned long linux_mem_size; -+static int loaded; -+static void *real_mode_mem; -+static void *prot_mode_mem; -+static void *initrd_mem; -+static grub_efi_uintn_t real_mode_pages; -+static grub_efi_uintn_t prot_mode_pages; -+static grub_efi_uintn_t initrd_pages; -+static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GRAPHICS_OUTPUT_GUID; -+ -+static inline grub_size_t -+page_align (grub_size_t size) -+{ -+ return (size + (1 << 12) - 1) & (~((1 << 12) - 1)); -+} -+ -+static void -+free_pages (void) -+{ -+ if (real_mode_mem) -+ { -+ grub_efi_free_pages ((grub_addr_t) real_mode_mem, real_mode_pages); -+ real_mode_mem = 0; -+ } -+ -+ if (prot_mode_mem) -+ { -+ grub_efi_free_pages ((grub_addr_t) prot_mode_mem, prot_mode_pages); -+ prot_mode_mem = 0; -+ } -+ -+ if (initrd_mem) -+ { -+ grub_efi_free_pages ((grub_addr_t) initrd_mem, initrd_pages); -+ initrd_mem = 0; -+ } -+ -+ if (mmap_buf) -+ { -+ grub_efi_free_pages ((grub_addr_t) mmap_buf, mmap_pages); -+ mmap_buf = 0; -+ } -+} -+ -+/* Allocate pages for the real mode code and the protected mode code -+ for linux as well as a memory map buffer. */ -+static int -+allocate_pages (grub_size_t real_size, grub_size_t prot_size) -+{ -+ grub_efi_uintn_t desc_size; -+ grub_efi_memory_descriptor_t *mmap_end; -+ grub_efi_memory_descriptor_t *desc; -+ grub_efi_physical_address_t addr; -+ -+ /* Make sure that each size is aligned to a page boundary. */ -+ real_size = page_align (real_size + SECTOR_SIZE); -+ prot_size = page_align (prot_size); -+ -+ grub_dprintf ("linux", "real_size = %x, prot_size = %x, mmap_size = %x\n", -+ (unsigned int) real_size, (unsigned int) prot_size, -+ (unsigned int) mmap_size); -+ -+ /* Calculate the number of pages; Combine the real mode code with -+ the memory map buffer for simplicity. */ -+ real_mode_pages = (real_size >> 12); -+ prot_mode_pages = (prot_size >> 12); -+ -+ /* Initialize the memory pointers with NULL for convenience. */ -+ real_mode_mem = 0; -+ prot_mode_mem = 0; -+ -+ if (grub_efi_get_memory_map (0, &desc_size, 0) <= 0) -+ grub_fatal ("cannot get memory map"); -+ -+ addr = 0; -+ mmap_end = NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); -+ /* First, find free pages for the real mode code -+ and the memory map buffer. */ -+ for (desc = mmap_buf; -+ desc < mmap_end; -+ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) -+ { -+ if (desc->type == GRUB_EFI_CONVENTIONAL_MEMORY -+ && desc->num_pages >= real_mode_pages) -+ { -+ grub_efi_physical_address_t physical_end; -+ -+ physical_end = desc->physical_start + (desc->num_pages << 12); -+ -+ grub_dprintf ("linux", "physical_start = %x, physical_end = %x\n", -+ (unsigned) desc->physical_start, -+ (unsigned) physical_end); -+ addr = physical_end - real_size; -+ if (addr < 0x10000) -+ continue; -+ -+ grub_dprintf ("linux", "trying to allocate %u pages at %x\n", -+ (unsigned) real_mode_pages, (unsigned) addr); -+ real_mode_mem = grub_efi_allocate_pages (addr, real_mode_pages); -+ if (! real_mode_mem) -+ grub_fatal ("cannot allocate pages"); -+ -+ desc->num_pages -= real_mode_pages; -+ break; -+ } -+ } -+ -+ if (! real_mode_mem) -+ { -+ grub_printf ("cannot allocate real mode pages"); -+ errnum = ERR_WONT_FIT; -+ goto fail; -+ } -+ -+ /* Next, find free pages for the protected mode code. */ -+ /* XXX what happens if anything is using this address? */ -+ prot_mode_mem = grub_efi_allocate_pages (0x100000, prot_mode_pages); -+ if (! prot_mode_mem) -+ grub_fatal("Cannot allocate pages for VMLINUZ"); -+ -+ return 1; -+ -+ fail: -+ free_pages (); -+ return 0; -+} -+ -+/* do some funky stuff, then boot linux */ -+void -+linux_boot (void) -+{ -+ grub_printf ("zImage is not supported under EFI.\n"); -+ for (;;); -+} -+ -+#ifndef __x86_64__ -+struct { -+ unsigned short limit; -+ unsigned int base; -+} __attribute__ ((packed)) -+ gdt_addr = { 0x800, 0x94000 }, -+ idt_addr = { 0, 0 }; -+ -+unsigned short init_gdt[] = { -+ /* gdt[0]: dummy */ -+ 0, 0, 0, 0, -+ -+ /* gdt[1]: unused */ -+ 0, 0, 0, 0, -+ -+ /* gdt[2]: code */ -+ 0xFFFF, /* 4Gb - (0x100000*0x1000 = 4Gb) */ -+ 0x0000, /* base address=0 */ -+ 0x9A00, /* code read/exec */ -+ 0x00CF, /* granularity=4096, 386 (+5th nibble of limit) */ -+ -+ /* gdt[3]: data */ -+ 0xFFFF, /* 4Gb - (0x100000*0x1000 = 4Gb) */ -+ 0x0000, /* base address=0 */ -+ 0x9200, /* data read/write */ -+ 0x00CF, /* granularity=4096, 386 (+5th nibble of limit) */ -+}; -+#endif -+ -+void -+big_linux_boot (void) -+{ -+ struct linux_kernel_params *params; -+ struct grub_linux_kernel_header *lh; -+ grub_efi_uintn_t map_key; -+ grub_efi_uintn_t desc_size; -+ grub_efi_uint32_t desc_version; -+ int e820_nr_map; -+ int i; -+ -+ params = real_mode_mem; -+ -+ graphics_set_kernel_params (params); -+ -+ if (grub_efi_get_memory_map (&map_key, &desc_size, &desc_version) <= 0) -+ grub_fatal ("cannot get memory map"); -+ -+ /* Pass e820 memmap. */ -+ e820_map_from_efi_map ((struct e820_entry *) params->e820_map, &e820_nr_map, -+ mmap_buf, desc_size, mmap_size); -+ params->e820_nr_map = e820_nr_map; -+ -+ grub_dprintf(__func__,"got to ExitBootServices...\n"); -+ if (! grub_efi_exit_boot_services (map_key)) -+ grub_fatal ("cannot exit boot services"); -+ /* Note that no boot services are available from here. */ -+ -+ lh = ¶ms->hdr; -+ /* Pass EFI parameters. */ -+ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { -+ params->version_0206.efi_mem_desc_size = desc_size; -+ params->version_0206.efi_mem_desc_version = desc_version; -+ params->version_0206.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; -+ params->version_0206.efi_mmap_size = mmap_size; -+ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { -+ params->version_0204.efi_mem_desc_size = desc_size; -+ params->version_0204.efi_mem_desc_version = desc_version; -+ params->version_0204.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; -+ params->version_0204.efi_mmap_size = mmap_size; -+ } else /* dunno */ { -+ params->dunno.efi_mem_desc_size = desc_size; -+ params->dunno.efi_mem_desc_version = desc_version; -+ params->dunno.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; -+ params->dunno.efi_mmap_size = mmap_size; -+ params->dunno.efi_mmap_hi = PTR_HI(mmap_buf); -+ } -+ -+#ifdef __x86_64__ -+ /* copy our real mode transition code to 0x700 */ -+ memcpy ((void *) 0x700, switch_image, switch_size); -+ asm volatile ( "mov $0x700, %%rdi" : :); -+ -+ /* Pass parameters. */ -+ asm volatile ("mov %0, %%rsi" : : "m" (real_mode_mem)); -+ asm volatile ("movl %0, %%ebx" : : "m" (params->hdr.code32_start)); -+ -+ /* Enter Linux, switch from 64-bit long mode -+ * to 32-bit protect mode, this code end address -+ * must not exceed 0x1000, because linux kernel bootstrap -+ * code will flush this area -+ */ -+ asm volatile ( "jmp *%%rdi" : :); -+#else -+ -+ asm volatile ( "cli" : : ); -+ -+ grub_memset((void *)gdt_addr.base, gdt_addr.limit, 0); -+ grub_memcpy((void *)gdt_addr.base, init_gdt, sizeof (init_gdt)); -+ -+ if (0) { -+ /* copy our real mode transition code to 0x7C00 */ -+ memcpy ((void *) 0x7C00, switch_image, switch_size); -+ asm volatile ( "mov $0x7C00, %%ebx" : : ); -+ asm volatile ( "jmp *%%ebx" : : ); -+ } else { -+ -+ /* load descriptor table pointers */ -+ // asm volatile ( "lidt %0" : : "m" (idt_addr) ); -+ asm volatile ( "lgdt %0" : : "m" (gdt_addr) ); -+ -+ /* -+ * ebx := 0 (%%TBD - do not know why, yet) -+ * ecx := kernel entry point -+ * esi := address of boot sector and setup data -+ */ -+ -+ asm volatile ( "movl %0, %%esi" : : "m" (real_mode_mem) ); -+ asm volatile ( "movl %0, %%ecx" : : "m" (params->hdr.code32_start) ); -+ asm volatile ( "xorl %%ebx, %%ebx" : : ); -+ -+ /* -+ * Jump to kernel entry point. -+ */ -+ -+ asm volatile ( "jmp *%%ecx" : : ); -+ } -+#endif -+ -+ /* Never reach here. */ -+ for (;;); -+} -+ -+int -+grub_load_linux (char *kernel, char *arg) -+{ -+ struct grub_linux_kernel_header *lh; -+ struct linux_kernel_params *params; -+ static struct linux_kernel_params params_buf; -+ grub_uint8_t setup_sects; -+ grub_size_t real_size, prot_size; -+ grub_ssize_t len; -+ char *dest; -+ -+ if (kernel == NULL) -+ { -+ errnum = ERR_BAD_FILENAME; -+ grub_printf ("no kernel specified"); -+ goto fail1; -+ } -+ -+ if (! grub_open (kernel)) -+ goto fail1; -+ -+ if (grub_read ((char *) ¶ms_buf, sizeof (params_buf)) -+ != sizeof (params_buf)) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_close(); -+ grub_printf ("cannot read the linux header"); -+ goto fail; -+ } -+ -+ lh = ¶ms_buf.hdr; -+ -+ if (lh->boot_flag != grub_cpu_to_le16 (0xaa55)) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_close(); -+ grub_printf ("invalid magic number: %x", lh->boot_flag); -+ goto fail; -+ } -+ -+ /* EFI support is quite new, so reject old versions. */ -+ if (lh->header != grub_cpu_to_le32 (GRUB_LINUX_MAGIC_SIGNATURE) -+ || grub_le_to_cpu16 (lh->version) < 0x0203) -+ { -+ grub_close(); -+ errnum = ERR_EXEC_FORMAT; -+ grub_printf ("too old version"); -+ goto fail; -+ } -+ -+ /* I'm not sure how to support zImage on EFI. */ -+ if (! (lh->loadflags & GRUB_LINUX_FLAG_BIG_KERNEL)) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_printf ("zImage is not supported"); -+ goto fail; -+ } -+ -+ setup_sects = lh->setup_sects; -+ -+ real_size = 0x1000 + grub_strlen(arg); -+ prot_size = grub_file_size () - (setup_sects << SECTOR_BITS) - SECTOR_SIZE; -+ -+ if (! allocate_pages (real_size, prot_size)) -+ goto fail; -+ -+ /* XXX Linux assumes that only elilo can boot Linux on EFI!!! */ -+ lh->type_of_loader = 0x50; -+ -+ lh->cmd_line_ptr = (grub_uint32_t) (unsigned long) real_mode_mem + 0x1000; -+ -+ lh->heap_end_ptr = LINUX_HEAP_END_OFFSET; -+ lh->loadflags |= LINUX_FLAG_CAN_USE_HEAP; -+ -+ lh->ramdisk_image = 0; -+ lh->ramdisk_size = 0; -+ -+ grub_memset(real_mode_mem, 0, real_size); -+ -+ params = (struct linux_kernel_params *) real_mode_mem; -+ -+ grub_memmove(¶ms->hdr, lh, 0x202 + lh->jump_off - 0x1f1); -+ -+ params->cl_magic = GRUB_LINUX_CL_MAGIC; -+ params->cl_offset = 0x1000; -+ -+ /* These are not needed to be precise, because Linux uses these values -+ only to raise an error when the decompression code cannot find good -+ space. */ -+ params->ext_mem = ((32 * 0x100000) >> 10); -+ params->alt_mem = ((32 * 0x100000) >> 10); -+ -+ /* No APM on EFI. */ -+ params->apm_version = 0; -+ params->apm_code_segment = 0; -+ params->apm_entry = 0; -+ params->apm_16bit_code_segment = 0; -+ params->apm_data_segment = 0; -+ params->apm_flags = 0; -+ params->apm_code_len = 0; -+ params->apm_data_len = 0; -+ -+ /* XXX is there any way to use SpeedStep on EFI? */ -+ params->ist_signature = 0; -+ params->ist_command = 0; -+ params->ist_event = 0; -+ params->ist_perf_level = 0; -+ -+ /* Let the kernel probe the information. */ -+ grub_memset (params->hd0_drive_info, 0, sizeof (params->hd0_drive_info)); -+ grub_memset (params->hd1_drive_info, 0, sizeof (params->hd1_drive_info)); -+ -+ /* No MCA on EFI. */ -+ params->rom_config_len = 0; -+ -+ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { -+ grub_memcpy(¶ms->version_0204.efi_signature, "EL32", 4); -+ params->version_0206.efi_system_table = \ -+ (grub_uint32_t) (unsigned long) grub_efi_system_table; -+ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { -+ grub_memcpy(¶ms->version_0204.efi_signature, "EFIL", 4); -+ params->version_0204.efi_system_table = \ -+ (grub_uint32_t) (unsigned long) grub_efi_system_table; -+ } else /* dunno */ { -+ params->dunno.efi_signature = GRUB_LINUX_EFI_SIGNATURE_X64; -+ params->dunno.efi_system_table = \ -+ (grub_uint32_t) (unsigned long) grub_efi_system_table; -+ params->dunno.efi_system_table_hi = PTR_HI(grub_efi_system_table); -+ } -+ /* The other EFI parameters are filled when booting. */ -+ -+ /* No EDD */ -+ params->eddbuf_entries = 0; -+ params->edd_mbr_sig_buf_entries = 0; -+ -+ /* XXX there is no way to know if the kernel really supports EFI. */ -+ grub_printf ("[Linux-EFI, setup=0x%x, size=0x%x]\n", (unsigned int)real_size, -+ (unsigned int)prot_size); -+ -+ /* Check the mem= option to limit memory used for initrd. */ -+ { -+ char *mem; -+ -+ mem = grub_strstr (arg, "mem="); -+ if (mem) -+ { -+ char *value = mem + 4; -+ -+ safe_parse_maxulong (&value, &linux_mem_size); -+ switch (errnum) -+ { -+ case ERR_NUMBER_OVERFLOW: -+ /* If an overflow occurs, use the maximum address for -+ initrd instead. This is good, because MAXINT is -+ greater than LINUX_INITRD_MAX_ADDRESS. */ -+ linux_mem_size = LINUX_INITRD_MAX_ADDRESS; -+ errnum = ERR_NONE; -+ break; -+ -+ case ERR_NONE: -+ { -+ int shift = 0; -+ -+ switch (grub_tolower (*value)) -+ { -+ case 'g': -+ shift += 10; -+ case 'm': -+ shift += 10; -+ case 'k': -+ shift += 10; -+ default: -+ break; -+ } -+ -+ /* Check an overflow. */ -+ if (linux_mem_size > (~0UL >> shift)) -+ linux_mem_size = 0; -+ else -+ linux_mem_size <<= shift; -+ } -+ break; -+ -+ default: -+ linux_mem_size = 0; -+ errnum = ERR_NONE; -+ break; -+ } -+ } -+ else -+ linux_mem_size = 0; -+ } -+ -+ dest = grub_stpcpy ((char *) real_mode_mem + 0x1000, skip_to(0, arg)); -+ -+ grub_seek ((setup_sects << SECTOR_BITS) + SECTOR_SIZE); -+ len = prot_size; -+ if (grub_read ((char *) GRUB_LINUX_BZIMAGE_ADDR, len) != len) -+ grub_printf ("Couldn't read file"); -+ -+ if (errnum == ERR_NONE) -+ { -+ loaded = 1; -+ } -+ -+ fail: -+ -+ grub_close (); -+ -+ fail1: -+ -+ if (errnum != ERR_NONE) -+ { -+ loaded = 0; -+ } -+ return errnum ? KERNEL_TYPE_NONE : KERNEL_TYPE_BIG_LINUX; -+} -+ -+int -+grub_load_initrd (char *initrd) -+{ -+ grub_ssize_t size; -+ grub_addr_t addr_min, addr_max; -+ grub_addr_t addr; -+ grub_efi_uintn_t map_key; -+ grub_efi_memory_descriptor_t *mmap_end; -+ grub_efi_memory_descriptor_t *desc; -+ grub_efi_memory_descriptor_t tdesc; -+ grub_efi_uintn_t desc_size; -+ grub_efi_uint32_t desc_version; -+ struct linux_kernel_params *params; -+ -+ if (initrd == NULL) -+ { -+ errnum = ERR_BAD_FILENAME; -+ grub_printf ("No module specified"); -+ goto fail1; -+ } -+ -+ if (! loaded) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("You need to load the kernel first."); -+ goto fail1; -+ } -+ -+ if (! grub_open (initrd)) -+ goto fail1; -+ -+ size = grub_file_size (); -+ initrd_pages = (page_align (size) >> 12); -+ -+ params = (struct linux_kernel_params *) real_mode_mem; -+ grub_dprintf(__func__, "initrd_pages: %lu\n", initrd_pages); -+ -+ addr_max = grub_cpu_to_le32 (params->hdr.initrd_addr_max); -+ if (linux_mem_size != 0 && linux_mem_size < addr_max) -+ addr_max = linux_mem_size; -+ addr_max &= ~((1 << 12)-1); -+ -+ /* Linux 2.3.xx has a bug in the memory range check, so avoid -+ the last page. -+ Linux 2.2.xx has a bug in the memory range check, which is -+ worse than that of Linux 2.3.xx, so avoid the last 64kb. */ -+ //addr_max -= 0x10000; -+ -+ /* Usually, the compression ratio is about 50%. */ -+ addr_min = (grub_addr_t) prot_mode_mem + ((prot_mode_pages * 3) << 12); -+ grub_dprintf(__func__, "prot_mode_mem=%p prot_mode_pages=%lu\n", prot_mode_mem, prot_mode_pages); -+ -+ /* Find the highest address to put the initrd. */ -+ if (grub_efi_get_memory_map (&map_key, &desc_size, &desc_version) <= 0) -+ grub_fatal ("cannot get memory map"); -+ -+ mmap_end = NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); -+ addr = 0; -+ for (desc = mmap_buf; -+ desc < mmap_end; -+ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) -+ { -+ if (desc->type != GRUB_EFI_CONVENTIONAL_MEMORY) -+ continue; -+ memcpy(&tdesc, desc, sizeof (tdesc)); -+ if (tdesc.physical_start < addr_min -+ && tdesc.num_pages > ((addr_min - tdesc.physical_start) >> 12)) -+ { -+ tdesc.num_pages -= ((addr_min - tdesc.physical_start) >> 12); -+ tdesc.physical_start = addr_min; -+ } -+ -+ grub_dprintf(__func__, "desc = {type=%d,ps=0x%llx,vs=0x%llx,sz=%llu,attr=%llu}\n", desc->type, (unsigned long long)desc->physical_start, (unsigned long long)desc->virtual_start, (unsigned long long)desc->num_pages, (unsigned long long)desc->attribute); -+ if (tdesc.physical_start >= addr_min -+ && tdesc.physical_start + page_align (size) <= addr_max -+ && tdesc.num_pages >= initrd_pages) -+ { -+ grub_efi_physical_address_t physical_end; -+ -+ physical_end = tdesc.physical_start + (tdesc.num_pages << 12); -+ if (physical_end > addr_max) -+ physical_end = addr_max; -+ -+ if (physical_end <= 0x7fffffffUL && physical_end > addr) -+ addr = physical_end - page_align (size); -+ } -+ } -+ -+ if (addr == 0) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("no free pages available"); -+ goto fail; -+ } -+ -+ initrd_mem = grub_efi_allocate_pages (addr, initrd_pages); -+ if (! initrd_mem) -+ grub_fatal ("cannot allocate pages: %x@%x", (unsigned)initrd_pages, -+ (unsigned)addr); -+ -+ if (grub_read (initrd_mem, size) != size) -+ { -+ grub_printf ("Couldn't read file"); -+ goto fail; -+ } -+ -+ grub_printf (" [Initrd, addr=0x%x, size=0x%x]\n", (unsigned int) addr, -+ (unsigned int) size); -+ -+ params->hdr.ramdisk_image = addr; -+ params->hdr.ramdisk_size = size; -+ -+ fail: -+ grub_close (); -+ fail1: -+ return !errnum; -+} -diff --git a/efi/ia32/loader/switch.S b/efi/ia32/loader/switch.S -new file mode 100644 -index 0000000..14142e9 ---- /dev/null -+++ b/efi/ia32/loader/switch.S -@@ -0,0 +1,118 @@ -+# -+# Switch from protected mode to real mode and jump to setup.S -+# image located at %cx:0. -+# -+# This module must be placed into physical memory at 0:7C00h. -+# EFI has some real mode thunking code at 2000:0h. -+# -+# Processor and non-maskable interrupts should be disabled -+# before control is passed to this module. -+# -+ -+.global _start -+ -+.code32 -+.text -+_start: -+ # -+ # Load identity mapped GDT & real mode IDT. -+ # Add 7C00h to the addresses since this is linked to start -+ # at 0h and it is being placed at 7C00h. -+ # -+ -+ lgdt %cs:gdt_48 + 0x7C00 -+ lidt %cs:idt_48 + 0x7C00 -+ -+ # -+ # Turn off PG bit in CR0 and set CR3 to zero. -+ # -+ -+ movl %cr0, %eax -+ andl $0x7FFFFFFF, %eax -+ movl %eax, %cr0 -+ -+ xorl %eax, %eax -+ movl %eax, %cr3 -+ -+ # -+ # Reload CS. -+ # Now we add 7B00h because we need to force the segment -+ # address and selector to be the same. -+ # -+ -+ .byte 0xEA -+ .long pm_reload + 0x7B00 -+ .word 0x10 -+ -+pm_reload: -+ -+.code16 -+ -+ # -+ # Reload DS, ES, FS, GS & SS. -+ # -+ -+ movw $0x18, %ax -+ movw %ax, %ds -+ movw %ax, %es -+ movw %ax, %fs -+ movw %ax, %gs -+ movw %ax, %ss -+ -+ # -+ # Switch to real mode. Clear PE bit in CR0. -+ # -+ -+ movl %cr0, %eax -+ andl $0xFFFFFFFE, %eax -+ movl %eax, %cr0 -+ -+ # -+ # Reload CS. -+ # -+ -+ .byte 0xEA -+ .word rm_reload + 0x7C00 -+ .word 0 -+ -+rm_reload: -+ -+ # -+ # Reload SS & SP. -+ # -+ -+ xorw %ax, %ax -+ movw %ax, %ss -+ movw $0x7BFE, %sp -+ -+ # -+ # Start running setup.S -+ # -+ -+ .byte 0xEA -+ .word 0 -+ .word 0x9020 -+ -+ # -+ # GDT & IDT stuff for switching into real mode. -+ # -+ -+gdt: .word 0, 0, 0, 0 # unused (00h) -+ .word 0, 0, 0, 0 # dummy (08h) -+ .word 0xFFFF, 0x100 # code (10h) -+ .word 0x9A00, 0 -+ .word 0xFFFF, 0x180 # data (18h) -+ .word 0x9200, 0 -+ -+gdt_48: .word 0x08 * 0x400 -+ .long gdt + 0x7C00 -+ -+idt_48: .word 0x400 -+ .long 0 -+ -+ # -+ # Be careful not to exceed 1F0h or the the bootsect.S -+ # parameters will be lost! -+ # -+ -+.end -diff --git a/efi/ia32/loader/switch.h b/efi/ia32/loader/switch.h -new file mode 100644 -index 0000000..4e18dde ---- /dev/null -+++ b/efi/ia32/loader/switch.h -@@ -0,0 +1,19 @@ -+unsigned char switch_image[] = { -+0x2e, 0x0f, 0x01, 0x15, 0x6f, 0x7c, 0x00, 0x00, -+0x2e, 0x0f, 0x01, 0x1d, 0x75, 0x7c, 0x00, 0x00, -+0x0f, 0x20, 0xc0, 0x25, 0xff, 0xff, 0xff, 0x7f, -+0x0f, 0x22, 0xc0, 0x31, 0xc0, 0x0f, 0x22, 0xd8, -+0xea, 0x27, 0x7b, 0x00, 0x00, 0x10, 0x00, 0xb8, -+0x18, 0x00, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xe0, -+0x8e, 0xe8, 0x8e, 0xd0, 0x0f, 0x20, 0xc0, 0x66, -+0x83, 0xe0, 0xfe, 0x0f, 0x22, 0xc0, 0xea, 0x43, -+0x7c, 0x00, 0x00, 0x31, 0xc0, 0x8e, 0xd0, 0xbc, -+0xfe, 0x7b, 0xea, 0x00, 0x00, 0x20, 0x90, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, -+0xff, 0x00, 0x01, 0x00, 0x9a, 0x00, 0x00, 0xff, -+0xff, 0x80, 0x01, 0x00, 0x92, 0x00, 0x00, 0x00, -+0x20, 0x4f, 0x7c, 0x00, 0x00, 0x00, 0x04, 0x00, -+0x00, 0x00, 0x00, -+}; -+int switch_size = sizeof switch_image; -diff --git a/efi/ia32/reloc.c b/efi/ia32/reloc.c -new file mode 100644 -index 0000000..72db0f6 ---- /dev/null -+++ b/efi/ia32/reloc.c -@@ -0,0 +1,79 @@ -+/* reloc_x86_64.c - position independent x86_64 ELF shared object relocator -+ Copyright (C) 1999 Hewlett-Packard Co. -+ Contributed by David Mosberger . -+ Copyright (C) 2005 Intel Co. -+ Contributed by Fenghua Yu . -+ -+ This file is part of GNU-EFI, the GNU EFI development environment. -+ -+ GNU EFI is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ GNU EFI is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GNU EFI; see the file COPYING. If not, write to the Free -+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA -+ 02111-1307, USA. */ -+ -+#include -+#include -+#include -+ -+grub_efi_status_t _relocate (long ldbase, ElfW(Dyn) *dyn, -+ grub_efi_handle_t image_handle, -+ grub_efi_system_table_t *sys_tab) -+{ -+ //extern EFI_STATUS efi_main (EFI_HANDLE, EFI_SYSTEM_TABLE *); -+ long relsz = 0, relent = 0; -+ ElfW(Rel) *rel = 0; -+ unsigned long *addr; -+ int i; -+ -+ for (i = 0; dyn[i].d_tag != DT_NULL; ++i) { -+ switch (dyn[i].d_tag) { -+ case DT_REL: -+ rel = (ElfW(Rel)*) ((long) dyn[i].d_un.d_ptr + ldbase); -+ break; -+ -+ case DT_RELSZ: -+ relsz = dyn[i].d_un.d_val; -+ break; -+ -+ case DT_RELENT: -+ relent = dyn[i].d_un.d_val; -+ break; -+ -+ default: -+ continue; -+ } -+ } -+ -+ if (!rel || relent == 0){ -+ return GRUB_EFI_LOAD_ERROR; -+ } -+ while (relsz > 0) { -+ /* apply the relocs */ -+ switch (ELF64_R_TYPE (rel->r_info)) { -+ case R_386_NONE: -+ break; -+ -+ case R_386_RELATIVE: -+ addr = (unsigned long *) (ldbase + rel->r_offset); -+ *addr += ldbase; -+ break; -+ -+ default: -+ break; -+ } -+ rel = (ElfW(Rel)*) ((char *) rel + relent); -+ relsz -= relent; -+ } -+ return GRUB_EFI_SUCCESS; -+} -+ -diff --git a/efi/ia32/setjmp.S b/efi/ia32/setjmp.S -new file mode 100644 -index 0000000..38c33af ---- /dev/null -+++ b/efi/ia32/setjmp.S -@@ -0,0 +1,86 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2000 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+/* This is stolen from libc/x86/setjmp.S in the OSKit */ -+/* -+ * Mach Operating System -+ * Copyright (c) 1991,1990,1989 Carnegie Mellon University -+ * All Rights Reserved. -+ * -+ * Permission to use, copy, modify and distribute this software and its -+ * documentation is hereby granted, provided that both the copyright -+ * notice and this permission notice appear in all copies of the -+ * software, derivative works or modified versions, and any portions -+ * thereof, and that both notices appear in supporting documentation. -+ * -+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" -+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR -+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. -+ * -+ * Carnegie Mellon requests users of this software to return to -+ * -+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU -+ * School of Computer Science -+ * Carnegie Mellon University -+ * Pittsburgh PA 15213-3890 -+ * -+ * any improvements or extensions that they make and grant Carnegie Mellon -+ * the rights to redistribute these changes. -+ */ -+/* -+ * C library -- _setjmp, _longjmp -+ * -+ * _longjmp(a,v) -+ * will generate a "return(v)" from -+ * the last call to -+ * _setjmp(a) -+ * by restoring registers from the stack, -+ * The previous signal state is NOT restored. -+ * -+ */ -+#include -+ -+ .file "setjmp.S" -+ -+ .text -+ -+FUNCTION(grub_setjmp) -+ movl 4(%esp), %ecx /* fetch buffer */ -+ movl %ebx, 0(%ecx) -+ movl %esi, 4(%ecx) -+ movl %edi, 8(%ecx) -+ movl %ebp, 12(%ecx) /* save frame pointer of caller */ -+ popl %edx -+ movl %esp, 16(%ecx) /* save stack pointer of caller */ -+ movl %edx, 20(%ecx) /* save pc of caller */ -+ xorl %eax, %eax -+ jmp *%edx -+ -+FUNCTION(grub_longjmp) -+ movl 8(%esp), %eax /* return(v) */ -+ movl 4(%esp), %ecx /* fetch buffer */ -+ movl 0(%ecx), %ebx -+ movl 4(%ecx), %esi -+ movl 8(%ecx), %edi -+ movl 12(%ecx), %ebp -+ movl 16(%ecx), %esp -+ orl %eax, %eax -+ jnz 0f -+ incl %eax -+0: jmp *20(%ecx) /* done, return.... */ -diff --git a/efi/pxe.c b/efi/pxe.c -new file mode 100644 -index 0000000..1a74315 ---- /dev/null -+++ b/efi/pxe.c -@@ -0,0 +1,444 @@ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#include "pxe.h" -+#include "dhcp.h" -+ -+/* Search path is: -+ * -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/1902dcf5-7190-d811-bbd6-6ef21c690030 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/01-00-30-6e-f2-1c-69 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A103437 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A10343 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A1034 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A103 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A10 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A1 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/0 -+ * X86PC/UNDI/pxelinux/pxelinux.cfg/default -+ * -+ * The paths we get from uefi are like: -+ * .BootBootFile: X86PC/UNDI/pxelinux/bootx64.efi -+ * .BootCiAddr: 0.0.0.0 -+ * .BootYiAddr: 10.16.52.158 -+ * .BootSiAddr: 10.16.52.16 -+ */ -+ -+typedef struct { -+ char *options; -+ EFI_DHCP4_PACKET_OPTION *current_option; -+} dhcp_option_parser; -+ -+static void dhcp_option_parser_reset(dhcp_option_parser *parser, -+ EFI_PXE_BASE_CODE_PACKET *packet) -+{ -+ char *addr; -+ -+ addr = (char *)packet; -+ addr += offsetof(EFI_PXE_BASE_CODE_DHCPV4_PACKET, DhcpOptions); -+ parser->current_option = (void *)addr; -+ parser->options = (void *)addr; -+} -+ -+static int dhcp_option_parser_next(dhcp_option_parser *parser, -+ EFI_DHCP4_PACKET_OPTION **option) -+{ -+ char *current_option; -+ if (parser->current_option->OpCode == 255) { -+ *option = NULL; -+ return 0; -+ } -+ current_option = (char *)parser->current_option; -+ current_option += 2 + parser->current_option->Length; -+ parser->current_option = (EFI_DHCP4_PACKET_OPTION *)current_option; -+ -+ *option = parser->current_option; -+ return 1; -+} -+ -+#define DHCPMAGIK "\x63\x82\x53\x63" -+ -+static int get_dhcp_client_id(EFI_PXE_BASE_CODE_PACKET *packet, uuid_t *uuid) -+{ -+ dhcp_option_parser parser; -+ EFI_DHCP4_PACKET_OPTION *option; -+ -+ dhcp_option_parser_reset(&parser, packet); -+ -+ if (memcmp((char *)&packet->Dhcpv4.DhcpMagik, DHCPMAGIK, 4)) -+ return 0; -+ -+ while (dhcp_option_parser_next(&parser, &option)) { -+ int i; -+ char data[option->Length]; -+ -+ if (option->OpCode != 97) -+ continue; -+ -+ if (option->Length != 17) -+ continue; -+ -+ memcpy(data, option->Data, option->Length); -+ if (data[0] != 0) -+ continue; -+ -+ /* 97[17]: 009cfe245ed0c8bd45a79f54ea5fbd3d97 -+ * ^^^^^^^^^^^^ uint8_t[] -+ * ^^ uint8_t -+ * ^^ uint8_t -+ * ^^^^ BE uint16_t -+ * ^^^^ BE uint16_t -+ * ^^^^^^^^ BE uint32_t -+ * ^^ "type". 0 means UUID. -+ */ -+ memcpy(uuid, data+1, 16); -+ uuid->time_low = htonl(uuid->time_low); -+ uuid->time_mid = htons(uuid->time_mid); -+ uuid->time_hi_ver = htons(uuid->time_hi_ver); -+ -+ return 1; -+ } -+ return 0; -+} -+ -+#if 0 -+static void grub_dump_dhcp_options(EFI_PXE_BASE_CODE_PACKET *packet) -+{ -+ dhcp_option_parser parser; -+ EFI_DHCP4_PACKET_OPTION *option; -+ char hex[] = "0123456789abcdef"; -+ int i; -+ int j = 0; -+ -+ dhcp_option_parser_reset(&parser, packet); -+ -+ if (memcmp((char *)&packet->Dhcpv4.DhcpMagik, DHCPMAGIK, 4)) -+ return; -+ -+ /* 54[4]: a0014301 -+ * 51[4]: 00004506 -+ * 1[4]: ffffff00 -+ * 3[4]: a00143ef -+ * 6[8]: a001ff20a001ff30 -+ * 15[48]: 96e6374716c6c6e226f637e2275646861647e236f6d60226f637e2275646861647e236f6d602275646861647e236f6d6 -+ * 28[4]: a00143ff -+ * 40[10]: 275646861647e236f6d6 -+ * 41[8]: a001ff20a001ff30 -+ * 58[4]: 0000a203 -+ * 59[4]: 0000944d -+ * this is the one we want: -+ * 97[17]: 009cfe245ed0c8bd45a79f54ea5fbd3d97 -+ * ^^^^^^^^^^^^ in order -+ * ^^ -+ * ^^ -+ * ^^^^ out of order -+ * ^^^^ out of order -+ * ^^^^^^^^ out of order -+ * ^^ "type". 0 means UUID. -+ * 255[0]: -+ */ -+ while (dhcp_option_parser_next(&parser, &option)) { -+ char data[option->Length + 1]; -+ -+ memcpy(data, option->Data, option->Length); -+ data[option->Length] = '\0'; -+ -+ grub_printf("%d[%d]: ", option->OpCode, option->Length); -+ for (i = 0; i < option->Length; i++) { -+ grub_printf("%c%c", hex[data[i] & 0xf], -+ hex[(data[i] & 0xf0) >> 4]); -+ } -+ printf("\n"); -+ } -+ -+} -+ -+void grub_print_dhcp_info(grub_efi_loaded_image_t *loaded_image) -+{ -+ EFI_PXE_BASE_CODE *pxe = NULL; -+ EFI_PXE_BASE_CODE_PACKET *packet; -+ -+ grub_printf("got to %s\n", __func__); -+ -+ pxe = grub_efi_locate_protocol(&PxeBaseCodeProtocol, NULL); -+ if (pxe == NULL) -+ return; -+ -+ printf("DhcpDiscover options:\n"); -+ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->DhcpDiscover.Dhcpv4; -+ grub_dump_dhcp_options(packet); -+ -+ printf("DhcpAck options:\n"); -+ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->DhcpAck.Dhcpv4; -+ grub_dump_dhcp_options(packet); -+ -+ printf("PxeDiscover options:\n"); -+ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->PxeDiscover.Dhcpv4; -+ grub_dump_dhcp_options(packet); -+ -+ printf("PxeReply options:\n"); -+ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->PxeReply.Dhcpv4; -+ grub_dump_dhcp_options(packet); -+ -+#if 0 -+ printf("pxe->Mode->DhcpAck.Dhcpv4: \n"); -+ printf("\t.BootSrvName: %s\n", pxe->Mode->DhcpAck.Dhcpv4.BootpSrvName); -+ printf("\t.BootBootFile: %s\n", pxe->Mode->DhcpAck.Dhcpv4.BootpBootFile); -+ printf("\t.BootCiAddr: %d.%d.%d.%d\n", -+ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[0], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[1], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[2], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[3]); -+ printf("\t.BootYiAddr: %d.%d.%d.%d\n", -+ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[0], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[1], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[2], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[3]); -+ printf("\t.BootSiAddr: %d.%d.%d.%d\n", -+ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[0], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[1], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[2], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[3]); -+ printf("\t.BootGiAddr: %d.%d.%d.%d\n", -+ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[0], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[1], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[2], -+ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[3]); -+ } -+ printf("\n"); -+#endif -+ -+ -+} -+#endif -+ -+static void icmp_print_error(EFI_PXE_BASE_CODE *pxe) -+{ -+ EFI_PXE_BASE_CODE_ICMP_ERROR *err = &pxe->Mode->IcmpError; -+ int i; -+ //char hex[] = "0123456789abcdef"; -+ -+ printf("icmp error\n"); -+ printf("type: %d code: %d\n", err->Type, err->Code); -+ printf("data: \n"); -+ for(i = 0; i < 464; i+=16) { -+ int x; -+ for (x = i; x < i+4; x++) -+ printf("%02x ", err->Data[x]); -+ printf(" "); -+ for (x = i+4; x < i+8; x++) -+ printf("%02x ", err->Data[x]); -+ printf(" "); -+ printf(" "); -+ for (x = i+8; x < i+12; x++) -+ printf("%02x ", err->Data[x]); -+ printf(" "); -+ for (x = i+12; x < i+16; x++) -+ printf("%02x ", err->Data[x]); -+ printf("\n"); -+ } -+} -+ -+static int grub_efi_pxe_check_for_file( -+ EFI_PXE_BASE_CODE *pxe, -+ EFI_IP_ADDRESS *ServerIp, -+ char *BootpBootFile, -+ char *configname, -+ char **returnpath) -+{ -+ size_t bplen = strlen(BootpBootFile); -+ char *Filename = grub_malloc(24 + bplen + 40); -+ char *lastslash = Filename + bplen; -+ grub_efi_uintn_t size; -+ int i; -+ EFI_STATUS rc; -+ char Buffer[8192]; -+ -+ memcpy(Filename, BootpBootFile, bplen); -+ -+ for (i = 0; i < bplen; i++) { -+ if (Filename[i] == '/') -+ lastslash = Filename + i; -+ } -+ if (*lastslash) { -+ *lastslash++ = '/'; -+ *lastslash = '\0'; -+ } -+ -+ sprintf(lastslash, configname); -+ -+ printf("tftp://%d.%d.%d.%d/%s\n", -+ ServerIp->v4.Addr[0], ServerIp->v4.Addr[1], -+ ServerIp->v4.Addr[2], ServerIp->v4.Addr[3], -+ Filename); -+ -+ rc = tftp_get_file_size(Filename, &size); -+ if (rc == GRUB_EFI_ICMP_ERROR) -+ icmp_print_error(pxe); -+ -+ if (rc == GRUB_EFI_SUCCESS) { -+ *returnpath = Filename; -+ return size; -+ } -+ grub_free(Filename); -+ return 0; -+} -+ -+static void get_pxe_server(EFI_PXE_BASE_CODE *pxe, EFI_IP_ADDRESS **Address) -+{ -+ EFI_IP_ADDRESS *tmp = grub_malloc(sizeof *tmp); -+ if (tmp) { -+ memset(tmp, '\0', sizeof (*tmp)); -+ memcpy(&tmp->Addr[0], pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr, 4); -+ *Address = tmp; -+ } -+} -+ -+static char *get_pxe_file_dir(EFI_PXE_BASE_CODE *pxe) -+{ -+ char *FileDir = NULL; -+ char *DirEnd = NULL; -+ char *BootpBootFile; -+ size_t bplen; -+ -+ BootpBootFile = pxe->Mode->DhcpAck.Dhcpv4.BootpBootFile; -+ bplen = strlen(BootpBootFile); -+ FileDir = grub_malloc(bplen + 1); -+ memcpy(FileDir, BootpBootFile, bplen); -+ FileDir[bplen] = '\0'; -+ -+ DirEnd = grub_strrchr(FileDir, '/'); -+ if (!DirEnd) -+ DirEnd = FileDir; -+ -+ *DirEnd = '\0'; -+ -+ return FileDir; -+} -+ -+static void set_pxe_info(grub_efi_loaded_image_t *LoadedImage, -+ EFI_PXE_BASE_CODE *pxe) -+{ -+ tftp_info.LoadedImage = LoadedImage; -+ tftp_info.Pxe = pxe; -+ get_pxe_server(pxe, &tftp_info.ServerIp); -+ tftp_info.BasePath = get_pxe_file_dir(pxe); -+} -+ -+char *grub_efi_pxe_get_config_path(grub_efi_loaded_image_t *LoadedImage) -+{ -+ EFI_PXE_BASE_CODE *pxe = NULL; -+ EFI_IP_ADDRESS ServerIp; -+ char *FileName = NULL; -+ EFI_PXE_BASE_CODE_DHCPV4_PACKET *packet; -+ uuid_t uuid; -+ grub_efi_uintn_t FileSize = 0; -+ grub_efi_status_t rc = GRUB_EFI_SUCCESS; -+ char *ConfigPath = NULL; -+ char hex[] = "0123456789ABCDEF"; -+ char hexip[9]; -+ int hexiplen; -+ -+ pxe = grub_efi_locate_protocol(&PxeBaseCodeProtocol, NULL); -+ if (pxe == NULL) -+ return NULL; -+ -+ if (!pxe->Mode->Started) -+ return NULL; -+ -+ set_pxe_info(LoadedImage, pxe); -+ -+ FileName = grub_malloc(strlen("1902dcf5-7190-d811-bbd6-6ef21c690030")); -+ -+ packet = &pxe->Mode->DhcpDiscover.Dhcpv4; -+ -+ if (get_dhcp_client_id((EFI_PXE_BASE_CODE_PACKET *)packet, &uuid)) { -+ -+ uuid.time_mid = 0x0011; -+ sprintf(FileName, -+ "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", -+ uuid.time_low, uuid.time_mid, uuid.time_hi_ver, -+ uuid.clock_seq_hi, uuid.clock_seq_low, -+ uuid.node[0], uuid.node[1], uuid.node[2], -+ uuid.node[3], uuid.node[4], uuid.node[5]); -+ -+ rc = tftp_get_file_size(FileName, &FileSize); -+ if (rc == GRUB_EFI_SUCCESS) { -+ char *ReturnFile = grub_malloc(strlen("(nd)/") + -+ strlen(FileName) + 1); -+ sprintf(ReturnFile, "(nd)/%s", FileName); -+ grub_free(FileName); -+ //sprintf(tftp_info.LastPath, FileName); -+ return ReturnFile; -+ } -+ } -+ -+ packet = &pxe->Mode->DhcpAck.Dhcpv4; -+ -+ if (!memcmp(packet->BootpHwAddr + 6, "\x00\x00\x00\x00\x00" -+ "\x00\x00\x00\x00\x00", 10) && -+ memcmp(packet->BootpHwAddr, "\x00\x00\x00\x00\x00\x00", -+ 6)) { -+ char mac[21]; -+ sprintf(mac, "01-%c%c-%c%c-%c%c-%c%c-%c%c-%c%c", -+ hex[(packet->BootpHwAddr[0] & 0xf0) >> 4], -+ hex[packet->BootpHwAddr[0] & 0xf], -+ hex[(packet->BootpHwAddr[1] & 0xf0) >> 4], -+ hex[packet->BootpHwAddr[1] & 0xf], -+ hex[(packet->BootpHwAddr[2] & 0xf0) >> 4], -+ hex[packet->BootpHwAddr[2] & 0xf], -+ hex[(packet->BootpHwAddr[3] & 0xf0) >> 4], -+ hex[packet->BootpHwAddr[3] & 0xf], -+ hex[(packet->BootpHwAddr[4] & 0xf0) >> 4], -+ hex[packet->BootpHwAddr[4] & 0xf], -+ hex[(packet->BootpHwAddr[5] & 0xf0) >> 4], -+ hex[packet->BootpHwAddr[5] & 0xf]); -+ -+ rc = tftp_get_file_size(mac, &FileSize); -+ if (rc == GRUB_EFI_SUCCESS) { -+ char *ReturnFile = grub_malloc(strlen("(nd)/") + -+ strlen(mac) + 1); -+ sprintf(ReturnFile, "(nd)/%s", mac); -+ return ReturnFile; -+ } -+ -+ } -+ -+ sprintf(hexip, "%c%c%c%c%c%c%c%c", -+ hex[(packet->BootpYiAddr[0] & 0xf0) >> 4], -+ hex[packet->BootpYiAddr[0] & 0xf], -+ hex[(packet->BootpYiAddr[1] & 0xf0) >> 4], -+ hex[packet->BootpYiAddr[1] & 0xf], -+ hex[(packet->BootpYiAddr[2] & 0xf0) >> 4], -+ hex[packet->BootpYiAddr[2] & 0xf], -+ hex[(packet->BootpYiAddr[3] & 0xf0) >> 4], -+ hex[packet->BootpYiAddr[3] & 0xf]); -+ -+ for (hexiplen = strlen(hexip); hexiplen > 0; hexiplen--) -+ { -+ hexip[hexiplen] = '\0'; -+ rc = tftp_get_file_size(hexip, &FileSize); -+ if (rc == GRUB_EFI_SUCCESS) { -+ char *ReturnFile = grub_malloc(strlen("(nd)/") + -+ strlen(hexip) + 1); -+ sprintf(ReturnFile, "(nd)/%s", hexip); -+ return ReturnFile; -+ } -+ } -+ -+ rc = tftp_get_file_size("efidefault", &FileSize); -+ if (rc == GRUB_EFI_SUCCESS) { -+ char *ReturnFile = grub_malloc(strlen("(nd)/efidefault")+1); -+ sprintf(ReturnFile, "(nd)/efidefault"); -+ return ReturnFile; -+ } -+ -+ return NULL; -+} -diff --git a/efi/pxe.h b/efi/pxe.h -new file mode 100644 -index 0000000..0a68007 ---- /dev/null -+++ b/efi/pxe.h -@@ -0,0 +1,237 @@ -+#ifndef PXE_H -+#define PXE_H 1 -+ -+#include "byteswap.h" -+ -+extern char *grub_efi_pxe_get_config_path(grub_efi_loaded_image_t *LoadedImage); -+extern void grub_print_dhcp_info(grub_efi_loaded_image_t *loaded_image); -+extern char *grub_efi_pxe_path_to_path_name(void); -+ -+ -+#define EFI_PXE_BASE_CODE_PROTOCOL \ -+ { 0x03c4e603, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -+static grub_efi_guid_t PxeBaseCodeProtocol = EFI_PXE_BASE_CODE_PROTOCOL; -+ -+struct _EFI_PXE_BASE_CODE; -+ -+typedef enum { -+ EFI_PXE_BASE_CODE_TFTP_FIRST, -+ EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE, -+ EFI_PXE_BASE_CODE_TFTP_READ_FILE, -+ EFI_PXE_BASE_CODE_TFTP_WRITE_FILE, -+ EFI_PXE_BASE_CODE_TFTP_READ_DIRECTORY, -+ EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE, -+ EFI_PXE_BASE_CODE_MTFTP_READ_FILE, -+ EFI_PXE_BASE_CODE_MTFTP_READ_DIRECTORY, -+ EFI_PXE_BASE_CODE_MTFTP_LAST -+} EFI_PXE_BASE_CODE_TFTP_OPCODE; -+ -+typedef struct { -+ grub_efi_uint8_t Addr[4]; -+} EFI_IPv4_ADDRESS; -+ -+typedef struct { -+ grub_efi_uint8_t Addr[16]; -+} EFI_IPv6_ADDRESS; -+ -+typedef struct { -+ grub_efi_uint8_t Addr[32]; -+} EFI_MAC_ADDRESS; -+ -+typedef union { -+ grub_efi_uint32_t Addr[4]; -+ EFI_IPv4_ADDRESS v4; -+ EFI_IPv6_ADDRESS v6; -+} EFI_IP_ADDRESS; -+ -+typedef grub_efi_uint16_t EFI_PXE_BASE_CODE_UDP_PORT; -+ -+typedef struct { -+ EFI_IP_ADDRESS MCastIp; -+ EFI_PXE_BASE_CODE_UDP_PORT CPort; -+ EFI_PXE_BASE_CODE_UDP_PORT SPort; -+ grub_efi_uint16_t ListenTimeout; -+ grub_efi_uint16_t TransmitTimeout; -+} EFI_PXE_BASE_CODE_MTFTP_INFO; -+ -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_MTFTP)( -+ struct _EFI_PXE_BASE_CODE *This, -+ EFI_PXE_BASE_CODE_TFTP_OPCODE Operation, -+ void *BufferPtr, -+ grub_efi_boolean_t Overwrite, -+ grub_efi_uint64_t *BufferSize, -+ grub_efi_uintn_t *BlockSize, -+ EFI_IP_ADDRESS *ServerIp, -+ grub_efi_uint8_t *Filename, -+ EFI_PXE_BASE_CODE_MTFTP_INFO *Info, -+ grub_efi_boolean_t DontUseBuffer); -+ -+typedef struct { -+ grub_efi_uint8_t BootpOpcode; -+ grub_efi_uint8_t BootpHwType; -+ grub_efi_uint8_t BootpHwAddrLen; -+ grub_efi_uint8_t BootpGateHops; -+ grub_efi_uint32_t BootpIdent; -+ grub_efi_uint16_t BootpSeconds; -+ grub_efi_uint16_t BootpFlags; -+ grub_efi_uint8_t BootpCiAddr[4]; -+ grub_efi_uint8_t BootpYiAddr[4]; -+ grub_efi_uint8_t BootpSiAddr[4]; -+ grub_efi_uint8_t BootpGiAddr[4]; -+ grub_efi_uint8_t BootpHwAddr[16]; -+ grub_efi_uint8_t BootpSrvName[64]; -+ grub_efi_uint8_t BootpBootFile[128]; -+ grub_efi_uint32_t DhcpMagik; -+ grub_efi_uint8_t DhcpOptions[56]; -+} EFI_PXE_BASE_CODE_DHCPV4_PACKET; -+ -+// TBD in EFI v1.1 -+//typedef struct { -+// grub_efi_uint8_t reserved; -+//} EFI_PXE_BASE_CODE_DHCPV6_PACKET; -+ -+typedef union { -+ grub_efi_uint8_t Raw[1472]; -+ EFI_PXE_BASE_CODE_DHCPV4_PACKET Dhcpv4; -+// EFI_PXE_BASE_CODE_DHCPV6_PACKET Dhcpv6; -+} EFI_PXE_BASE_CODE_PACKET; -+ -+typedef struct { -+ grub_efi_uint8_t Type; -+ grub_efi_uint8_t Code; -+ grub_efi_uint16_t Checksum; -+ union { -+ grub_efi_uint32_t reserved; -+ grub_efi_uint32_t Mtu; -+ grub_efi_uint32_t Pointer; -+ struct { -+ grub_efi_uint16_t Identifier; -+ grub_efi_uint16_t Sequence; -+ } Echo; -+ } u; -+ grub_efi_uint8_t Data[494]; -+} EFI_PXE_BASE_CODE_ICMP_ERROR; -+ -+typedef struct { -+ grub_efi_uint8_t ErrorCode; -+ grub_efi_char8_t ErrorString[127]; -+} EFI_PXE_BASE_CODE_TFTP_ERROR; -+ -+ -+#define EFI_PXE_BASE_CODE_MAX_IPCNT 8 -+typedef struct { -+ grub_efi_uint8_t Filters; -+ grub_efi_uint8_t IpCnt; -+ grub_efi_uint16_t reserved; -+ EFI_IP_ADDRESS IpList[EFI_PXE_BASE_CODE_MAX_IPCNT]; -+} EFI_PXE_BASE_CODE_IP_FILTER; -+ -+#define EFI_PXE_BASE_CODE_IP_FILTER_STATION_IP 0x0001 -+#define EFI_PXE_BASE_CODE_IP_FILTER_BROADCAST 0x0002 -+#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS 0x0004 -+#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS_MULTICAST 0x0008 -+ -+typedef struct { -+ EFI_IP_ADDRESS IpAddr; -+ EFI_MAC_ADDRESS MacAddr; -+} EFI_PXE_BASE_CODE_ARP_ENTRY; -+ -+typedef struct { -+ EFI_IP_ADDRESS IpAddr; -+ EFI_IP_ADDRESS SubnetMask; -+ EFI_IP_ADDRESS GwAddr; -+} EFI_PXE_BASE_CODE_ROUTE_ENTRY; -+ -+#define EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES 8 -+#define EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES 8 -+ -+typedef struct { -+ grub_efi_boolean_t Started; -+ grub_efi_boolean_t Ipv6Available; -+ grub_efi_boolean_t Ipv6Supported; -+ grub_efi_boolean_t UsingIpv6; -+ grub_efi_boolean_t BisSupported; -+ grub_efi_boolean_t BisDetected; -+ grub_efi_boolean_t AutoArp; -+ grub_efi_boolean_t SendGUID; -+ grub_efi_boolean_t DhcpDiscoverValid; -+ grub_efi_boolean_t DhcpAckReceived; -+ grub_efi_boolean_t ProxyOfferReceived; -+ grub_efi_boolean_t PxeDiscoverValid; -+ grub_efi_boolean_t PxeReplyReceived; -+ grub_efi_boolean_t PxeBisReplyReceived; -+ grub_efi_boolean_t IcmpErrorReceived; -+ grub_efi_boolean_t TftpErrorReceived; -+ grub_efi_boolean_t MakeCallbacks; -+ grub_efi_uint8_t TTL; -+ grub_efi_uint8_t ToS; -+ EFI_IP_ADDRESS StationIp; -+ EFI_IP_ADDRESS SubnetMask; -+ EFI_PXE_BASE_CODE_PACKET DhcpDiscover; -+ EFI_PXE_BASE_CODE_PACKET DhcpAck; -+ EFI_PXE_BASE_CODE_PACKET ProxyOffer; -+ EFI_PXE_BASE_CODE_PACKET PxeDiscover; -+ EFI_PXE_BASE_CODE_PACKET PxeReply; -+ EFI_PXE_BASE_CODE_PACKET PxeBisReply; -+ EFI_PXE_BASE_CODE_IP_FILTER IpFilter; -+ grub_efi_uint32_t ArpCacheEntries; -+ EFI_PXE_BASE_CODE_ARP_ENTRY ArpCache[EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES]; -+ grub_efi_uint32_t RouteTableEntries; -+ EFI_PXE_BASE_CODE_ROUTE_ENTRY RouteTable[EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES]; -+ EFI_PXE_BASE_CODE_ICMP_ERROR IcmpError; -+ EFI_PXE_BASE_CODE_TFTP_ERROR TftpError; -+} EFI_PXE_BASE_CODE_MODE; -+ -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_START)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_STOP)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_DHCP)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_DISCOVER)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_UDP_WRITE)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_UDP_READ)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_IP_FILTER)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_ARP)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_PARAMETERS)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_STATION_IP)(); -+typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_PACKETS)(); -+ -+typedef struct _EFI_PXE_BASE_CODE{ -+ grub_efi_uint64_t Revision; -+ EFI_PXE_BASE_CODE_START Start; -+ EFI_PXE_BASE_CODE_STOP Stop; -+ EFI_PXE_BASE_CODE_DHCP Dhcp; -+ EFI_PXE_BASE_CODE_DISCOVER Discover; -+ EFI_PXE_BASE_CODE_MTFTP Mtftp; -+ EFI_PXE_BASE_CODE_UDP_WRITE UdpWrite; -+ EFI_PXE_BASE_CODE_UDP_READ UdpRead; -+ EFI_PXE_BASE_CODE_SET_IP_FILTER SetIpFilter; -+ EFI_PXE_BASE_CODE_ARP Arp; -+ EFI_PXE_BASE_CODE_SET_PARAMETERS SetParameters; -+ EFI_PXE_BASE_CODE_SET_STATION_IP SetStationIp; -+ EFI_PXE_BASE_CODE_SET_PACKETS SetPackets; -+ EFI_PXE_BASE_CODE_MODE *Mode; -+} EFI_PXE_BASE_CODE; -+ -+typedef struct { -+ grub_efi_uint32_t time_low; -+ grub_efi_uint16_t time_mid; -+ grub_efi_uint16_t time_hi_ver; -+ grub_efi_uint8_t clock_seq_hi; -+ grub_efi_uint8_t clock_seq_low; -+ grub_efi_uint8_t node[6]; -+} uuid_t; -+ -+struct tftp_info { -+ grub_efi_loaded_image_t *LoadedImage; -+ EFI_PXE_BASE_CODE *Pxe; -+ EFI_IP_ADDRESS *ServerIp; -+ char *BasePath; -+ char *LastPath; -+ char *Buffer; -+}; -+ -+extern struct tftp_info tftp_info; -+extern grub_efi_status_t tftp_get_file_size( -+ char *Filename, -+ grub_efi_uintn_t *Size); -+ -+#endif /* PXE_H */ -diff --git a/efi/ugadebug.h b/efi/ugadebug.h -new file mode 100644 -index 0000000..f461c8b ---- /dev/null -+++ b/efi/ugadebug.h -@@ -0,0 +1,201 @@ -+#ifndef UGA_DEBUG_H -+#define UGA_DEBUG_H -+ -+extern void dc(char *file, int line); -+extern void gm(char *file, int line, char *fmt, ...); -+ -+#ifdef UGA -+ -+extern const unsigned char font8x16[]; -+ -+extern grub_efi_guid_t draw_guid; -+ -+static void *tmp_term; -+ -+#define SCREEN_WIDTH 80 -+ -+#define LINE_SIZE_X ( 8 * 100 ) -+#define LINE_START_X(x) (1280 + (x)) -+#define LINE_END_X(x) (LINE_START_X(0) + LINE_SIZE_X - 1) -+ -+#define POS_X(x) (LINE_START_X(x) + (8 * (x))) -+ -+#define LINE_SIZE_Y 16 -+#define LINE_START_Y(y) ((y) * LINE_SIZE_Y) -+#define LINE_END_Y(y) ( (((y)+1) * LINE_SIZE_Y ) - 1) -+ -+#define POS_Y(y) LINE_START_Y(y) -+ -+#define FIRST_LINE 0 -+#define LAST_LINE 75 -+ -+#define format_ascii(buf, val, is_hex, is_cap) ({ \ -+ int _n = sizeof ((buf)) - 2; \ -+ typeof(val) _nval = (val); \ -+ int _negative = 0; \ -+ int _mult = is_hex ? 16 : 10; \ -+ char _a = is_cap ? 'A' : 'a'; \ -+ grub_memset((buf), '\0', sizeof ((buf))); \ -+ if (!(_nval > 0LL)) \ -+ _negative = 1; \ -+ if (_nval == 0LL) \ -+ _negative = 0; \ -+ if (_negative) \ -+ _nval = (_nval ^ -1); \ -+ do { \ -+ int _dig = _nval % _mult; \ -+ (buf)[_n--] = ((_dig > 9) ? _dig + _a - 10 : '0'+_dig); \ -+ } while (_nval /= _mult); \ -+ if (_negative) \ -+ (buf)[_n--] = '-'; \ -+ _mult = 0; \ -+ _n++; \ -+ while (_n < sizeof ((buf))) \ -+ (buf)[_mult++] = (buf)[_n++]; \ -+ if (_negative && _mult > 1) \ -+ ((buf)[_mult-2])++; \ -+ }) -+ -+static grub_efi_uga_draw_t *debug_draw_intf; -+static void debug_putchar(int i, int j, int ch) -+{ -+ grub_efi_uga_pixel_t pixbuf[8 * 16]; -+ grub_efi_uga_pixel_t black = { .red = 0x00, .green = 0x00, .blue = 0x00 }, -+ white = { .red = 0xff, .green = 0xff, .blue = 0xff }; -+ const unsigned char *pat; -+ int x, y; -+ -+ if (!debug_draw_intf) -+ debug_draw_intf = grub_efi_locate_protocol(&draw_guid, NULL); -+ if (!debug_draw_intf) -+ return; -+ -+ pat = font8x16 + (ch << 4); -+ -+ for (y = 0; y < 16; y++) { -+ for (x = 0; x < 8; x++) { -+ int bit = pat[y] & (1 << (7 - x)); -+ -+ grub_memmove(&pixbuf[x + y * 8], bit ? &white : &black, -+ sizeof (pixbuf[0])); -+ } -+ } -+ -+ Call_Service_10(debug_draw_intf->blt, debug_draw_intf, pixbuf, -+ EfiUgaBltBufferToVideo, -+ 0, 0, -+ POS_X(i), POS_Y(j), -+ 8, 16, -+ 0); -+ -+} -+ -+static void dputs(const char *s) -+{ -+ static int row = -1; -+ int col = 89; -+ return; -+ -+ if (s && *s) { -+ do { -+ if (col > 190) { -+ row++; -+ col = 89; -+ } -+ if (row > 50) { -+ row = 0; -+ col = 89; -+ } -+ col++; -+ -+ if (*s == '\n') { -+ col = 1; -+ row++; -+ } else { -+ debug_putchar(col, row, *s); -+ } -+ } while (*(++s)); -+ } -+ row++; -+} -+ -+static int dbg_row = 0; -+static int dbg_col = 0; -+ -+static void dbg_scroll(int new_dbg_col) -+{ -+ grub_efi_uga_pixel_t black[1] ={{.red = 0x00, .green = 0x00, .blue = 0x00}}; -+ -+ if (dbg_row == LAST_LINE) { -+ dbg_col = new_dbg_col; -+ Call_Service_10(debug_draw_intf->blt, debug_draw_intf, NULL, -+ EfiUgaVideoToVideo, -+ 640, LINE_START_Y(1), -+ 640, LINE_START_Y(0), -+ LINE_SIZE_X, LINE_END_Y(LAST_LINE)+1, -+ 0); -+ Call_Service_10(debug_draw_intf->blt, debug_draw_intf, black, -+ EfiUgaVideoFill, -+ 0, 0, -+ 640, LINE_START_Y(LAST_LINE), -+ LINE_END_X(SCREEN_WIDTH)+1, LINE_END_Y(LAST_LINE)+1, -+ 0); -+ } else { -+ dbg_row++; -+ dbg_col = new_dbg_col; -+ } -+// grub_efi_stall(1000000); -+} -+ -+static void dc_backend(char *file, int line) -+{ -+ char linebuf[9] = " "; -+ int pos; -+ -+ linebuf[8] = '\0'; -+ -+ format_ascii(linebuf, line, 0, 0); -+ for (dbg_col=0, pos=0; linebuf[pos]; dbg_col++, pos++) -+ debug_putchar(dbg_col, dbg_row, linebuf[pos]); -+ -+ for (dbg_col=5, pos=0; file[pos]; dbg_col++, pos++) { -+ if (dbg_col > 15) -+ dbg_scroll(0); -+ -+ debug_putchar(dbg_col, dbg_row, file[pos]); -+ } -+} -+ -+void dc(char *file, int line) -+{ -+ dc_backend(file, line); -+ dbg_scroll(0); -+} -+ -+void -+gm(char *file, int line, char *fmt, ...) -+{ -+ va_list ap; -+ char buf[1024]=""; -+ int pos; -+ -+ va_start(ap, fmt); -+ grub_vsprintf(buf, fmt, ap); -+ va_end(ap); -+ -+ dc_backend(file, line); -+ for (dbg_col=16, pos=0; buf[pos]; dbg_col++, pos++) { -+ if (buf[pos] == '\n') -+ continue; -+ if (dbg_col > SCREEN_WIDTH-1) -+ dbg_scroll(16); -+ debug_putchar(dbg_col, dbg_row, buf[pos]); -+ } -+ dbg_scroll(0); -+} -+ -+#define dm() ({ tmp_term = current_term; current_term = term_table; grub_dprintf(__func__, "got here\n"); current_term = tmp_term; }) -+ -+#endif -+ -+#endif /* UGA_DEBUG_H */ -diff --git a/efi/x86_64/callwrap.S b/efi/x86_64/callwrap.S -new file mode 100644 -index 0000000..f574ad0 ---- /dev/null -+++ b/efi/x86_64/callwrap.S -@@ -0,0 +1,274 @@ -+/* -+ * Function calling ABI conversion from Linux to EFI for x86_64 -+ * -+ * Copyright (C) 2007 Intel Corp -+ * Bibo Mao -+ * Huang Ying -+ */ -+ -+/* -+ * EFI calling conventions are documented at: -+ * http://msdn.microsoft.com/en-us/library/ms235286%28v=vs.80%29.aspx -+ * ELF calling conventions are documented at: -+ * http://www.x86-64.org/documentation/abi.pdf -+ * -+ * Basically here are the conversion rules: -+ * a) our function pointer is in %rdi -+ * b) ELF gives us 8-byte aligned %rsp, so we need to pad out to 16-byte -+ * alignment. -+ * c) inside each call thunker, we can only adjust the stack by -+ * multiples of 16 bytes. "offset" below refers to however much -+ * we allocate inside a thunker. -+ * d) rsi through r8 (elf) aka rcx through r9 (ms) require stack space -+ * on the MS side even though it's not getting used at all. -+ * e) arguments are as follows: (elf -> ms) -+ * 1) rdi -> rcx (32 saved) -+ * 2) rsi -> rdx (32 saved) -+ * 3) rdx -> r8 ( 32 saved) -+ * 4) rcx -> r9 (32 saved) -+ * 5) r8 -> 32(%rsp) (48 saved) -+ * 6) r9 -> 40(%rsp) (48 saved) -+ * 7) pad+offset+0(%rsp) -> 48(%rsp) (64 saved) -+ * 8) pad+offset+8(%rsp) -> 56(%rsp) (64 saved) -+ * 9) pad+offset+16(%rsp) -> 64(%rsp) (80 saved) -+ * 10) pad+offset+24(%rsp) -> 72(%rsp) (80 saved) -+ * 11) pad+offset+32(%rsp) -> 80(%rsp) (96 saved) -+ * 12) pad+offset+40(%rsp) -> 88(%rsp) (96 saved) -+ * f) because the first argument we recieve in a thunker is actually the -+ * function to be called, arguments are offset as such: -+ * 0) rdi -> caller -+ * 1) rsi -> rcx (32 saved) -+ * 2) rdx -> rdx (32 saved) -+ * 3) rcx -> r8 (32 saved) -+ * 4) r8 -> r9 (32 saved) -+ * 5) r9 -> 32(%rsp) (48 saved) -+ * 6) pad+offset+0(%rsp) -> 40(%rsp) (48 saved) -+ * 7) pad+offset+8(%rsp) -> 48(%rsp) (64 saved) -+ * 8) pad+offset+16(%rsp) -> 56(%rsp) (64 saved) -+ * 9) pad+offset+24(%rsp) -> 64(%rsp) (80 saved) -+ * 10) pad+offset+32(%rsp) -> 72(%rsp) (80 saved) -+ * 11) pad+offset+40(%rsp) -> 80(%rsp) (96 saved) -+ * 12) pad+offset+48(%rsp) -> 88(%rsp) (96 saved) -+ * e) arguments need to be moved in opposite order to avoid clobbering -+ * f) pad_stack leaves the amount of padding it added in %r11 for functions -+ * to use -+ * g) efi -> elf calls don't need to pad the stack, because the 16-byte -+ * alignment is also always 8-byte aligned. -+ */ -+ -+#define ENTRY(name) \ -+ .globl name; \ -+ name: -+ -+#define out(val) \ -+ push %rax ; \ -+ mov val, %rax ; \ -+ out %al, $128 ; \ -+ pop %rax -+ -+#define pad_stack \ -+ subq $8, %rsp ; /* must be a multiple of 16 - sizeof(%rip) */ \ -+ /* stash some handy integers */ \ -+ mov $0x8, %rax ; \ -+ mov $0x10, %r10 ; \ -+ /* see if we need padding */ \ -+ and %rsp, %rax ; \ -+ /* store the pad amount in %r11 */ \ -+ cmovnz %rax, %r11 ; \ -+ cmovz %r10, %r11 ; \ -+ /* insert the padding */ \ -+ subq %r11, %rsp ; \ -+ /* add the $8 we saved above in %r11 */ \ -+ addq $8, %r11 ; \ -+ /* store the pad amount */ \ -+ mov %r11, (%rsp) ; \ -+ /* compensate for %rip being stored on the stack by call */ \ -+ addq $8, %r11 -+ -+#define unpad_stack \ -+ /* fetch the pad amount we saved (%r11 has been clobbered) */ \ -+ mov (%rsp), %r11 ; \ -+ /* remove the padding */ \ -+ addq %r11, %rsp -+ -+ENTRY(x64_call0) -+ pad_stack -+ subq $32, %rsp -+ call *%rdi -+ addq $32, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call1) -+ pad_stack -+ subq $32, %rsp -+ mov %rsi, %rcx -+ call *%rdi -+ addq $32, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call2) -+ pad_stack -+ subq $32, %rsp -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $32, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call3) -+ pad_stack -+ subq $32, %rsp -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $32, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call4) -+ pad_stack -+ subq $32, %rsp -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $32, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call5) -+ pad_stack -+ subq $48, %rsp -+ mov %r9, 32(%rsp) -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $48, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call6) -+ pad_stack -+ subq $48, %rsp -+ addq $48, %r11 -+ addq %rsp, %r11 -+ mov (%r11), %rax -+ mov %rax, 40(%rsp) -+ mov %r9, 32(%rsp) -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $48, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call7) -+ pad_stack -+ subq $64, %rsp -+ addq $64, %r11 -+ addq $8, %r11 -+ addq %rsp, %r11 -+ mov (%r11), %rax -+ mov %rax, 48(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 40(%rsp) -+ mov %r9, 32(%rsp) -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $64, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call8) -+ pad_stack -+ subq $64, %rsp -+ addq $64, %r11 -+ addq $16, %r11 -+ addq %rsp, %r11 -+ mov (%r11), %rax -+ mov %rax, 56(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 48(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 40(%rsp) -+ mov %r9, 32(%rsp) -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $64, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call9) -+ pad_stack -+ subq $80, %rsp -+ addq $80, %r11 -+ addq $24, %r11 -+ addq %rsp, %r11 -+ mov (%r11), %rax -+ mov %rax, 64(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 56(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 48(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 40(%rsp) -+ mov %r9, 32(%rsp) -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $80, %rsp -+ unpad_stack -+ ret -+ -+ENTRY(x64_call10) -+ pad_stack -+ subq $80, %rsp -+ addq $80, %r11 -+ addq $32, %r11 -+ addq %rsp, %r11 -+ mov (%r11), %rax -+ mov %rax, 72(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 64(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 56(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 48(%rsp) -+ subq $8, %r11 -+ mov (%r11), %rax -+ mov %rax, 40(%rsp) -+ mov %r9, 32(%rsp) -+ mov %r8, %r9 -+ mov %rcx, %r8 -+ /* mov %rdx, %rdx */ -+ mov %rsi, %rcx -+ call *%rdi -+ addq $80, %rsp -+ unpad_stack -+ ret -diff --git a/efi/x86_64/crt0-efi.S b/efi/x86_64/crt0-efi.S -new file mode 100644 -index 0000000..8667694 ---- /dev/null -+++ b/efi/x86_64/crt0-efi.S -@@ -0,0 +1,63 @@ -+/* crt0-efi-x86_64.S - x86_64 EFI startup code. -+ Copyright (C) 1999 Hewlett-Packard Co. -+ Contributed by David Mosberger . -+ Copyright (C) 2005 Intel Co. -+ Contributed by Fenghua Yu . -+ -+ This file is part of GNU-EFI, the GNU EFI development environment. -+ -+ GNU EFI is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ GNU EFI is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GNU EFI; see the file COPYING. If not, write to the Free -+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA -+ 02111-1307, USA. */ -+ -+ .text -+ .align 4 -+ -+ .globl _start -+_start: -+ subq $8, %rsp -+ pushq %rcx -+ pushq %rdx -+ -+0: -+ lea ImageBase(%rip), %rdi -+ lea _DYNAMIC(%rip), %rsi -+ -+ popq %rcx -+ popq %rdx -+ pushq %rcx -+ pushq %rdx -+ call _relocate -+ -+ popq %rdi -+ popq %rsi -+ -+ call efi_main -+ addq $8, %rsp -+ -+.exit: -+ ret -+ -+ // hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: -+ -+ .data -+dummy: .long 0 -+ -+#define IMAGE_REL_ABSOLUTE 0 -+ .section .reloc, "a" -+label1: -+ .long dummy-label1 // Page RVA -+ .long 10 // Block Size (2*4+2) -+ .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy -+ -diff --git a/efi/x86_64/elf_efi.lds b/efi/x86_64/elf_efi.lds -new file mode 100644 -index 0000000..18a9ab9 ---- /dev/null -+++ b/efi/x86_64/elf_efi.lds -@@ -0,0 +1,58 @@ -+OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") -+OUTPUT_ARCH(i386:x86-64) -+ENTRY(_start) -+SECTIONS -+{ -+ . = 0; -+ ImageBase = .; -+ .hash : { *(.hash) } /* this MUST come first! */ -+ . = ALIGN(4096); -+ .eh_frame : -+ { -+ *(.eh_frame) -+ } -+ . = ALIGN(4096); -+ .text : -+ { -+ *(.text) -+ } -+ .reloc : -+ { -+ *(.reloc) -+ } -+ . = ALIGN(4096); -+ .data : -+ { -+ *(.rodata*) -+ *(.got.plt) -+ *(.got) -+ *(.data*) -+ *(.sdata) -+ /* the EFI loader doesn't seem to like a .bss section, so we stick -+ it all into .data: */ -+ *(.sbss) -+ *(.scommon) -+ *(.dynbss) -+ *(.bss) -+ *(COMMON) -+ *(.rel.local) -+ } -+ . = ALIGN(4096); -+ .dynamic : { *(.dynamic) } -+ . = ALIGN(4096); -+ .rela : -+ { -+ *(.rela.data*) -+ *(.rela.got) -+ *(.rela.stab) -+ } -+ . = ALIGN(4096); -+ .dynsym : { *(.dynsym) } -+ . = ALIGN(4096); -+ .dynstr : { *(.dynstr) } -+ . = ALIGN(4096); -+ .ignored.reloc : -+ { -+ *(.rela.reloc) -+ } -+} -diff --git a/efi/x86_64/loader/Makefile b/efi/x86_64/loader/Makefile -new file mode 100644 -index 0000000..0d8b888 ---- /dev/null -+++ b/efi/x86_64/loader/Makefile -@@ -0,0 +1,20 @@ -+ -+all : switch.h -+ -+bin_to_h: bin_to_h.c -+ $(CC) $(CFLAGS) -o $@ $< -+ -+switch.h : switch.bin bin_to_h -+ ./bin_to_h < $< > $@ -+ -+switch.bin : switch -+ objcopy -O binary $< $@ -+ -+switch : switch.o -+ ld.bfd -Ttext-segment=0x688 --init _start -o $@ $< -+ -+switch.o : switch.S -+ as -march=generic64 -defsym _start=0 -o $@ $< -+ -+clean : -+ @rm -vf switch.o switch switch.bin switch.h bin_to_h -diff --git a/efi/x86_64/loader/bin_to_h.c b/efi/x86_64/loader/bin_to_h.c -new file mode 100644 -index 0000000..4cff104 ---- /dev/null -+++ b/efi/x86_64/loader/bin_to_h.c -@@ -0,0 +1,29 @@ -+#include -+#include -+ -+int -+main (void) -+{ -+ unsigned n = 0; -+ int c; -+ -+ printf ("unsigned char switch_image[] = {\n"); -+ -+ while ((c = getchar ()) != EOF) -+ { -+ printf("0x%02x,%s", -+ c & 0xFF, -+ (++n & 0x07) ? " " : "\n"); -+ } -+ -+ if (n & 0x07) -+ { -+ printf("\n"); -+ } -+ -+ printf("};\n" -+ "int switch_size = sizeof switch_image;\n"); -+ -+ return 0; -+} -+ -diff --git a/efi/x86_64/loader/linux.c b/efi/x86_64/loader/linux.c -new file mode 100644 -index 0000000..54d075b ---- /dev/null -+++ b/efi/x86_64/loader/linux.c -@@ -0,0 +1,588 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "switch.h" -+ -+#include -+ -+#include "graphics.h" -+ -+#define grub_file_size() filemax -+ -+#define NEXT_MEMORY_DESCRIPTOR(desc, size) \ -+ ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size))) -+ -+#define PTR_HI(x) ((grub_uint32_t) ((unsigned long long)((unsigned long)(x)) >> 32)) -+ -+#ifndef SECTOR_SIZE -+#define SECTOR_SIZE 0x200 -+#endif /* defined(SECTOR_SIZE) */ -+#ifndef SECTOR_BITS -+#define SECTOR_BITS 9 -+#endif /* defined(SECTOR_BITS) */ -+ -+static unsigned long linux_mem_size; -+static int loaded; -+static void *real_mode_mem; -+static void *prot_mode_mem; -+static grub_size_t prot_kernel_size; -+static void *initrd_mem; -+static grub_efi_uintn_t real_mode_pages; -+static grub_efi_uintn_t prot_mode_pages; -+static grub_efi_uintn_t initrd_pages; -+static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GRAPHICS_OUTPUT_GUID; -+ -+static inline grub_size_t -+page_align (grub_size_t size) -+{ -+ return (size + (1 << 12) - 1) & (~((1 << 12) - 1)); -+} -+ -+static void -+free_pages (void) -+{ -+ if (real_mode_mem) -+ { -+ grub_efi_free_pages ((grub_addr_t) real_mode_mem, real_mode_pages); -+ real_mode_mem = 0; -+ } -+ -+ if (initrd_mem) -+ { -+ grub_efi_free_pages ((grub_addr_t) initrd_mem, initrd_pages); -+ initrd_mem = 0; -+ } -+ -+ if (mmap_buf) -+ { -+ grub_efi_free_pages ((grub_addr_t) mmap_buf, mmap_pages); -+ mmap_buf = 0; -+ } -+} -+ -+/* Allocate pages for the real mode code and the protected mode code -+ for linux as well as a memory map buffer. */ -+static int -+allocate_pages (grub_size_t real_size, grub_size_t prot_size) -+{ -+ grub_efi_uintn_t desc_size; -+ grub_efi_memory_descriptor_t *mmap_end; -+ grub_efi_memory_descriptor_t *desc; -+ grub_efi_physical_address_t addr; -+ -+ /* Make sure that each size is aligned to a page boundary. */ -+ real_size = page_align (real_size + SECTOR_SIZE); -+ prot_size = page_align (prot_size); -+ -+ grub_dprintf ("linux", "real_size = %x, prot_size = %x, mmap_size = %x\n", -+ (unsigned int) real_size, (unsigned int) prot_size, -+ (unsigned int) mmap_size); -+ -+ /* Calculate the number of pages; Combine the real mode code with -+ the memory map buffer for simplicity. */ -+ real_mode_pages = (real_size >> 12); -+ prot_mode_pages = (prot_size >> 12); -+ -+ /* Initialize the memory pointers with NULL for convenience. */ -+ real_mode_mem = 0; -+ prot_mode_mem = 0; -+ -+ if (grub_efi_get_memory_map (0, &desc_size, 0) <= 0) -+ grub_fatal ("cannot get memory map"); -+ -+ addr = 0; -+ mmap_end = NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); -+ /* First, find free pages for the real mode code -+ and the memory map buffer. */ -+ for (desc = mmap_buf; -+ desc < mmap_end; -+ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) -+ { -+ if (desc->type == GRUB_EFI_CONVENTIONAL_MEMORY -+ && desc->num_pages >= real_mode_pages) -+ { -+ grub_efi_physical_address_t physical_end; -+ -+ physical_end = desc->physical_start + (desc->num_pages << 12); -+ -+ grub_dprintf ("linux", "physical_start = %x, physical_end = %x\n", -+ (unsigned) desc->physical_start, -+ (unsigned) physical_end); -+ addr = physical_end - real_size; -+ if (addr < 0x10000) -+ continue; -+ -+ /* the kernel wants this address to be under 1 gig.*/ -+ if (desc->physical_start > 0x40000000 - real_size) -+ continue; -+ -+ if (addr > 0x40000000 - real_size) -+ addr = 0x40000000 - real_size; -+ -+ grub_dprintf ("linux", "trying to allocate %u pages at %x\n", -+ (unsigned) real_mode_pages, (unsigned) addr); -+ real_mode_mem = grub_efi_allocate_pages (addr, real_mode_pages); -+ if (! real_mode_mem) -+ grub_fatal ("cannot allocate pages"); -+ -+ desc->num_pages -= real_mode_pages; -+ break; -+ } -+ } -+ -+ if (! real_mode_mem) -+ { -+ grub_printf ("cannot allocate real mode pages"); -+ errnum = ERR_WONT_FIT; -+ goto fail; -+ } -+ -+ grub_printf("Trying to allocate %u pages for VMLINUZ\n", -+ (unsigned) prot_mode_pages); -+ prot_mode_mem = grub_efi_allocate_anypages(prot_mode_pages); -+ -+ if (!prot_mode_mem) -+ grub_fatal("Cannot allocate pages for VMLINUZ"); -+ grub_printf("Got pages at %p\n", prot_mode_mem); -+ -+ return 1; -+ -+ fail: -+ free_pages (); -+ return 0; -+} -+ -+/* do some funky stuff, then boot linux */ -+void -+linux_boot (void) -+{ -+ grub_printf ("zImage is not supported under EFI.\n"); -+ for (;;); -+} -+ -+void -+big_linux_boot (void) -+{ -+ struct linux_kernel_params *params; -+ struct grub_linux_kernel_header *lh; -+ grub_efi_uintn_t map_key; -+ grub_efi_uintn_t desc_size; -+ grub_efi_uint32_t desc_version; -+ int e820_nr_map; -+ -+ params = real_mode_mem; -+ -+ graphics_set_kernel_params (params); -+ -+ if (grub_efi_get_memory_map (&map_key, &desc_size, &desc_version) <= 0) -+ grub_fatal ("cannot get memory map"); -+ -+ /* Pass e820 memmap. */ -+ e820_map_from_efi_map ((struct e820_entry *) params->e820_map, &e820_nr_map, -+ mmap_buf, desc_size, mmap_size); -+ params->e820_nr_map = e820_nr_map; -+ -+ if (! grub_efi_exit_boot_services (map_key)) -+ grub_fatal ("cannot exit boot services"); -+ -+ /* Note that no boot services are available from here. */ -+ -+ /* copy vmlinuz image to hdr.code32_start */ -+ memcpy ((char *)(unsigned long)(params->hdr.code32_start), (char *)prot_mode_mem, -+ prot_kernel_size); -+ /* copy switch image */ -+ memcpy ((void *) 0x700, switch_image, switch_size); -+ -+ lh = ¶ms->hdr; -+ /* Pass EFI parameters. */ -+ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { -+ params->version_0206.efi_mem_desc_size = desc_size; -+ params->version_0206.efi_mem_desc_version = desc_version; -+ params->version_0206.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; -+ params->version_0206.efi_mmap_size = mmap_size; -+ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { -+ params->version_0204.efi_mem_desc_size = desc_size; -+ params->version_0204.efi_mem_desc_version = desc_version; -+ params->version_0204.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; -+ params->version_0204.efi_mmap_size = mmap_size; -+ } else /* dunno */ { -+ params->dunno.efi_mem_desc_size = desc_size; -+ params->dunno.efi_mem_desc_version = desc_version; -+ params->dunno.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; -+ params->dunno.efi_mmap_size = mmap_size; -+ params->dunno.efi_mmap_hi = PTR_HI(mmap_buf); -+ } -+ -+#ifdef __x86_64__ -+ /* Pass parameters. */ -+ asm volatile ("mov %0, %%rsi" : : "m" (real_mode_mem)); -+ asm volatile ("movl %0, %%ebx" : : "m" (params->hdr.code32_start)); -+ -+ /* Enter Linux, switch from 64-bit long mode -+ * to 32-bit protect mode, this code end address -+ * must not exceed 0x1000, because linux kernel bootstrap -+ * code will flush this area -+ */ -+ asm volatile ( "mov $0x700, %%rdi" : :); -+ asm volatile ( "jmp *%%rdi" : :); -+#else -+ /* Pass parameters. */ -+ asm volatile ("mov %0, %%esi" : : "m" (real_mode_mem)); -+ asm volatile ("movl %0, %%ebx" : : "m" (params->hdr.code32_start)); -+ -+ /* Enter Linux, switch from 64-bit long mode -+ * to 32-bit protect mode, this code end address -+ * must not exceed 0x1000, because linux kernel bootstrap -+ * code will flush this area -+ */ -+ asm volatile ( "mov $0x700, %%edi" : :); -+ asm volatile ( "jmp *%%edi" : :); -+#endif -+ -+ /* Never reach here. */ -+ for (;;); -+} -+ -+int -+grub_load_linux (char *kernel, char *arg) -+{ -+ struct grub_linux_kernel_header *lh; -+ struct linux_kernel_params *params; -+ static struct linux_kernel_params params_buf; -+ grub_uint8_t setup_sects; -+ grub_size_t real_size, prot_size; -+ grub_ssize_t len; -+ char *dest; -+ -+ if (kernel == NULL) -+ { -+ errnum = ERR_BAD_FILENAME; -+ grub_printf ("no kernel specified"); -+ goto fail1; -+ } -+ -+ if (! grub_open (kernel)) -+ goto fail1; -+ -+ if (grub_read ((char *) ¶ms_buf, sizeof (params_buf)) -+ != sizeof (params_buf)) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_printf ("cannot read the linux header"); -+ goto fail; -+ } -+ -+ lh = ¶ms_buf.hdr; -+ -+ if (lh->boot_flag != grub_cpu_to_le16 (0xaa55)) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_printf ("invalid magic number: %x", lh->boot_flag); -+ goto fail; -+ } -+ -+ /* EFI support is quite new, so reject old versions. */ -+ if (lh->header != grub_cpu_to_le32 (GRUB_LINUX_MAGIC_SIGNATURE) -+ || grub_le_to_cpu16 (lh->version) < 0x0203) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_printf ("too old version"); -+ goto fail; -+ } -+ -+ /* I'm not sure how to support zImage on EFI. */ -+ if (! (lh->loadflags & GRUB_LINUX_FLAG_BIG_KERNEL)) -+ { -+ errnum = ERR_EXEC_FORMAT; -+ grub_printf ("zImage is not supported"); -+ goto fail; -+ } -+ -+ setup_sects = lh->setup_sects; -+ -+ real_size = 0x1000 + grub_strlen(arg); -+ prot_size = grub_file_size () - (setup_sects << SECTOR_BITS) - SECTOR_SIZE; -+ prot_kernel_size = prot_size; -+ -+ if (! allocate_pages (real_size, prot_size)) -+ goto fail; -+ -+ /* XXX Linux assumes that only elilo can boot Linux on EFI!!! */ -+ lh->type_of_loader = 0x50; -+ -+ lh->cmd_line_ptr = (grub_uint32_t) (unsigned long) real_mode_mem + 0x1000; -+ lh->ramdisk_image = 0; -+ lh->ramdisk_size = 0; -+ -+ grub_memset(real_mode_mem, 0, real_size); -+ -+ params = (struct linux_kernel_params *) real_mode_mem; -+ -+ grub_memmove(¶ms->hdr, lh, 0x202 + lh->jump_off - 0x1f1); -+ -+ params->cl_magic = GRUB_LINUX_CL_MAGIC; -+ params->cl_offset = 0x1000; -+ -+ /* These are not needed to be precise, because Linux uses these values -+ only to raise an error when the decompression code cannot find good -+ space. */ -+ params->ext_mem = ((32 * 0x100000) >> 10); -+ params->alt_mem = ((32 * 0x100000) >> 10); -+ -+ /* No APM on EFI. */ -+ params->apm_version = 0; -+ params->apm_code_segment = 0; -+ params->apm_entry = 0; -+ params->apm_16bit_code_segment = 0; -+ params->apm_data_segment = 0; -+ params->apm_flags = 0; -+ params->apm_code_len = 0; -+ params->apm_data_len = 0; -+ -+ /* XXX is there any way to use SpeedStep on EFI? */ -+ params->ist_signature = 0; -+ params->ist_command = 0; -+ params->ist_event = 0; -+ params->ist_perf_level = 0; -+ -+ /* Let the kernel probe the information. */ -+ grub_memset (params->hd0_drive_info, 0, sizeof (params->hd0_drive_info)); -+ grub_memset (params->hd1_drive_info, 0, sizeof (params->hd1_drive_info)); -+ -+ /* No MCA on EFI. */ -+ params->rom_config_len = 0; -+ -+ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { -+ grub_memcpy(¶ms->version_0204.efi_signature, "EL64", 4); -+ params->version_0206.efi_system_table = \ -+ (grub_uint32_t) (unsigned long) grub_efi_system_table; -+ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { -+ grub_memcpy(¶ms->version_0204.efi_signature, "EFIL", 4); -+ params->version_0204.efi_system_table = \ -+ (grub_uint32_t) (unsigned long) grub_efi_system_table; -+ } else /* dunno */ { -+ params->dunno.efi_signature = GRUB_LINUX_EFI_SIGNATURE_X64; -+ params->dunno.efi_system_table = \ -+ (grub_uint32_t) (unsigned long) grub_efi_system_table; -+ params->dunno.efi_system_table_hi = PTR_HI(grub_efi_system_table); -+ } -+ /* The other EFI parameters are filled when booting. */ -+ -+ /* No EDD */ -+ params->eddbuf_entries = 0; -+ params->edd_mbr_sig_buf_entries = 0; -+ -+ /* XXX there is no way to know if the kernel really supports EFI. */ -+ grub_printf ("[Linux-EFI, setup=0x%x, size=0x%x]\n", (unsigned int)real_size, -+ (unsigned int)prot_size); -+ -+ /* Check the mem= option to limit memory used for initrd. */ -+ { -+ char *mem; -+ -+ mem = grub_strstr (arg, "mem="); -+ if (mem) -+ { -+ char *value = mem + 4; -+ -+ safe_parse_maxulong (&value, &linux_mem_size); -+ switch (errnum) -+ { -+ case ERR_NUMBER_OVERFLOW: -+ /* If an overflow occurs, use the maximum address for -+ initrd instead. This is good, because MAXINT is -+ greater than LINUX_INITRD_MAX_ADDRESS. */ -+ linux_mem_size = LINUX_INITRD_MAX_ADDRESS; -+ errnum = ERR_NONE; -+ break; -+ -+ case ERR_NONE: -+ { -+ int shift = 0; -+ -+ switch (grub_tolower (*value)) -+ { -+ case 'g': -+ shift += 10; -+ case 'm': -+ shift += 10; -+ case 'k': -+ shift += 10; -+ default: -+ break; -+ } -+ -+ /* Check an overflow. */ -+ if (linux_mem_size > (~0UL >> shift)) -+ linux_mem_size = 0; -+ else -+ linux_mem_size <<= shift; -+ } -+ break; -+ -+ default: -+ linux_mem_size = 0; -+ errnum = ERR_NONE; -+ break; -+ } -+ } -+ else -+ linux_mem_size = 0; -+ } -+ -+ dest = grub_stpcpy ((char *) real_mode_mem + 0x1000, skip_to(0, arg)); -+ -+ grub_seek ((setup_sects << SECTOR_BITS) + SECTOR_SIZE); -+ len = prot_size; -+ if (grub_read ((char *)prot_mode_mem, len) != len) -+ grub_printf ("Couldn't read file"); -+ -+ if (errnum == ERR_NONE) -+ { -+ loaded = 1; -+ } -+ -+ fail: -+ -+ grub_close (); -+ -+ fail1: -+ -+ if (errnum != ERR_NONE) -+ { -+ loaded = 0; -+ } -+ return errnum ? KERNEL_TYPE_NONE : KERNEL_TYPE_BIG_LINUX; -+} -+ -+int -+grub_load_initrd (char *initrd) -+{ -+ grub_ssize_t size; -+ grub_addr_t addr_min, addr_max; -+ grub_addr_t addr; -+ grub_efi_memory_descriptor_t *desc; -+ grub_efi_memory_descriptor_t tdesc; -+ grub_efi_uintn_t desc_size; -+ struct linux_kernel_params *params; -+ -+ if (initrd == NULL) -+ { -+ errnum = ERR_BAD_FILENAME; -+ grub_printf ("No module specified"); -+ goto fail1; -+ } -+ -+ if (! loaded) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("You need to load the kernel first."); -+ goto fail1; -+ } -+ -+ if (! grub_open (initrd)) -+ goto fail1; -+ -+ size = grub_file_size (); -+ initrd_pages = (page_align (size) >> 12); -+ -+ params = (struct linux_kernel_params *) real_mode_mem; -+ grub_dprintf(__func__, "initrd_pages: %lu\n", initrd_pages); -+ -+ addr_max = grub_cpu_to_le32 (params->hdr.initrd_addr_max); -+ if (linux_mem_size != 0 && linux_mem_size < addr_max) -+ addr_max = linux_mem_size; -+ addr_max &= ~((1 << 12)-1); -+ -+ /* Usually, the compression ratio is about 50%. */ -+ addr_min = 0; -+ -+ /* Find the highest address to put the initrd. */ -+ grub_dprintf(__func__, "addr_min: 0x%lx addr_max: 0x%lx mmap_size: %lu\n", addr_min, addr_max, mmap_size); -+ if (grub_efi_get_memory_map (0, &desc_size, 0) <= 0) -+ grub_fatal ("cannot get memory map"); -+ -+ addr = 0; -+ for (desc = mmap_buf; -+ desc < NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); -+ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) -+ { -+ if (desc->type != GRUB_EFI_CONVENTIONAL_MEMORY) -+ continue; -+ memcpy(&tdesc, desc, sizeof (tdesc)); -+ if (tdesc.physical_start < addr_min -+ && tdesc.num_pages > ((addr_min - tdesc.physical_start) >> 12)) -+ { -+ tdesc.num_pages -= ((addr_min - tdesc.physical_start) >> 12); -+ tdesc.physical_start = addr_min; -+ } -+ -+ grub_dprintf(__func__, "desc = {type=%d,ps=0x%llx,vs=0x%llx,sz=%llu,attr=%llu}\n", desc->type, (unsigned long long)desc->physical_start, (unsigned long long)desc->virtual_start, (unsigned long long)desc->num_pages, (unsigned long long)desc->attribute); -+ if (tdesc.physical_start >= addr_min -+ && tdesc.physical_start + page_align (size) <= addr_max -+ && tdesc.num_pages >= initrd_pages) -+ { -+ grub_efi_physical_address_t physical_end; -+ -+ physical_end = tdesc.physical_start + (tdesc.num_pages << 12); -+ if (physical_end > addr_max) -+ physical_end = addr_max; -+ -+ if (physical_end <= 0x7fffffffUL && physical_end > addr) -+ addr = physical_end - page_align (size); -+ } -+ } -+ -+ if (addr == 0) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ grub_printf ("no free pages available"); -+ goto fail; -+ } -+ -+ initrd_mem = grub_efi_allocate_pages (addr, initrd_pages); -+ if (! initrd_mem) -+ grub_fatal ("cannot allocate pages: %x@%x", (unsigned)initrd_pages, -+ (unsigned)addr); -+ -+ if (grub_read (initrd_mem, size) != size) -+ { -+ grub_printf ("Couldn't read file"); -+ goto fail; -+ } -+ -+ grub_printf (" [Initrd, addr=0x%x, size=0x%x]\n", (unsigned int) addr, -+ (unsigned int) size); -+ -+ params->hdr.ramdisk_image = addr; -+ params->hdr.ramdisk_size = size; -+ params->hdr.root_dev = 0x0100; /* XXX */ -+ -+ fail: -+ grub_close (); -+ fail1: -+ return !errnum; -+} -diff --git a/efi/x86_64/loader/switch.S b/efi/x86_64/loader/switch.S -new file mode 100644 -index 0000000..d0d8dca ---- /dev/null -+++ b/efi/x86_64/loader/switch.S -@@ -0,0 +1,92 @@ -+# -+# Switch from protected mode to real mode and jump to setup.S -+# image located at %cx:0. -+# -+# This module must be placed into physical memory at 0:7C00h. -+# EFI has some real mode thunking code at 2000:0h. -+# -+# Processor and non-maskable interrupts should be disabled -+# before control is passed to this module. -+# -+ -+#define __KERNEL_CS 0x38 -+#define MSR_EFER 0xc0000080 -+#define _EFER_LME 8 /* Long mode enable */ -+ -+.global _start -+ -+.text -+_start: -+ # -+ # Load identity mapped GDT & real mode IDT. -+ # Add 7C00h to the addresses since this is linked to start -+ # at 0h and it is being placed at 7C00h. -+ # -+ -+ # fixme here EFI bios cs segment is 0x38 -+ # switch to IA32e compatible mode -+ # esi point to kernel parameter -+ # ebx point to kernel entry point -+.code64 -+ cli -+ cld -+ lgdt gdt_64 -+ lidt idt_64 -+ ljmp *exit_ia32e -+ -+ /* switch to IA32e compatible mode */ -+.code32 -+mode32: -+ # -+ # Turn off PG bit in CR0 and set CR3 to zero. -+ # -+ movl %cr0, %eax -+ andl $0x7FFFFFFF, %eax -+ movl %eax, %cr0 -+ -+ /* Setup EFER (Extended Feature Enable Register) */ -+ nop -+ nop -+ movl $0xc0000080, %ecx -+ rdmsr -+ /* Enable Long Mode */ -+ andl $0xFFFFFEFF, %eax -+ /* Make changes effective */ -+ wrmsr -+ -+ /* Disable PAE */ -+ xorl %eax, %eax -+ movl %eax, %cr4 -+ -+ jmp 2f -+2: -+ jmp *%ebx -+//jmp to kernel entry -+ -+.align 8 -+exit_ia32e: -+ .long mode32 -+ .long 0x10 -+ -+gdt_64: .word 0x08 * 9 -1 -+ .quad gdt -+ -+ .word 0, 0, 0 -+idt_64: .word 0 -+ .quad 0 -+ # -+ # GDT & IDT stuff for switching into 32 bit protected mode. -+ # -+ .word 0,0,0 -+gdt: -+ .quad 0x0000000000000000 /* NULL descriptor 0*/ -+ .quad 0x0 /* unused 0x08 */ -+ .quad 0x00cf9a000000ffff /* __KERNEL_CS 0x10 */ -+ .quad 0x00cf92000000ffff /* __KERNEL_DS 0x18 */ -+ .quad 0x00cf92000000ffff -+ .quad 0x00cf92000000ffff -+ .quad 0x00cf92000000ffff -+ .quad 0x00cf9a000000ffff /* __KERNEL32_CS 0x38*/ -+ .quad 0 /* unused */ -+.end -+ -diff --git a/efi/x86_64/loader/switch.h b/efi/x86_64/loader/switch.h -new file mode 100644 -index 0000000..b5dc39a ---- /dev/null -+++ b/efi/x86_64/loader/switch.h -@@ -0,0 +1,25 @@ -+unsigned char switch_image[] = { -+0xfa, 0xfc, 0x0f, 0x01, 0x14, 0x25, 0x48, 0x07, -+0x00, 0x00, 0x0f, 0x01, 0x1c, 0x25, 0x58, 0x07, -+0x00, 0x00, 0xff, 0x2c, 0x25, 0x40, 0x07, 0x00, -+0x00, 0x0f, 0x20, 0xc0, 0x25, 0xff, 0xff, 0xff, -+0x7f, 0x0f, 0x22, 0xc0, 0x90, 0x90, 0xb9, 0x80, -+0x00, 0x00, 0xc0, 0x0f, 0x32, 0x25, 0xff, 0xfe, -+0xff, 0xff, 0x0f, 0x30, 0x31, 0xc0, 0x0f, 0x22, -+0xe0, 0xeb, 0x00, 0xff, 0xe3, 0x8d, 0x76, 0x00, -+0x19, 0x07, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, -+0x47, 0x00, 0x68, 0x07, 0x00, 0x00, 0x00, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+0xff, 0xff, 0x00, 0x00, 0x00, 0x9a, 0xcf, 0x00, -+0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, -+0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, -+0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, -+0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, -+0xff, 0xff, 0x00, 0x00, 0x00, 0x9a, 0xcf, 0x00, -+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+}; -+int switch_size = sizeof switch_image; -diff --git a/efi/x86_64/reloc.c b/efi/x86_64/reloc.c -new file mode 100644 -index 0000000..b53eb63 ---- /dev/null -+++ b/efi/x86_64/reloc.c -@@ -0,0 +1,79 @@ -+/* reloc_x86_64.c - position independent x86_64 ELF shared object relocator -+ Copyright (C) 1999 Hewlett-Packard Co. -+ Contributed by David Mosberger . -+ Copyright (C) 2005 Intel Co. -+ Contributed by Fenghua Yu . -+ -+ This file is part of GNU-EFI, the GNU EFI development environment. -+ -+ GNU EFI is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ GNU EFI is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GNU EFI; see the file COPYING. If not, write to the Free -+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA -+ 02111-1307, USA. */ -+ -+#include -+#include -+#include -+ -+grub_efi_status_t _relocate (long ldbase, ElfW(Dyn) *dyn, -+ grub_efi_handle_t image_handle, -+ grub_efi_system_table_t *sys_tab) -+{ -+ //extern EFI_STATUS efi_main (EFI_HANDLE, EFI_SYSTEM_TABLE *); -+ long relsz = 0, relent = 0; -+ ElfW(Rel) *rel = 0; -+ unsigned long *addr; -+ int i; -+ -+ for (i = 0; dyn[i].d_tag != DT_NULL; ++i) { -+ switch (dyn[i].d_tag) { -+ case DT_RELA: -+ rel = (ElfW(Rel)*) ((long) dyn[i].d_un.d_ptr + ldbase); -+ break; -+ -+ case DT_RELASZ: -+ relsz = dyn[i].d_un.d_val; -+ break; -+ -+ case DT_RELAENT: -+ relent = dyn[i].d_un.d_val; -+ break; -+ -+ default: -+ break; -+ } -+ } -+ -+ if (!rel || relent == 0){ -+ return GRUB_EFI_LOAD_ERROR; -+ } -+ while (relsz > 0) { -+ /* apply the relocs */ -+ switch (ELF64_R_TYPE (rel->r_info)) { -+ case R_X86_64_NONE: -+ break; -+ -+ case R_X86_64_RELATIVE: -+ addr = (unsigned long *) (ldbase + rel->r_offset); -+ *addr += ldbase; -+ break; -+ -+ default: -+ break; -+ } -+ rel = (ElfW(Rel)*) ((char *) rel + relent); -+ relsz -= relent; -+ } -+ return GRUB_EFI_SUCCESS; -+} -+ -diff --git a/efi/x86_64/setjmp.S b/efi/x86_64/setjmp.S -new file mode 100644 -index 0000000..e042a14 ---- /dev/null -+++ b/efi/x86_64/setjmp.S -@@ -0,0 +1,56 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2003 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#include -+ -+ .file "setjmp.S" -+ -+ .text -+ -+/* -+ * int grub_setjmp (grub_jmp_buf env) -+ */ -+FUNCTION(grub_setjmp) -+ pop %rsi /* Return address, and adjust the stack */ -+ xor %rax, %rax -+ movq %rbx, 0(%rdi) /* RBX */ -+ movq %rsp, 8(%rdi) /* RSP */ -+ push %rsi -+ movq %rbp, 16(%rdi) /* RBP */ -+ movq %r12, 24(%rdi) /* R12 */ -+ movq %r13, 32(%rdi) /* R13 */ -+ movq %r14, 40(%rdi) /* R14 */ -+ movq %r15, 48(%rdi) /* R15 */ -+ movq %rsi, 56(%rdi) /* RSI */ -+ ret -+ -+/* -+ * int grub_longjmp (grub_jmp_buf env, int val) -+ */ -+FUNCTION(grub_longjmp) -+ movl %esi, %eax -+ movq (%rdi), %rbx -+ movq 8(%rdi), %rsp -+ movq 16(%rdi), %rbp -+ movq 24(%rdi), %r12 -+ movq 32(%rdi), %r13 -+ movq 40(%rdi), %r14 -+ movq 48(%rdi), %r15 -+ jmp *56(%rdi) -+ -diff --git a/efi/xpm.c b/efi/xpm.c -new file mode 100644 -index 0000000..085a10c ---- /dev/null -+++ b/efi/xpm.c -@@ -0,0 +1,231 @@ -+ -+#if defined(SUPPORT_GRAPHICS) || defined(PLATFORM_EFI) || 1 -+ -+#include -+#include -+#include -+ -+#include "xpm.h" -+ -+unsigned char -+xpm_get_pixel_idx(struct xpm *xpm, int x, int y) -+{ -+ if (x < 0 || x >= xpm->width) -+ return -1; -+ if (y < 0 || y >= xpm->width) -+ return -1; -+ return xpm->image[x + (y * xpm->width)]; -+} -+ -+void -+xpm_set_pixel_idx(struct xpm *xpm, int x, int y, unsigned char idx) -+{ -+ xpm->image[y * xpm->width + x] = idx; -+} -+ -+void -+xpm_get_idx(struct xpm *xpm, unsigned char idx, xpm_pixel_t *pixel) -+{ -+ xpm_pixel_t *xpl; -+ if (!pixel) -+ return; -+ if (idx >= xpm->colors) { -+ pixel->red = pixel->green = pixel->blue = 0; -+ return; -+ } -+ xpl = &xpm->palette[idx]; -+ memcpy(pixel, xpl, sizeof (*pixel)); -+// pixel->red = xpl->red; -+// pixel->green = xpl->green; -+// pixel->blue = xpl->blue; -+} -+ -+int -+xpm_get_pixel(struct xpm *xpm, int x, int y, xpm_pixel_t *pixel) -+{ -+ unsigned char idx; -+ idx = xpm_get_pixel_idx(xpm, x, y); -+ xpm_get_idx(xpm, idx, pixel); -+ return 1; -+} -+ -+static int -+hex_to_int(int v) -+{ -+ if (v >= 'A' && v <= 'F') -+ return (v - 'A' + 10); -+ if (v >= 'a' && v <= 'f') -+ return (v - 'a' + 10); -+ return (v - '0'); -+} -+ -+struct xpm * -+xpm_open(char *path) -+{ -+ char c, prev, target[]="/* XPM */\n", base; -+ char buf[32]; -+ int pos = 0; -+ unsigned int i, idx, len, x, y; -+ unsigned char pal[XPM_MAX_COLORS]; -+ struct xpm *xpm; -+ -+ xpm = grub_malloc(sizeof (*xpm)); -+ if (!xpm) -+ return NULL; -+ -+ if (!grub_open(path)) { -+ grub_free(xpm); -+ grub_printf("grub_open(\"%s\") failed\n", path); -+ return NULL; -+ } -+ -+ grub_memset(xpm, '\0', sizeof (*xpm)); -+ -+ prev = '\n'; -+ c = 0; -+ do { -+ if (grub_read(&c, 1) != 1) { -+ grub_printf("grub_read() failed\n"); -+ grub_free(xpm); -+ grub_close(); -+ return NULL; -+ } -+ if ((pos == 0 && prev == '\n') || pos > 0) { -+ if (c == target[pos]) -+ pos++; -+ else -+ pos = 0; -+ } -+ prev = c; -+ } while (target[pos]); -+ -+ /* parse info */ -+ while (grub_read(&c, 1)) { -+ if (c == '"') -+ break; -+ } -+ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) -+ ; -+ -+ i = 0; -+ xpm->width = c - '0'; -+ while (grub_read(&c, 1)) { -+ if (c >= '0' && c <= '9') -+ xpm->width = xpm->width * 10 + c - '0'; -+ else -+ break; -+ } -+ if (xpm->width > XPM_MAX_WIDTH) { -+ grub_printf("xpm->width (%d) was greater than XPM_MAX_WIDTH (%d)\n", -+ xpm->width, XPM_MAX_WIDTH); -+ grub_free(xpm); -+ grub_close(); -+ return NULL; -+ } -+ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) -+ ; -+ -+ xpm->height = c - '0'; -+ while (grub_read(&c, 1)) { -+ if (c >= '0' && c <= '9') -+ xpm->height = xpm->height * 10 + c - '0'; -+ else -+ break; -+ } -+ if (xpm->height > XPM_MAX_HEIGHT) { -+ grub_printf("xpm->height (%d) was greater than XPM_MAX_HEIGHT (%d)\n", -+ xpm->height, XPM_MAX_HEIGHT); -+ grub_free(xpm); -+ grub_close(); -+ return NULL; -+ } -+ -+ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) -+ ; -+ -+ xpm->colors = c - '0'; -+ while (grub_read(&c, 1)) { -+ if (c >= '0' && c <= '9') -+ xpm->colors = xpm->colors * 10 + c - '0'; -+ else -+ break; -+ } -+ -+ base = 0; -+ while (grub_read(&c, 1) && c != '"') -+ ; -+ -+ /* palette */ -+ for (i = 0, idx = 1; i < xpm->colors; i++) { -+ len = 0; -+ -+ while (grub_read(&c, 1) && c != '"') -+ ; -+ grub_read(&c, 1); /* char */ -+ base = c; -+ grub_read(buf, 4); /* \t c # */ -+ -+ while (grub_read(&c, 1) && c != '"') { -+ if (len < sizeof(buf)) -+ buf[len++] = c; -+ } -+ -+ if (len == 6 && idx < xpm->colors) { -+ unsigned char r, g, b; -+ -+ r = (hex_to_int(buf[0]) << 4) | hex_to_int(buf[1]); -+ g = (hex_to_int(buf[2]) << 4) | hex_to_int(buf[3]); -+ b = (hex_to_int(buf[4]) << 4) | hex_to_int(buf[5]); -+ -+ pal[idx] = base; -+ xpm->palette[idx].red = r; -+ xpm->palette[idx].green = g; -+ xpm->palette[idx].blue = b; -+ ++idx; -+ } -+ } -+ -+ /* parse xpm data */ -+ x = y = 0; -+ while (y < xpm->height) { -+ xpm_pixel_t *pixel = NULL; -+ while (1) { -+ if (!grub_read(&c, 1)) { -+ grub_printf("%s %s:%d grub_read() failed\n", __FILE__, __func__, __LINE__); -+ grub_free(xpm); -+ grub_close(); -+ return NULL; -+ } -+ if (c == '"') -+ break; -+ } -+ -+ while (grub_read(&c, 1) && c != '"') { -+ unsigned char *iaddr = NULL; -+ for (i = 1; i < xpm->colors; i++) -+ if (pal[i] == c) { -+ idx = i; -+ break; -+ } -+ -+ xpm_set_pixel_idx(xpm, x, y, idx); -+ -+ if (++x >= xpm->width) { -+ x = 0; -+ -+ ++y; -+ } -+ } -+ } -+ grub_close(); -+ return xpm; -+} -+ -+void -+xpm_free(struct xpm *xpm) -+{ -+ grub_free(xpm); -+} -+ -+ -+#endif /* SUPPORT_GRAPHICS || PLATFORM_EFI */ -diff --git a/efi/xpm.h b/efi/xpm.h -new file mode 100644 -index 0000000..258abc1 ---- /dev/null -+++ b/efi/xpm.h -@@ -0,0 +1,36 @@ -+#ifndef GRUB_XPM_H -+#define GRUB_XPM_H -+ -+#include -+ -+#define XPM_MAX_COLORS 31 -+#define XPM_MAX_WIDTH 640 -+#define XPM_MAX_HEIGHT 480 -+ -+struct xpm_pixel { -+ unsigned char reserved; -+ unsigned char red; -+ unsigned char green; -+ unsigned char blue; -+}; -+typedef struct xpm_pixel xpm_pixel_t; -+ -+struct xpm { -+ int colors; -+ xpm_pixel_t palette[32]; -+ -+ int width; -+ int height; -+ unsigned char image[XPM_MAX_WIDTH * XPM_MAX_HEIGHT]; -+}; -+ -+extern struct xpm *xpm_open(char *path); -+extern void xpm_free(struct xpm *xpm); -+ -+extern unsigned char xpm_get_pixel_idx(struct xpm *xpm, int x, int y); -+extern void xpm_set_pixel_idx(struct xpm *xpm, int x, int y, unsigned char idx); -+extern int xpm_get_pixel(struct xpm *xpm, int x, int y, xpm_pixel_t *pixel); -+ -+extern void xpm_get_idx(struct xpm *xpm, unsigned char idx, xpm_pixel_t *pixel); -+ -+#endif /* GRUB_XPM_H */ -diff --git a/grub.spec b/grub.spec -new file mode 100644 -index 0000000..7e5982d ---- /dev/null -+++ b/grub.spec -@@ -0,0 +1,438 @@ -+Name: grub -+Version: 0.97 -+Release: 20%{?dist} -+Summary: GRUB - the Grand Unified Boot Loader. -+Group: System Environment/Base -+License: GPLv2+ -+ -+ExclusiveArch: i386 x86_64 -+BuildRequires: binutils >= 2.9.1.0.23, ncurses-devel, ncurses-static, texinfo -+BuildRequires: autoconf /usr/lib/crt1.o automake -+PreReq: /sbin/install-info -+Requires: mktemp -+Requires: /usr/bin/cmp -+Requires: system-logos -+BuildRoot: %{_tmppath}/%{name}-%{version}-root -+ -+URL: http://www.gnu.org/software/%{name}/ -+Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz -+Patch0: grub-fedora-9.patch -+ -+%description -+GRUB (Grand Unified Boot Loader) is an experimental boot loader -+capable of booting into most free operating systems - Linux, FreeBSD, -+NetBSD, GNU Mach, and others as well as most commercial operating -+systems. -+ -+%prep -+%setup -q -+%patch0 -p1 -b .fedora-9 -+ -+%build -+autoreconf -+autoconf -+GCCVERS=$(gcc --version | head -1 | cut -d\ -f3 | cut -d. -f1) -+CFLAGS="-Os -g -fno-strict-aliasing -Wall -Werror -Wno-shadow -Wno-unused" -+if [ "$GCCVERS" == "4" ]; then -+ CFLAGS="$CFLAGS -Wno-pointer-sign" -+fi -+export CFLAGS -+%ifarch x86_64 -+%configure --sbindir=/sbin --disable-auto-linux-mem-opt --datarootdir=%{_datadir} --with-platform=efi -+make -+rm -fr $RPM_BUILD_ROOT -+%makeinstall sbindir=${RPM_BUILD_ROOT}/sbin -+mv ${RPM_BUILD_ROOT}/sbin/grub ${RPM_BUILD_ROOT}/sbin/grub-efi -+make clean -+autoreconf -+autoconf -+CFLAGS="$CFLAGS -static" -+export CFLAGS -+%endif -+%configure --sbindir=/sbin --disable-auto-linux-mem-opt --datarootdir=%{_datadir} -+make -+ -+%install -+%makeinstall sbindir=${RPM_BUILD_ROOT}/sbin -+mkdir -p ${RPM_BUILD_ROOT}/boot/grub -+ -+rm -f ${RPM_BUILD_ROOT}/%{_infodir}/dir -+ -+%clean -+rm -fr $RPM_BUILD_ROOT -+ -+%post -+if [ "$1" = 1 ]; then -+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/grub.info.gz || : -+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz || : -+fi -+ -+%preun -+if [ "$1" = 0 ] ;then -+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/grub.info.gz || : -+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz || : -+fi -+ -+%files -+%defattr(-,root,root) -+%doc AUTHORS ChangeLog NEWS README COPYING TODO docs/menu.lst -+/boot/grub -+/sbin/grub -+/sbin/grub-install -+/sbin/grub-terminfo -+/sbin/grub-md5-crypt -+%{_bindir}/mbchk -+%{_infodir}/grub* -+%{_infodir}/multiboot* -+%{_mandir}/man*/* -+%{_datadir}/grub -+%ifarch x86_64 -+/sbin/grub-efi -+%endif -+ -+%changelog -+* Mon Nov 05 2007 Peter Jones - 0.97-20 -+- Add EFI support from Intel on x86_64 -+ -+* Thu Sep 20 2007 Peter Jones - 0.97-19 -+- Fix dmraid detection on Intel (isw) controllers in grub-install . -+ -+* Wed Aug 22 2007 Peter Jones - 0.97-18 -+- Fix license tag. -+ -+* Mon Aug 20 2007 Peter Jones - 0.97-17 -+- Use --build-id=none instead of stripping out the build-id notes in the -+ first and second stage loaders. -+ -+* Tue Aug 7 2007 Peter Jones - 0.97-16 -+- Add ext[23] large inode support (patch from Eric Sandeen) -+- Fix auto* breakage that happened when we switched from autoreconf to autoconf -+- Move to original tarball + patch generated from git -+ -+* Mon Jul 16 2007 Peter Jones - 0.97-15 -+- Support booting from GPT -+ -+* Fri Feb 23 2007 Bill Nottingham - 0.97-14 -+- fix scriplet errors when installed with --nodocs -+- coax grub into building (-ltinfo, autoconf instead of autoreconf) -+ -+* Sun Oct 01 2006 Jesse Keating - 0.97-13 -+- rebuilt for unwind info generation, broken in gcc-4.1.1-21 -+ -+* Thu Sep 21 2006 Peter Jones - 0.97-12 -+- Reenable patch 505, which fixes #116311 -+ -+* Tue Aug 15 2006 Peter Jones - 0.97-11 -+- Disable patch 505 (#164497) -+ -+* Wed Aug 2 2006 Peter Jones - 0.97-10 -+- Fix grub-install for multipath -+ -+* Wed Jul 12 2006 Jesse Keating - 0.97-9.1 -+- rebuild -+ -+* Fri Jul 7 2006 Peter Jones - 0.97-9 -+- fix broken error reporting from helper functions -+ -+* Mon Jun 12 2006 Peter Jones - 0.97-8 -+- Fix BIOS keyboard handler to use extended keyboard interrupts, so the -+ Mac Mini works. -+ -+* Mon Jun 5 2006 Jesse Keating - 0.97-7 -+- Added BuildRequires on a 32bit library -+ -+* Sat May 27 2006 Peter Jones - 0.97-6 -+- Fix mactel keyboard problems, patch from Juergen Keil, forwarded by Linus. -+ -+* Mon Mar 13 2006 Peter Jones - 0.97-5 -+- Fix merge error for "bootonce" patch (broken in 0.95->0.97 update) -+- Get rid of the 0.97 "default" stuff, since it conflicts with our working -+ method. -+ -+* Mon Mar 9 2006 Peter Jones - 0.97-4 -+- Fix running "install" multiple times on the same fs in the same invocation -+ of grub. (bz #158426 , patch from lxo@redhat.com) -+ -+* Mon Feb 13 2006 Peter Jones - 0.97-3 -+- fix partition names on dmraid -+ -+* Tue Feb 07 2006 Jesse Keating - 0.97-2.1 -+- rebuilt for new gcc4.1 snapshot and glibc changes -+ -+* Fri Jan 13 2006 Peter Jones - 0.97-2 -+- add dmraid support -+ -+* Wed Dec 14 2005 Peter Jones - 0.97-1 -+- update to grub 0.97 -+ -+* Mon Dec 5 2005 Peter Jones - 0.95-17 -+- fix configure conftest.c bugs -+- add -Wno-unused to defeat gcc41 "unused" checking when there are aliases. -+ -+* Mon Aug 1 2005 Peter Jones - 0.95-16 -+- minor fix to the --recheck fix. -+ -+* Mon Jul 25 2005 Peter Jones 0.95-15 -+- Make "grub-install --recheck" warn the user about how bad it is, -+ and keep a backup file, which it reverts to upon detecting some errors. -+ -+* Wed Jul 6 2005 Peter Jones 0.95-14 -+- Fix changelog to be UTF-8 -+ -+* Thu May 19 2005 Peter Jones 0.95-13 -+- Make the spec work with gcc3 and gcc4, so people can test on existing -+ installations. -+- don't treat i2o like a cciss device, since its partition names aren't done -+ that way. (#158158) -+ -+* Wed Mar 16 2005 Peter Jones 0.95-12 -+- Make installing on a partition work again when not using raid -+ -+* Thu Mar 3 2005 Peter Jones 0.95-11 -+- Make it build with gcc4 -+ -+* Sun Feb 20 2005 Peter Jones 0.95-10 -+- Always install in MBR for raid1 /boot/ -+ -+* Sun Feb 20 2005 Peter Jones 0.95-9 -+- Always use full path for mdadm in grub-install -+ -+* Tue Feb 8 2005 Peter Jones 0.95-8 -+- Mark the simulation stack executable -+- Eliminate the use of inline functions in stage2/builtins.c -+ -+* Wed Jan 11 2005 Peter Jones 0.95-7 -+- Make grub ignore everything before the XPM header in the splash image, -+ fixing #143879 -+- If the boot splash image is missing, use console mode instead -+ of graphics mode. -+- Don't print out errors using the graphics terminal code if we're not -+ actually in graphics mode. -+ -+* Mon Jan 3 2005 Peter Jones 0.95-6 -+- reworked much of how the RAID1 support in grub-install works. This version -+ does not require all the devices in the raid to be listed in device.map, -+ as long as you specify a physical device or partition rather than an md -+ device. It should also work with a windows dual-boot on the first partition. -+ -+* Fri Dec 17 2004 Peter Jones 0.95-5 -+- added support for RAID1 devices to grub-install, partly based on a -+ patch from David Knierim. (#114690) -+ -+* Tue Nov 30 2004 Jeremy Katz 0.95-4 -+- add patch from upstream CVS to handle sparse files on ext[23] -+- make geometry detection a little bit more robust/correct -+- use O_DIRECT when reading/writing from devices. use aligned buffers as -+ needed for read/write (#125808) -+- actually apply the i2o patch -+- detect cciss/cpqarray devices better (#123249) -+ -+* Thu Sep 30 2004 Jeremy Katz - 0.95-3 -+- don't act on the keypress for the menu (#134029) -+ -+* Mon Jun 28 2004 Jeremy Katz - 0.95-2 -+- add patch from Nicholas Miell to make hiddenmenu work more -+ nicely with splashimage mode (#126764) -+ -+* Fri Jun 18 2004 Jeremy Katz - 0.95-1 -+- update to 0.95 -+- drop emd patch, E-MD isn't making forward progress upstream -+- fix static build for x86_64 (#121095) -+ -+* Tue Jun 15 2004 Elliot Lee -+- rebuilt -+ -+* Wed Jun 9 2004 Jeremy Katz -+- require system-logos (#120837) -+ -+* Fri Jun 4 2004 Jeremy Katz -+- buildrequire automake (#125326) -+ -+* Thu May 06 2004 Warren Togami - 0.94-5 -+- i2o patch from Markus Lidel -+ -+* Wed Apr 14 2004 Jeremy Katz - 0.94-4 -+- read geometry off of the disk since HDIO_GETGEO doesn't actually -+ return correct data with a 2.6 kernel -+ -+* Fri Mar 12 2004 Jeremy Katz -+- add texinfo buildrequires (#118146) -+ -+* Wed Feb 25 2004 Jeremy Katz 0.94-3 -+- don't use initrd_max_address -+ -+* Fri Feb 13 2004 Elliot Lee 0.94-2 -+- rebuilt -+ -+* Thu Feb 12 2004 Jeremy Katz 0.94-1 -+- update to 0.94, patch merging and updating as necessary -+ -+* Sat Jan 3 2004 Jeremy Katz 0.93-8 -+- new bootonce patch from Padraig Brady so that you don't lose -+ the old default (#112775) -+ -+* Mon Nov 24 2003 Jeremy Katz -+- add ncurses-devel as a buildrequires (#110732) -+ -+* Tue Oct 14 2003 Jeremy Katz 0.93-7 -+- rebuild -+ -+* Wed Jul 2 2003 Jeremy Katz -+- Requires: /usr/bin/cmp (#98325) -+ -+* Thu May 22 2003 Jeremy Katz 0.93-6 -+- add patch from upstream to fix build with gcc 3.3 -+ -+* Wed Apr 2 2003 Jeremy Katz 0.93-5 -+- add patch to fix support for serial terminfo (#85595) -+ -+* Wed Jan 22 2003 Tim Powers -+- rebuilt -+ -+* Fri Jan 17 2003 Jeremy Katz 0.93-3 -+- add patch from HJ Lu to support large disks (#80980, #63848) -+- add patch to make message when ending edit clearer (#53846) -+ -+* Sun Dec 29 2002 Jeremy Katz 0.93-2 -+- add a patch to reset the terminal type to console before doing 'boot' from -+ the command line (#61069) -+ -+* Sat Dec 28 2002 Jeremy Katz 0.93-1 -+- update to 0.93 -+- update configfile patch -+- graphics patch rework to fit in as a terminal type as present in 0.93 -+- use CFLAGS="-Os -g" -+- patch configure.in to allow building if host_cpu=x86_64, include -m32 in -+ CFLAGS if building on x86_64 -+- link glibc static on x86_64 to not require glibc32 -+- include multiboot info pages -+- drop obsolete patches, reorder remaining patches into some semblance of order -+ -+* Thu Sep 5 2002 Jeremy Katz 0.92-7 -+- splashscreen is in redhat-logos now -+ -+* Tue Sep 3 2002 Jeremy Katz 0.92-6 -+- update splashscreen again -+ -+* Mon Sep 2 2002 Jeremy Katz 0.92-5 -+- update splashscreen -+ -+* Fri Jun 21 2002 Tim Powers 0.92-4 -+- automated rebuild -+ -+* Thu May 23 2002 Tim Powers 0.92-3 -+- automated rebuild -+ -+* Fri May 3 2002 Jeremy Katz 0.92-2 -+- add patch from Grant Edwards to make vga16 + serial happier (#63491) -+ -+* Wed May 1 2002 Jeremy Katz 0.92-1 -+- update to 0.92 -+- back to autoreconf -+- make it work with automake 1.6/autoconf 2.53 -+- use "-falign-jumps=1 -falign-loops=1 -falign-functions=1" instead of -+ "-malign-jumps=1 -malign-loops=1 -malign-functions=1" to not use -+ deprecated gcc options -+ -+* Tue Apr 9 2002 Jeremy Katz 0.91-4 -+- new splash screen -+ -+* Fri Mar 8 2002 Jeremy Katz 0.91-3 -+- include patch from Denis Kitzmen to fix typo causing several options to -+ never be defined (in upstream CVS) -+- include patch from upstream CVS to make displaymem always use hex for -+ consistency -+- add patch from GRUB mailing list from Keir Fraser to add a --once flag to -+ savedefault function so that you can have the equivalent of lilo -R -+ functionality (use 'savedefault --default=N --once' from the grub shell) -+- back to autoconf -+ -+* Sun Jan 27 2002 Jeremy Katz -+- change to use $grubdir instead of /boot/grub in the symlink patch (#58771) -+ -+* Fri Jan 25 2002 Jeremy Katz 0.91-2 -+- don't ifdef out the auto memory passing, use the configure flag instead -+- add a patch so that grub respects mem= from the kernel command line when -+ deciding where to place the initrd (#52558) -+ -+* Mon Jan 21 2002 Jeremy Katz 0.91-1 -+- update to 0.91 final -+- add documentation on splashimage param (#51609) -+ -+* Wed Jan 2 2002 Jeremy Katz 0.91-0.20020102cvs -+- update to current CVS snapshot to fix some of the hangs on boot related -+ to LBA probing (#57503, #55868, and others) -+ -+* Fri Dec 21 2001 Erik Troan 0.90-14 -+- fixed append patch to not require arguments to begin with -+- changed to autoreconf from autoconf -+ -+* Wed Oct 31 2001 Jeremy Katz 0.90-13 -+- include additional patch from Erich to add sync calls in grub-install to -+ work around updated images not being synced to disk -+- fix segfault in grub shell if 'password --md5' is used without specifying -+ a password (#55008) -+ -+* Fri Oct 26 2001 Jeremy Katz 0.90-12 -+- Include Erich Boleyn 's patch to disconnect from the -+ BIOS after APM operations. Should fix #54375 -+ -+* Wed Sep 12 2001 Erik Troan -+- added patch for 'a' option in grub boot menu -+ -+* Wed Sep 5 2001 Jeremy Katz 0.90-11 -+- grub-install: if /boot/grub/grub.conf doesn't exist but /boot/grub/menu.lst -+ does, create a symlink -+ -+* Fri Aug 24 2001 Jeremy Katz -+- pull in patch from upstream CVS to fix md5crypt in grub shell (#52220) -+- use mktemp in grub-install to avoid tmp races -+ -+* Fri Aug 3 2001 Jeremy Katz -+- link curses statically (#49519) -+ -+* Thu Aug 2 2001 Jeremy Katz -+- fix segfault with using the serial device before initialization (#50219) -+ -+* Thu Jul 19 2001 Jeremy Katz -+- add --copy-only flag to grub-install -+ -+* Thu Jul 19 2001 Jeremy Katz -+- copy files in grub-install prior to device probe -+ -+* Thu Jul 19 2001 Jeremy Katz -+- original images don't go in /boot and then grub-install does the right -+ thing -+ -+* Thu Jul 19 2001 Jeremy Katz -+- fix the previous patch -+- put the password prompt in the proper location -+ -+* Thu Jul 19 2001 Jeremy Katz -+- reset the screen when the countdown is cancelled so text will disappear -+ in vga16 mode -+ -+* Mon Jul 16 2001 Jeremy Katz -+- change configfile defaults to grub.conf -+ -+* Sun Jul 15 2001 Jeremy Katz -+- updated to grub 0.90 final -+ -+* Fri Jul 6 2001 Matt Wilson -+- modifed splash screen to a nice shade of blue -+ -+* Tue Jul 3 2001 Matt Wilson -+- added a first cut at a splash screen -+ -+* Sun Jul 1 2001 Nalin Dahyabhai -+- fix datadir mismatch between build and install phases -+ -+* Mon Jun 25 2001 Jeremy Katz -+- update to current CVS -+- forward port VGA16 patch from Paulo César Pereira de -+ Andrade -+- add patch for cciss, ida, and rd raid controllers -+- don't pass mem= to the kernel -+ -+* Wed May 23 2001 Erik Troan -+- initial build for Red Hat -diff --git a/grub/.gitignore b/grub/.gitignore -new file mode 100644 -index 0000000..5d89f6d ---- /dev/null -+++ b/grub/.gitignore -@@ -0,0 +1,2 @@ -+Makefile.in -+.deps -diff --git a/grub/Makefile.am b/grub/Makefile.am -index 7eb2eaa..d4353f7 100644 ---- a/grub/Makefile.am -+++ b/grub/Makefile.am -@@ -15,5 +15,5 @@ AM_CPPFLAGS = -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ - - AM_CFLAGS = $(GRUB_CFLAGS) - --grub_SOURCES = main.c asmstub.c -+grub_SOURCES = main.c asmstub.c efitftp.c - grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS) -diff --git a/grub/Makefile.in b/grub/Makefile.in -index 136c38f..0e40e1b 100644 ---- a/grub/Makefile.in -+++ b/grub/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -14,17 +14,11 @@ - - @SET_MAKE@ - --SOURCES = $(grub_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -43,7 +37,7 @@ subdir = grub - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -@@ -57,7 +51,7 @@ grub_OBJECTS = $(am_grub_OBJECTS) - am__DEPENDENCIES_1 = - grub_DEPENDENCIES = ../stage2/libgrub.a ../lib/libcommon.a \ - $(am__DEPENDENCIES_1) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -@@ -70,17 +64,14 @@ ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -89,18 +80,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -108,14 +97,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -129,22 +116,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -156,28 +138,39 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ - @SERIAL_SPEED_SIMULATION_FALSE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 - @SERIAL_SPEED_SIMULATION_TRUE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 -DSIMULATE_SLOWNESS_OF_SERIAL=1 - AM_CPPFLAGS = -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ -@@ -225,7 +218,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - install-sbinPROGRAMS: $(sbin_PROGRAMS) - @$(NORMAL_INSTALL) -- test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" -+ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" - @list='$(sbin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ -@@ -248,7 +241,7 @@ clean-sbinPROGRAMS: - -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) - grub$(EXEEXT): $(grub_OBJECTS) $(grub_DEPENDENCIES) - @rm -f grub$(EXEEXT) -- $(LINK) $(grub_LDFLAGS) $(grub_OBJECTS) $(grub_LDADD) $(LIBS) -+ $(LINK) $(grub_OBJECTS) $(grub_LDADD) $(LIBS) - - mostlyclean-compile: - -rm -f *.$(OBJEXT) -@@ -260,19 +253,18 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ - - .c.o: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` --uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -@@ -323,22 +315,21 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -354,7 +345,7 @@ check: check-am - all-am: Makefile $(PROGRAMS) - installdirs: - for dir in "$(DESTDIR)$(sbindir)"; do \ -- test -z "$$dir" || $(mkdir_p) "$$dir"; \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: install-am - install-exec: install-exec-am -@@ -402,12 +393,20 @@ info-am: - - install-data-am: - -+install-dvi: install-dvi-am -+ - install-exec-am: install-sbinPROGRAMS - -+install-html: install-html-am -+ - install-info: install-info-am - - install-man: - -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -427,18 +426,22 @@ ps: ps-am - - ps-am: - --uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS -+uninstall-am: uninstall-sbinPROGRAMS -+ -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-sbinPROGRAMS ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ -- install-data-am install-exec install-exec-am install-info \ -- install-info-am install-man install-sbinPROGRAMS install-strip \ -+ install-data-am install-dvi install-dvi-am install-exec \ -+ install-exec-am install-html install-html-am install-info \ -+ install-info-am install-man install-pdf install-pdf-am \ -+ install-ps install-ps-am install-sbinPROGRAMS install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ -- uninstall-am uninstall-info-am uninstall-sbinPROGRAMS -+ uninstall-am uninstall-sbinPROGRAMS - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. -diff --git a/grub/asmstub.c b/grub/asmstub.c -index ab95b4b..818be75 100644 ---- a/grub/asmstub.c -+++ b/grub/asmstub.c -@@ -42,6 +42,7 @@ int grub_stage2 (void); - #include - #include - #include -+#include - - #ifdef __linux__ - # include /* ioctl */ -@@ -53,6 +54,9 @@ int grub_stage2 (void); - # ifndef BLKFLSBUF - # define BLKFLSBUF _IO (0x12,97) /* flush buffer cache */ - # endif /* ! BLKFLSBUF */ -+# ifndef O_DIRECT -+# define O_DIRECT 040000 -+# endif /* ! O_DIRECT */ - #endif /* __linux__ */ - - /* We want to prevent any circularararity in our stubs, as well as -@@ -71,7 +75,7 @@ unsigned long install_partition = 0x20000; - unsigned long boot_drive = 0; - int saved_entryno = 0; - char version_string[] = VERSION; --char config_file[128] = "/boot/grub/menu.lst"; /* FIXME: arbitrary */ -+char config_file[128] = "/boot/grub/grub.conf"; /* FIXME: arbitrary */ - unsigned long linux_text_len = 0; - char *linux_data_tmp_addr = 0; - char *linux_data_real_addr = 0; -@@ -79,7 +83,7 @@ unsigned short io_map[IO_MAP_SIZE]; - struct apm_info apm_bios_info; - - /* Emulation requirements. */ --char *grub_scratch_mem = 0; -+void *grub_scratch_mem = 0; - - struct geometry *disks = 0; - -@@ -103,14 +107,73 @@ static char *serial_device = 0; - static unsigned int serial_speed; - #endif /* SIMULATE_SLOWNESS_OF_SERIAL */ - -+#ifdef GRUB_UTIL -+int get_sector_size (int drive) -+{ -+ return 0x200; -+} -+int get_sector_bits (int drive) -+{ -+ return 9; -+} -+#endif /* GRUB_UTIL */ -+ -+/* This allocates page-aligned storage of the specified size, which must be -+ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE) -+ */ -+#ifdef __linux__ -+static void * -+grub_mmap_alloc(size_t len) -+{ -+ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE; -+ -+#ifdef MAP_32BIT -+ mmap_flags |= MAP_32BIT; -+#endif -+ /* Mark the simulated stack executable, as GCC uses stack trampolines -+ * to implement nested functions. */ -+ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0); -+} -+#else /* !defined(__linux__) */ -+static void * -+grub_mmap_alloc(size_t len) -+{ -+ int fd = 0, offset = 0, ret = 0; -+ void *pa = MAP_FAILED; -+ char template[] = "/tmp/grub_mmap_alloc_XXXXXX"; -+ errno_t e; -+ -+ fd = mkstemp(template); -+ if (fd < 0) -+ return pa; -+ -+ unlink(template); -+ -+ ret = ftruncate(fd, len); -+ if (ret < 0) -+ return pa; -+ -+ /* Mark the simulated stack executable, as GCC uses stack trampolines -+ * to implement nested functions. */ -+ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, -+ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset); -+ -+ e = errno; -+ close(fd); -+ errno = e; -+ return pa; -+} -+#endif /* defined(__linux__) */ -+ - /* The main entry point into this mess. */ - int - grub_stage2 (void) - { - /* These need to be static, because they survive our stack transitions. */ - static int status = 0; -- static char *realstack; -- char *scratch, *simstack; -+ static void *realstack; -+ void *simstack_alloc_base, *simstack; -+ size_t simstack_size, page_size; - int i; - - auto void doit (void); -@@ -120,8 +183,13 @@ grub_stage2 (void) - void doit (void) - { - /* Make sure our stack lives in the simulated memory area. */ -+#ifdef __x86_64 -+ asm volatile ("movq %%rsp, %0\n\tmovq %1, %%rsp\n" -+ : "=&r" (realstack) : "r" (simstack)); -+#else - asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n" - : "=&r" (realstack) : "r" (simstack)); -+#endif - - /* Do a setjmp here for the stop command. */ - if (! setjmp (env_for_exit)) -@@ -138,13 +206,43 @@ grub_stage2 (void) - } - - /* Replace our stack before we use any local variables. */ -+#ifdef __x86_64 -+ asm volatile ("movq %0, %%rsp\n" : : "r" (realstack)); -+#else - asm volatile ("movl %0, %%esp\n" : : "r" (realstack)); -+#endif - } - - assert (grub_scratch_mem == 0); -- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15); -- assert (scratch); -- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4); -+ -+ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and -+ * make sure the memory is aligned to a multiple of the system's -+ * page size */ -+ page_size = sysconf (_SC_PAGESIZE); -+ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15); -+ if (simstack_size % page_size) -+ { -+ /* If we're not on a page_size boundary, round up to the next one */ -+ simstack_size &= ~(page_size-1); -+ simstack_size += page_size; -+ } -+ -+ /* Add one for a PROT_NONE boundary page at each end. */ -+ simstack_size += 2 * page_size; -+ -+ simstack_alloc_base = grub_mmap_alloc(simstack_size); -+ assert (simstack_alloc_base != MAP_FAILED); -+ -+ /* mark pages above and below our simstack area as innaccessable. -+ * If the implementation we're using doesn't support that, then the -+ * new protection modes are undefined. It's safe to just ignore -+ * them, though. It'd be nice if we knew that we'd get a SEGV for -+ * touching the area, but that's all. it'd be nice to have. */ -+ mprotect (simstack_alloc_base, page_size, PROT_NONE); -+ mprotect ((void *)((unsigned long)simstack_alloc_base + -+ simstack_size - page_size), page_size, PROT_NONE); -+ -+ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size); - - /* FIXME: simulate the memory holes using mprot, if available. */ - -@@ -217,7 +315,7 @@ grub_stage2 (void) - device_map = 0; - free (disks); - disks = 0; -- free (scratch); -+ munmap(simstack_alloc_base, simstack_size); - grub_scratch_mem = 0; - - if (serial_device) -@@ -699,6 +797,13 @@ console_getkey (void) - return console_translate_key (c); - } - -+/* returns modifier status */ -+int -+console_keystatus (void) -+{ -+ return 0; -+} -+ - /* returns packed values, LSB+1 is x, LSB is y */ - int - console_getxy (void) -@@ -766,7 +871,7 @@ get_diskinfo (int drive, struct geometry *geometry) - { - /* The unpartitioned device name: /dev/XdX */ - char *devname = device_map[drive]; -- char buf[512]; -+ char * buf, * buf_unaligned; - - if (! devname) - return -1; -@@ -777,13 +882,13 @@ get_diskinfo (int drive, struct geometry *geometry) - - /* Open read/write, or read-only if that failed. */ - if (! read_only) -- disks[drive].flags = open (devname, O_RDWR); -+ disks[drive].flags = open (devname, O_RDWR | O_DIRECT); - - if (disks[drive].flags == -1) - { - if (read_only || errno == EACCES || errno == EROFS || errno == EPERM) - { -- disks[drive].flags = open (devname, O_RDONLY); -+ disks[drive].flags = open (devname, O_RDONLY | O_DIRECT); - if (disks[drive].flags == -1) - { - assign_device_name (drive, 0); -@@ -797,6 +902,10 @@ get_diskinfo (int drive, struct geometry *geometry) - } - } - -+ buf_unaligned = malloc((512 * sizeof(char)) + 4095); -+ buf = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & -+ (~(4096-1))); -+ - /* Attempt to read the first sector. */ - if (read (disks[drive].flags, buf, 512) != 512) - { -@@ -808,6 +917,7 @@ get_diskinfo (int drive, struct geometry *geometry) - - if (disks[drive].flags != -1) - get_drive_geometry (&disks[drive], device_map, drive); -+ free(buf_unaligned); - } - - if (disks[drive].flags == -1) -@@ -829,24 +939,34 @@ static int - nread (int fd, char *buf, size_t len) - { - int size = len; -+ char * buf_unaligned, * buff, * obuff; -+ int ret; -+ -+ buf_unaligned = malloc((len * sizeof(char)) + 4095); -+ obuff = buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & -+ (~(4096-1))); -+ - - while (len) - { -- int ret = read (fd, buf, len); -+ ret = read (fd, buff, len); - - if (ret <= 0) - { - if (errno == EINTR) - continue; - else -- return ret; -+ break; - } - - len -= ret; -- buf += ret; -+ buff += ret; - } - -- return size; -+ if (!len) ret = size; -+ -+ buf = memcpy(buf, obuff, size); -+ return ret; - } - - /* Write LEN bytes from BUF to FD. Return less than or equal to zero if an -@@ -855,10 +975,18 @@ static int - nwrite (int fd, char *buf, size_t len) - { - int size = len; -+ char * buf_unaligned, * buff; -+ -+ buf_unaligned = malloc((len * sizeof(char)) + 4095); -+ buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & -+ (~(4096-1))); - - while (len) - { -- int ret = write (fd, buf, len); -+ int ret; -+ -+ memcpy(buff, buf, len); -+ ret = write (fd, buff, len); - - if (ret <= 0) - { -@@ -946,20 +1074,20 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, - _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo, - loff_t *, res, uint, wh); - -- offset = (loff_t) sector * (loff_t) SECTOR_SIZE; -+ offset = (loff_t) sector * (loff_t) get_sector_size(drive); - if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET)) - return -1; - } - #else - { -- off_t offset = (off_t) sector * (off_t) SECTOR_SIZE; -+ off_t offset = (off_t) sector * (off_t) get_sector_size(drive); - - if (lseek (fd, offset, SEEK_SET) != offset) - return -1; - } - #endif - -- buf = (char *) (segment << 4); -+ buf = (char *) (unsigned long) (segment << 4); - - switch (subfunc) - { -@@ -971,13 +1099,13 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, - sectors that are read together with the MBR in one read. It - should only remap the MBR, so we split the read in two - parts. -jochen */ -- if (nread (fd, buf, SECTOR_SIZE) != SECTOR_SIZE) -+ if (nread (fd, buf, get_sector_size(drive)) != get_sector_size(drive)) - return -1; -- buf += SECTOR_SIZE; -+ buf += get_sector_size(drive); - nsec--; - } - #endif -- if (nread (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) -+ if (nread (fd, buf, nsec * get_sector_size(drive)) != nsec * get_sector_size(drive)) - return -1; - break; - -@@ -987,10 +1115,10 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, - grub_printf ("Write %d sectors starting from %d sector" - " to drive 0x%x (%s)\n", - nsec, sector, drive, device_map[drive]); -- hex_dump (buf, nsec * SECTOR_SIZE); -+ hex_dump (buf, nsec * get_sector_size(drive)); - } - if (! read_only) -- if (nwrite (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) -+ if (nwrite (fd, buf, nsec * get_sector_size(drive)) != nsec * get_sector_size(drive)) - return -1; - break; - -@@ -1273,3 +1401,21 @@ hercules_setcursor (int on) - { - return 1; - } -+ -+int -+grub_load_linux (char *kernel, char *arg) -+{ -+ return 0; -+} -+ -+int -+grub_load_initrd (char *initrd) -+{ -+ return 0; -+} -+ -+int -+grub_chainloader (char *filename) -+{ -+ return 0; -+} -diff --git a/grub/efitftp.c b/grub/efitftp.c -new file mode 100644 -index 0000000..5355dec ---- /dev/null -+++ b/grub/efitftp.c -@@ -0,0 +1,34 @@ -+#include -+#include -+ -+int efi_tftp_mount (void); -+int efi_tftp_read (char *buf, int len); -+int efi_tftp_dir (char *dirname); -+void efi_tftp_close (void); -+ -+int -+efi_tftp_mount (void) -+{ -+ grub_printf("non-efi efi_tftp_mount()\n"); -+ return 0; -+} -+ -+int -+efi_tftp_read (char *addr, int size) -+{ -+ grub_printf ("non-efi efi_tftp_read (0x%x, %d)\n", (long) addr, size); -+ return 0; -+} -+ -+int -+efi_tftp_dir (char *dirname) -+{ -+ grub_printf ("non-efi efi_ftp_dir (%s)\n", dirname); -+ return 0; -+} -+ -+void -+efi_tftp_close (void) -+{ -+ grub_printf ("non-efi efi_tftp_close ()\n"); -+} -diff --git a/grub/main.c b/grub/main.c -index dfe847e..6083641 100644 ---- a/grub/main.c -+++ b/grub/main.c -@@ -140,7 +140,7 @@ main (int argc, char **argv) - program_name = argv[0]; - default_boot_drive = boot_drive; - default_install_partition = install_partition; -- if (config_file) -+ if (config_file[0]) - default_config_file = config_file; - else - default_config_file = "NONE"; -diff --git a/lib/.gitignore b/lib/.gitignore -new file mode 100644 -index 0000000..5d89f6d ---- /dev/null -+++ b/lib/.gitignore -@@ -0,0 +1,2 @@ -+Makefile.in -+.deps -diff --git a/lib/Makefile.in b/lib/Makefile.in -index 3dae206..e46d1c4 100644 ---- a/lib/Makefile.in -+++ b/lib/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -14,17 +14,11 @@ - - @SET_MAKE@ - --SOURCES = $(libcommon_a_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -42,7 +36,7 @@ subdir = lib - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -@@ -56,7 +50,7 @@ libcommon_a_LIBADD = - am_libcommon_a_OBJECTS = getopt.$(OBJEXT) getopt1.$(OBJEXT) \ - device.$(OBJEXT) - libcommon_a_OBJECTS = $(am_libcommon_a_OBJECTS) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -@@ -69,17 +63,14 @@ ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -88,18 +79,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -107,14 +96,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -128,22 +115,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -155,28 +137,39 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ - noinst_LIBRARIES = libcommon.a - AM_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/stage2 \ - -I$(top_srcdir)/stage1 -@@ -234,19 +227,18 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ - - .c.o: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` --uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -@@ -297,22 +289,21 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -373,12 +364,20 @@ info-am: - - install-data-am: - -+install-dvi: install-dvi-am -+ - install-exec-am: - -+install-html: install-html-am -+ - install-info: install-info-am - - install-man: - -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -398,18 +397,22 @@ ps: ps-am - - ps-am: - --uninstall-am: uninstall-info-am -+uninstall-am: -+ -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ -- install-data-am install-exec install-exec-am install-info \ -- install-info-am install-man install-strip installcheck \ -+ install-data-am install-dvi install-dvi-am install-exec \ -+ install-exec-am install-html install-html-am install-info \ -+ install-info-am install-man install-pdf install-pdf-am \ -+ install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ -- uninstall-am uninstall-info-am -+ uninstall-am - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. -diff --git a/lib/device.c b/lib/device.c -index d0663b3..50540bc 100644 ---- a/lib/device.c -+++ b/lib/device.c -@@ -36,6 +36,9 @@ - #include - #include - -+#define SECTOR_SIZE 0x200 -+#define SECTOR_BITS 9 -+ - #ifdef __linux__ - # if !defined(__GLIBC__) || \ - ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))) -@@ -131,6 +134,152 @@ get_kfreebsd_version () - #include - #include - -+#if defined(__linux__) -+/* The 2.6 kernel has removed all of the geometry handling for IDE drives -+ * that did fixups for LBA, etc. This means that the geometry we get -+ * with the ioctl has a good chance of being wrong. So, we get to -+ * also know about partition tables and try to read what the geometry -+ * is there. *grumble* Very closely based on code from cfdisk -+ */ -+static void get_kernel_geometry(int fd, long long *cyl, int *heads, int *sectors) { -+ struct hd_geometry hdg; -+ -+ if (ioctl (fd, HDIO_GETGEO, &hdg)) -+ return; -+ -+ *cyl = hdg.cylinders; -+ *heads = hdg.heads; -+ *sectors = hdg.sectors; -+} -+ -+struct partition { -+ unsigned char boot_ind; /* 0x80 - active */ -+ unsigned char head; /* starting head */ -+ unsigned char sector; /* starting sector */ -+ unsigned char cyl; /* starting cylinder */ -+ unsigned char sys_ind; /* What partition type */ -+ unsigned char end_head; /* end head */ -+ unsigned char end_sector; /* end sector */ -+ unsigned char end_cyl; /* end cylinder */ -+ unsigned char start4[4]; /* starting sector counting from 0 */ -+ unsigned char size4[4]; /* nr of sectors in partition */ -+}; -+ -+#define ALIGNMENT 2 -+typedef union { -+ struct { -+ unsigned char align[ALIGNMENT]; -+ unsigned char b[SECTOR_SIZE]; -+ } c; -+ struct { -+ unsigned char align[ALIGNMENT]; -+ unsigned char buffer[0x1BE]; -+ struct partition part[4]; -+ unsigned char magicflag[2]; -+ } p; -+} partition_table; -+ -+#define PART_TABLE_FLAG0 0x55 -+#define PART_TABLE_FLAG1 0xAA -+ -+static void -+get_partition_table_geometry(partition_table *bufp, long long *cyl, int *heads, -+ int *sectors) { -+ struct partition *p; -+ int i,h,s,hh,ss; -+ int first = 1; -+ int bad = 0; -+ -+ if (bufp->p.magicflag[0] != PART_TABLE_FLAG0 || -+ bufp->p.magicflag[1] != PART_TABLE_FLAG1) { -+ /* Matthew Wilcox: slightly friendlier version of -+ fatal(_("Bad signature on partition table"), 3); -+ */ -+ fprintf(stderr, "Unknown partition table signature\n"); -+ return; -+ } -+ -+ hh = ss = 0; -+ for (i=0; i<4; i++) { -+ p = &(bufp->p.part[i]); -+ if (p->sys_ind != 0) { -+ h = p->end_head + 1; -+ s = (p->end_sector & 077); -+ if (first) { -+ hh = h; -+ ss = s; -+ first = 0; -+ } else if (hh != h || ss != s) -+ bad = 1; -+ } -+ } -+ -+ if (!first && !bad) { -+ *heads = hh; -+ *sectors = ss; -+ } -+} -+ -+static long long my_lseek (unsigned int fd, long long offset, -+ unsigned int origin) -+{ -+#if defined(__linux__) && (!defined(__GLIBC__) || \ -+ ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))) -+ /* Maybe libc doesn't have large file support. */ -+ loff_t offset, result; -+ static int _llseek (uint filedes, ulong hi, ulong lo, -+ loff_t *res, uint wh); -+ _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo, -+ loff_t *, res, uint, wh); -+ -+ if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET) < 0) -+ return (long long) -1; -+ return result; -+#else -+ return lseek(fd, offset, SEEK_SET); -+#endif -+} -+ -+static void get_linux_geometry (int fd, struct geometry *geom) { -+ long long kern_cyl = 0; int kern_head = 0, kern_sectors = 0; -+ long long pt_cyl = 0; int pt_head = 0, pt_sectors = 0; -+ partition_table bufp; -+ char *buff, *buf_unaligned; -+ -+ buf_unaligned = malloc(sizeof(partition_table) + 4095); -+ buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & -+ (~(4096-1))); -+ -+ get_kernel_geometry(fd, &kern_cyl, &kern_head, &kern_sectors); -+ -+ if (my_lseek (fd, 0*SECTOR_SIZE, SEEK_SET) < 0) { -+ fprintf(stderr, "Unable to seek"); -+ } -+ -+ if (read(fd, buff, SECTOR_SIZE) == SECTOR_SIZE) { -+ memcpy(bufp.c.b, buff, SECTOR_SIZE); -+ get_partition_table_geometry(&bufp, &pt_cyl, &pt_head, &pt_sectors); -+ } else { -+ fprintf(stderr, "Unable to read partition table: %s\n", strerror(errno)); -+ } -+ -+ if (pt_head && pt_sectors) { -+ int cyl_size; -+ -+ geom->heads = pt_head; -+ geom->sectors = pt_sectors; -+ cyl_size = pt_head * pt_sectors; -+ geom->cylinders = geom->total_sectors/cyl_size; -+ } else { -+ geom->heads = kern_head; -+ geom->sectors = kern_sectors; -+ geom->cylinders = kern_cyl; -+ } -+ -+ return; -+} -+#endif -+ - /* Get the geometry of a drive DRIVE. */ - void - get_drive_geometry (struct geometry *geom, char **map, int drive) -@@ -151,21 +300,16 @@ get_drive_geometry (struct geometry *geom, char **map, int drive) - #if defined(__linux__) - /* Linux */ - { -- struct hd_geometry hdg; - unsigned long nr; -- -- if (ioctl (fd, HDIO_GETGEO, &hdg)) -- goto fail; - - if (ioctl (fd, BLKGETSIZE, &nr)) - goto fail; - - /* Got the geometry, so save it. */ -- geom->cylinders = hdg.cylinders; -- geom->heads = hdg.heads; -- geom->sectors = hdg.sectors; - geom->total_sectors = nr; -- -+ get_linux_geometry(fd, geom); -+ if (!geom->heads && !geom->cylinders && !geom->sectors) -+ goto fail; - goto success; - } - -@@ -403,10 +547,27 @@ get_dac960_disk_name (char *name, int controller, int drive) - } - - static void -+get_cciss_disk_name (char * name, int controller, int drive) -+{ -+ sprintf (name, "/dev/cciss/c%dd%d", controller, drive); -+} -+ -+static void -+get_cpqarray_disk_name (char * name, int controller, int drive) -+{ -+ sprintf (name, "/dev/ida/c%dd%d", controller, drive); -+} -+static void - get_ataraid_disk_name (char *name, int unit) - { - sprintf (name, "/dev/ataraid/d%c", unit + '0'); - } -+ -+static void -+get_i2o_disk_name (char *name, int unit) -+{ -+ sprintf (name, "/dev/i2o/hd%c", unit + 'a'); -+} - #endif - - /* Check if DEVICE can be read. If an error occurs, return zero, -@@ -490,27 +651,24 @@ check_device (const char *device) - } - - /* Read mapping information from FP, and write it to MAP. */ -+static void rdm_show_error (const char *map_file, int no, const char *msg) -+{ -+ fprintf (stderr, "%s:%d: error: %s\n", map_file, no, msg); -+} -+ -+static void rdm_show_warning (const char *map_file,int no, const char *msg, ...) -+{ -+ va_list ap; -+ -+ va_start (ap, msg); -+ fprintf (stderr, "%s:%d: warning: ", map_file, no); -+ vfprintf (stderr, msg, ap); -+ va_end (ap); -+} -+ - static int - read_device_map (FILE *fp, char **map, const char *map_file) - { -- auto void show_error (int no, const char *msg); -- auto void show_warning (int no, const char *msg, ...); -- -- auto void show_error (int no, const char *msg) -- { -- fprintf (stderr, "%s:%d: error: %s\n", map_file, no, msg); -- } -- -- auto void show_warning (int no, const char *msg, ...) -- { -- va_list ap; -- -- va_start (ap, msg); -- fprintf (stderr, "%s:%d: warning: ", map_file, no); -- vfprintf (stderr, msg, ap); -- va_end (ap); -- } -- - /* If there is the device map file, use the data in it instead of - probing devices. */ - char buf[1024]; /* XXX */ -@@ -540,14 +698,14 @@ read_device_map (FILE *fp, char **map, const char *map_file) - - if (*ptr != '(') - { -- show_error (line_number, "No open parenthesis found"); -+ rdm_show_error (map_file, line_number, "No open parenthesis found"); - return 0; - } - - ptr++; - if ((*ptr != 'f' && *ptr != 'h') || *(ptr + 1) != 'd') - { -- show_error (line_number, "Bad drive name"); -+ rdm_show_error (map_file, line_number, "Bad drive name"); - return 0; - } - -@@ -558,12 +716,12 @@ read_device_map (FILE *fp, char **map, const char *map_file) - drive = strtoul (ptr, &ptr, 10); - if (drive < 0) - { -- show_error (line_number, "Bad device number"); -+ rdm_show_error (map_file, line_number, "Bad device number"); - return 0; - } - else if (drive > 127) - { -- show_warning (line_number, -+ rdm_show_warning (map_file, line_number, - "Ignoring %cd%d due to a BIOS limitation", - is_floppy ? 'f' : 'h', drive); - continue; -@@ -574,7 +732,7 @@ read_device_map (FILE *fp, char **map, const char *map_file) - - if (*ptr != ')') - { -- show_error (line_number, "No close parenthesis found"); -+ rdm_show_error (map_file, line_number, "No close parenthesis found"); - return 0; - } - -@@ -585,7 +743,7 @@ read_device_map (FILE *fp, char **map, const char *map_file) - - if (! *ptr) - { -- show_error (line_number, "No filename found"); -+ rdm_show_error (map_file, line_number, "No filename found"); - return 0; - } - -@@ -598,7 +756,7 @@ read_device_map (FILE *fp, char **map, const char *map_file) - /* Multiple entries for a given drive is not allowed. */ - if (map[drive]) - { -- show_error (line_number, "Duplicated entry found"); -+ rdm_show_error (map_file, line_number, "Duplicated entry found"); - return 0; - } - -@@ -782,7 +940,7 @@ init_device_map (char ***map, const char *map_file, int floppy_disks) - - for (controller = 0; controller < 8; controller++) - { -- for (drive = 0; drive < 15; drive++) -+ for (drive = 0; drive < 32; drive++) - { - char name[24]; - -@@ -801,6 +959,90 @@ init_device_map (char ***map, const char *map_file, int floppy_disks) - } - } - } -+ -+ /* I2O disks. */ -+ for (i = 0; i < 8; i++) -+ { -+ char name[16]; -+ -+ get_i2o_disk_name (name, i); -+ if (check_device (name)) -+ { -+ (*map)[num_hd + 0x80] = strdup (name); -+ assert ((*map)[num_hd + 0x80]); -+ -+ /* If the device map file is opened, write the map. */ -+ if (fp) -+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); -+ -+ num_hd++; -+ } -+ } -+ -+#endif /* __linux__ */ -+ -+#ifdef __linux__ -+ /* This is for cciss - we have -+ /dev/cciss/cdp. -+ -+ cciss driver currently supports up to 8 controllers, 16 logical -+ drives, and 7 partitions. */ -+ { -+ int controller, drive; -+ -+ for (controller = 0; controller < 8; controller++) -+ { -+ for (drive = 0; drive < 16; drive++) -+ { -+ char name[24]; -+ -+ get_cciss_disk_name (name, controller, drive); -+ if (check_device (name)) -+ { -+ (*map)[num_hd + 0x80] = strdup (name); -+ assert ((*map)[num_hd + 0x80]); -+ -+ /* If the device map file is opened, write the map. */ -+ if (fp) -+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); -+ -+ num_hd++; -+ } -+ } -+ } -+ } -+#endif /* __linux__ */ -+ -+#ifdef __linux__ -+ /* This is for cpqarray - we have -+ /dev/ida/cdp. -+ -+ cpqarray driver currently supports up to 8 controllers, 16 logical -+ drives, and 15 partitions. */ -+ { -+ int controller, drive; -+ -+ for (controller = 0; controller < 8; controller++) -+ { -+ for (drive = 0; drive < 15; drive++) -+ { -+ char name[24]; -+ -+ get_cpqarray_disk_name (name, controller, drive); -+ if (check_device (name)) -+ { -+ (*map)[num_hd + 0x80] = strdup (name); -+ assert ((*map)[num_hd + 0x80]); -+ -+ /* If the device map file is opened, write the map. */ -+ if (fp) -+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); -+ -+ num_hd++; -+ } -+ } -+ } -+ } - #endif /* __linux__ */ - - /* OK, close the device map file if opened. */ -@@ -844,6 +1086,7 @@ write_to_partition (char **map, int drive, int partition, - { - char dev[PATH_MAX]; /* XXX */ - int fd; -+ off_t offset = (off_t) sector * (off_t) SECTOR_SIZE; - - if ((partition & 0x00FF00) != 0x00FF00) - { -@@ -861,44 +1104,35 @@ write_to_partition (char **map, int drive, int partition, - if (strcmp (dev + strlen(dev) - 5, "/disc") == 0) - strcpy (dev + strlen(dev) - 5, "/part"); - } -- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1); -+ -+ sprintf (dev + strlen(dev), "%s%d", -+ /* Compaq smart and others */ -+ (strncmp(dev, "/dev/ida/", 9) == 0 || -+ strncmp(dev, "/dev/ataraid/", 13) == 0 || -+ strncmp(dev, "/dev/mapper/", 12) == 0 || -+ strncmp(dev, "/dev/md", 7) == 0 || -+ strncmp(dev, "/dev/cciss/", 11) == 0 || -+ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "", -+ ((partition >> 16) & 0xFF) + 1); - - /* Open the partition. */ - fd = open (dev, O_RDWR); - if (fd < 0) - { -+ /* No partition file, pass thru and not worry about -+ * cache inconsistency. */ -+ if (errno == ENOENT) -+ return -1; - errnum = ERR_NO_PART; - return 0; - } -- --#if defined(__linux__) && (!defined(__GLIBC__) || \ -- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))) -- /* Maybe libc doesn't have large file support. */ -- { -- loff_t offset, result; -- static int _llseek (uint filedes, ulong hi, ulong lo, -- loff_t *res, uint wh); -- _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo, -- loff_t *, res, uint, wh); -- -- offset = (loff_t) sector * (loff_t) SECTOR_SIZE; -- if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET)) -- { -- errnum = ERR_DEV_VALUES; -- return 0; -- } -- } --#else -- { -- off_t offset = (off_t) sector * (off_t) SECTOR_SIZE; - -- if (lseek (fd, offset, SEEK_SET) != offset) -- { -- errnum = ERR_DEV_VALUES; -- return 0; -- } -- } --#endif -+ -+ if (my_lseek(fd, offset, SEEK_SET) != offset) -+ { -+ errnum = ERR_DEV_VALUES; -+ return 0; -+ } - - if (write (fd, buf, size * SECTOR_SIZE) != (size * SECTOR_SIZE)) - { -diff --git a/netboot/.gitignore b/netboot/.gitignore -new file mode 100644 -index 0000000..5d89f6d ---- /dev/null -+++ b/netboot/.gitignore -@@ -0,0 +1,2 @@ -+Makefile.in -+.deps -diff --git a/netboot/Makefile.in b/netboot/Makefile.in -index 75ac299..3a6a501 100644 ---- a/netboot/Makefile.in -+++ b/netboot/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -14,17 +14,11 @@ - - @SET_MAKE@ - --SOURCES = $(libdrivers_a_SOURCES) $(EXTRA_libdrivers_a_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -42,7 +36,7 @@ subdir = netboot - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -@@ -57,7 +51,7 @@ am_libdrivers_a_OBJECTS = libdrivers_a-config.$(OBJEXT) \ - libdrivers_a-misc.$(OBJEXT) libdrivers_a-pci.$(OBJEXT) \ - libdrivers_a-timer.$(OBJEXT) - libdrivers_a_OBJECTS = $(am_libdrivers_a_OBJECTS) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -@@ -70,17 +64,14 @@ ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -89,18 +80,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -108,14 +97,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -129,22 +116,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -156,28 +138,39 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ - - # For and . - INCLUDES = -I$(top_srcdir)/stage2 -I$(top_srcdir)/stage1 -@@ -349,453 +342,452 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-w89c840.Po@am__quote@ - - .c.o: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - - libdrivers_a-config.o: config.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-config.Tpo" -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-config.Tpo" "$(DEPDIR)/libdrivers_a-config.Po"; else rm -f "$(DEPDIR)/libdrivers_a-config.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.o -MD -MP -MF $(DEPDIR)/libdrivers_a-config.Tpo -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-config.Tpo $(DEPDIR)/libdrivers_a-config.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='libdrivers_a-config.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c - - libdrivers_a-config.obj: config.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-config.Tpo" -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-config.Tpo" "$(DEPDIR)/libdrivers_a-config.Po"; else rm -f "$(DEPDIR)/libdrivers_a-config.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-config.Tpo -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-config.Tpo $(DEPDIR)/libdrivers_a-config.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='libdrivers_a-config.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` - - libdrivers_a-fsys_tftp.o: fsys_tftp.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" "$(DEPDIR)/libdrivers_a-fsys_tftp.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.o -MD -MP -MF $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo $(DEPDIR)/libdrivers_a-fsys_tftp.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_tftp.c' object='libdrivers_a-fsys_tftp.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c - - libdrivers_a-fsys_tftp.obj: fsys_tftp.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" "$(DEPDIR)/libdrivers_a-fsys_tftp.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo $(DEPDIR)/libdrivers_a-fsys_tftp.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_tftp.c' object='libdrivers_a-fsys_tftp.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi` - - libdrivers_a-main.o: main.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-main.Tpo" -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-main.Tpo" "$(DEPDIR)/libdrivers_a-main.Po"; else rm -f "$(DEPDIR)/libdrivers_a-main.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.o -MD -MP -MF $(DEPDIR)/libdrivers_a-main.Tpo -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-main.Tpo $(DEPDIR)/libdrivers_a-main.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='libdrivers_a-main.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c - - libdrivers_a-main.obj: main.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-main.Tpo" -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-main.Tpo" "$(DEPDIR)/libdrivers_a-main.Po"; else rm -f "$(DEPDIR)/libdrivers_a-main.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-main.Tpo -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-main.Tpo $(DEPDIR)/libdrivers_a-main.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='libdrivers_a-main.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` - - libdrivers_a-misc.o: misc.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-misc.Tpo" -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-misc.Tpo" "$(DEPDIR)/libdrivers_a-misc.Po"; else rm -f "$(DEPDIR)/libdrivers_a-misc.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.o -MD -MP -MF $(DEPDIR)/libdrivers_a-misc.Tpo -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-misc.Tpo $(DEPDIR)/libdrivers_a-misc.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc.c' object='libdrivers_a-misc.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c - - libdrivers_a-misc.obj: misc.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-misc.Tpo" -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-misc.Tpo" "$(DEPDIR)/libdrivers_a-misc.Po"; else rm -f "$(DEPDIR)/libdrivers_a-misc.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-misc.Tpo -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-misc.Tpo $(DEPDIR)/libdrivers_a-misc.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc.c' object='libdrivers_a-misc.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` - - libdrivers_a-pci.o: pci.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci.Tpo" -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci.Tpo" "$(DEPDIR)/libdrivers_a-pci.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.o -MD -MP -MF $(DEPDIR)/libdrivers_a-pci.Tpo -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-pci.Tpo $(DEPDIR)/libdrivers_a-pci.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci.c' object='libdrivers_a-pci.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c - - libdrivers_a-pci.obj: pci.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci.Tpo" -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci.Tpo" "$(DEPDIR)/libdrivers_a-pci.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-pci.Tpo -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-pci.Tpo $(DEPDIR)/libdrivers_a-pci.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci.c' object='libdrivers_a-pci.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi` - - libdrivers_a-timer.o: timer.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-timer.Tpo" -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-timer.Tpo" "$(DEPDIR)/libdrivers_a-timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-timer.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.o -MD -MP -MF $(DEPDIR)/libdrivers_a-timer.Tpo -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-timer.Tpo $(DEPDIR)/libdrivers_a-timer.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='timer.c' object='libdrivers_a-timer.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c - - libdrivers_a-timer.obj: timer.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-timer.Tpo" -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-timer.Tpo" "$(DEPDIR)/libdrivers_a-timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-timer.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-timer.Tpo -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-timer.Tpo $(DEPDIR)/libdrivers_a-timer.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='timer.c' object='libdrivers_a-timer.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi` - - libdrivers_a-3c509.o: 3c509.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c509.Tpo" -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c509.Tpo" "$(DEPDIR)/libdrivers_a-3c509.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c509.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.o -MD -MP -MF $(DEPDIR)/libdrivers_a-3c509.Tpo -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c509.Tpo $(DEPDIR)/libdrivers_a-3c509.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c509.c' object='libdrivers_a-3c509.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c - - libdrivers_a-3c509.obj: 3c509.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c509.Tpo" -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c509.Tpo" "$(DEPDIR)/libdrivers_a-3c509.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c509.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-3c509.Tpo -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c509.Tpo $(DEPDIR)/libdrivers_a-3c509.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c509.c' object='libdrivers_a-3c509.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi` - - libdrivers_a-3c595.o: 3c595.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c595.Tpo" -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c595.Tpo" "$(DEPDIR)/libdrivers_a-3c595.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c595.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.o -MD -MP -MF $(DEPDIR)/libdrivers_a-3c595.Tpo -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c595.Tpo $(DEPDIR)/libdrivers_a-3c595.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c595.c' object='libdrivers_a-3c595.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c - - libdrivers_a-3c595.obj: 3c595.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c595.Tpo" -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c595.Tpo" "$(DEPDIR)/libdrivers_a-3c595.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c595.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-3c595.Tpo -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c595.Tpo $(DEPDIR)/libdrivers_a-3c595.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c595.c' object='libdrivers_a-3c595.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi` - - libdrivers_a-3c90x.o: 3c90x.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c90x.Tpo" -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo" "$(DEPDIR)/libdrivers_a-3c90x.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.o -MD -MP -MF $(DEPDIR)/libdrivers_a-3c90x.Tpo -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c90x.Tpo $(DEPDIR)/libdrivers_a-3c90x.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c90x.c' object='libdrivers_a-3c90x.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c - - libdrivers_a-3c90x.obj: 3c90x.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c90x.Tpo" -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo" "$(DEPDIR)/libdrivers_a-3c90x.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-3c90x.Tpo -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c90x.Tpo $(DEPDIR)/libdrivers_a-3c90x.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c90x.c' object='libdrivers_a-3c90x.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi` - - libdrivers_a-cs89x0.o: cs89x0.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" "$(DEPDIR)/libdrivers_a-cs89x0.Po"; else rm -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.o -MD -MP -MF $(DEPDIR)/libdrivers_a-cs89x0.Tpo -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-cs89x0.Tpo $(DEPDIR)/libdrivers_a-cs89x0.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cs89x0.c' object='libdrivers_a-cs89x0.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c - - libdrivers_a-cs89x0.obj: cs89x0.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" "$(DEPDIR)/libdrivers_a-cs89x0.Po"; else rm -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-cs89x0.Tpo -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-cs89x0.Tpo $(DEPDIR)/libdrivers_a-cs89x0.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cs89x0.c' object='libdrivers_a-cs89x0.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi` - - libdrivers_a-davicom.o: davicom.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-davicom.Tpo" -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-davicom.Tpo" "$(DEPDIR)/libdrivers_a-davicom.Po"; else rm -f "$(DEPDIR)/libdrivers_a-davicom.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.o -MD -MP -MF $(DEPDIR)/libdrivers_a-davicom.Tpo -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-davicom.Tpo $(DEPDIR)/libdrivers_a-davicom.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='davicom.c' object='libdrivers_a-davicom.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c - - libdrivers_a-davicom.obj: davicom.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-davicom.Tpo" -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-davicom.Tpo" "$(DEPDIR)/libdrivers_a-davicom.Po"; else rm -f "$(DEPDIR)/libdrivers_a-davicom.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-davicom.Tpo -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-davicom.Tpo $(DEPDIR)/libdrivers_a-davicom.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='davicom.c' object='libdrivers_a-davicom.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi` - - libdrivers_a-depca.o: depca.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-depca.Tpo" -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-depca.Tpo" "$(DEPDIR)/libdrivers_a-depca.Po"; else rm -f "$(DEPDIR)/libdrivers_a-depca.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.o -MD -MP -MF $(DEPDIR)/libdrivers_a-depca.Tpo -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-depca.Tpo $(DEPDIR)/libdrivers_a-depca.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='depca.c' object='libdrivers_a-depca.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c - - libdrivers_a-depca.obj: depca.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-depca.Tpo" -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-depca.Tpo" "$(DEPDIR)/libdrivers_a-depca.Po"; else rm -f "$(DEPDIR)/libdrivers_a-depca.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-depca.Tpo -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-depca.Tpo $(DEPDIR)/libdrivers_a-depca.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='depca.c' object='libdrivers_a-depca.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi` - - libdrivers_a-eepro.o: eepro.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro.Tpo" -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro.Tpo" "$(DEPDIR)/libdrivers_a-eepro.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.o -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro.Tpo -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro.Tpo $(DEPDIR)/libdrivers_a-eepro.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro.c' object='libdrivers_a-eepro.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c - - libdrivers_a-eepro.obj: eepro.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro.Tpo" -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro.Tpo" "$(DEPDIR)/libdrivers_a-eepro.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro.Tpo -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro.Tpo $(DEPDIR)/libdrivers_a-eepro.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro.c' object='libdrivers_a-eepro.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi` - - libdrivers_a-eepro100.o: eepro100.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro100.Tpo" -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo" "$(DEPDIR)/libdrivers_a-eepro100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.o -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro100.Tpo -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro100.Tpo $(DEPDIR)/libdrivers_a-eepro100.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro100.c' object='libdrivers_a-eepro100.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c - - libdrivers_a-eepro100.obj: eepro100.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro100.Tpo" -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo" "$(DEPDIR)/libdrivers_a-eepro100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro100.Tpo -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro100.Tpo $(DEPDIR)/libdrivers_a-eepro100.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro100.c' object='libdrivers_a-eepro100.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi` - - libdrivers_a-epic100.o: epic100.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-epic100.Tpo" -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-epic100.Tpo" "$(DEPDIR)/libdrivers_a-epic100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-epic100.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.o -MD -MP -MF $(DEPDIR)/libdrivers_a-epic100.Tpo -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-epic100.Tpo $(DEPDIR)/libdrivers_a-epic100.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='epic100.c' object='libdrivers_a-epic100.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c - - libdrivers_a-epic100.obj: epic100.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-epic100.Tpo" -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-epic100.Tpo" "$(DEPDIR)/libdrivers_a-epic100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-epic100.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-epic100.Tpo -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-epic100.Tpo $(DEPDIR)/libdrivers_a-epic100.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='epic100.c' object='libdrivers_a-epic100.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi` - - libdrivers_a-fa311.o: fa311.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-fa311.Tpo" -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fa311.Tpo" "$(DEPDIR)/libdrivers_a-fa311.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fa311.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.o -MD -MP -MF $(DEPDIR)/libdrivers_a-fa311.Tpo -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fa311.Tpo $(DEPDIR)/libdrivers_a-fa311.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fa311.c' object='libdrivers_a-fa311.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c - - libdrivers_a-fa311.obj: fa311.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-fa311.Tpo" -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fa311.Tpo" "$(DEPDIR)/libdrivers_a-fa311.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fa311.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-fa311.Tpo -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fa311.Tpo $(DEPDIR)/libdrivers_a-fa311.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fa311.c' object='libdrivers_a-fa311.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi` - - libdrivers_a-i82586.o: i82586.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-i82586.Tpo" -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i82586.Tpo" "$(DEPDIR)/libdrivers_a-i82586.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i82586.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.o -MD -MP -MF $(DEPDIR)/libdrivers_a-i82586.Tpo -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-i82586.Tpo $(DEPDIR)/libdrivers_a-i82586.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i82586.c' object='libdrivers_a-i82586.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c - - libdrivers_a-i82586.obj: i82586.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-i82586.Tpo" -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i82586.Tpo" "$(DEPDIR)/libdrivers_a-i82586.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i82586.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-i82586.Tpo -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-i82586.Tpo $(DEPDIR)/libdrivers_a-i82586.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i82586.c' object='libdrivers_a-i82586.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi` - - libdrivers_a-lance.o: lance.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-lance.Tpo" -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-lance.Tpo" "$(DEPDIR)/libdrivers_a-lance.Po"; else rm -f "$(DEPDIR)/libdrivers_a-lance.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.o -MD -MP -MF $(DEPDIR)/libdrivers_a-lance.Tpo -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-lance.Tpo $(DEPDIR)/libdrivers_a-lance.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lance.c' object='libdrivers_a-lance.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c - - libdrivers_a-lance.obj: lance.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-lance.Tpo" -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-lance.Tpo" "$(DEPDIR)/libdrivers_a-lance.Po"; else rm -f "$(DEPDIR)/libdrivers_a-lance.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-lance.Tpo -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-lance.Tpo $(DEPDIR)/libdrivers_a-lance.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lance.c' object='libdrivers_a-lance.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi` - - libdrivers_a-natsemi.o: natsemi.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-natsemi.Tpo" -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo" "$(DEPDIR)/libdrivers_a-natsemi.Po"; else rm -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.o -MD -MP -MF $(DEPDIR)/libdrivers_a-natsemi.Tpo -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-natsemi.Tpo $(DEPDIR)/libdrivers_a-natsemi.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='natsemi.c' object='libdrivers_a-natsemi.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c - - libdrivers_a-natsemi.obj: natsemi.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-natsemi.Tpo" -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo" "$(DEPDIR)/libdrivers_a-natsemi.Po"; else rm -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-natsemi.Tpo -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-natsemi.Tpo $(DEPDIR)/libdrivers_a-natsemi.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='natsemi.c' object='libdrivers_a-natsemi.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi` - - libdrivers_a-ni5010.o: ni5010.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ni5010.Tpo" -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo" "$(DEPDIR)/libdrivers_a-ni5010.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.o -MD -MP -MF $(DEPDIR)/libdrivers_a-ni5010.Tpo -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ni5010.Tpo $(DEPDIR)/libdrivers_a-ni5010.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ni5010.c' object='libdrivers_a-ni5010.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c - - libdrivers_a-ni5010.obj: ni5010.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ni5010.Tpo" -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo" "$(DEPDIR)/libdrivers_a-ni5010.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-ni5010.Tpo -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ni5010.Tpo $(DEPDIR)/libdrivers_a-ni5010.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ni5010.c' object='libdrivers_a-ni5010.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi` - - libdrivers_a-ns8390.o: ns8390.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns8390.Tpo" -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo" "$(DEPDIR)/libdrivers_a-ns8390.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.o -MD -MP -MF $(DEPDIR)/libdrivers_a-ns8390.Tpo -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ns8390.Tpo $(DEPDIR)/libdrivers_a-ns8390.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns8390.c' object='libdrivers_a-ns8390.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c - - libdrivers_a-ns8390.obj: ns8390.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns8390.Tpo" -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo" "$(DEPDIR)/libdrivers_a-ns8390.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-ns8390.Tpo -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ns8390.Tpo $(DEPDIR)/libdrivers_a-ns8390.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns8390.c' object='libdrivers_a-ns8390.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi` - - libdrivers_a-otulip.o: otulip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-otulip.Tpo" -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-otulip.Tpo" "$(DEPDIR)/libdrivers_a-otulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-otulip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.o -MD -MP -MF $(DEPDIR)/libdrivers_a-otulip.Tpo -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-otulip.Tpo $(DEPDIR)/libdrivers_a-otulip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='otulip.c' object='libdrivers_a-otulip.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c - - libdrivers_a-otulip.obj: otulip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-otulip.Tpo" -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-otulip.Tpo" "$(DEPDIR)/libdrivers_a-otulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-otulip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-otulip.Tpo -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-otulip.Tpo $(DEPDIR)/libdrivers_a-otulip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='otulip.c' object='libdrivers_a-otulip.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi` - - libdrivers_a-rtl8139.o: rtl8139.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" "$(DEPDIR)/libdrivers_a-rtl8139.Po"; else rm -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.o -MD -MP -MF $(DEPDIR)/libdrivers_a-rtl8139.Tpo -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-rtl8139.Tpo $(DEPDIR)/libdrivers_a-rtl8139.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtl8139.c' object='libdrivers_a-rtl8139.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c - - libdrivers_a-rtl8139.obj: rtl8139.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" "$(DEPDIR)/libdrivers_a-rtl8139.Po"; else rm -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-rtl8139.Tpo -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-rtl8139.Tpo $(DEPDIR)/libdrivers_a-rtl8139.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtl8139.c' object='libdrivers_a-rtl8139.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi` - - libdrivers_a-sis900.o: sis900.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-sis900.Tpo" -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sis900.Tpo" "$(DEPDIR)/libdrivers_a-sis900.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sis900.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.o -MD -MP -MF $(DEPDIR)/libdrivers_a-sis900.Tpo -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sis900.Tpo $(DEPDIR)/libdrivers_a-sis900.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sis900.c' object='libdrivers_a-sis900.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c - - libdrivers_a-sis900.obj: sis900.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-sis900.Tpo" -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sis900.Tpo" "$(DEPDIR)/libdrivers_a-sis900.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sis900.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-sis900.Tpo -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sis900.Tpo $(DEPDIR)/libdrivers_a-sis900.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sis900.c' object='libdrivers_a-sis900.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi` - - libdrivers_a-sk_g16.o: sk_g16.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" "$(DEPDIR)/libdrivers_a-sk_g16.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.o -MD -MP -MF $(DEPDIR)/libdrivers_a-sk_g16.Tpo -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sk_g16.Tpo $(DEPDIR)/libdrivers_a-sk_g16.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sk_g16.c' object='libdrivers_a-sk_g16.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c - - libdrivers_a-sk_g16.obj: sk_g16.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" "$(DEPDIR)/libdrivers_a-sk_g16.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-sk_g16.Tpo -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sk_g16.Tpo $(DEPDIR)/libdrivers_a-sk_g16.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sk_g16.c' object='libdrivers_a-sk_g16.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi` - - libdrivers_a-smc9000.o: smc9000.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-smc9000.Tpo" -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo" "$(DEPDIR)/libdrivers_a-smc9000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.o -MD -MP -MF $(DEPDIR)/libdrivers_a-smc9000.Tpo -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-smc9000.Tpo $(DEPDIR)/libdrivers_a-smc9000.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smc9000.c' object='libdrivers_a-smc9000.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c - - libdrivers_a-smc9000.obj: smc9000.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-smc9000.Tpo" -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo" "$(DEPDIR)/libdrivers_a-smc9000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-smc9000.Tpo -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-smc9000.Tpo $(DEPDIR)/libdrivers_a-smc9000.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smc9000.c' object='libdrivers_a-smc9000.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi` - - libdrivers_a-tiara.o: tiara.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tiara.Tpo" -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tiara.Tpo" "$(DEPDIR)/libdrivers_a-tiara.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tiara.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.o -MD -MP -MF $(DEPDIR)/libdrivers_a-tiara.Tpo -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tiara.Tpo $(DEPDIR)/libdrivers_a-tiara.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tiara.c' object='libdrivers_a-tiara.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c - - libdrivers_a-tiara.obj: tiara.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tiara.Tpo" -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tiara.Tpo" "$(DEPDIR)/libdrivers_a-tiara.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tiara.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-tiara.Tpo -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tiara.Tpo $(DEPDIR)/libdrivers_a-tiara.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tiara.c' object='libdrivers_a-tiara.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi` - - libdrivers_a-tlan.o: tlan.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tlan.Tpo" -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tlan.Tpo" "$(DEPDIR)/libdrivers_a-tlan.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tlan.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.o -MD -MP -MF $(DEPDIR)/libdrivers_a-tlan.Tpo -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tlan.Tpo $(DEPDIR)/libdrivers_a-tlan.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tlan.c' object='libdrivers_a-tlan.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c - - libdrivers_a-tlan.obj: tlan.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tlan.Tpo" -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tlan.Tpo" "$(DEPDIR)/libdrivers_a-tlan.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tlan.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-tlan.Tpo -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tlan.Tpo $(DEPDIR)/libdrivers_a-tlan.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tlan.c' object='libdrivers_a-tlan.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi` - - libdrivers_a-tulip.o: tulip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tulip.Tpo" -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tulip.Tpo" "$(DEPDIR)/libdrivers_a-tulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tulip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.o -MD -MP -MF $(DEPDIR)/libdrivers_a-tulip.Tpo -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tulip.Tpo $(DEPDIR)/libdrivers_a-tulip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tulip.c' object='libdrivers_a-tulip.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c - - libdrivers_a-tulip.obj: tulip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tulip.Tpo" -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tulip.Tpo" "$(DEPDIR)/libdrivers_a-tulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tulip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-tulip.Tpo -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tulip.Tpo $(DEPDIR)/libdrivers_a-tulip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tulip.c' object='libdrivers_a-tulip.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi` - - libdrivers_a-via-rhine.o: via-rhine.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" "$(DEPDIR)/libdrivers_a-via-rhine.Po"; else rm -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.o -MD -MP -MF $(DEPDIR)/libdrivers_a-via-rhine.Tpo -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-via-rhine.Tpo $(DEPDIR)/libdrivers_a-via-rhine.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='via-rhine.c' object='libdrivers_a-via-rhine.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c - - libdrivers_a-via-rhine.obj: via-rhine.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" "$(DEPDIR)/libdrivers_a-via-rhine.Po"; else rm -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-via-rhine.Tpo -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-via-rhine.Tpo $(DEPDIR)/libdrivers_a-via-rhine.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='via-rhine.c' object='libdrivers_a-via-rhine.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi` - - libdrivers_a-w89c840.o: w89c840.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-w89c840.Tpo" -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo" "$(DEPDIR)/libdrivers_a-w89c840.Po"; else rm -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.o -MD -MP -MF $(DEPDIR)/libdrivers_a-w89c840.Tpo -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-w89c840.Tpo $(DEPDIR)/libdrivers_a-w89c840.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='w89c840.c' object='libdrivers_a-w89c840.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c - - libdrivers_a-w89c840.obj: w89c840.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-w89c840.Tpo" -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo" "$(DEPDIR)/libdrivers_a-w89c840.Po"; else rm -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-w89c840.Tpo -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-w89c840.Tpo $(DEPDIR)/libdrivers_a-w89c840.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='w89c840.c' object='libdrivers_a-w89c840.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi` --uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -@@ -846,22 +838,21 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -922,12 +913,20 @@ info-am: - - install-data-am: - -+install-dvi: install-dvi-am -+ - install-exec-am: - -+install-html: install-html-am -+ - install-info: install-info-am - - install-man: - -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -947,18 +946,22 @@ ps: ps-am - - ps-am: - --uninstall-am: uninstall-info-am -+uninstall-am: -+ -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ -- install-data-am install-exec install-exec-am install-info \ -- install-info-am install-man install-strip installcheck \ -+ install-data-am install-dvi install-dvi-am install-exec \ -+ install-exec-am install-html install-html-am install-info \ -+ install-info-am install-man install-pdf install-pdf-am \ -+ install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ -- uninstall-am uninstall-info-am -+ uninstall-am - - - # Is it really necessary to specify dependecies explicitly? -diff --git a/netboot/etherboot.h b/netboot/etherboot.h -index 74ca16f..9c02b25 100644 ---- a/netboot/etherboot.h -+++ b/netboot/etherboot.h -@@ -246,7 +246,7 @@ Author: Martin Renters - - typedef struct - { -- unsigned long s_addr; -+ unsigned int s_addr; - } - in_addr; - -@@ -302,7 +302,7 @@ struct bootp_t - char bp_htype; - char bp_hlen; - char bp_hops; -- unsigned long bp_xid; -+ unsigned int bp_xid; - unsigned short bp_secs; - unsigned short unused; - in_addr bp_ciaddr; -@@ -411,25 +411,25 @@ struct rpc_t - - struct - { -- long id; -- long type; -- long rpcvers; -- long prog; -- long vers; -- long proc; -- long data[1]; -+ int id; -+ int type; -+ int rpcvers; -+ int prog; -+ int vers; -+ int proc; -+ int data[1]; - } - call; - - struct - { -- long id; -- long type; -- long rstatus; -- long verifier; -- long v2; -- long astatus; -- long data[1]; -+ int id; -+ int type; -+ int rstatus; -+ int verifier; -+ int v2; -+ int astatus; -+ int data[1]; - } - reply; - } -@@ -531,9 +531,7 @@ extern int ip_abort; - extern int network_ready; - extern struct rom_info rom; - extern struct arptable_t arptable[MAX_ARP]; --extern struct bootpd_t bootp_data; - #define BOOTP_DATA_ADDR (&bootp_data) --extern unsigned char *end_of_rfc1533; - - /* config.c */ - extern struct nic nic; -diff --git a/netboot/main.c b/netboot/main.c -index 82759b6..b8ba920 100644 ---- a/netboot/main.c -+++ b/netboot/main.c -@@ -53,9 +53,9 @@ int network_ready = 0; - struct rom_info rom; - - static int vendorext_isvalid; --static unsigned long netmask; -+static unsigned int netmask; - static struct bootpd_t bootp_data; --static unsigned long xid; -+static unsigned int xid; - static unsigned char *end_of_rfc1533 = NULL; - - #ifndef NO_DHCP_SUPPORT -@@ -773,7 +773,7 @@ await_reply (int type, int ival, void *ptr, int timeout) - if (nic.packetlen >= ETH_HLEN + sizeof (struct arprequest) - && ptype == ARP) - { -- unsigned long tmp; -+ unsigned int tmp; - - arpreply = (struct arprequest *) &nic.packet[ETH_HLEN]; - -diff --git a/netboot/misc.c b/netboot/misc.c -index 28614fd..6ea9a8e 100644 ---- a/netboot/misc.c -+++ b/netboot/misc.c -@@ -21,6 +21,7 @@ - - #define GRUB 1 - #include -+#include - - void - sleep (int secs) -@@ -71,9 +72,10 @@ PRINTF and friends - Note: width specification not supported - **************************************************************************/ - static int --etherboot_vsprintf (char *buf, const char *fmt, const int *dp) -+etherboot_vsprintf (char *buf, const char *fmt, va_list args) - { - char *p, *s; -+ int n; - - s = buf; - for ( ; *fmt != '\0'; ++fmt) -@@ -86,7 +88,7 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) - - if (*++fmt == 's') - { -- for (p = (char *) *dp++; *p != '\0'; p++) -+ for (p = va_arg (args, char *); *p != '\0'; p++) - buf ? *s++ = *p : grub_putchar (*p); - } - else -@@ -120,46 +122,44 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) - */ - if ((*fmt | 0x20) == 'x') - { -- /* With x86 gcc, sizeof(long) == sizeof(int) */ -- const long *lp = (const long *) dp; -- long h = *lp++; - int ncase = (*fmt & 0x20); -+ -+ n = va_arg (args, int); - -- dp = (const int *) lp; - if (alt) - { - *q++ = '0'; - *q++ = 'X' | ncase; - } - for (; shift >= 0; shift -= 4) -- *q++ = "0123456789ABCDEF"[(h >> shift) & 0xF] | ncase; -+ *q++ = "0123456789ABCDEF"[(n >> shift) & 0xF] | ncase; - } - else if (*fmt == 'd') - { -- int i = *dp++; - char *r; -- -- if (i < 0) -+ -+ n = va_arg (args, int); -+ if (n < 0) - { - *q++ = '-'; -- i = -i; -+ n = -n; - } - - p = q; /* save beginning of digits */ - do - { -- *q++ = '0' + (i % 10); -- i /= 10; -+ *q++ = '0' + (n % 10); -+ n /= 10; - } -- while (i); -+ while (n); - - /* reverse digits, stop in middle */ - r = q; /* don't alter q */ - while (--r > p) - { -- i = *r; -+ n = *r; - *r = *p; -- *p++ = i; -+ *p++ = n; - } - } - else if (*fmt == '@') -@@ -167,14 +167,12 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) - unsigned char *r; - union - { -- long l; -+ int l; - unsigned char c[4]; - } - u; -- const long *lp = (const long *) dp; - -- u.l = *lp++; -- dp = (const int *) lp; -+ u.l = va_arg (args, int); - - for (r = &u.c[0]; r < &u.c[4]; ++r) - q += etherboot_sprintf (q, "%d.", *r); -@@ -184,15 +182,15 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) - else if (*fmt == '!') - { - char *r; -- p = (char *) *dp++; -- -+ -+ p = va_arg (args, char *); - for (r = p + ETH_ALEN; p < r; ++p) - q += etherboot_sprintf (q, "%hhX:", *p); - - --q; - } - else if (*fmt == 'c') -- *q++ = *dp++; -+ *q++ = va_arg (args, int); - else - *q++ = *fmt; - -@@ -211,13 +209,23 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) - int - etherboot_sprintf (char *buf, const char *fmt, ...) - { -- return etherboot_vsprintf (buf, fmt, ((const int *) &fmt) + 1); -+ va_list ap; -+ int ret; -+ -+ va_start (ap, fmt); -+ ret = etherboot_vsprintf (buf, fmt, ap); -+ va_end (ap); -+ return ret; - } - - void - etherboot_printf (const char *fmt, ...) - { -- (void) etherboot_vsprintf (0, fmt, ((const int *) &fmt) + 1); -+ va_list ap; -+ -+ va_start (ap, fmt); -+ (void) etherboot_vsprintf (0, fmt, ap); -+ va_end (ap); - } - - int -diff --git a/netboot/osdep.h b/netboot/osdep.h -index 57218bf..881141b 100644 ---- a/netboot/osdep.h -+++ b/netboot/osdep.h -@@ -21,10 +21,10 @@ - #elif defined(__LITTLE_ENDIAN) - # if !defined(__constant_htonl) - # define __constant_htonl(x) \ -- ((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) | \ -- (((unsigned long int)(x) & 0x0000ff00U) << 8) | \ -- (((unsigned long int)(x) & 0x00ff0000U) >> 8) | \ -- (((unsigned long int)(x) & 0xff000000U) >> 24))) -+ ((unsigned int)((((unsigned int)(x) & 0x000000ffU) << 24) | \ -+ (((unsigned int)(x) & 0x0000ff00U) << 8) | \ -+ (((unsigned int)(x) & 0x00ff0000U) >> 8) | \ -+ (((unsigned int)(x) & 0xff000000U) >> 24))) - # endif - # if !defined(__constant_htons) - # define __constant_htons(x) \ -@@ -36,11 +36,11 @@ - #endif - - #define ntohl(x) \ --(__builtin_constant_p(x) ? \ -+(__builtin_constant_p((unsigned int)x) ? \ - __constant_htonl((x)) : \ - __swap32(x)) - #define htonl(x) \ --(__builtin_constant_p(x) ? \ -+(__builtin_constant_p((unsigned int)x) ? \ - __constant_htonl((x)) : \ - __swap32(x)) - #define ntohs(x) \ -@@ -52,21 +52,29 @@ - __constant_htons((x)) : \ - __swap16(x)) - --static inline unsigned long int __swap32(unsigned long int x) -+static inline unsigned int __swap32(unsigned int x) - { -+#ifdef PLATFORM_EFI -+ __asm__("bswapl %0" : "=r" (x) : "0" (x)); -+#else - __asm__("xchgb %b0,%h0\n\t" - "rorl $16,%0\n\t" - "xchgb %b0,%h0" - : "=q" (x) - : "0" (x)); -+#endif - return x; - } - - static inline unsigned short int __swap16(unsigned short int x) - { -+#ifdef PLATFORM_EFI -+ return __constant_htons(x); -+#else - __asm__("xchgb %b0,%h0" - : "=q" (x) - : "0" (x)); -+#endif - return x; - } - -@@ -76,7 +84,7 @@ static inline unsigned short int __swap16(unsigned short int x) - - #include "linux-asm-io.h" - --typedef unsigned long Address; -+typedef unsigned int Address; - - /* ANSI prototyping macro */ - #ifdef __STDC__ -diff --git a/stage1/.gitignore b/stage1/.gitignore -new file mode 100644 -index 0000000..5d89f6d ---- /dev/null -+++ b/stage1/.gitignore -@@ -0,0 +1,2 @@ -+Makefile.in -+.deps -diff --git a/stage1/Makefile.am b/stage1/Makefile.am -index 0afc285..cbae397 100644 ---- a/stage1/Makefile.am -+++ b/stage1/Makefile.am -@@ -1,11 +1,14 @@ --pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) --nodist_pkglib_DATA = stage1 -- --CLEANFILES = $(nodist_pkglib_DATA) -+pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) - - # We can't use builtins or standard includes. - AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc --LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 -+LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 -+ -+if !PLATFORM_EFI -+ -+nodist_pkgdata_DATA = stage1 -+ -+CLEANFILES = $(nodist_pkgdata_DATA) - - noinst_PROGRAMS = stage1.exec - stage1_exec_SOURCES = stage1.S stage1.h -@@ -13,3 +16,5 @@ stage1_exec_SOURCES = stage1.S stage1.h - SUFFIXES = .exec - .exec: - $(OBJCOPY) -O binary $< $@ -+ -+endif -diff --git a/stage1/Makefile.in b/stage1/Makefile.in -index 7134bdf..c7e251b 100644 ---- a/stage1/Makefile.in -+++ b/stage1/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,16 +15,10 @@ - @SET_MAKE@ - - --SOURCES = $(stage1_exec_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ --pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -43,7 +37,7 @@ subdir = stage1 - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -@@ -53,8 +47,11 @@ PROGRAMS = $(noinst_PROGRAMS) - am_stage1_exec_OBJECTS = stage1.$(OBJEXT) - stage1_exec_OBJECTS = $(am_stage1_exec_OBJECTS) - stage1_exec_LDADD = $(LDADD) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) --CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ -+depcomp = $(SHELL) $(top_srcdir)/depcomp -+am__depfiles_maybe = depfiles -+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) - CCLD = $(CC) -@@ -67,25 +64,22 @@ am__vpath_adj = case $$p in \ - *) f=$$p;; \ - esac; - am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; --am__installdirs = "$(DESTDIR)$(pkglibdir)" --nodist_pkglibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(nodist_pkglib_DATA) -+am__installdirs = "$(DESTDIR)$(pkgdatadir)" -+nodist_pkgdataDATA_INSTALL = $(INSTALL_DATA) -+DATA = $(nodist_pkgdata_DATA) - ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) --pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -94,33 +88,29 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ --LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 -+LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -134,22 +124,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -161,30 +146,41 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ --nodist_pkglib_DATA = stage1 --CLEANFILES = $(nodist_pkglib_DATA) -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ -+nodist_pkgdata_DATA = stage1 -+CLEANFILES = $(nodist_pkgdata_DATA) - - # We can't use builtins or standard includes. - AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc -@@ -228,7 +224,7 @@ clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - stage1.exec$(EXEEXT): $(stage1_exec_OBJECTS) $(stage1_exec_DEPENDENCIES) - @rm -f stage1.exec$(EXEEXT) -- $(LINK) $(stage1_exec_LDFLAGS) $(stage1_exec_OBJECTS) $(stage1_exec_LDADD) $(LIBS) -+ $(LINK) $(stage1_exec_OBJECTS) $(stage1_exec_LDADD) $(LIBS) - - mostlyclean-compile: - -rm -f *.$(OBJEXT) -@@ -236,28 +232,37 @@ mostlyclean-compile: - distclean-compile: - -rm -f *.tab.c - -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1.Po@am__quote@ -+ - .S.o: -- $(CCASCOMPILE) -c $< -+@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< - - .S.obj: -- $(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` --uninstall-info-am: --install-nodist_pkglibDATA: $(nodist_pkglib_DATA) -+@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -+install-nodist_pkgdataDATA: $(nodist_pkgdata_DATA) - @$(NORMAL_INSTALL) -- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)" -- @list='$(nodist_pkglib_DATA)'; for p in $$list; do \ -+ test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" -+ @list='$(nodist_pkgdata_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ -- echo " $(nodist_pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \ -- $(nodist_pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \ -+ echo " $(nodist_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ -+ $(nodist_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ - done - --uninstall-nodist_pkglibDATA: -+uninstall-nodist_pkgdataDATA: - @$(NORMAL_UNINSTALL) -- @list='$(nodist_pkglib_DATA)'; for p in $$list; do \ -+ @list='$(nodist_pkgdata_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ -- echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ -- rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ -+ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ - done - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -@@ -309,22 +314,21 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -339,8 +343,8 @@ check-am: all-am - check: check-am - all-am: Makefile $(PROGRAMS) $(DATA) - installdirs: -- for dir in "$(DESTDIR)$(pkglibdir)"; do \ -- test -z "$$dir" || $(mkdir_p) "$$dir"; \ -+ for dir in "$(DESTDIR)$(pkgdatadir)"; do \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: install-am - install-exec: install-exec-am -@@ -372,6 +376,7 @@ clean: clean-am - clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am - - distclean: distclean-am -+ -rm -rf ./$(DEPDIR) - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags -@@ -386,17 +391,26 @@ info: info-am - - info-am: - --install-data-am: -+install-data-am: install-nodist_pkgdataDATA -+ -+install-dvi: install-dvi-am - --install-exec-am: install-nodist_pkglibDATA -+install-exec-am: -+ -+install-html: install-html-am - - install-info: install-info-am - - install-man: - -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -+ -rm -rf ./$(DEPDIR) - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - -@@ -412,19 +426,22 @@ ps: ps-am - - ps-am: - --uninstall-am: uninstall-info-am uninstall-nodist_pkglibDATA -+uninstall-am: uninstall-nodist_pkgdataDATA -+ -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstPROGRAMS ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ -- install-data-am install-exec install-exec-am install-info \ -- install-info-am install-man install-nodist_pkglibDATA \ -+ install-data-am install-dvi install-dvi-am install-exec \ -+ install-exec-am install-html install-html-am install-info \ -+ install-info-am install-man install-nodist_pkgdataDATA \ -+ install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ -- tags uninstall uninstall-am uninstall-info-am \ -- uninstall-nodist_pkglibDATA -+ tags uninstall uninstall-am uninstall-nodist_pkgdataDATA - - .exec: - $(OBJCOPY) -O binary $< $@ -diff --git a/stage1/stage1.S b/stage1/stage1.S -index 985963d..3a896be 100644 ---- a/stage1/stage1.S -+++ b/stage1/stage1.S -@@ -31,6 +31,8 @@ - - /* Print message string */ - #define MSG(x) movw $ABS(x), %si; call message -+ /* Print verbose message string */ -+#define VMSG(x) - - /* XXX: binutils-2.9.1.0.x doesn't produce a short opcode for this. */ - #define MOV_MEM_TO_AL(x) .byte 0xa0; .word x -@@ -151,7 +153,7 @@ real_start: - pushw %dx - - /* print a notification message on the screen */ -- MSG(notification_string) -+ VMSG(notification_string) - - /* do not probe LBA if the drive is a floppy */ - testb $STAGE1_BIOS_HD_FLAG, %dl -diff --git a/stage2/.gitignore b/stage2/.gitignore -new file mode 100644 -index 0000000..e0480a0 ---- /dev/null -+++ b/stage2/.gitignore -@@ -0,0 +1,5 @@ -+Makefile.in -+Makefile -+.deps -+*.a -+*.o -diff --git a/stage2/Makefile.am b/stage2/Makefile.am -index f8e6d42..477d129 100644 ---- a/stage2/Makefile.am -+++ b/stage2/Makefile.am -@@ -7,19 +7,23 @@ noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ - fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ - imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ - nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ -- terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h -+ terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h gpt.h - EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) - - # For . - INCLUDES = -I$(top_srcdir)/stage1 - - # The library for /sbin/grub. -+if PLATFORM_EFI -+noinst_LIBRARIES = libgrub.a libstage2.a -+else - noinst_LIBRARIES = libgrub.a -+endif - libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ - disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ - fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ -- fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ -- terminfo.c tparm.c -+ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c sha256crypt.c \ -+ sha512crypt.c stage2.c terminfo.c tparm.c graphics.c efistubs.c - libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ - -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \ -@@ -27,12 +31,14 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 - - # Stage 2 and Stage 1.5's. --pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+ -+if !PLATFORM_EFI - - EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec - - if DISKLESS_SUPPORT --pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ -+pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ - ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ - nbgrub pxegrub -@@ -43,7 +49,7 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ - reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ - xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec - else --pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ -+pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ - ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 - noinst_DATA = pre_stage2 start start_eltorito -@@ -55,11 +61,13 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ - endif - MOSTLYCLEANFILES = $(noinst_PROGRAMS) - --PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 --START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 --NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 --PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 --START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 -+endif -+ -+PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) -+START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) -+NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) -+PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) -+START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) - - if NETBOOT_SUPPORT - NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 -@@ -79,10 +87,25 @@ else - HERCULES_FLAGS = - endif - -+if GRAPHICS_SUPPORT -+GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 -+else -+GRAPHICS_FLAGS = -+endif -+ - STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) -+ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) -+ -+libstage2_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ -+ disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ -+ fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ -+ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c sha256crypt.c \ -+ sha512crypt.c stage2.c terminfo.c tparm.c efistubs.c -+libstage2_a_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) - --STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 -+if !PLATFORM_EFI -+ -+STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) - STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 - - # For stage2 target. -@@ -90,13 +113,15 @@ pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \ - cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ - fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ - fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ -- hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c -+ hercules.c md5.c serial.c smp-imps.c sha256crypt.c sha512crypt.c \ -+ stage2.c terminfo.c tparm.c graphics.c - pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) - pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) - pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) - -+pre_stage2_exec_LDADD = @LIBGCC@ - if NETBOOT_SUPPORT --pre_stage2_exec_LDADD = ../netboot/libdrivers.a -+pre_stage2_exec_LDADD += ../netboot/libdrivers.a - endif - - if DISKLESS_SUPPORT -@@ -105,7 +130,7 @@ else - BUILT_SOURCES = stage2_size.h - endif - --CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) -+CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) - - stage2_size.h: pre_stage2 - -rm -f stage2_size.h -@@ -115,6 +140,7 @@ stage2_size.h: pre_stage2 - start_exec_SOURCES = start.S - start_exec_CCASFLAGS = $(STAGE2_COMPILE) - start_exec_LDFLAGS = $(START_LINK) -+start_exec_LDADD = @LIBGCC@ - - # XXX: automake doesn't provide a way to specify dependencies for object - # files explicitly, so we must write this by a general Makefile scheme. -@@ -129,6 +155,7 @@ stage2: pre_stage2 start - start_eltorito_exec_SOURCES = start_eltorito.S - start_eltorito_exec_CCASFLAGS = $(STAGE2_COMPILE) - start_eltorito_exec_LDFLAGS = $(START_ELTORITO_LINK) -+start_eltorito_exec_LDADD = @LIBGCC@ - - start_eltorito_exec-start.$(OBJEXT): stage2_size.h - -@@ -144,6 +171,7 @@ e2fs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \ - e2fs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \ - -DNO_BLOCK_FILES=1 - e2fs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+e2fs_stage1_5_exec_LDADD = @LIBGCC@ - - # For fat_stage1_5 target. - fat_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ -@@ -153,6 +181,7 @@ fat_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \ - fat_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \ - -DNO_BLOCK_FILES=1 - fat_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+fat_stage1_5_exec_LDADD = @LIBGCC@ - - # For ffs_stage1_5 target. - ffs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ -@@ -162,6 +191,7 @@ ffs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \ - ffs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \ - -DNO_BLOCK_FILES=1 - ffs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+ffs_stage1_5_exec_LDADD = @LIBGCC@ - - # For ufs2_stage1_5 target. - ufs2_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ -@@ -171,6 +201,7 @@ ufs2_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS2=1 \ - ufs2_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS2=1 \ - -DNO_BLOCK_FILES=1 - ufs2_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+ufs2_stage1_5_exec_LDADD = @LIBGCC@ - - # For minix_stage1_5 target. - minix_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ -@@ -180,6 +211,7 @@ minix_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \ - minix_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \ - -DNO_BLOCK_FILES=1 - minix_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+minix_stage1_5_exec_LDADD = @LIBGCC@ - - # For reiserfs_stage1_5 target. - reiserfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ -@@ -189,6 +221,7 @@ reiserfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \ - reiserfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \ - -DNO_BLOCK_FILES=1 - reiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+reiserfs_stage1_5_exec_LDADD = @LIBGCC@ - - # For vstafs_stage1_5 target. - vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ -@@ -198,6 +231,7 @@ vstafs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \ - vstafs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \ - -DNO_BLOCK_FILES=1 - vstafs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+vstafs_stage1_5_exec_LDADD = @LIBGCC@ - - # For jfs_stage1_5 target. - jfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ -@@ -207,6 +241,7 @@ jfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \ - jfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \ - -DNO_BLOCK_FILES=1 - jfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+jfs_stage1_5_exec_LDADD = @LIBGCC@ - - # For xfs_stage1_5 target. - xfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ -@@ -216,6 +251,7 @@ xfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \ - xfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \ - -DNO_BLOCK_FILES=1 - xfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+xfs_stage1_5_exec_LDADD = @LIBGCC@ - - # For iso9660_stage1_5 target. - iso9660_stage1_5_exec_SOURCES = start_eltorito.S asm.S common.c char_io.c \ -@@ -225,6 +261,7 @@ iso9660_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ISO9660=1 \ - iso9660_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ISO9660=1 \ - -DNO_BLOCK_FILES=1 - iso9660_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) -+iso9660_stage1_5_exec_LDADD = @LIBGCC@ - - # For diskless target. - diskless_exec_SOURCES = $(pre_stage2_exec_SOURCES) -@@ -233,7 +270,7 @@ diskless_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) \ - diskless_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) \ - -DSUPPORT_DISKLESS=1 - diskless_exec_LDFLAGS = $(PRE_STAGE2_LINK) --diskless_exec_LDADD = ../netboot/libdrivers.a -+diskless_exec_LDADD = ../netboot/libdrivers.a @LIBGCC@ - - diskless_size.h: diskless - -rm -f $@ -@@ -270,3 +307,5 @@ pxegrub: pxeloader diskless - SUFFIXES = .exec - .exec: - $(OBJCOPY) -O binary $< $@ -+ -+endif -diff --git a/stage2/Makefile.in b/stage2/Makefile.in -index d0062bd..66e7465 100644 ---- a/stage2/Makefile.in -+++ b/stage2/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -18,16 +18,10 @@ - - - --SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) $(ffs_stage1_5_exec_SOURCES) $(iso9660_stage1_5_exec_SOURCES) $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) $(start_eltorito_exec_SOURCES) $(ufs2_stage1_5_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ --pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -77,7 +71,7 @@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -@@ -100,7 +94,7 @@ am_libgrub_a_OBJECTS = libgrub_a-boot.$(OBJEXT) \ - libgrub_a-fsys_xfs.$(OBJEXT) libgrub_a-gunzip.$(OBJEXT) \ - libgrub_a-md5.$(OBJEXT) libgrub_a-serial.$(OBJEXT) \ - libgrub_a-stage2.$(OBJEXT) libgrub_a-terminfo.$(OBJEXT) \ -- libgrub_a-tparm.$(OBJEXT) -+ libgrub_a-tparm.$(OBJEXT) libgrub_a-graphics.$(OBJEXT) - libgrub_a_OBJECTS = $(am_libgrub_a_OBJECTS) - PROGRAMS = $(noinst_PROGRAMS) - am__objects_1 = diskless_exec-asm.$(OBJEXT) \ -@@ -125,10 +119,13 @@ am__objects_1 = diskless_exec-asm.$(OBJEXT) \ - diskless_exec-serial.$(OBJEXT) \ - diskless_exec-smp-imps.$(OBJEXT) \ - diskless_exec-stage2.$(OBJEXT) \ -- diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) -+ diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) \ -+ diskless_exec-graphics.$(OBJEXT) - am_diskless_exec_OBJECTS = $(am__objects_1) - diskless_exec_OBJECTS = $(am_diskless_exec_OBJECTS) - diskless_exec_DEPENDENCIES = ../netboot/libdrivers.a -+diskless_exec_LINK = $(CCLD) $(diskless_exec_CFLAGS) $(CFLAGS) \ -+ $(diskless_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_e2fs_stage1_5_exec_OBJECTS = e2fs_stage1_5_exec-start.$(OBJEXT) \ - e2fs_stage1_5_exec-asm.$(OBJEXT) \ - e2fs_stage1_5_exec-common.$(OBJEXT) \ -@@ -139,6 +136,8 @@ am_e2fs_stage1_5_exec_OBJECTS = e2fs_stage1_5_exec-start.$(OBJEXT) \ - e2fs_stage1_5_exec-bios.$(OBJEXT) - e2fs_stage1_5_exec_OBJECTS = $(am_e2fs_stage1_5_exec_OBJECTS) - e2fs_stage1_5_exec_LDADD = $(LDADD) -+e2fs_stage1_5_exec_LINK = $(CCLD) $(e2fs_stage1_5_exec_CFLAGS) \ -+ $(CFLAGS) $(e2fs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_fat_stage1_5_exec_OBJECTS = fat_stage1_5_exec-start.$(OBJEXT) \ - fat_stage1_5_exec-asm.$(OBJEXT) \ - fat_stage1_5_exec-common.$(OBJEXT) \ -@@ -149,6 +148,8 @@ am_fat_stage1_5_exec_OBJECTS = fat_stage1_5_exec-start.$(OBJEXT) \ - fat_stage1_5_exec-bios.$(OBJEXT) - fat_stage1_5_exec_OBJECTS = $(am_fat_stage1_5_exec_OBJECTS) - fat_stage1_5_exec_LDADD = $(LDADD) -+fat_stage1_5_exec_LINK = $(CCLD) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) \ -+ $(fat_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_ffs_stage1_5_exec_OBJECTS = ffs_stage1_5_exec-start.$(OBJEXT) \ - ffs_stage1_5_exec-asm.$(OBJEXT) \ - ffs_stage1_5_exec-common.$(OBJEXT) \ -@@ -159,6 +160,8 @@ am_ffs_stage1_5_exec_OBJECTS = ffs_stage1_5_exec-start.$(OBJEXT) \ - ffs_stage1_5_exec-bios.$(OBJEXT) - ffs_stage1_5_exec_OBJECTS = $(am_ffs_stage1_5_exec_OBJECTS) - ffs_stage1_5_exec_LDADD = $(LDADD) -+ffs_stage1_5_exec_LINK = $(CCLD) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) \ -+ $(ffs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_iso9660_stage1_5_exec_OBJECTS = \ - iso9660_stage1_5_exec-start_eltorito.$(OBJEXT) \ - iso9660_stage1_5_exec-asm.$(OBJEXT) \ -@@ -170,6 +173,8 @@ am_iso9660_stage1_5_exec_OBJECTS = \ - iso9660_stage1_5_exec-bios.$(OBJEXT) - iso9660_stage1_5_exec_OBJECTS = $(am_iso9660_stage1_5_exec_OBJECTS) - iso9660_stage1_5_exec_LDADD = $(LDADD) -+iso9660_stage1_5_exec_LINK = $(CCLD) $(iso9660_stage1_5_exec_CFLAGS) \ -+ $(CFLAGS) $(iso9660_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_jfs_stage1_5_exec_OBJECTS = jfs_stage1_5_exec-start.$(OBJEXT) \ - jfs_stage1_5_exec-asm.$(OBJEXT) \ - jfs_stage1_5_exec-common.$(OBJEXT) \ -@@ -180,6 +185,8 @@ am_jfs_stage1_5_exec_OBJECTS = jfs_stage1_5_exec-start.$(OBJEXT) \ - jfs_stage1_5_exec-bios.$(OBJEXT) - jfs_stage1_5_exec_OBJECTS = $(am_jfs_stage1_5_exec_OBJECTS) - jfs_stage1_5_exec_LDADD = $(LDADD) -+jfs_stage1_5_exec_LINK = $(CCLD) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) \ -+ $(jfs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_minix_stage1_5_exec_OBJECTS = minix_stage1_5_exec-start.$(OBJEXT) \ - minix_stage1_5_exec-asm.$(OBJEXT) \ - minix_stage1_5_exec-common.$(OBJEXT) \ -@@ -190,9 +197,13 @@ am_minix_stage1_5_exec_OBJECTS = minix_stage1_5_exec-start.$(OBJEXT) \ - minix_stage1_5_exec-bios.$(OBJEXT) - minix_stage1_5_exec_OBJECTS = $(am_minix_stage1_5_exec_OBJECTS) - minix_stage1_5_exec_LDADD = $(LDADD) -+minix_stage1_5_exec_LINK = $(CCLD) $(minix_stage1_5_exec_CFLAGS) \ -+ $(CFLAGS) $(minix_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_nbloader_exec_OBJECTS = nbloader_exec-nbloader.$(OBJEXT) - nbloader_exec_OBJECTS = $(am_nbloader_exec_OBJECTS) - nbloader_exec_LDADD = $(LDADD) -+nbloader_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ -+ $(nbloader_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_pre_stage2_exec_OBJECTS = pre_stage2_exec-asm.$(OBJEXT) \ - pre_stage2_exec-bios.$(OBJEXT) pre_stage2_exec-boot.$(OBJEXT) \ - pre_stage2_exec-builtins.$(OBJEXT) \ -@@ -217,13 +228,18 @@ am_pre_stage2_exec_OBJECTS = pre_stage2_exec-asm.$(OBJEXT) \ - pre_stage2_exec-smp-imps.$(OBJEXT) \ - pre_stage2_exec-stage2.$(OBJEXT) \ - pre_stage2_exec-terminfo.$(OBJEXT) \ -- pre_stage2_exec-tparm.$(OBJEXT) -+ pre_stage2_exec-tparm.$(OBJEXT) \ -+ pre_stage2_exec-graphics.$(OBJEXT) - pre_stage2_exec_OBJECTS = $(am_pre_stage2_exec_OBJECTS) - @NETBOOT_SUPPORT_TRUE@pre_stage2_exec_DEPENDENCIES = \ - @NETBOOT_SUPPORT_TRUE@ ../netboot/libdrivers.a -+pre_stage2_exec_LINK = $(CCLD) $(pre_stage2_exec_CFLAGS) $(CFLAGS) \ -+ $(pre_stage2_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_pxeloader_exec_OBJECTS = pxeloader_exec-pxeloader.$(OBJEXT) - pxeloader_exec_OBJECTS = $(am_pxeloader_exec_OBJECTS) - pxeloader_exec_LDADD = $(LDADD) -+pxeloader_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ -+ $(pxeloader_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_reiserfs_stage1_5_exec_OBJECTS = \ - reiserfs_stage1_5_exec-start.$(OBJEXT) \ - reiserfs_stage1_5_exec-asm.$(OBJEXT) \ -@@ -235,13 +251,19 @@ am_reiserfs_stage1_5_exec_OBJECTS = \ - reiserfs_stage1_5_exec-bios.$(OBJEXT) - reiserfs_stage1_5_exec_OBJECTS = $(am_reiserfs_stage1_5_exec_OBJECTS) - reiserfs_stage1_5_exec_LDADD = $(LDADD) -+reiserfs_stage1_5_exec_LINK = $(CCLD) $(reiserfs_stage1_5_exec_CFLAGS) \ -+ $(CFLAGS) $(reiserfs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_start_exec_OBJECTS = start_exec-start.$(OBJEXT) - start_exec_OBJECTS = $(am_start_exec_OBJECTS) - start_exec_LDADD = $(LDADD) -+start_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(start_exec_LDFLAGS) \ -+ $(LDFLAGS) -o $@ - am_start_eltorito_exec_OBJECTS = \ - start_eltorito_exec-start_eltorito.$(OBJEXT) - start_eltorito_exec_OBJECTS = $(am_start_eltorito_exec_OBJECTS) - start_eltorito_exec_LDADD = $(LDADD) -+start_eltorito_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ -+ $(start_eltorito_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_ufs2_stage1_5_exec_OBJECTS = ufs2_stage1_5_exec-start.$(OBJEXT) \ - ufs2_stage1_5_exec-asm.$(OBJEXT) \ - ufs2_stage1_5_exec-common.$(OBJEXT) \ -@@ -252,6 +274,8 @@ am_ufs2_stage1_5_exec_OBJECTS = ufs2_stage1_5_exec-start.$(OBJEXT) \ - ufs2_stage1_5_exec-bios.$(OBJEXT) - ufs2_stage1_5_exec_OBJECTS = $(am_ufs2_stage1_5_exec_OBJECTS) - ufs2_stage1_5_exec_LDADD = $(LDADD) -+ufs2_stage1_5_exec_LINK = $(CCLD) $(ufs2_stage1_5_exec_CFLAGS) \ -+ $(CFLAGS) $(ufs2_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_vstafs_stage1_5_exec_OBJECTS = \ - vstafs_stage1_5_exec-start.$(OBJEXT) \ - vstafs_stage1_5_exec-asm.$(OBJEXT) \ -@@ -263,6 +287,8 @@ am_vstafs_stage1_5_exec_OBJECTS = \ - vstafs_stage1_5_exec-bios.$(OBJEXT) - vstafs_stage1_5_exec_OBJECTS = $(am_vstafs_stage1_5_exec_OBJECTS) - vstafs_stage1_5_exec_LDADD = $(LDADD) -+vstafs_stage1_5_exec_LINK = $(CCLD) $(vstafs_stage1_5_exec_CFLAGS) \ -+ $(CFLAGS) $(vstafs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - am_xfs_stage1_5_exec_OBJECTS = xfs_stage1_5_exec-start.$(OBJEXT) \ - xfs_stage1_5_exec-asm.$(OBJEXT) \ - xfs_stage1_5_exec-common.$(OBJEXT) \ -@@ -273,11 +299,14 @@ am_xfs_stage1_5_exec_OBJECTS = xfs_stage1_5_exec-start.$(OBJEXT) \ - xfs_stage1_5_exec-bios.$(OBJEXT) - xfs_stage1_5_exec_OBJECTS = $(am_xfs_stage1_5_exec_OBJECTS) - xfs_stage1_5_exec_LDADD = $(LDADD) -+xfs_stage1_5_exec_LINK = $(CCLD) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) \ -+ $(xfs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ - SCRIPTS = $(noinst_SCRIPTS) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles --CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) -+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) - CCLD = $(CC) -@@ -306,28 +335,25 @@ am__vpath_adj = case $$p in \ - *) f=$$p;; \ - esac; - am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; --am__installdirs = "$(DESTDIR)$(pkglibdir)" --pkglibDATA_INSTALL = $(INSTALL_DATA) --DATA = $(noinst_DATA) $(pkglib_DATA) -+am__installdirs = "$(DESTDIR)$(pkgdatadir)" -+pkgdataDATA_INSTALL = $(INSTALL_DATA) -+DATA = $(noinst_DATA) $(pkgdata_DATA) - HEADERS = $(noinst_HEADERS) - ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - - # Stage 2 and Stage 1.5's. --pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) -+pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -336,18 +362,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -355,14 +379,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -376,22 +398,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -403,28 +420,39 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ - - # For test target. - TESTS = size_test -@@ -435,7 +463,7 @@ noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ - fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ - imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ - nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ -- terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h -+ terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h gpt.h - - EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) - -@@ -448,7 +476,7 @@ libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ - disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ - fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ - fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ -- terminfo.c tparm.c -+ terminfo.c tparm.c graphics.c - - libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ -@@ -456,11 +484,11 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \ - -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 - --@DISKLESS_SUPPORT_FALSE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ -+@DISKLESS_SUPPORT_FALSE@pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ - @DISKLESS_SUPPORT_FALSE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - @DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 - --@DISKLESS_SUPPORT_TRUE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ -+@DISKLESS_SUPPORT_TRUE@pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ - @DISKLESS_SUPPORT_TRUE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - @DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ - @DISKLESS_SUPPORT_TRUE@ nbgrub pxegrub -@@ -468,21 +496,23 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start start_eltorito - @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless - MOSTLYCLEANFILES = $(noinst_PROGRAMS) --PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 --START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 --NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 --PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 --START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 -+PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) -+START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) -+NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) -+PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) -+START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) - @NETBOOT_SUPPORT_FALSE@NETBOOT_FLAGS = - @NETBOOT_SUPPORT_TRUE@NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 - @SERIAL_SUPPORT_FALSE@SERIAL_FLAGS = - @SERIAL_SUPPORT_TRUE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 - @HERCULES_SUPPORT_FALSE@HERCULES_FLAGS = - @HERCULES_SUPPORT_TRUE@HERCULES_FLAGS = -DSUPPORT_HERCULES=1 -+@GRAPHICS_SUPPORT_FALSE@GRAPHICS_FLAGS = -+@GRAPHICS_SUPPORT_TRUE@GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 - STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ -- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) -+ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) - --STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 -+STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) - STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 - - # For stage2 target. -@@ -490,7 +520,8 @@ pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \ - cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ - fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ - fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ -- hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c -+ hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c \ -+ graphics.c - - pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) - pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) -@@ -498,7 +529,7 @@ pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) - @NETBOOT_SUPPORT_TRUE@pre_stage2_exec_LDADD = ../netboot/libdrivers.a - @DISKLESS_SUPPORT_FALSE@BUILT_SOURCES = stage2_size.h - @DISKLESS_SUPPORT_TRUE@BUILT_SOURCES = stage2_size.h diskless_size.h --CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) -+CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) - start_exec_SOURCES = start.S - start_exec_CCASFLAGS = $(STAGE2_COMPILE) - start_exec_LDFLAGS = $(START_LINK) -@@ -695,52 +726,52 @@ clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - diskless.exec$(EXEEXT): $(diskless_exec_OBJECTS) $(diskless_exec_DEPENDENCIES) - @rm -f diskless.exec$(EXEEXT) -- $(LINK) $(diskless_exec_LDFLAGS) $(diskless_exec_OBJECTS) $(diskless_exec_LDADD) $(LIBS) -+ $(diskless_exec_LINK) $(diskless_exec_OBJECTS) $(diskless_exec_LDADD) $(LIBS) - e2fs_stage1_5.exec$(EXEEXT): $(e2fs_stage1_5_exec_OBJECTS) $(e2fs_stage1_5_exec_DEPENDENCIES) - @rm -f e2fs_stage1_5.exec$(EXEEXT) -- $(LINK) $(e2fs_stage1_5_exec_LDFLAGS) $(e2fs_stage1_5_exec_OBJECTS) $(e2fs_stage1_5_exec_LDADD) $(LIBS) -+ $(e2fs_stage1_5_exec_LINK) $(e2fs_stage1_5_exec_OBJECTS) $(e2fs_stage1_5_exec_LDADD) $(LIBS) - fat_stage1_5.exec$(EXEEXT): $(fat_stage1_5_exec_OBJECTS) $(fat_stage1_5_exec_DEPENDENCIES) - @rm -f fat_stage1_5.exec$(EXEEXT) -- $(LINK) $(fat_stage1_5_exec_LDFLAGS) $(fat_stage1_5_exec_OBJECTS) $(fat_stage1_5_exec_LDADD) $(LIBS) -+ $(fat_stage1_5_exec_LINK) $(fat_stage1_5_exec_OBJECTS) $(fat_stage1_5_exec_LDADD) $(LIBS) - ffs_stage1_5.exec$(EXEEXT): $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_DEPENDENCIES) - @rm -f ffs_stage1_5.exec$(EXEEXT) -- $(LINK) $(ffs_stage1_5_exec_LDFLAGS) $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_LDADD) $(LIBS) -+ $(ffs_stage1_5_exec_LINK) $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_LDADD) $(LIBS) - iso9660_stage1_5.exec$(EXEEXT): $(iso9660_stage1_5_exec_OBJECTS) $(iso9660_stage1_5_exec_DEPENDENCIES) - @rm -f iso9660_stage1_5.exec$(EXEEXT) -- $(LINK) $(iso9660_stage1_5_exec_LDFLAGS) $(iso9660_stage1_5_exec_OBJECTS) $(iso9660_stage1_5_exec_LDADD) $(LIBS) -+ $(iso9660_stage1_5_exec_LINK) $(iso9660_stage1_5_exec_OBJECTS) $(iso9660_stage1_5_exec_LDADD) $(LIBS) - jfs_stage1_5.exec$(EXEEXT): $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_DEPENDENCIES) - @rm -f jfs_stage1_5.exec$(EXEEXT) -- $(LINK) $(jfs_stage1_5_exec_LDFLAGS) $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_LDADD) $(LIBS) -+ $(jfs_stage1_5_exec_LINK) $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_LDADD) $(LIBS) - minix_stage1_5.exec$(EXEEXT): $(minix_stage1_5_exec_OBJECTS) $(minix_stage1_5_exec_DEPENDENCIES) - @rm -f minix_stage1_5.exec$(EXEEXT) -- $(LINK) $(minix_stage1_5_exec_LDFLAGS) $(minix_stage1_5_exec_OBJECTS) $(minix_stage1_5_exec_LDADD) $(LIBS) -+ $(minix_stage1_5_exec_LINK) $(minix_stage1_5_exec_OBJECTS) $(minix_stage1_5_exec_LDADD) $(LIBS) - nbloader.exec$(EXEEXT): $(nbloader_exec_OBJECTS) $(nbloader_exec_DEPENDENCIES) - @rm -f nbloader.exec$(EXEEXT) -- $(LINK) $(nbloader_exec_LDFLAGS) $(nbloader_exec_OBJECTS) $(nbloader_exec_LDADD) $(LIBS) -+ $(nbloader_exec_LINK) $(nbloader_exec_OBJECTS) $(nbloader_exec_LDADD) $(LIBS) - pre_stage2.exec$(EXEEXT): $(pre_stage2_exec_OBJECTS) $(pre_stage2_exec_DEPENDENCIES) - @rm -f pre_stage2.exec$(EXEEXT) -- $(LINK) $(pre_stage2_exec_LDFLAGS) $(pre_stage2_exec_OBJECTS) $(pre_stage2_exec_LDADD) $(LIBS) -+ $(pre_stage2_exec_LINK) $(pre_stage2_exec_OBJECTS) $(pre_stage2_exec_LDADD) $(LIBS) - pxeloader.exec$(EXEEXT): $(pxeloader_exec_OBJECTS) $(pxeloader_exec_DEPENDENCIES) - @rm -f pxeloader.exec$(EXEEXT) -- $(LINK) $(pxeloader_exec_LDFLAGS) $(pxeloader_exec_OBJECTS) $(pxeloader_exec_LDADD) $(LIBS) -+ $(pxeloader_exec_LINK) $(pxeloader_exec_OBJECTS) $(pxeloader_exec_LDADD) $(LIBS) - reiserfs_stage1_5.exec$(EXEEXT): $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_DEPENDENCIES) - @rm -f reiserfs_stage1_5.exec$(EXEEXT) -- $(LINK) $(reiserfs_stage1_5_exec_LDFLAGS) $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_LDADD) $(LIBS) -+ $(reiserfs_stage1_5_exec_LINK) $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_LDADD) $(LIBS) - start.exec$(EXEEXT): $(start_exec_OBJECTS) $(start_exec_DEPENDENCIES) - @rm -f start.exec$(EXEEXT) -- $(LINK) $(start_exec_LDFLAGS) $(start_exec_OBJECTS) $(start_exec_LDADD) $(LIBS) -+ $(start_exec_LINK) $(start_exec_OBJECTS) $(start_exec_LDADD) $(LIBS) - start_eltorito.exec$(EXEEXT): $(start_eltorito_exec_OBJECTS) $(start_eltorito_exec_DEPENDENCIES) - @rm -f start_eltorito.exec$(EXEEXT) -- $(LINK) $(start_eltorito_exec_LDFLAGS) $(start_eltorito_exec_OBJECTS) $(start_eltorito_exec_LDADD) $(LIBS) -+ $(start_eltorito_exec_LINK) $(start_eltorito_exec_OBJECTS) $(start_eltorito_exec_LDADD) $(LIBS) - ufs2_stage1_5.exec$(EXEEXT): $(ufs2_stage1_5_exec_OBJECTS) $(ufs2_stage1_5_exec_DEPENDENCIES) - @rm -f ufs2_stage1_5.exec$(EXEEXT) -- $(LINK) $(ufs2_stage1_5_exec_LDFLAGS) $(ufs2_stage1_5_exec_OBJECTS) $(ufs2_stage1_5_exec_LDADD) $(LIBS) -+ $(ufs2_stage1_5_exec_LINK) $(ufs2_stage1_5_exec_OBJECTS) $(ufs2_stage1_5_exec_LDADD) $(LIBS) - vstafs_stage1_5.exec$(EXEEXT): $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_DEPENDENCIES) - @rm -f vstafs_stage1_5.exec$(EXEEXT) -- $(LINK) $(vstafs_stage1_5_exec_LDFLAGS) $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_LDADD) $(LIBS) -+ $(vstafs_stage1_5_exec_LINK) $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_LDADD) $(LIBS) - xfs_stage1_5.exec$(EXEEXT): $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_DEPENDENCIES) - @rm -f xfs_stage1_5.exec$(EXEEXT) -- $(LINK) $(xfs_stage1_5_exec_LDFLAGS) $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_LDADD) $(LIBS) -+ $(xfs_stage1_5_exec_LINK) $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_LDADD) $(LIBS) - - mostlyclean-compile: - -rm -f *.$(OBJEXT) -@@ -748,6 +779,7 @@ mostlyclean-compile: - distclean-compile: - -rm -f *.tab.c - -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-boot.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-builtins.Po@am__quote@ -@@ -766,6 +798,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_xfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-graphics.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-gunzip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-hercules.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-md5.Po@am__quote@ -@@ -774,36 +807,46 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-stage2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-terminfo.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-tparm.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-start.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-boot.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-builtins.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-char_io.Po@am__quote@ -@@ -820,18 +863,23 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_xfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-graphics.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-gunzip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-md5.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-serial.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-stage2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-terminfo.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-tparm.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nbloader_exec-nbloader.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-boot.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-builtins.Po@am__quote@ -@@ -850,6 +898,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-graphics.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-gunzip.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-hercules.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-md5.Po@am__quote@ -@@ -858,2099 +907,2367 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-stage2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-terminfo.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-tparm.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pxeloader_exec-pxeloader.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/start_eltorito_exec-start_eltorito.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/start_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-start.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-asm.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-bios.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-char_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-common.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-start.Po@am__quote@ - - .S.o: -- $(CCASCOMPILE) -c $< -+@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< - - .S.obj: -- $(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` -+@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - - diskless_exec-asm.o: asm.S -- $(CCAS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -MT diskless_exec-asm.o -MD -MP -MF $(DEPDIR)/diskless_exec-asm.Tpo -c -o diskless_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/diskless_exec-asm.Tpo $(DEPDIR)/diskless_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='diskless_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - diskless_exec-asm.obj: asm.S -- $(CCAS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -MT diskless_exec-asm.obj -MD -MP -MF $(DEPDIR)/diskless_exec-asm.Tpo -c -o diskless_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/diskless_exec-asm.Tpo $(DEPDIR)/diskless_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='diskless_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - e2fs_stage1_5_exec-start.o: start.S -- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo -c -o e2fs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo $(DEPDIR)/e2fs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='e2fs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - e2fs_stage1_5_exec-start.obj: start.S -- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo -c -o e2fs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo $(DEPDIR)/e2fs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='e2fs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - e2fs_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo -c -o e2fs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo $(DEPDIR)/e2fs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='e2fs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - e2fs_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo -c -o e2fs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo $(DEPDIR)/e2fs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='e2fs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - fat_stage1_5_exec-start.o: start.S -- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-start.Tpo -c -o fat_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-start.Tpo $(DEPDIR)/fat_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='fat_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - fat_stage1_5_exec-start.obj: start.S -- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-start.Tpo -c -o fat_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-start.Tpo $(DEPDIR)/fat_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='fat_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - fat_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-asm.Tpo -c -o fat_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-asm.Tpo $(DEPDIR)/fat_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='fat_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - fat_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-asm.Tpo -c -o fat_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-asm.Tpo $(DEPDIR)/fat_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='fat_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - ffs_stage1_5_exec-start.o: start.S -- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-start.Tpo -c -o ffs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-start.Tpo $(DEPDIR)/ffs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ffs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - ffs_stage1_5_exec-start.obj: start.S -- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-start.Tpo -c -o ffs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-start.Tpo $(DEPDIR)/ffs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ffs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - ffs_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo -c -o ffs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo $(DEPDIR)/ffs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ffs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - ffs_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo -c -o ffs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo $(DEPDIR)/ffs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ffs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - iso9660_stage1_5_exec-start_eltorito.o: start_eltorito.S -- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-start_eltorito.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo -c -o iso9660_stage1_5_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='iso9660_stage1_5_exec-start_eltorito.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S - - iso9660_stage1_5_exec-start_eltorito.obj: start_eltorito.S -- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-start_eltorito.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo -c -o iso9660_stage1_5_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='iso9660_stage1_5_exec-start_eltorito.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` - - iso9660_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo -c -o iso9660_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo $(DEPDIR)/iso9660_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='iso9660_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - iso9660_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo -c -o iso9660_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo $(DEPDIR)/iso9660_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='iso9660_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - jfs_stage1_5_exec-start.o: start.S -- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-start.Tpo -c -o jfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-start.Tpo $(DEPDIR)/jfs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='jfs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - jfs_stage1_5_exec-start.obj: start.S -- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-start.Tpo -c -o jfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-start.Tpo $(DEPDIR)/jfs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='jfs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - jfs_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo -c -o jfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo $(DEPDIR)/jfs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='jfs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - jfs_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo -c -o jfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo $(DEPDIR)/jfs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='jfs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - minix_stage1_5_exec-start.o: start.S -- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-start.Tpo -c -o minix_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-start.Tpo $(DEPDIR)/minix_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='minix_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - minix_stage1_5_exec-start.obj: start.S -- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-start.Tpo -c -o minix_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-start.Tpo $(DEPDIR)/minix_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='minix_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - minix_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-asm.Tpo -c -o minix_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-asm.Tpo $(DEPDIR)/minix_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='minix_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - minix_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-asm.Tpo -c -o minix_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-asm.Tpo $(DEPDIR)/minix_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='minix_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - nbloader_exec-nbloader.o: nbloader.S -- $(CCAS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.o `test -f 'nbloader.S' || echo '$(srcdir)/'`nbloader.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -MT nbloader_exec-nbloader.o -MD -MP -MF $(DEPDIR)/nbloader_exec-nbloader.Tpo -c -o nbloader_exec-nbloader.o `test -f 'nbloader.S' || echo '$(srcdir)/'`nbloader.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/nbloader_exec-nbloader.Tpo $(DEPDIR)/nbloader_exec-nbloader.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='nbloader.S' object='nbloader_exec-nbloader.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.o `test -f 'nbloader.S' || echo '$(srcdir)/'`nbloader.S - - nbloader_exec-nbloader.obj: nbloader.S -- $(CCAS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.obj `if test -f 'nbloader.S'; then $(CYGPATH_W) 'nbloader.S'; else $(CYGPATH_W) '$(srcdir)/nbloader.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -MT nbloader_exec-nbloader.obj -MD -MP -MF $(DEPDIR)/nbloader_exec-nbloader.Tpo -c -o nbloader_exec-nbloader.obj `if test -f 'nbloader.S'; then $(CYGPATH_W) 'nbloader.S'; else $(CYGPATH_W) '$(srcdir)/nbloader.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/nbloader_exec-nbloader.Tpo $(DEPDIR)/nbloader_exec-nbloader.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='nbloader.S' object='nbloader_exec-nbloader.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.obj `if test -f 'nbloader.S'; then $(CYGPATH_W) 'nbloader.S'; else $(CYGPATH_W) '$(srcdir)/nbloader.S'; fi` - - pre_stage2_exec-asm.o: asm.S -- $(CCAS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -MT pre_stage2_exec-asm.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-asm.Tpo -c -o pre_stage2_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-asm.Tpo $(DEPDIR)/pre_stage2_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='pre_stage2_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - pre_stage2_exec-asm.obj: asm.S -- $(CCAS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -MT pre_stage2_exec-asm.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-asm.Tpo -c -o pre_stage2_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-asm.Tpo $(DEPDIR)/pre_stage2_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='pre_stage2_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - pxeloader_exec-pxeloader.o: pxeloader.S -- $(CCAS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.o `test -f 'pxeloader.S' || echo '$(srcdir)/'`pxeloader.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -MT pxeloader_exec-pxeloader.o -MD -MP -MF $(DEPDIR)/pxeloader_exec-pxeloader.Tpo -c -o pxeloader_exec-pxeloader.o `test -f 'pxeloader.S' || echo '$(srcdir)/'`pxeloader.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pxeloader_exec-pxeloader.Tpo $(DEPDIR)/pxeloader_exec-pxeloader.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='pxeloader.S' object='pxeloader_exec-pxeloader.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.o `test -f 'pxeloader.S' || echo '$(srcdir)/'`pxeloader.S - - pxeloader_exec-pxeloader.obj: pxeloader.S -- $(CCAS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -MT pxeloader_exec-pxeloader.obj -MD -MP -MF $(DEPDIR)/pxeloader_exec-pxeloader.Tpo -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pxeloader_exec-pxeloader.Tpo $(DEPDIR)/pxeloader_exec-pxeloader.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='pxeloader.S' object='pxeloader_exec-pxeloader.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` - - reiserfs_stage1_5_exec-start.o: start.S -- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='reiserfs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - reiserfs_stage1_5_exec-start.obj: start.S -- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo -c -o reiserfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='reiserfs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - reiserfs_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo -c -o reiserfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='reiserfs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - reiserfs_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo -c -o reiserfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='reiserfs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - start_exec-start.o: start.S -- $(CCAS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -MT start_exec-start.o -MD -MP -MF $(DEPDIR)/start_exec-start.Tpo -c -o start_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_exec-start.Tpo $(DEPDIR)/start_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='start_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - start_exec-start.obj: start.S -- $(CCAS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -MT start_exec-start.obj -MD -MP -MF $(DEPDIR)/start_exec-start.Tpo -c -o start_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_exec-start.Tpo $(DEPDIR)/start_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='start_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - start_eltorito_exec-start_eltorito.o: start_eltorito.S -- $(CCAS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -MT start_eltorito_exec-start_eltorito.o -MD -MP -MF $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo -c -o start_eltorito_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo $(DEPDIR)/start_eltorito_exec-start_eltorito.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='start_eltorito_exec-start_eltorito.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S - - start_eltorito_exec-start_eltorito.obj: start_eltorito.S -- $(CCAS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -MT start_eltorito_exec-start_eltorito.obj -MD -MP -MF $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo -c -o start_eltorito_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo $(DEPDIR)/start_eltorito_exec-start_eltorito.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='start_eltorito_exec-start_eltorito.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` - - ufs2_stage1_5_exec-start.o: start.S -- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo -c -o ufs2_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo $(DEPDIR)/ufs2_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ufs2_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - ufs2_stage1_5_exec-start.obj: start.S -- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo -c -o ufs2_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo $(DEPDIR)/ufs2_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ufs2_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - ufs2_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo -c -o ufs2_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo $(DEPDIR)/ufs2_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ufs2_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - ufs2_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo -c -o ufs2_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo $(DEPDIR)/ufs2_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ufs2_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - vstafs_stage1_5_exec-start.o: start.S -- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo -c -o vstafs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo $(DEPDIR)/vstafs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='vstafs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - vstafs_stage1_5_exec-start.obj: start.S -- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo -c -o vstafs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo $(DEPDIR)/vstafs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='vstafs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - vstafs_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo -c -o vstafs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo $(DEPDIR)/vstafs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='vstafs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - vstafs_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo -c -o vstafs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo $(DEPDIR)/vstafs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='vstafs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - xfs_stage1_5_exec-start.o: start.S -- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-start.Tpo -c -o xfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-start.Tpo $(DEPDIR)/xfs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='xfs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S - - xfs_stage1_5_exec-start.obj: start.S -- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-start.Tpo -c -o xfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-start.Tpo $(DEPDIR)/xfs_stage1_5_exec-start.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='xfs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` - - xfs_stage1_5_exec-asm.o: asm.S -- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo -c -o xfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo $(DEPDIR)/xfs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='xfs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S - - xfs_stage1_5_exec-asm.obj: asm.S -- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo -c -o xfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` -+@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo $(DEPDIR)/xfs_stage1_5_exec-asm.Po -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='xfs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` - - .c.o: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - - libgrub_a-boot.o: boot.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.o -MD -MP -MF "$(DEPDIR)/libgrub_a-boot.Tpo" -c -o libgrub_a-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-boot.Tpo" "$(DEPDIR)/libgrub_a-boot.Po"; else rm -f "$(DEPDIR)/libgrub_a-boot.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.o -MD -MP -MF $(DEPDIR)/libgrub_a-boot.Tpo -c -o libgrub_a-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-boot.Tpo $(DEPDIR)/libgrub_a-boot.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='libgrub_a-boot.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c - - libgrub_a-boot.obj: boot.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-boot.Tpo" -c -o libgrub_a-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-boot.Tpo" "$(DEPDIR)/libgrub_a-boot.Po"; else rm -f "$(DEPDIR)/libgrub_a-boot.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.obj -MD -MP -MF $(DEPDIR)/libgrub_a-boot.Tpo -c -o libgrub_a-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-boot.Tpo $(DEPDIR)/libgrub_a-boot.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='libgrub_a-boot.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` - - libgrub_a-builtins.o: builtins.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.o -MD -MP -MF "$(DEPDIR)/libgrub_a-builtins.Tpo" -c -o libgrub_a-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-builtins.Tpo" "$(DEPDIR)/libgrub_a-builtins.Po"; else rm -f "$(DEPDIR)/libgrub_a-builtins.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.o -MD -MP -MF $(DEPDIR)/libgrub_a-builtins.Tpo -c -o libgrub_a-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-builtins.Tpo $(DEPDIR)/libgrub_a-builtins.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='libgrub_a-builtins.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c - - libgrub_a-builtins.obj: builtins.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-builtins.Tpo" -c -o libgrub_a-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-builtins.Tpo" "$(DEPDIR)/libgrub_a-builtins.Po"; else rm -f "$(DEPDIR)/libgrub_a-builtins.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.obj -MD -MP -MF $(DEPDIR)/libgrub_a-builtins.Tpo -c -o libgrub_a-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-builtins.Tpo $(DEPDIR)/libgrub_a-builtins.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='libgrub_a-builtins.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` - - libgrub_a-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.o -MD -MP -MF "$(DEPDIR)/libgrub_a-char_io.Tpo" -c -o libgrub_a-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-char_io.Tpo" "$(DEPDIR)/libgrub_a-char_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.o -MD -MP -MF $(DEPDIR)/libgrub_a-char_io.Tpo -c -o libgrub_a-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-char_io.Tpo $(DEPDIR)/libgrub_a-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='libgrub_a-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - libgrub_a-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-char_io.Tpo" -c -o libgrub_a-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-char_io.Tpo" "$(DEPDIR)/libgrub_a-char_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.obj -MD -MP -MF $(DEPDIR)/libgrub_a-char_io.Tpo -c -o libgrub_a-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-char_io.Tpo $(DEPDIR)/libgrub_a-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='libgrub_a-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - libgrub_a-cmdline.o: cmdline.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.o -MD -MP -MF "$(DEPDIR)/libgrub_a-cmdline.Tpo" -c -o libgrub_a-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-cmdline.Tpo" "$(DEPDIR)/libgrub_a-cmdline.Po"; else rm -f "$(DEPDIR)/libgrub_a-cmdline.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.o -MD -MP -MF $(DEPDIR)/libgrub_a-cmdline.Tpo -c -o libgrub_a-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-cmdline.Tpo $(DEPDIR)/libgrub_a-cmdline.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='libgrub_a-cmdline.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c - - libgrub_a-cmdline.obj: cmdline.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-cmdline.Tpo" -c -o libgrub_a-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-cmdline.Tpo" "$(DEPDIR)/libgrub_a-cmdline.Po"; else rm -f "$(DEPDIR)/libgrub_a-cmdline.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.obj -MD -MP -MF $(DEPDIR)/libgrub_a-cmdline.Tpo -c -o libgrub_a-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-cmdline.Tpo $(DEPDIR)/libgrub_a-cmdline.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='libgrub_a-cmdline.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` - - libgrub_a-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.o -MD -MP -MF "$(DEPDIR)/libgrub_a-common.Tpo" -c -o libgrub_a-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-common.Tpo" "$(DEPDIR)/libgrub_a-common.Po"; else rm -f "$(DEPDIR)/libgrub_a-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.o -MD -MP -MF $(DEPDIR)/libgrub_a-common.Tpo -c -o libgrub_a-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-common.Tpo $(DEPDIR)/libgrub_a-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='libgrub_a-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - libgrub_a-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-common.Tpo" -c -o libgrub_a-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-common.Tpo" "$(DEPDIR)/libgrub_a-common.Po"; else rm -f "$(DEPDIR)/libgrub_a-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.obj -MD -MP -MF $(DEPDIR)/libgrub_a-common.Tpo -c -o libgrub_a-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-common.Tpo $(DEPDIR)/libgrub_a-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='libgrub_a-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - libgrub_a-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.o -MD -MP -MF "$(DEPDIR)/libgrub_a-disk_io.Tpo" -c -o libgrub_a-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-disk_io.Tpo" "$(DEPDIR)/libgrub_a-disk_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.o -MD -MP -MF $(DEPDIR)/libgrub_a-disk_io.Tpo -c -o libgrub_a-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-disk_io.Tpo $(DEPDIR)/libgrub_a-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='libgrub_a-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - libgrub_a-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-disk_io.Tpo" -c -o libgrub_a-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-disk_io.Tpo" "$(DEPDIR)/libgrub_a-disk_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.obj -MD -MP -MF $(DEPDIR)/libgrub_a-disk_io.Tpo -c -o libgrub_a-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-disk_io.Tpo $(DEPDIR)/libgrub_a-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='libgrub_a-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - libgrub_a-fsys_ext2fs.o: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" -c -o libgrub_a-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo -c -o libgrub_a-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo $(DEPDIR)/libgrub_a-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='libgrub_a-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c - - libgrub_a-fsys_ext2fs.obj: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" -c -o libgrub_a-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo -c -o libgrub_a-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo $(DEPDIR)/libgrub_a-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='libgrub_a-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` - - libgrub_a-fsys_fat.o: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" -c -o libgrub_a-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" "$(DEPDIR)/libgrub_a-fsys_fat.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_fat.Tpo -c -o libgrub_a-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_fat.Tpo $(DEPDIR)/libgrub_a-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='libgrub_a-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c - - libgrub_a-fsys_fat.obj: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" -c -o libgrub_a-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" "$(DEPDIR)/libgrub_a-fsys_fat.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_fat.Tpo -c -o libgrub_a-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_fat.Tpo $(DEPDIR)/libgrub_a-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='libgrub_a-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` - - libgrub_a-fsys_ffs.o: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" -c -o libgrub_a-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ffs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ffs.Tpo -c -o libgrub_a-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ffs.Tpo $(DEPDIR)/libgrub_a-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='libgrub_a-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c - - libgrub_a-fsys_ffs.obj: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" -c -o libgrub_a-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ffs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ffs.Tpo -c -o libgrub_a-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ffs.Tpo $(DEPDIR)/libgrub_a-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='libgrub_a-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` - - libgrub_a-fsys_iso9660.o: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" -c -o libgrub_a-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" "$(DEPDIR)/libgrub_a-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo -c -o libgrub_a-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo $(DEPDIR)/libgrub_a-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='libgrub_a-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c - - libgrub_a-fsys_iso9660.obj: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" -c -o libgrub_a-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" "$(DEPDIR)/libgrub_a-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo -c -o libgrub_a-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo $(DEPDIR)/libgrub_a-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='libgrub_a-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` - - libgrub_a-fsys_jfs.o: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" -c -o libgrub_a-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_jfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_jfs.Tpo -c -o libgrub_a-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_jfs.Tpo $(DEPDIR)/libgrub_a-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='libgrub_a-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c - - libgrub_a-fsys_jfs.obj: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" -c -o libgrub_a-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_jfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_jfs.Tpo -c -o libgrub_a-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_jfs.Tpo $(DEPDIR)/libgrub_a-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='libgrub_a-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` - - libgrub_a-fsys_minix.o: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" -c -o libgrub_a-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" "$(DEPDIR)/libgrub_a-fsys_minix.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_minix.Tpo -c -o libgrub_a-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_minix.Tpo $(DEPDIR)/libgrub_a-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='libgrub_a-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c - - libgrub_a-fsys_minix.obj: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" -c -o libgrub_a-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" "$(DEPDIR)/libgrub_a-fsys_minix.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_minix.Tpo -c -o libgrub_a-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_minix.Tpo $(DEPDIR)/libgrub_a-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='libgrub_a-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` - - libgrub_a-fsys_reiserfs.o: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" -c -o libgrub_a-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo -c -o libgrub_a-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo $(DEPDIR)/libgrub_a-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='libgrub_a-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c - - libgrub_a-fsys_reiserfs.obj: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo $(DEPDIR)/libgrub_a-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='libgrub_a-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` - - libgrub_a-fsys_ufs2.o: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" "$(DEPDIR)/libgrub_a-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo $(DEPDIR)/libgrub_a-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='libgrub_a-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c - - libgrub_a-fsys_ufs2.obj: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" -c -o libgrub_a-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" "$(DEPDIR)/libgrub_a-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo -c -o libgrub_a-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo $(DEPDIR)/libgrub_a-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='libgrub_a-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` - - libgrub_a-fsys_vstafs.o: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" -c -o libgrub_a-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" "$(DEPDIR)/libgrub_a-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo -c -o libgrub_a-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo $(DEPDIR)/libgrub_a-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='libgrub_a-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c - - libgrub_a-fsys_vstafs.obj: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" -c -o libgrub_a-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" "$(DEPDIR)/libgrub_a-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo -c -o libgrub_a-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo $(DEPDIR)/libgrub_a-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='libgrub_a-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` - - libgrub_a-fsys_xfs.o: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" -c -o libgrub_a-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_xfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_xfs.Tpo -c -o libgrub_a-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_xfs.Tpo $(DEPDIR)/libgrub_a-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='libgrub_a-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c - - libgrub_a-fsys_xfs.obj: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" -c -o libgrub_a-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_xfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_xfs.Tpo -c -o libgrub_a-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_xfs.Tpo $(DEPDIR)/libgrub_a-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='libgrub_a-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` - - libgrub_a-gunzip.o: gunzip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.o -MD -MP -MF "$(DEPDIR)/libgrub_a-gunzip.Tpo" -c -o libgrub_a-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-gunzip.Tpo" "$(DEPDIR)/libgrub_a-gunzip.Po"; else rm -f "$(DEPDIR)/libgrub_a-gunzip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.o -MD -MP -MF $(DEPDIR)/libgrub_a-gunzip.Tpo -c -o libgrub_a-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-gunzip.Tpo $(DEPDIR)/libgrub_a-gunzip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='libgrub_a-gunzip.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c - - libgrub_a-gunzip.obj: gunzip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-gunzip.Tpo" -c -o libgrub_a-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-gunzip.Tpo" "$(DEPDIR)/libgrub_a-gunzip.Po"; else rm -f "$(DEPDIR)/libgrub_a-gunzip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.obj -MD -MP -MF $(DEPDIR)/libgrub_a-gunzip.Tpo -c -o libgrub_a-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-gunzip.Tpo $(DEPDIR)/libgrub_a-gunzip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='libgrub_a-gunzip.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` - - libgrub_a-md5.o: md5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.o -MD -MP -MF "$(DEPDIR)/libgrub_a-md5.Tpo" -c -o libgrub_a-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-md5.Tpo" "$(DEPDIR)/libgrub_a-md5.Po"; else rm -f "$(DEPDIR)/libgrub_a-md5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.o -MD -MP -MF $(DEPDIR)/libgrub_a-md5.Tpo -c -o libgrub_a-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-md5.Tpo $(DEPDIR)/libgrub_a-md5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='libgrub_a-md5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c - - libgrub_a-md5.obj: md5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-md5.Tpo" -c -o libgrub_a-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-md5.Tpo" "$(DEPDIR)/libgrub_a-md5.Po"; else rm -f "$(DEPDIR)/libgrub_a-md5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.obj -MD -MP -MF $(DEPDIR)/libgrub_a-md5.Tpo -c -o libgrub_a-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-md5.Tpo $(DEPDIR)/libgrub_a-md5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='libgrub_a-md5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` - - libgrub_a-serial.o: serial.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.o -MD -MP -MF "$(DEPDIR)/libgrub_a-serial.Tpo" -c -o libgrub_a-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-serial.Tpo" "$(DEPDIR)/libgrub_a-serial.Po"; else rm -f "$(DEPDIR)/libgrub_a-serial.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.o -MD -MP -MF $(DEPDIR)/libgrub_a-serial.Tpo -c -o libgrub_a-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-serial.Tpo $(DEPDIR)/libgrub_a-serial.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='libgrub_a-serial.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c - - libgrub_a-serial.obj: serial.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-serial.Tpo" -c -o libgrub_a-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-serial.Tpo" "$(DEPDIR)/libgrub_a-serial.Po"; else rm -f "$(DEPDIR)/libgrub_a-serial.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.obj -MD -MP -MF $(DEPDIR)/libgrub_a-serial.Tpo -c -o libgrub_a-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-serial.Tpo $(DEPDIR)/libgrub_a-serial.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='libgrub_a-serial.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` - - libgrub_a-stage2.o: stage2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.o -MD -MP -MF "$(DEPDIR)/libgrub_a-stage2.Tpo" -c -o libgrub_a-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-stage2.Tpo" "$(DEPDIR)/libgrub_a-stage2.Po"; else rm -f "$(DEPDIR)/libgrub_a-stage2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.o -MD -MP -MF $(DEPDIR)/libgrub_a-stage2.Tpo -c -o libgrub_a-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-stage2.Tpo $(DEPDIR)/libgrub_a-stage2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='libgrub_a-stage2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c - - libgrub_a-stage2.obj: stage2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-stage2.Tpo" -c -o libgrub_a-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-stage2.Tpo" "$(DEPDIR)/libgrub_a-stage2.Po"; else rm -f "$(DEPDIR)/libgrub_a-stage2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.obj -MD -MP -MF $(DEPDIR)/libgrub_a-stage2.Tpo -c -o libgrub_a-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-stage2.Tpo $(DEPDIR)/libgrub_a-stage2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='libgrub_a-stage2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` - - libgrub_a-terminfo.o: terminfo.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.o -MD -MP -MF "$(DEPDIR)/libgrub_a-terminfo.Tpo" -c -o libgrub_a-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-terminfo.Tpo" "$(DEPDIR)/libgrub_a-terminfo.Po"; else rm -f "$(DEPDIR)/libgrub_a-terminfo.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.o -MD -MP -MF $(DEPDIR)/libgrub_a-terminfo.Tpo -c -o libgrub_a-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-terminfo.Tpo $(DEPDIR)/libgrub_a-terminfo.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='libgrub_a-terminfo.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c - - libgrub_a-terminfo.obj: terminfo.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-terminfo.Tpo" -c -o libgrub_a-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-terminfo.Tpo" "$(DEPDIR)/libgrub_a-terminfo.Po"; else rm -f "$(DEPDIR)/libgrub_a-terminfo.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.obj -MD -MP -MF $(DEPDIR)/libgrub_a-terminfo.Tpo -c -o libgrub_a-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-terminfo.Tpo $(DEPDIR)/libgrub_a-terminfo.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='libgrub_a-terminfo.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` - - libgrub_a-tparm.o: tparm.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.o -MD -MP -MF "$(DEPDIR)/libgrub_a-tparm.Tpo" -c -o libgrub_a-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-tparm.Tpo" "$(DEPDIR)/libgrub_a-tparm.Po"; else rm -f "$(DEPDIR)/libgrub_a-tparm.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.o -MD -MP -MF $(DEPDIR)/libgrub_a-tparm.Tpo -c -o libgrub_a-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-tparm.Tpo $(DEPDIR)/libgrub_a-tparm.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='libgrub_a-tparm.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c - - libgrub_a-tparm.obj: tparm.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-tparm.Tpo" -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-tparm.Tpo" "$(DEPDIR)/libgrub_a-tparm.Po"; else rm -f "$(DEPDIR)/libgrub_a-tparm.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.obj -MD -MP -MF $(DEPDIR)/libgrub_a-tparm.Tpo -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-tparm.Tpo $(DEPDIR)/libgrub_a-tparm.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='libgrub_a-tparm.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` - -+libgrub_a-graphics.o: graphics.c -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.o -MD -MP -MF $(DEPDIR)/libgrub_a-graphics.Tpo -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-graphics.Tpo $(DEPDIR)/libgrub_a-graphics.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+ -+libgrub_a-graphics.obj: graphics.c -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.obj -MD -MP -MF $(DEPDIR)/libgrub_a-graphics.Tpo -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-graphics.Tpo $(DEPDIR)/libgrub_a-graphics.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+ - diskless_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.o -MD -MP -MF "$(DEPDIR)/diskless_exec-bios.Tpo" -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-bios.Tpo" "$(DEPDIR)/diskless_exec-bios.Po"; else rm -f "$(DEPDIR)/diskless_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.o -MD -MP -MF $(DEPDIR)/diskless_exec-bios.Tpo -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-bios.Tpo $(DEPDIR)/diskless_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='diskless_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - diskless_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-bios.Tpo" -c -o diskless_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-bios.Tpo" "$(DEPDIR)/diskless_exec-bios.Po"; else rm -f "$(DEPDIR)/diskless_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.obj -MD -MP -MF $(DEPDIR)/diskless_exec-bios.Tpo -c -o diskless_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-bios.Tpo $(DEPDIR)/diskless_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='diskless_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - diskless_exec-boot.o: boot.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.o -MD -MP -MF "$(DEPDIR)/diskless_exec-boot.Tpo" -c -o diskless_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-boot.Tpo" "$(DEPDIR)/diskless_exec-boot.Po"; else rm -f "$(DEPDIR)/diskless_exec-boot.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.o -MD -MP -MF $(DEPDIR)/diskless_exec-boot.Tpo -c -o diskless_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-boot.Tpo $(DEPDIR)/diskless_exec-boot.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='diskless_exec-boot.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c - - diskless_exec-boot.obj: boot.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-boot.Tpo" -c -o diskless_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-boot.Tpo" "$(DEPDIR)/diskless_exec-boot.Po"; else rm -f "$(DEPDIR)/diskless_exec-boot.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.obj -MD -MP -MF $(DEPDIR)/diskless_exec-boot.Tpo -c -o diskless_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-boot.Tpo $(DEPDIR)/diskless_exec-boot.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='diskless_exec-boot.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` - - diskless_exec-builtins.o: builtins.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.o -MD -MP -MF "$(DEPDIR)/diskless_exec-builtins.Tpo" -c -o diskless_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-builtins.Tpo" "$(DEPDIR)/diskless_exec-builtins.Po"; else rm -f "$(DEPDIR)/diskless_exec-builtins.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.o -MD -MP -MF $(DEPDIR)/diskless_exec-builtins.Tpo -c -o diskless_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-builtins.Tpo $(DEPDIR)/diskless_exec-builtins.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='diskless_exec-builtins.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c - - diskless_exec-builtins.obj: builtins.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-builtins.Tpo" -c -o diskless_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-builtins.Tpo" "$(DEPDIR)/diskless_exec-builtins.Po"; else rm -f "$(DEPDIR)/diskless_exec-builtins.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.obj -MD -MP -MF $(DEPDIR)/diskless_exec-builtins.Tpo -c -o diskless_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-builtins.Tpo $(DEPDIR)/diskless_exec-builtins.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='diskless_exec-builtins.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` - - diskless_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.o -MD -MP -MF "$(DEPDIR)/diskless_exec-char_io.Tpo" -c -o diskless_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-char_io.Tpo" "$(DEPDIR)/diskless_exec-char_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.o -MD -MP -MF $(DEPDIR)/diskless_exec-char_io.Tpo -c -o diskless_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-char_io.Tpo $(DEPDIR)/diskless_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='diskless_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - diskless_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-char_io.Tpo" -c -o diskless_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-char_io.Tpo" "$(DEPDIR)/diskless_exec-char_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.obj -MD -MP -MF $(DEPDIR)/diskless_exec-char_io.Tpo -c -o diskless_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-char_io.Tpo $(DEPDIR)/diskless_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='diskless_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - diskless_exec-cmdline.o: cmdline.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.o -MD -MP -MF "$(DEPDIR)/diskless_exec-cmdline.Tpo" -c -o diskless_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-cmdline.Tpo" "$(DEPDIR)/diskless_exec-cmdline.Po"; else rm -f "$(DEPDIR)/diskless_exec-cmdline.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.o -MD -MP -MF $(DEPDIR)/diskless_exec-cmdline.Tpo -c -o diskless_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-cmdline.Tpo $(DEPDIR)/diskless_exec-cmdline.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='diskless_exec-cmdline.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c - - diskless_exec-cmdline.obj: cmdline.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-cmdline.Tpo" -c -o diskless_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-cmdline.Tpo" "$(DEPDIR)/diskless_exec-cmdline.Po"; else rm -f "$(DEPDIR)/diskless_exec-cmdline.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.obj -MD -MP -MF $(DEPDIR)/diskless_exec-cmdline.Tpo -c -o diskless_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-cmdline.Tpo $(DEPDIR)/diskless_exec-cmdline.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='diskless_exec-cmdline.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` - - diskless_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.o -MD -MP -MF "$(DEPDIR)/diskless_exec-common.Tpo" -c -o diskless_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-common.Tpo" "$(DEPDIR)/diskless_exec-common.Po"; else rm -f "$(DEPDIR)/diskless_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.o -MD -MP -MF $(DEPDIR)/diskless_exec-common.Tpo -c -o diskless_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-common.Tpo $(DEPDIR)/diskless_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='diskless_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - diskless_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-common.Tpo" -c -o diskless_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-common.Tpo" "$(DEPDIR)/diskless_exec-common.Po"; else rm -f "$(DEPDIR)/diskless_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.obj -MD -MP -MF $(DEPDIR)/diskless_exec-common.Tpo -c -o diskless_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-common.Tpo $(DEPDIR)/diskless_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='diskless_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - diskless_exec-console.o: console.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.o -MD -MP -MF "$(DEPDIR)/diskless_exec-console.Tpo" -c -o diskless_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-console.Tpo" "$(DEPDIR)/diskless_exec-console.Po"; else rm -f "$(DEPDIR)/diskless_exec-console.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.o -MD -MP -MF $(DEPDIR)/diskless_exec-console.Tpo -c -o diskless_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-console.Tpo $(DEPDIR)/diskless_exec-console.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='diskless_exec-console.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c - - diskless_exec-console.obj: console.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-console.Tpo" -c -o diskless_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-console.Tpo" "$(DEPDIR)/diskless_exec-console.Po"; else rm -f "$(DEPDIR)/diskless_exec-console.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.obj -MD -MP -MF $(DEPDIR)/diskless_exec-console.Tpo -c -o diskless_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-console.Tpo $(DEPDIR)/diskless_exec-console.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='diskless_exec-console.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` - - diskless_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/diskless_exec-disk_io.Tpo" -c -o diskless_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-disk_io.Tpo" "$(DEPDIR)/diskless_exec-disk_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.o -MD -MP -MF $(DEPDIR)/diskless_exec-disk_io.Tpo -c -o diskless_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-disk_io.Tpo $(DEPDIR)/diskless_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='diskless_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - diskless_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-disk_io.Tpo" -c -o diskless_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-disk_io.Tpo" "$(DEPDIR)/diskless_exec-disk_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/diskless_exec-disk_io.Tpo -c -o diskless_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-disk_io.Tpo $(DEPDIR)/diskless_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='diskless_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - diskless_exec-fsys_ext2fs.o: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" -c -o diskless_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo -c -o diskless_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo $(DEPDIR)/diskless_exec-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='diskless_exec-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c - - diskless_exec-fsys_ext2fs.obj: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" -c -o diskless_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo -c -o diskless_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo $(DEPDIR)/diskless_exec-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='diskless_exec-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` - - diskless_exec-fsys_fat.o: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" -c -o diskless_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" "$(DEPDIR)/diskless_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_fat.Tpo -c -o diskless_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_fat.Tpo $(DEPDIR)/diskless_exec-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='diskless_exec-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c - - diskless_exec-fsys_fat.obj: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" -c -o diskless_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" "$(DEPDIR)/diskless_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_fat.Tpo -c -o diskless_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_fat.Tpo $(DEPDIR)/diskless_exec-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='diskless_exec-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` - - diskless_exec-fsys_ffs.o: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" -c -o diskless_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ffs.Tpo -c -o diskless_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ffs.Tpo $(DEPDIR)/diskless_exec-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='diskless_exec-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c - - diskless_exec-fsys_ffs.obj: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" -c -o diskless_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ffs.Tpo -c -o diskless_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ffs.Tpo $(DEPDIR)/diskless_exec-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='diskless_exec-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` - - diskless_exec-fsys_iso9660.o: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" -c -o diskless_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" "$(DEPDIR)/diskless_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo -c -o diskless_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo $(DEPDIR)/diskless_exec-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='diskless_exec-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c - - diskless_exec-fsys_iso9660.obj: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" -c -o diskless_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" "$(DEPDIR)/diskless_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo -c -o diskless_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo $(DEPDIR)/diskless_exec-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='diskless_exec-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` - - diskless_exec-fsys_jfs.o: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" -c -o diskless_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_jfs.Tpo -c -o diskless_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_jfs.Tpo $(DEPDIR)/diskless_exec-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='diskless_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c - - diskless_exec-fsys_jfs.obj: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" -c -o diskless_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_jfs.Tpo -c -o diskless_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_jfs.Tpo $(DEPDIR)/diskless_exec-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='diskless_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` - - diskless_exec-fsys_minix.o: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" -c -o diskless_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" "$(DEPDIR)/diskless_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_minix.Tpo -c -o diskless_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_minix.Tpo $(DEPDIR)/diskless_exec-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='diskless_exec-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c - - diskless_exec-fsys_minix.obj: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" -c -o diskless_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" "$(DEPDIR)/diskless_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_minix.Tpo -c -o diskless_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_minix.Tpo $(DEPDIR)/diskless_exec-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='diskless_exec-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` - - diskless_exec-fsys_reiserfs.o: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" -c -o diskless_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo -c -o diskless_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo $(DEPDIR)/diskless_exec-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='diskless_exec-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c - - diskless_exec-fsys_reiserfs.obj: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo $(DEPDIR)/diskless_exec-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='diskless_exec-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` - - diskless_exec-fsys_ufs2.o: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" "$(DEPDIR)/diskless_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo $(DEPDIR)/diskless_exec-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='diskless_exec-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c - - diskless_exec-fsys_ufs2.obj: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" -c -o diskless_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" "$(DEPDIR)/diskless_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo -c -o diskless_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo $(DEPDIR)/diskless_exec-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='diskless_exec-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` - - diskless_exec-fsys_vstafs.o: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" -c -o diskless_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" "$(DEPDIR)/diskless_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo -c -o diskless_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo $(DEPDIR)/diskless_exec-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='diskless_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c - - diskless_exec-fsys_vstafs.obj: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" -c -o diskless_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" "$(DEPDIR)/diskless_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo -c -o diskless_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo $(DEPDIR)/diskless_exec-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='diskless_exec-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` - - diskless_exec-fsys_xfs.o: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" -c -o diskless_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_xfs.Tpo -c -o diskless_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_xfs.Tpo $(DEPDIR)/diskless_exec-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='diskless_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c - - diskless_exec-fsys_xfs.obj: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" -c -o diskless_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_xfs.Tpo -c -o diskless_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_xfs.Tpo $(DEPDIR)/diskless_exec-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='diskless_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` - - diskless_exec-gunzip.o: gunzip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.o -MD -MP -MF "$(DEPDIR)/diskless_exec-gunzip.Tpo" -c -o diskless_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-gunzip.Tpo" "$(DEPDIR)/diskless_exec-gunzip.Po"; else rm -f "$(DEPDIR)/diskless_exec-gunzip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.o -MD -MP -MF $(DEPDIR)/diskless_exec-gunzip.Tpo -c -o diskless_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-gunzip.Tpo $(DEPDIR)/diskless_exec-gunzip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='diskless_exec-gunzip.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c - - diskless_exec-gunzip.obj: gunzip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-gunzip.Tpo" -c -o diskless_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-gunzip.Tpo" "$(DEPDIR)/diskless_exec-gunzip.Po"; else rm -f "$(DEPDIR)/diskless_exec-gunzip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.obj -MD -MP -MF $(DEPDIR)/diskless_exec-gunzip.Tpo -c -o diskless_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-gunzip.Tpo $(DEPDIR)/diskless_exec-gunzip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='diskless_exec-gunzip.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` - - diskless_exec-hercules.o: hercules.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.o -MD -MP -MF "$(DEPDIR)/diskless_exec-hercules.Tpo" -c -o diskless_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-hercules.Tpo" "$(DEPDIR)/diskless_exec-hercules.Po"; else rm -f "$(DEPDIR)/diskless_exec-hercules.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.o -MD -MP -MF $(DEPDIR)/diskless_exec-hercules.Tpo -c -o diskless_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-hercules.Tpo $(DEPDIR)/diskless_exec-hercules.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='diskless_exec-hercules.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c - - diskless_exec-hercules.obj: hercules.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-hercules.Tpo" -c -o diskless_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-hercules.Tpo" "$(DEPDIR)/diskless_exec-hercules.Po"; else rm -f "$(DEPDIR)/diskless_exec-hercules.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.obj -MD -MP -MF $(DEPDIR)/diskless_exec-hercules.Tpo -c -o diskless_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-hercules.Tpo $(DEPDIR)/diskless_exec-hercules.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='diskless_exec-hercules.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` - - diskless_exec-md5.o: md5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.o -MD -MP -MF "$(DEPDIR)/diskless_exec-md5.Tpo" -c -o diskless_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-md5.Tpo" "$(DEPDIR)/diskless_exec-md5.Po"; else rm -f "$(DEPDIR)/diskless_exec-md5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.o -MD -MP -MF $(DEPDIR)/diskless_exec-md5.Tpo -c -o diskless_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-md5.Tpo $(DEPDIR)/diskless_exec-md5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='diskless_exec-md5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c - - diskless_exec-md5.obj: md5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-md5.Tpo" -c -o diskless_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-md5.Tpo" "$(DEPDIR)/diskless_exec-md5.Po"; else rm -f "$(DEPDIR)/diskless_exec-md5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.obj -MD -MP -MF $(DEPDIR)/diskless_exec-md5.Tpo -c -o diskless_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-md5.Tpo $(DEPDIR)/diskless_exec-md5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='diskless_exec-md5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` - - diskless_exec-serial.o: serial.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.o -MD -MP -MF "$(DEPDIR)/diskless_exec-serial.Tpo" -c -o diskless_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-serial.Tpo" "$(DEPDIR)/diskless_exec-serial.Po"; else rm -f "$(DEPDIR)/diskless_exec-serial.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.o -MD -MP -MF $(DEPDIR)/diskless_exec-serial.Tpo -c -o diskless_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-serial.Tpo $(DEPDIR)/diskless_exec-serial.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='diskless_exec-serial.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c - - diskless_exec-serial.obj: serial.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-serial.Tpo" -c -o diskless_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-serial.Tpo" "$(DEPDIR)/diskless_exec-serial.Po"; else rm -f "$(DEPDIR)/diskless_exec-serial.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.obj -MD -MP -MF $(DEPDIR)/diskless_exec-serial.Tpo -c -o diskless_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-serial.Tpo $(DEPDIR)/diskless_exec-serial.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='diskless_exec-serial.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` - - diskless_exec-smp-imps.o: smp-imps.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.o -MD -MP -MF "$(DEPDIR)/diskless_exec-smp-imps.Tpo" -c -o diskless_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo" "$(DEPDIR)/diskless_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.o -MD -MP -MF $(DEPDIR)/diskless_exec-smp-imps.Tpo -c -o diskless_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-smp-imps.Tpo $(DEPDIR)/diskless_exec-smp-imps.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='diskless_exec-smp-imps.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c - - diskless_exec-smp-imps.obj: smp-imps.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-smp-imps.Tpo" -c -o diskless_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo" "$(DEPDIR)/diskless_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.obj -MD -MP -MF $(DEPDIR)/diskless_exec-smp-imps.Tpo -c -o diskless_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-smp-imps.Tpo $(DEPDIR)/diskless_exec-smp-imps.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='diskless_exec-smp-imps.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` - - diskless_exec-stage2.o: stage2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.o -MD -MP -MF "$(DEPDIR)/diskless_exec-stage2.Tpo" -c -o diskless_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-stage2.Tpo" "$(DEPDIR)/diskless_exec-stage2.Po"; else rm -f "$(DEPDIR)/diskless_exec-stage2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.o -MD -MP -MF $(DEPDIR)/diskless_exec-stage2.Tpo -c -o diskless_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-stage2.Tpo $(DEPDIR)/diskless_exec-stage2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='diskless_exec-stage2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c - - diskless_exec-stage2.obj: stage2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-stage2.Tpo" -c -o diskless_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-stage2.Tpo" "$(DEPDIR)/diskless_exec-stage2.Po"; else rm -f "$(DEPDIR)/diskless_exec-stage2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.obj -MD -MP -MF $(DEPDIR)/diskless_exec-stage2.Tpo -c -o diskless_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-stage2.Tpo $(DEPDIR)/diskless_exec-stage2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='diskless_exec-stage2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` - - diskless_exec-terminfo.o: terminfo.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.o -MD -MP -MF "$(DEPDIR)/diskless_exec-terminfo.Tpo" -c -o diskless_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-terminfo.Tpo" "$(DEPDIR)/diskless_exec-terminfo.Po"; else rm -f "$(DEPDIR)/diskless_exec-terminfo.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.o -MD -MP -MF $(DEPDIR)/diskless_exec-terminfo.Tpo -c -o diskless_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-terminfo.Tpo $(DEPDIR)/diskless_exec-terminfo.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='diskless_exec-terminfo.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c - - diskless_exec-terminfo.obj: terminfo.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-terminfo.Tpo" -c -o diskless_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-terminfo.Tpo" "$(DEPDIR)/diskless_exec-terminfo.Po"; else rm -f "$(DEPDIR)/diskless_exec-terminfo.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.obj -MD -MP -MF $(DEPDIR)/diskless_exec-terminfo.Tpo -c -o diskless_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-terminfo.Tpo $(DEPDIR)/diskless_exec-terminfo.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='diskless_exec-terminfo.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` - - diskless_exec-tparm.o: tparm.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.o -MD -MP -MF "$(DEPDIR)/diskless_exec-tparm.Tpo" -c -o diskless_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-tparm.Tpo" "$(DEPDIR)/diskless_exec-tparm.Po"; else rm -f "$(DEPDIR)/diskless_exec-tparm.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.o -MD -MP -MF $(DEPDIR)/diskless_exec-tparm.Tpo -c -o diskless_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-tparm.Tpo $(DEPDIR)/diskless_exec-tparm.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='diskless_exec-tparm.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c - - diskless_exec-tparm.obj: tparm.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-tparm.Tpo" -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-tparm.Tpo" "$(DEPDIR)/diskless_exec-tparm.Po"; else rm -f "$(DEPDIR)/diskless_exec-tparm.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.obj -MD -MP -MF $(DEPDIR)/diskless_exec-tparm.Tpo -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-tparm.Tpo $(DEPDIR)/diskless_exec-tparm.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='diskless_exec-tparm.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` - -+diskless_exec-graphics.o: graphics.c -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.o -MD -MP -MF $(DEPDIR)/diskless_exec-graphics.Tpo -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-graphics.Tpo $(DEPDIR)/diskless_exec-graphics.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+ -+diskless_exec-graphics.obj: graphics.c -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.obj -MD -MP -MF $(DEPDIR)/diskless_exec-graphics.Tpo -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-graphics.Tpo $(DEPDIR)/diskless_exec-graphics.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+ - e2fs_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo $(DEPDIR)/e2fs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='e2fs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - e2fs_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" -c -o e2fs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo -c -o e2fs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo $(DEPDIR)/e2fs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='e2fs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - e2fs_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" -c -o e2fs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo -c -o e2fs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='e2fs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - e2fs_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" -c -o e2fs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo -c -o e2fs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='e2fs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - e2fs_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" -c -o e2fs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo -c -o e2fs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='e2fs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - e2fs_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" -c -o e2fs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo -c -o e2fs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='e2fs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - e2fs_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" -c -o e2fs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo -c -o e2fs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='e2fs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - e2fs_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" -c -o e2fs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo -c -o e2fs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='e2fs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - e2fs_stage1_5_exec-fsys_ext2fs.o: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" -c -o e2fs_stage1_5_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo -c -o e2fs_stage1_5_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='e2fs_stage1_5_exec-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c - - e2fs_stage1_5_exec-fsys_ext2fs.obj: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" -c -o e2fs_stage1_5_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo -c -o e2fs_stage1_5_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='e2fs_stage1_5_exec-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` - - e2fs_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" -c -o e2fs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo -c -o e2fs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo $(DEPDIR)/e2fs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='e2fs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - e2fs_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" -c -o e2fs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo -c -o e2fs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo $(DEPDIR)/e2fs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='e2fs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - fat_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" -c -o fat_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" "$(DEPDIR)/fat_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-common.Tpo -c -o fat_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-common.Tpo $(DEPDIR)/fat_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='fat_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - fat_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" -c -o fat_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" "$(DEPDIR)/fat_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-common.Tpo -c -o fat_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-common.Tpo $(DEPDIR)/fat_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='fat_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - fat_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" -c -o fat_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo -c -o fat_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo $(DEPDIR)/fat_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='fat_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - fat_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" -c -o fat_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo -c -o fat_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo $(DEPDIR)/fat_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='fat_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - fat_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" -c -o fat_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo -c -o fat_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo $(DEPDIR)/fat_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='fat_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - fat_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" -c -o fat_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo -c -o fat_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo $(DEPDIR)/fat_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='fat_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - fat_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" -c -o fat_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo -c -o fat_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/fat_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='fat_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - fat_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" -c -o fat_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo -c -o fat_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/fat_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='fat_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - fat_stage1_5_exec-fsys_fat.o: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" -c -o fat_stage1_5_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo -c -o fat_stage1_5_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='fat_stage1_5_exec-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c - - fat_stage1_5_exec-fsys_fat.obj: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" -c -o fat_stage1_5_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo -c -o fat_stage1_5_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='fat_stage1_5_exec-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` - - fat_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" -c -o fat_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" "$(DEPDIR)/fat_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-bios.Tpo -c -o fat_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-bios.Tpo $(DEPDIR)/fat_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='fat_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - fat_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" -c -o fat_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" "$(DEPDIR)/fat_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-bios.Tpo -c -o fat_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-bios.Tpo $(DEPDIR)/fat_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='fat_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - ffs_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" -c -o ffs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-common.Tpo -c -o ffs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-common.Tpo $(DEPDIR)/ffs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ffs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - ffs_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" -c -o ffs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-common.Tpo -c -o ffs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-common.Tpo $(DEPDIR)/ffs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ffs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - ffs_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" -c -o ffs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo -c -o ffs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ffs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - ffs_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" -c -o ffs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo -c -o ffs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ffs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - ffs_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" -c -o ffs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo -c -o ffs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ffs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - ffs_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" -c -o ffs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo -c -o ffs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ffs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - ffs_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" -c -o ffs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo -c -o ffs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ffs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - ffs_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" -c -o ffs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo -c -o ffs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ffs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - ffs_stage1_5_exec-fsys_ffs.o: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" -c -o ffs_stage1_5_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo -c -o ffs_stage1_5_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='ffs_stage1_5_exec-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c - - ffs_stage1_5_exec-fsys_ffs.obj: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" -c -o ffs_stage1_5_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo -c -o ffs_stage1_5_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='ffs_stage1_5_exec-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` - - ffs_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" -c -o ffs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo -c -o ffs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo $(DEPDIR)/ffs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ffs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - ffs_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" -c -o ffs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo -c -o ffs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo $(DEPDIR)/ffs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ffs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - iso9660_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" -c -o iso9660_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo -c -o iso9660_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo $(DEPDIR)/iso9660_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='iso9660_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - iso9660_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" -c -o iso9660_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo -c -o iso9660_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo $(DEPDIR)/iso9660_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='iso9660_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - iso9660_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" -c -o iso9660_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo -c -o iso9660_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='iso9660_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - iso9660_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" -c -o iso9660_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo -c -o iso9660_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='iso9660_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - iso9660_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" -c -o iso9660_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo -c -o iso9660_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='iso9660_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - iso9660_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" -c -o iso9660_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo -c -o iso9660_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='iso9660_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - iso9660_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" -c -o iso9660_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo -c -o iso9660_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='iso9660_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - iso9660_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" -c -o iso9660_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo -c -o iso9660_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='iso9660_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - iso9660_stage1_5_exec-fsys_iso9660.o: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" -c -o iso9660_stage1_5_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo -c -o iso9660_stage1_5_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='iso9660_stage1_5_exec-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c - - iso9660_stage1_5_exec-fsys_iso9660.obj: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" -c -o iso9660_stage1_5_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo -c -o iso9660_stage1_5_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='iso9660_stage1_5_exec-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` - - iso9660_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" -c -o iso9660_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo -c -o iso9660_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo $(DEPDIR)/iso9660_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='iso9660_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - iso9660_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" -c -o iso9660_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo -c -o iso9660_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo $(DEPDIR)/iso9660_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='iso9660_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - jfs_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" -c -o jfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-common.Tpo -c -o jfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-common.Tpo $(DEPDIR)/jfs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='jfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - jfs_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" -c -o jfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-common.Tpo -c -o jfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-common.Tpo $(DEPDIR)/jfs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='jfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - jfs_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" -c -o jfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo -c -o jfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='jfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - jfs_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" -c -o jfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo -c -o jfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='jfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - jfs_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" -c -o jfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo -c -o jfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='jfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - jfs_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" -c -o jfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo -c -o jfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='jfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - jfs_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" -c -o jfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo -c -o jfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='jfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - jfs_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" -c -o jfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo -c -o jfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='jfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - jfs_stage1_5_exec-fsys_jfs.o: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='jfs_stage1_5_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c - - jfs_stage1_5_exec-fsys_jfs.obj: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" -c -o jfs_stage1_5_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo -c -o jfs_stage1_5_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='jfs_stage1_5_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` - - jfs_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" -c -o jfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo -c -o jfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo $(DEPDIR)/jfs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='jfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - jfs_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" -c -o jfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo -c -o jfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo $(DEPDIR)/jfs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='jfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - minix_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" -c -o minix_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" "$(DEPDIR)/minix_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-common.Tpo -c -o minix_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-common.Tpo $(DEPDIR)/minix_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='minix_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - minix_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" -c -o minix_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" "$(DEPDIR)/minix_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-common.Tpo -c -o minix_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-common.Tpo $(DEPDIR)/minix_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='minix_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - minix_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" -c -o minix_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo -c -o minix_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo $(DEPDIR)/minix_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='minix_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - minix_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" -c -o minix_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo -c -o minix_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo $(DEPDIR)/minix_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='minix_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - minix_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" -c -o minix_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo -c -o minix_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo $(DEPDIR)/minix_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='minix_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - minix_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" -c -o minix_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo -c -o minix_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo $(DEPDIR)/minix_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='minix_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - minix_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" -c -o minix_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo -c -o minix_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/minix_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='minix_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - minix_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" -c -o minix_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo -c -o minix_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/minix_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='minix_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - minix_stage1_5_exec-fsys_minix.o: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" -c -o minix_stage1_5_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo -c -o minix_stage1_5_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='minix_stage1_5_exec-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c - - minix_stage1_5_exec-fsys_minix.obj: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" -c -o minix_stage1_5_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo -c -o minix_stage1_5_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='minix_stage1_5_exec-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` - - minix_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" -c -o minix_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" "$(DEPDIR)/minix_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-bios.Tpo -c -o minix_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-bios.Tpo $(DEPDIR)/minix_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='minix_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - minix_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" -c -o minix_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" "$(DEPDIR)/minix_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-bios.Tpo -c -o minix_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-bios.Tpo $(DEPDIR)/minix_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='minix_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - pre_stage2_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-bios.Tpo" -c -o pre_stage2_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo" "$(DEPDIR)/pre_stage2_exec-bios.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-bios.Tpo -c -o pre_stage2_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-bios.Tpo $(DEPDIR)/pre_stage2_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='pre_stage2_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - pre_stage2_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-bios.Tpo" -c -o pre_stage2_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo" "$(DEPDIR)/pre_stage2_exec-bios.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-bios.Tpo -c -o pre_stage2_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-bios.Tpo $(DEPDIR)/pre_stage2_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='pre_stage2_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - pre_stage2_exec-boot.o: boot.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-boot.Tpo" -c -o pre_stage2_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo" "$(DEPDIR)/pre_stage2_exec-boot.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-boot.Tpo -c -o pre_stage2_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-boot.Tpo $(DEPDIR)/pre_stage2_exec-boot.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='pre_stage2_exec-boot.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c - - pre_stage2_exec-boot.obj: boot.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-boot.Tpo" -c -o pre_stage2_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo" "$(DEPDIR)/pre_stage2_exec-boot.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-boot.Tpo -c -o pre_stage2_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-boot.Tpo $(DEPDIR)/pre_stage2_exec-boot.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='pre_stage2_exec-boot.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` - - pre_stage2_exec-builtins.o: builtins.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" -c -o pre_stage2_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" "$(DEPDIR)/pre_stage2_exec-builtins.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-builtins.Tpo -c -o pre_stage2_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-builtins.Tpo $(DEPDIR)/pre_stage2_exec-builtins.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='pre_stage2_exec-builtins.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c - - pre_stage2_exec-builtins.obj: builtins.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" -c -o pre_stage2_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" "$(DEPDIR)/pre_stage2_exec-builtins.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-builtins.Tpo -c -o pre_stage2_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-builtins.Tpo $(DEPDIR)/pre_stage2_exec-builtins.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='pre_stage2_exec-builtins.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` - - pre_stage2_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" -c -o pre_stage2_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" "$(DEPDIR)/pre_stage2_exec-char_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-char_io.Tpo -c -o pre_stage2_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-char_io.Tpo $(DEPDIR)/pre_stage2_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='pre_stage2_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - pre_stage2_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" -c -o pre_stage2_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" "$(DEPDIR)/pre_stage2_exec-char_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-char_io.Tpo -c -o pre_stage2_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-char_io.Tpo $(DEPDIR)/pre_stage2_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='pre_stage2_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - pre_stage2_exec-cmdline.o: cmdline.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" -c -o pre_stage2_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" "$(DEPDIR)/pre_stage2_exec-cmdline.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-cmdline.Tpo -c -o pre_stage2_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-cmdline.Tpo $(DEPDIR)/pre_stage2_exec-cmdline.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='pre_stage2_exec-cmdline.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c - - pre_stage2_exec-cmdline.obj: cmdline.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" -c -o pre_stage2_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" "$(DEPDIR)/pre_stage2_exec-cmdline.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-cmdline.Tpo -c -o pre_stage2_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-cmdline.Tpo $(DEPDIR)/pre_stage2_exec-cmdline.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='pre_stage2_exec-cmdline.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` - - pre_stage2_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-common.Tpo" -c -o pre_stage2_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-common.Tpo" "$(DEPDIR)/pre_stage2_exec-common.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-common.Tpo -c -o pre_stage2_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-common.Tpo $(DEPDIR)/pre_stage2_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='pre_stage2_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - pre_stage2_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-common.Tpo" -c -o pre_stage2_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-common.Tpo" "$(DEPDIR)/pre_stage2_exec-common.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-common.Tpo -c -o pre_stage2_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-common.Tpo $(DEPDIR)/pre_stage2_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='pre_stage2_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - pre_stage2_exec-console.o: console.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-console.Tpo" -c -o pre_stage2_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-console.Tpo" "$(DEPDIR)/pre_stage2_exec-console.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-console.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-console.Tpo -c -o pre_stage2_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-console.Tpo $(DEPDIR)/pre_stage2_exec-console.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='pre_stage2_exec-console.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c - - pre_stage2_exec-console.obj: console.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-console.Tpo" -c -o pre_stage2_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-console.Tpo" "$(DEPDIR)/pre_stage2_exec-console.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-console.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-console.Tpo -c -o pre_stage2_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-console.Tpo $(DEPDIR)/pre_stage2_exec-console.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='pre_stage2_exec-console.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` - - pre_stage2_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" -c -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" "$(DEPDIR)/pre_stage2_exec-disk_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-disk_io.Tpo -c -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-disk_io.Tpo $(DEPDIR)/pre_stage2_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='pre_stage2_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - pre_stage2_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" -c -o pre_stage2_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" "$(DEPDIR)/pre_stage2_exec-disk_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-disk_io.Tpo -c -o pre_stage2_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-disk_io.Tpo $(DEPDIR)/pre_stage2_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='pre_stage2_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - pre_stage2_exec-fsys_ext2fs.o: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" -c -o pre_stage2_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo -c -o pre_stage2_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='pre_stage2_exec-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c - - pre_stage2_exec-fsys_ext2fs.obj: fsys_ext2fs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" -c -o pre_stage2_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo -c -o pre_stage2_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='pre_stage2_exec-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` - - pre_stage2_exec-fsys_fat.o: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" -c -o pre_stage2_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo -c -o pre_stage2_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo $(DEPDIR)/pre_stage2_exec-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='pre_stage2_exec-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c - - pre_stage2_exec-fsys_fat.obj: fsys_fat.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" -c -o pre_stage2_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo -c -o pre_stage2_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo $(DEPDIR)/pre_stage2_exec-fsys_fat.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='pre_stage2_exec-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` - - pre_stage2_exec-fsys_ffs.o: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" -c -o pre_stage2_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo -c -o pre_stage2_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='pre_stage2_exec-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c - - pre_stage2_exec-fsys_ffs.obj: fsys_ffs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" -c -o pre_stage2_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo -c -o pre_stage2_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ffs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='pre_stage2_exec-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` - - pre_stage2_exec-fsys_iso9660.o: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" -c -o pre_stage2_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo -c -o pre_stage2_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='pre_stage2_exec-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c - - pre_stage2_exec-fsys_iso9660.obj: fsys_iso9660.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" -c -o pre_stage2_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo -c -o pre_stage2_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='pre_stage2_exec-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` - - pre_stage2_exec-fsys_jfs.o: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" -c -o pre_stage2_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo -c -o pre_stage2_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='pre_stage2_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c - - pre_stage2_exec-fsys_jfs.obj: fsys_jfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" -c -o pre_stage2_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo -c -o pre_stage2_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_jfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='pre_stage2_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` - - pre_stage2_exec-fsys_minix.o: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" -c -o pre_stage2_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo -c -o pre_stage2_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo $(DEPDIR)/pre_stage2_exec-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='pre_stage2_exec-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c - - pre_stage2_exec-fsys_minix.obj: fsys_minix.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" -c -o pre_stage2_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo -c -o pre_stage2_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo $(DEPDIR)/pre_stage2_exec-fsys_minix.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='pre_stage2_exec-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` - - pre_stage2_exec-fsys_reiserfs.o: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" -c -o pre_stage2_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo -c -o pre_stage2_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='pre_stage2_exec-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c - - pre_stage2_exec-fsys_reiserfs.obj: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='pre_stage2_exec-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` - - pre_stage2_exec-fsys_ufs2.o: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='pre_stage2_exec-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c - - pre_stage2_exec-fsys_ufs2.obj: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" -c -o pre_stage2_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo -c -o pre_stage2_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='pre_stage2_exec-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` - - pre_stage2_exec-fsys_vstafs.o: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" -c -o pre_stage2_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo -c -o pre_stage2_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='pre_stage2_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c - - pre_stage2_exec-fsys_vstafs.obj: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" -c -o pre_stage2_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo -c -o pre_stage2_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='pre_stage2_exec-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` - - pre_stage2_exec-fsys_xfs.o: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" -c -o pre_stage2_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo -c -o pre_stage2_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='pre_stage2_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c - - pre_stage2_exec-fsys_xfs.obj: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" -c -o pre_stage2_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo -c -o pre_stage2_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='pre_stage2_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` - - pre_stage2_exec-gunzip.o: gunzip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" -c -o pre_stage2_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" "$(DEPDIR)/pre_stage2_exec-gunzip.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-gunzip.Tpo -c -o pre_stage2_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-gunzip.Tpo $(DEPDIR)/pre_stage2_exec-gunzip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='pre_stage2_exec-gunzip.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c - - pre_stage2_exec-gunzip.obj: gunzip.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" -c -o pre_stage2_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" "$(DEPDIR)/pre_stage2_exec-gunzip.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-gunzip.Tpo -c -o pre_stage2_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-gunzip.Tpo $(DEPDIR)/pre_stage2_exec-gunzip.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='pre_stage2_exec-gunzip.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` - - pre_stage2_exec-hercules.o: hercules.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" -c -o pre_stage2_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" "$(DEPDIR)/pre_stage2_exec-hercules.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-hercules.Tpo -c -o pre_stage2_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-hercules.Tpo $(DEPDIR)/pre_stage2_exec-hercules.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='pre_stage2_exec-hercules.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c - - pre_stage2_exec-hercules.obj: hercules.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" -c -o pre_stage2_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" "$(DEPDIR)/pre_stage2_exec-hercules.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-hercules.Tpo -c -o pre_stage2_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-hercules.Tpo $(DEPDIR)/pre_stage2_exec-hercules.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='pre_stage2_exec-hercules.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` - - pre_stage2_exec-md5.o: md5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-md5.Tpo" -c -o pre_stage2_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo" "$(DEPDIR)/pre_stage2_exec-md5.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-md5.Tpo -c -o pre_stage2_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-md5.Tpo $(DEPDIR)/pre_stage2_exec-md5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='pre_stage2_exec-md5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c - - pre_stage2_exec-md5.obj: md5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-md5.Tpo" -c -o pre_stage2_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo" "$(DEPDIR)/pre_stage2_exec-md5.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-md5.Tpo -c -o pre_stage2_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-md5.Tpo $(DEPDIR)/pre_stage2_exec-md5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='pre_stage2_exec-md5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` - - pre_stage2_exec-serial.o: serial.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-serial.Tpo" -c -o pre_stage2_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo" "$(DEPDIR)/pre_stage2_exec-serial.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-serial.Tpo -c -o pre_stage2_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-serial.Tpo $(DEPDIR)/pre_stage2_exec-serial.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='pre_stage2_exec-serial.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c - - pre_stage2_exec-serial.obj: serial.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-serial.Tpo" -c -o pre_stage2_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo" "$(DEPDIR)/pre_stage2_exec-serial.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-serial.Tpo -c -o pre_stage2_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-serial.Tpo $(DEPDIR)/pre_stage2_exec-serial.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='pre_stage2_exec-serial.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` - - pre_stage2_exec-smp-imps.o: smp-imps.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" -c -o pre_stage2_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" "$(DEPDIR)/pre_stage2_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo -c -o pre_stage2_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo $(DEPDIR)/pre_stage2_exec-smp-imps.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='pre_stage2_exec-smp-imps.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c - - pre_stage2_exec-smp-imps.obj: smp-imps.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" -c -o pre_stage2_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" "$(DEPDIR)/pre_stage2_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo -c -o pre_stage2_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo $(DEPDIR)/pre_stage2_exec-smp-imps.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='pre_stage2_exec-smp-imps.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` - - pre_stage2_exec-stage2.o: stage2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" -c -o pre_stage2_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" "$(DEPDIR)/pre_stage2_exec-stage2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-stage2.Tpo -c -o pre_stage2_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-stage2.Tpo $(DEPDIR)/pre_stage2_exec-stage2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='pre_stage2_exec-stage2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c - - pre_stage2_exec-stage2.obj: stage2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" -c -o pre_stage2_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" "$(DEPDIR)/pre_stage2_exec-stage2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-stage2.Tpo -c -o pre_stage2_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-stage2.Tpo $(DEPDIR)/pre_stage2_exec-stage2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='pre_stage2_exec-stage2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` - - pre_stage2_exec-terminfo.o: terminfo.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" -c -o pre_stage2_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" "$(DEPDIR)/pre_stage2_exec-terminfo.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-terminfo.Tpo -c -o pre_stage2_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-terminfo.Tpo $(DEPDIR)/pre_stage2_exec-terminfo.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='pre_stage2_exec-terminfo.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c - - pre_stage2_exec-terminfo.obj: terminfo.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" -c -o pre_stage2_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" "$(DEPDIR)/pre_stage2_exec-terminfo.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-terminfo.Tpo -c -o pre_stage2_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-terminfo.Tpo $(DEPDIR)/pre_stage2_exec-terminfo.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='pre_stage2_exec-terminfo.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` - - pre_stage2_exec-tparm.o: tparm.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" -c -o pre_stage2_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" "$(DEPDIR)/pre_stage2_exec-tparm.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-tparm.Tpo -c -o pre_stage2_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-tparm.Tpo $(DEPDIR)/pre_stage2_exec-tparm.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='pre_stage2_exec-tparm.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c - - pre_stage2_exec-tparm.obj: tparm.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" "$(DEPDIR)/pre_stage2_exec-tparm.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-tparm.Tpo -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-tparm.Tpo $(DEPDIR)/pre_stage2_exec-tparm.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='pre_stage2_exec-tparm.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` - -+pre_stage2_exec-graphics.o: graphics.c -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-graphics.Tpo -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-graphics.Tpo $(DEPDIR)/pre_stage2_exec-graphics.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c -+ -+pre_stage2_exec-graphics.obj: graphics.c -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-graphics.Tpo -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-graphics.Tpo $(DEPDIR)/pre_stage2_exec-graphics.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` -+ - reiserfs_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='reiserfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - reiserfs_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" -c -o reiserfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo -c -o reiserfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='reiserfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - reiserfs_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" -c -o reiserfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo -c -o reiserfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='reiserfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - reiserfs_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" -c -o reiserfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo -c -o reiserfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='reiserfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - reiserfs_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" -c -o reiserfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo -c -o reiserfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='reiserfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - reiserfs_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" -c -o reiserfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo -c -o reiserfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='reiserfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - reiserfs_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" -c -o reiserfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo -c -o reiserfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='reiserfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - reiserfs_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" -c -o reiserfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo -c -o reiserfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='reiserfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - reiserfs_stage1_5_exec-fsys_reiserfs.o: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" -c -o reiserfs_stage1_5_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo -c -o reiserfs_stage1_5_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='reiserfs_stage1_5_exec-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c - - reiserfs_stage1_5_exec-fsys_reiserfs.obj: fsys_reiserfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" -c -o reiserfs_stage1_5_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo -c -o reiserfs_stage1_5_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='reiserfs_stage1_5_exec-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` - - reiserfs_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" -c -o reiserfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo -c -o reiserfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='reiserfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - reiserfs_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" -c -o reiserfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo -c -o reiserfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='reiserfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - ufs2_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" -c -o ufs2_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo -c -o ufs2_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo $(DEPDIR)/ufs2_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ufs2_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - ufs2_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" -c -o ufs2_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo -c -o ufs2_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo $(DEPDIR)/ufs2_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ufs2_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - ufs2_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" -c -o ufs2_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo -c -o ufs2_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ufs2_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - ufs2_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" -c -o ufs2_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo -c -o ufs2_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ufs2_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - ufs2_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" -c -o ufs2_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo -c -o ufs2_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ufs2_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - ufs2_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" -c -o ufs2_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo -c -o ufs2_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ufs2_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - ufs2_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" -c -o ufs2_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo -c -o ufs2_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ufs2_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - ufs2_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" -c -o ufs2_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo -c -o ufs2_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ufs2_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - ufs2_stage1_5_exec-fsys_ufs2.o: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" -c -o ufs2_stage1_5_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo -c -o ufs2_stage1_5_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='ufs2_stage1_5_exec-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c - - ufs2_stage1_5_exec-fsys_ufs2.obj: fsys_ufs2.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" -c -o ufs2_stage1_5_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo -c -o ufs2_stage1_5_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='ufs2_stage1_5_exec-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` - - ufs2_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" -c -o ufs2_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo -c -o ufs2_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo $(DEPDIR)/ufs2_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ufs2_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - ufs2_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" -c -o ufs2_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo -c -o ufs2_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo $(DEPDIR)/ufs2_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ufs2_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - vstafs_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" -c -o vstafs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo -c -o vstafs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo $(DEPDIR)/vstafs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='vstafs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - vstafs_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" -c -o vstafs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo -c -o vstafs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo $(DEPDIR)/vstafs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='vstafs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - vstafs_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" -c -o vstafs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo -c -o vstafs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='vstafs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - vstafs_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" -c -o vstafs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo -c -o vstafs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='vstafs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - vstafs_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" -c -o vstafs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo -c -o vstafs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='vstafs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - vstafs_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" -c -o vstafs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo -c -o vstafs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='vstafs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - vstafs_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" -c -o vstafs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo -c -o vstafs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='vstafs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - vstafs_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" -c -o vstafs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo -c -o vstafs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='vstafs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - vstafs_stage1_5_exec-fsys_vstafs.o: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" -c -o vstafs_stage1_5_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo -c -o vstafs_stage1_5_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='vstafs_stage1_5_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c - - vstafs_stage1_5_exec-fsys_vstafs.obj: fsys_vstafs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" -c -o vstafs_stage1_5_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo -c -o vstafs_stage1_5_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='vstafs_stage1_5_exec-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` - - vstafs_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" -c -o vstafs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo -c -o vstafs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo $(DEPDIR)/vstafs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='vstafs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - vstafs_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" -c -o vstafs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo -c -o vstafs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo $(DEPDIR)/vstafs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='vstafs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` - - xfs_stage1_5_exec-common.o: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" -c -o xfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-common.Tpo -c -o xfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-common.Tpo $(DEPDIR)/xfs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='xfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c - - xfs_stage1_5_exec-common.obj: common.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" -c -o xfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-common.Tpo -c -o xfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-common.Tpo $(DEPDIR)/xfs_stage1_5_exec-common.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='xfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` - - xfs_stage1_5_exec-char_io.o: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" -c -o xfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo -c -o xfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='xfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c - - xfs_stage1_5_exec-char_io.obj: char_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" -c -o xfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo -c -o xfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-char_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='xfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` - - xfs_stage1_5_exec-disk_io.o: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" -c -o xfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo -c -o xfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='xfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c - - xfs_stage1_5_exec-disk_io.obj: disk_io.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" -c -o xfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo -c -o xfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-disk_io.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='xfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` - - xfs_stage1_5_exec-stage1_5.o: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" -c -o xfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo -c -o xfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='xfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c - - xfs_stage1_5_exec-stage1_5.obj: stage1_5.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" -c -o xfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo -c -o xfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='xfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` - - xfs_stage1_5_exec-fsys_xfs.o: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='xfs_stage1_5_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c - - xfs_stage1_5_exec-fsys_xfs.obj: fsys_xfs.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" -c -o xfs_stage1_5_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo -c -o xfs_stage1_5_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='xfs_stage1_5_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` - - xfs_stage1_5_exec-bios.o: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" -c -o xfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo -c -o xfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo $(DEPDIR)/xfs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='xfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c - - xfs_stage1_5_exec-bios.obj: bios.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" -c -o xfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo -c -o xfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo $(DEPDIR)/xfs_stage1_5_exec-bios.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='xfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` --uninstall-info-am: --install-pkglibDATA: $(pkglib_DATA) -+install-pkgdataDATA: $(pkgdata_DATA) - @$(NORMAL_INSTALL) -- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)" -- @list='$(pkglib_DATA)'; for p in $$list; do \ -+ test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" -+ @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ -- echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \ -- $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \ -+ echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ -+ $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ - done - --uninstall-pkglibDATA: -+uninstall-pkgdataDATA: - @$(NORMAL_UNINSTALL) -- @list='$(pkglib_DATA)'; for p in $$list; do \ -+ @list='$(pkgdata_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ -- echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ -- rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ -+ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ - done - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -@@ -3002,9 +3319,9 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - check-TESTS: $(TESTS) -- @failed=0; all=0; xfail=0; xpass=0; skip=0; \ -+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ - srcdir=$(srcdir); export srcdir; \ -- list='$(TESTS)'; \ -+ list=' $(TESTS) '; \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ -@@ -3013,7 +3330,7 @@ check-TESTS: $(TESTS) - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ -- *" $$tst "*) \ -+ *$$ws$$tst$$ws*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - echo "XPASS: $$tst"; \ -@@ -3025,7 +3342,7 @@ check-TESTS: $(TESTS) - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ -- *" $$tst "*) \ -+ *$$ws$$tst$$ws*) \ - xfail=`expr $$xfail + 1`; \ - echo "XFAIL: $$tst"; \ - ;; \ -@@ -3075,22 +3392,21 @@ check-TESTS: $(TESTS) - else :; fi - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -3108,8 +3424,8 @@ check: $(BUILT_SOURCES) - all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ - $(HEADERS) - installdirs: -- for dir in "$(DESTDIR)$(pkglibdir)"; do \ -- test -z "$$dir" || $(mkdir_p) "$$dir"; \ -+ for dir in "$(DESTDIR)$(pkgdatadir)"; do \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -@@ -3160,14 +3476,22 @@ info: info-am - - info-am: - --install-data-am: -+install-data-am: install-pkgdataDATA -+ -+install-dvi: install-dvi-am -+ -+install-exec-am: - --install-exec-am: install-pkglibDATA -+install-html: install-html-am - - install-info: install-info-am - - install-man: - -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -3187,19 +3511,22 @@ ps: ps-am - - ps-am: - --uninstall-am: uninstall-info-am uninstall-pkglibDATA -+uninstall-am: uninstall-pkgdataDATA -+ -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ - clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \ - distclean distclean-compile distclean-generic distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ -- install-am install-data install-data-am install-exec \ -- install-exec-am install-info install-info-am install-man \ -- install-pkglibDATA install-strip installcheck installcheck-am \ -+ install-am install-data install-data-am install-dvi \ -+ install-dvi-am install-exec install-exec-am install-html \ -+ install-html-am install-info install-info-am install-man \ -+ install-pdf install-pdf-am install-pkgdataDATA install-ps \ -+ install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ -- ps ps-am tags uninstall uninstall-am uninstall-info-am \ -- uninstall-pkglibDATA -+ ps ps-am tags uninstall uninstall-am uninstall-pkgdataDATA - - - stage2_size.h: pre_stage2 -diff --git a/stage2/asm.S b/stage2/asm.S -index 34b6e7d..5c4dd5e 100644 ---- a/stage2/asm.S -+++ b/stage2/asm.S -@@ -98,7 +98,7 @@ VARIABLE(version_string) - .string VERSION - VARIABLE(config_file) - #ifndef STAGE1_5 -- .string "/boot/grub/menu.lst" -+ .string "/boot/grub/grub.conf" - #else /* STAGE1_5 */ - .long 0xffffffff - .string "/boot/grub/stage2" -@@ -1622,36 +1622,78 @@ ENTRY(set_vbe_mode) - */ - - ENTRY(gateA20) -+ pushl %ebx -+ pushl %edx -+ call testA20 -+ jnz 1f -+ call A20_BIOS -+ call testA20 -+ jnz 1f -+ call A20_PORT92 -+ call testA20 -+ jnz 1f -+ call A20_KBDCTL -+ call testA20 -+ jnz 1f -+ movl $0,%eax -+ jmp 2f -+1: -+ movl $-1,%eax -+2: -+ popl %edx -+ popl %ebx -+ ret -+ -+testA20: -+ movl 0x500,%eax -+ movl 0x100500,%ebx -+ notl %eax -+ movl %eax,0x100500 -+ cmpl %eax,0x500 -+ pushfl -+ movl %ebx,0x100500 -+ notl %eax -+ movl %eax,0x500 -+ popfl -+ ret -+ -+A20_BIOS: - /* first, try a BIOS call */ -- pushl %ebp -- movl 8(%esp), %edx - - call EXT_C(prot_to_real) - - .code16 -- movw $0x2400, %ax -- testw %dx, %dx -- jz 1f -- incw %ax -+ movw $0x2401, %ax - 1: stc - int $0x15 -- jnc 2f -- -- /* set non-zero if failed */ -- movb $1, %ah -- -- /* save the status */ --2: movb %ah, %dl - - DATA32 call EXT_C(real_to_prot) - .code32 -+ ret - -- popl %ebp -- testb %dl, %dl -- jnz 3f -+A20_PORT92: -+ /* -+ * try to switch gateA20 using PORT92, the "Fast A20 and Init" -+ * register -+ */ -+ mov $0x92, %dx -+ inb %dx, %al -+ /* skip the port92 code if it's unimplemented (read returns 0xff) */ -+ cmpb $0xff, %al -+ jz 6f -+ -+ /* set bit1, the ALT_A20_GATE bit */ -+ orb $2, %al -+ /* and $0xfd, %al */ -+ -+ /* clear the INIT_NOW bit; don't accidently reset the machine */ -+ and $0xfe, %al -+ outb %al, %dx -+6: - ret - --3: /* use keyboard controller */ -+A20_KBDCTL: -+ /* use keyboard controller */ - pushl %eax - - call gloop1 -@@ -1665,11 +1707,7 @@ gloopint1: - jnz gloopint1 - - movb $KB_OUTPUT_MASK, %al -- cmpb $0, 0x8(%esp) -- jz gdoit -- - orb $KB_A20_ENABLE, %al --gdoit: - outb $K_RDWR - - call gloop1 -@@ -1994,8 +2032,25 @@ ENTRY(console_getkey) - call EXT_C(prot_to_real) - .code16 - -+.again: -+ mov $0x11, %ah /* poll kbd */ - int $0x16 - -+ jz .again -+#if 0 -+/* XXX handle serial here? -- pj */ -+ jnz .kbd -+#endif -+.kbd: -+ mov $0x10, %ah -+ int $0x16 -+ cmp $0xe0, %al -+ jnz .not_ext -+ xor %al, %al -+.not_ext: -+ and %al, %al -+ jz .func_key -+.func_key: - movw %ax, %dx /* real_to_prot uses %eax */ - call translate_keycode - call remap_ascii_char -@@ -2003,7 +2058,7 @@ ENTRY(console_getkey) - DATA32 call EXT_C(real_to_prot) - .code32 - -- movw %dx, %ax -+ mov %dx, %ax - - pop %ebp - ret -@@ -2029,7 +2084,7 @@ ENTRY(console_checkkey) - call EXT_C(prot_to_real) /* enter real mode */ - .code16 - -- movb $0x1, %ah -+ movb $0x11, %ah - int $0x16 - - DATA32 jz notpending -@@ -2051,6 +2106,37 @@ pending: - pop %ebp - ret - -+ -+/* -+ * int console_keystatus (void) -+ * BIOS call "INT 16H Function 02H" to get keyboard modifier status -+ * Call with %ah = 0x2 -+ * Return: %al = keyboard state: -+ * bit 3: alt key down -+ * bit 2: ctrl key down -+ * bit 1: left shift key down -+ * bit 0: right shift key down -+ */ -+ENTRY(console_keystatus) -+ push %ebp -+ -+ call EXT_C(prot_to_real) -+ .code16 -+ -+ movb $0x12, %ah -+ int $0x16 -+ movw %ax, %dx -+ -+ DATA32 call EXT_C(real_to_prot) -+ .code32 -+ -+ movw %dx, %ax -+ -+ /* Mask out numlock, capslock and insert state. */ -+ andl $0x0f0f, %eax -+ pop %ebp -+ ret -+ - - /* - * int console_getxy (void) -@@ -2216,6 +2302,156 @@ ENTRY(console_setcursor) - pop %ebx - pop %ebp - ret -+ -+/* graphics mode functions */ -+#ifdef SUPPORT_GRAPHICS -+VARIABLE(cursorX) -+.word 0 -+VARIABLE(cursorY) -+.word 0 -+VARIABLE(cursorCount) -+.word 0 -+VARIABLE(cursorBuf) -+.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -+ -+ -+/* -+ * int set_videomode(mode) -+ * BIOS call "INT 10H Function 0h" to set video mode -+ * Call with %ah = 0x0 -+ * %al = video mode -+ * Returns old videomode. -+ */ -+ENTRY(set_videomode) -+ push %ebp -+ push %ebx -+ push %ecx -+ -+ movb 0x10(%esp), %cl -+ -+ call EXT_C(prot_to_real) -+ .code16 -+ -+ xorw %bx, %bx -+ movb $0xf, %ah -+ int $0x10 /* Get Current Video mode */ -+ movb %al, %ch -+ xorb %ah, %ah -+ movb %cl, %al -+ int $0x10 /* Set Video mode */ -+ -+ DATA32 call EXT_C(real_to_prot) -+ .code32 -+ -+ xorb %ah, %ah -+ movb %ch, %al -+ -+ pop %ecx -+ pop %ebx -+ pop %ebp -+ ret -+ -+ -+/* -+ * unsigned char * graphics_get_font() -+ * BIOS call "INT 10H Function 11h" to set font -+ * Call with %ah = 0x11 -+ */ -+ENTRY(graphics_get_font) -+ push %ebp -+ push %ebx -+ push %ecx -+ push %edx -+ -+ call EXT_C(prot_to_real) -+ .code16 -+ -+ movw $0x1130, %ax -+ movb $6, %bh /* font 8x16 */ -+ int $0x10 -+ movw %bp, %dx -+ movw %es, %cx -+ -+ DATA32 call EXT_C(real_to_prot) -+ .code32 -+ -+ xorl %eax, %eax -+ movw %cx, %ax -+ shll $4, %eax -+ movw %dx, %ax -+ -+ pop %edx -+ pop %ecx -+ pop %ebx -+ pop %ebp -+ ret -+ -+ -+ -+/* -+ * graphics_set_palette(index, red, green, blue) -+ * BIOS call "INT 10H Function 10h" to set individual dac register -+ * Call with %ah = 0x10 -+ * %bx = register number -+ * %ch = new value for green (0-63) -+ * %cl = new value for blue (0-63) -+ * %dh = new value for red (0-63) -+ */ -+ -+ENTRY(graphics_set_palette) -+ push %ebp -+ push %eax -+ push %ebx -+ push %ecx -+ push %edx -+ -+ movw $0x3c8, %bx /* address write mode register */ -+ -+ /* wait vertical retrace */ -+ -+ movw $0x3da, %dx -+l1b: inb %dx, %al /* wait vertical active display */ -+ test $8, %al -+ jnz l1b -+ -+l2b: inb %dx, %al /* wait vertical retrace */ -+ test $8, %al -+ jnz l2b -+ -+ mov %bx, %dx -+ movb 0x18(%esp), %al /* index */ -+ outb %al, %dx -+ inc %dx -+ -+ movb 0x1c(%esp), %al /* red */ -+ outb %al, %dx -+ -+ movb 0x20(%esp), %al /* green */ -+ outb %al, %dx -+ -+ movb 0x24(%esp), %al /* blue */ -+ outb %al, %dx -+ -+ movw 0x18(%esp), %bx -+ -+ call EXT_C(prot_to_real) -+ .code16 -+ -+ movb %bl, %bh -+ movw $0x1000, %ax -+ int $0x10 -+ -+ DATA32 call EXT_C(real_to_prot) -+ .code32 -+ -+ pop %edx -+ pop %ecx -+ pop %ebx -+ pop %eax -+ pop %ebp -+ ret -+ -+#endif /* SUPPORT_GRAPHICS */ - - /* - * getrtsecs() -diff --git a/stage2/boot.c b/stage2/boot.c -index 4185d23..e30daf8 100644 ---- a/stage2/boot.c -+++ b/stage2/boot.c -@@ -25,10 +25,14 @@ - #include "imgact_aout.h" - #include "i386-elf.h" - -+#ifndef PLATFORM_EFI - static int cur_addr; -+#endif - entry_func entry_addr; -+#ifndef PLATFORM_EFI - static struct mod_list mll[99]; - static int linux_mem_size; -+#endif - - /* - * The next two functions, 'load_image' and 'load_module', are the building -@@ -40,6 +44,9 @@ kernel_t - load_image (char *kernel, char *arg, kernel_t suggested_type, - unsigned long load_flags) - { -+#ifdef PLATFORM_EFI -+ return grub_load_linux (kernel, arg); -+#else - int len, i, exec_type = 0, align_4k = 1; - entry_func real_entry_addr = 0; - kernel_t type = KERNEL_TYPE_NONE; -@@ -221,6 +228,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - { - int big_linux = 0; - int setup_sects = lh->setup_sects; -+ int cmdline_size = 0xff; - - if (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0200) - { -@@ -248,6 +256,14 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - lh->cl_offset = LINUX_CL_OFFSET; - lh->setup_move_size = LINUX_SETUP_MOVE_SIZE; - } -+ -+ if (lh->version >= 0x0206) -+ { -+ cmdline_size = lh->cmdline_size; -+ if (cmdline_size > (LINUX_CL_END_OFFSET - LINUX_CL_OFFSET)) -+ cmdline_size = LINUX_CL_END_OFFSET - LINUX_CL_OFFSET; -+ } -+ - } - else - { -@@ -265,7 +281,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - setup_sects = LINUX_DEFAULT_SETUP_SECTS; - - data_len = setup_sects << 9; -- text_len = filemax - data_len - SECTOR_SIZE; -+ text_len = filemax - data_len - get_sector_size(current_drive); - - linux_data_tmp_addr = (char *) LINUX_BZIMAGE_ADDR + text_len; - -@@ -280,8 +296,12 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - errnum = ERR_WONT_FIT; - else - { -- grub_printf (" [Linux-%s, setup=0x%x, size=0x%x]\n", -- (big_linux ? "bzImage" : "zImage"), data_len, text_len); -+ grub_verbose_printf (" [Linux-%s, setup=0x%x, size=0x%x]\n", -+ (big_linux ? "bzImage" : "zImage"), -+ data_len, text_len); -+ -+ if (silent_grub) -+ lh->vid_mode = 0x0f04; - - /* Video mode selection support. What a mess! */ - /* NOTE: Even the word "mess" is not still enough to -@@ -375,14 +395,15 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - - /* It is possible that DATA_LEN + SECTOR_SIZE is greater than - MULTIBOOT_SEARCH, so the data may have been read partially. */ -- if (data_len + SECTOR_SIZE <= MULTIBOOT_SEARCH) -+ if (data_len + get_sector_size(current_drive) <= MULTIBOOT_SEARCH) - grub_memmove (linux_data_tmp_addr, buffer, -- data_len + SECTOR_SIZE); -+ data_len + get_sector_size(current_drive)); - else - { - grub_memmove (linux_data_tmp_addr, buffer, MULTIBOOT_SEARCH); - grub_read (linux_data_tmp_addr + MULTIBOOT_SEARCH, -- data_len + SECTOR_SIZE - MULTIBOOT_SEARCH); -+ data_len + get_sector_size(current_drive) -+ - MULTIBOOT_SEARCH); - } - - if (lh->header != LINUX_MAGIC_SIGNATURE || -@@ -404,7 +425,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - char *src = skip_to (0, arg); - char *dest = linux_data_tmp_addr + LINUX_CL_OFFSET; - -- while (dest < linux_data_tmp_addr + LINUX_CL_END_OFFSET && *src) -+ while (dest < linux_data_tmp_addr + LINUX_CL_OFFSET + cmdline_size && *src) - *(dest++) = *(src++); - - /* Old Linux kernels have problems determining the amount of -@@ -425,7 +446,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - if (! grub_strstr (arg, "mem=") - && ! (load_flags & KERNEL_LOAD_NO_MEM_OPTION) - && lh->version < 0x0203 /* kernel version < 2.4.18 */ -- && dest + 15 < linux_data_tmp_addr + LINUX_CL_END_OFFSET) -+ && dest + 15 < linux_data_tmp_addr + LINUX_CL_OFFSET + cmdline_size) - { - *dest++ = ' '; - *dest++ = 'm'; -@@ -441,7 +462,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - } - - /* offset into file */ -- grub_seek (data_len + SECTOR_SIZE); -+ grub_seek (data_len + get_sector_size(current_drive)); - - cur_addr = (int) linux_data_tmp_addr + LINUX_SETUP_MOVE_SIZE; - grub_read ((char *) LINUX_BZIMAGE_ADDR, text_len); -@@ -487,7 +508,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - mbi.syms.a.addr = 0; - mbi.syms.a.pad = 0; - -- printf (" [%s-%s", str2, str); -+ verbose_printf (" [%s-%s", str2, str); - - str = ""; - -@@ -496,7 +517,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - if (flags & MULTIBOOT_AOUT_KLUDGE) - str = "-and-data"; - -- printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len); -+ verbose_printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len); - - /* read text, then read data */ - if (grub_read ((char *) RAW_ADDR (cur_addr), text_len) == text_len) -@@ -509,9 +530,9 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - if (align_4k) - cur_addr = (cur_addr + 0xFFF) & 0xFFFFF000; - else -- printf (", C"); -+ verbose_printf (", C"); - -- printf (", data=0x%x", data_len); -+ verbose_printf (", data=0x%x", data_len); - - if ((grub_read ((char *) RAW_ADDR (cur_addr), data_len) - != data_len) -@@ -525,7 +546,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - memset ((char *) RAW_ADDR (cur_addr), 0, bss_len); - cur_addr += bss_len; - -- printf (", bss=0x%x", bss_len); -+ verbose_printf (", bss=0x%x", bss_len); - } - } - else if (!errnum) -@@ -545,7 +566,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - *((int *) RAW_ADDR (cur_addr)) = pu.aout->a_syms; - cur_addr += sizeof (int); - -- printf (", symtab=0x%x", pu.aout->a_syms); -+ verbose_printf (", symtab=0x%x", pu.aout->a_syms); - - if (grub_read ((char *) RAW_ADDR (cur_addr), pu.aout->a_syms) - == pu.aout->a_syms) -@@ -562,7 +583,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - - i -= sizeof (int); - -- printf (", strtab=0x%x", i); -+ verbose_printf (", strtab=0x%x", i); - - symtab_err = (grub_read ((char *) RAW_ADDR (cur_addr), i) - != i); -@@ -576,7 +597,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - - if (symtab_err) - { -- printf ("(bad)"); -+ verbose_printf ("(bad)"); - cur_addr = orig_addr; - mbi.syms.a.tabsize = 0; - mbi.syms.a.strsize = 0; -@@ -630,7 +651,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - /* mark memory as used */ - if (cur_addr < memaddr + memsiz) - cur_addr = memaddr + memsiz; -- printf (", <0x%x:0x%x:0x%x>", memaddr, filesiz, -+ verbose_printf (", <0x%x:0x%x:0x%x>", memaddr, filesiz, - memsiz - filesiz); - /* increment number of segments */ - loaded++; -@@ -676,7 +697,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - shdr = (Elf32_Shdr *) mbi.syms.e.addr; - cur_addr += tab_size; - -- printf (", shtab=0x%x", cur_addr); -+ verbose_printf (", shtab=0x%x", cur_addr); - - for (i = 0; i < mbi.syms.e.num; i++) - { -@@ -718,7 +739,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - - if (symtab_err) - { -- printf ("(bad)"); -+ verbose_printf ("(bad)"); - mbi.syms.e.num = 0; - mbi.syms.e.size = 0; - mbi.syms.e.addr = 0; -@@ -733,7 +754,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - - if (! errnum) - { -- grub_printf (", entry=0x%x]\n", (unsigned) entry_addr); -+ grub_verbose_printf (", entry=0x%x]\n", (unsigned) entry_addr); - - /* If the entry address is physically different from that of the ELF - header, correct it here. */ -@@ -756,8 +777,10 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, - } - - return type; -+#endif - } - -+#ifndef PLATFORM_EFI - int - load_module (char *module, char *arg) - { -@@ -776,7 +799,7 @@ load_module (char *module, char *arg) - return 0; - } - -- printf (" [Multiboot-module @ 0x%x, 0x%x bytes]\n", cur_addr, len); -+ verbose_printf (" [Multiboot-module @ 0x%x, 0x%x bytes]\n", cur_addr, len); - - /* these two simply need to be set if any modules are loaded at all */ - mbi.flags |= MB_INFO_MODS; -@@ -794,11 +817,19 @@ load_module (char *module, char *arg) - grub_close (); - return 1; - } -+#endif - - int - load_initrd (char *initrd) - { -- int len; -+#ifdef PLATFORM_EFI -+#ifndef NO_DECOMPRESSION -+ no_decompression = 1; -+#endif -+ return grub_load_initrd (initrd); -+#else -+ int len, next_addr; -+ char *singleimage, *pos; - unsigned long moveto; - unsigned long max_addr; - struct linux_kernel_header *lh -@@ -807,16 +838,24 @@ load_initrd (char *initrd) - #ifndef NO_DECOMPRESSION - no_decompression = 1; - #endif -- -- if (! grub_open (initrd)) -- goto fail; -+ len = 0; -+ next_addr = cur_addr; - -- len = grub_read ((char *) cur_addr, -1); -- if (! len) -- { -- grub_close (); -- goto fail; -- } -+ /* loop over all initrd images and concatenate them in memory */ -+ singleimage = strtok_r(initrd," \t",&pos); -+ while (singleimage) { -+ if (! grub_open (singleimage)) -+ continue; -+ -+ len += grub_read ((char *) next_addr, -1); -+ grub_close (); -+ -+ next_addr = cur_addr + len; -+ singleimage = strtok_r(NULL," \t",&pos); -+ } -+ -+ if (!len) -+ goto fail; - - if (linux_mem_size) - moveto = linux_mem_size; -@@ -824,8 +863,12 @@ load_initrd (char *initrd) - moveto = (mbi.mem_upper + 0x400) << 10; - - moveto = (moveto - len) & 0xfffff000; -+#if 0 - max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203 - ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS); -+#else -+ max_addr = LINUX_INITRD_MAX_ADDRESS; -+#endif - if (moveto + len >= max_addr) - moveto = (max_addr - len) & 0xfffff000; - -@@ -836,13 +879,12 @@ load_initrd (char *initrd) - moveto -= 0x10000; - memmove ((void *) RAW_ADDR (moveto), (void *) cur_addr, len); - -- printf (" [Linux-initrd @ 0x%x, 0x%x bytes]\n", moveto, len); -+ verbose_printf (" [Linux-initrd @ 0x%x, 0x%x bytes]\n", moveto, len); - - /* FIXME: Should check if the kernel supports INITRD. */ - lh->ramdisk_image = RAW_ADDR (moveto); - lh->ramdisk_size = len; - -- grub_close (); - - fail: - -@@ -851,9 +893,11 @@ load_initrd (char *initrd) - #endif - - return ! errnum; -+#endif - } - - -+#ifndef PLATFORM_EFI - #ifdef GRUB_UTIL - /* Dummy function to fake the *BSD boot. */ - static void -@@ -1018,3 +1062,5 @@ bsd_boot (kernel_t type, int bootdev, char *arg) - extended_memory, mbi.mem_lower); - } - } -+#endif -+ -diff --git a/stage2/builtins.c b/stage2/builtins.c -index 3e08a86..fe6a622 100644 ---- a/stage2/builtins.c -+++ b/stage2/builtins.c -@@ -56,6 +56,9 @@ static int bootdev; - /* True when the debug mode is turned on, and false - when it is turned off. */ - int debug = 0; -+int debug_graphics = 0; -+/* Print what we're booting */ -+int grub_verbose = 0; - /* The default entry. */ - int default_entry = 0; - /* The fallback entry. */ -@@ -117,6 +120,27 @@ check_password (char *entered, char* expected, password_t type) - case PASSWORD_MD5: - return check_md5_password (entered, expected); - #endif -+ -+ case PASSWORD_ENCRYPTED: -+ if (grub_memcmp (expected, "$1$", 3) == 0) -+ return check_md5_password (entered, expected); -+ else if (grub_memcmp (expected, "$5$", 3) == 0) -+ { -+ char *hashed; -+ -+ hashed = sha256_crypt (entered, expected); -+ return hashed == NULL || strcmp (expected, hashed); -+ } -+ else if (grub_memcmp (expected, "$6$", 3) == 0) -+ { -+ char *hashed; -+ -+ hashed = sha512_crypt (entered, expected); -+ return hashed == NULL || strcmp (expected, hashed); -+ } -+ else -+ return strcmp (entered, expected); -+ - default: - /* unsupported password type: be secure */ - return 1; -@@ -131,62 +155,98 @@ disk_read_print_func (int sector, int offset, int length) - } - - -+/* blocklist_read_helper nee disk_read_blocklist_func was a nested -+ * function, to which pointers were taken and exposed globally. Even -+ * in the GNU-C nested functions extension, they have local linkage, -+ * and aren't guaranteed to be accessable *at all* outside of their -+ * containing scope. -+ * -+ * Above and beyond all of that, the variables within blocklist_func_context -+ * are originally local variables, with local (not even static) linkage, -+ * from within blocklist_func. These were each referenced by -+ * disk_read_blocklist_func, which is only called from other functions -+ * through a globally scoped pointer. -+ * -+ * The documentation in GCC actually uses the words "all hell will break -+ * loose" to describe this scenario. -+ * -+ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn -+ * about it (possibly because of the scoping madness?) -+ */ -+ -+static struct { -+ int start_sector; -+ int num_sectors; -+ int num_entries; -+ int last_length; -+} blocklist_func_context = { -+ .start_sector = 0, -+ .num_sectors = 0, -+ .num_entries = 0, -+ .last_length = 0 -+}; -+ -+/* Collect contiguous blocks into one entry as many as possible, -+ and print the blocklist notation on the screen. */ -+static void -+blocklist_read_helper (int sector, int offset, int length) -+{ -+ int *start_sector = &blocklist_func_context.start_sector; -+ int *num_sectors = &blocklist_func_context.num_sectors; -+ int *num_entries = &blocklist_func_context.num_entries; -+ int *last_length = &blocklist_func_context.last_length; -+ int sector_size = get_sector_size(current_drive); -+ -+ if (*num_sectors > 0) -+ { -+ if (*start_sector + *num_sectors == sector -+ && offset == 0 && *last_length == sector_size) -+ { -+ *num_sectors++; -+ *last_length = length; -+ return; -+ } -+ else -+ { -+ if (*last_length == sector_size) -+ grub_printf ("%s%d+%d", *num_entries ? "," : "", -+ *start_sector - part_start, *num_sectors); -+ else if (*num_sectors > 1) -+ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "", -+ *start_sector - part_start, *num_sectors-1, -+ *start_sector + *num_sectors-1 - part_start, -+ *last_length); -+ else -+ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "", -+ *start_sector - part_start, *last_length); -+ *num_entries++; -+ *num_sectors = 0; -+ } -+ } -+ -+ if (offset > 0) -+ { -+ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "", -+ sector-part_start, offset, offset+length); -+ *num_entries++; -+ } -+ else -+ { -+ *start_sector = sector; -+ *num_sectors = 1; -+ *last_length = length; -+ } -+} -+ - /* blocklist */ - static int - blocklist_func (char *arg, int flags) - { - char *dummy = (char *) RAW_ADDR (0x100000); -- int start_sector; -- int num_sectors = 0; -- int num_entries = 0; -- int last_length = 0; - -- auto void disk_read_blocklist_func (int sector, int offset, int length); -- -- /* Collect contiguous blocks into one entry as many as possible, -- and print the blocklist notation on the screen. */ -- auto void disk_read_blocklist_func (int sector, int offset, int length) -- { -- if (num_sectors > 0) -- { -- if (start_sector + num_sectors == sector -- && offset == 0 && last_length == SECTOR_SIZE) -- { -- num_sectors++; -- last_length = length; -- return; -- } -- else -- { -- if (last_length == SECTOR_SIZE) -- grub_printf ("%s%d+%d", num_entries ? "," : "", -- start_sector - part_start, num_sectors); -- else if (num_sectors > 1) -- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "", -- start_sector - part_start, num_sectors-1, -- start_sector + num_sectors-1 - part_start, -- last_length); -- else -- grub_printf ("%s%d[0-%d]", num_entries ? "," : "", -- start_sector - part_start, last_length); -- num_entries++; -- num_sectors = 0; -- } -- } -- -- if (offset > 0) -- { -- grub_printf("%s%d[%d-%d]", num_entries ? "," : "", -- sector-part_start, offset, offset+length); -- num_entries++; -- } -- else -- { -- start_sector = sector; -- num_sectors = 1; -- last_length = length; -- } -- } -+ int *start_sector = &blocklist_func_context.start_sector; -+ int *num_sectors = &blocklist_func_context.num_sectors; -+ int *num_entries = &blocklist_func_context.num_entries; - - /* Open the file. */ - if (! grub_open (arg)) -@@ -206,15 +266,15 @@ blocklist_func (char *arg, int flags) - grub_printf (")"); - - /* Read in the whole file to DUMMY. */ -- disk_read_hook = disk_read_blocklist_func; -+ disk_read_hook = blocklist_read_helper; - if (! grub_read (dummy, -1)) - goto fail; - - /* The last entry may not be printed yet. Don't check if it is a - * full sector, since it doesn't matter if we read too much. */ -- if (num_sectors > 0) -- grub_printf ("%s%d+%d", num_entries ? "," : "", -- start_sector - part_start, num_sectors); -+ if (*num_sectors > 0) -+ grub_printf ("%s%d+%d", *num_entries ? "," : "", -+ *start_sector - part_start, *num_sectors); - - grub_printf ("\n"); - -@@ -237,12 +297,25 @@ static struct builtin builtin_blocklist = - static int - boot_func (char *arg, int flags) - { -+ struct term_entry *prev_term = current_term; - /* Clear the int15 handler if we can boot the kernel successfully. - This assumes that the boot code never fails only if KERNEL_TYPE is - not KERNEL_TYPE_NONE. Is this assumption is bad? */ - if (kernel_type != KERNEL_TYPE_NONE) - unset_int15_handler (); - -+ /* if our terminal needed initialization, we should shut it down -+ * before booting the kernel, but we want to save what it was so -+ * we can come back if needed */ -+ if (current_term->shutdown) -+ { -+ (*current_term->shutdown)(); -+ current_term = term_table; /* assumption: console is first */ -+ } -+ -+ if (silent_grub) -+ setcursor(0); -+ - #ifdef SUPPORT_NETBOOT - /* Shut down the networking. */ - cleanup_net (); -@@ -250,11 +323,13 @@ boot_func (char *arg, int flags) - - switch (kernel_type) - { -+#ifndef PLATFORM_EFI - case KERNEL_TYPE_FREEBSD: - case KERNEL_TYPE_NETBSD: - /* *BSD */ - bsd_boot (kernel_type, bootdev, (char *) mbi.cmdline); - break; -+#endif - - case KERNEL_TYPE_LINUX: - /* Linux */ -@@ -296,16 +371,25 @@ boot_func (char *arg, int flags) - chain_stage1 (0, BOOTSEC_LOCATION, boot_part_addr); - break; - -+#ifndef PLATFORM_EFI - case KERNEL_TYPE_MULTIBOOT: - /* Multiboot */ - multi_boot ((int) entry_addr, (int) &mbi); - break; -+#endif - - default: - errnum = ERR_BOOT_COMMAND; - return 1; - } - -+ /* if we get back here, we should go back to what our term was before */ -+ current_term = prev_term; -+ if (current_term->startup) -+ /* if our terminal fails to initialize, fall back to console since -+ * it should always work */ -+ if ((*current_term->startup)() == 0) -+ current_term = term_table; /* we know that console is first */ - return 0; - } - -@@ -402,6 +486,10 @@ static struct builtin builtin_cat = - static int - chainloader_func (char *arg, int flags) - { -+#ifdef PLATFORM_EFI -+ kernel_type = grub_chainloader(arg); -+ return kernel_type == KERNEL_TYPE_NONE; -+#else - int force = 0; - char *file = arg; - -@@ -458,6 +546,7 @@ chainloader_func (char *arg, int flags) - errnum = ERR_NONE; - - return 0; -+#endif - } - - static struct builtin builtin_chainloader = -@@ -564,89 +653,88 @@ static struct builtin builtin_cmp = - /* Set new colors used for the menu interface. Support two methods to - specify a color name: a direct integer representation and a symbolic - color name. An example of the latter is "blink-light-gray/blue". */ --static int --color_func (char *arg, int flags) --{ -- char *normal; -- char *highlight; -- int new_normal_color; -- int new_highlight_color; -- static char *color_list[16] = -- { -- "black", -- "blue", -- "green", -- "cyan", -- "red", -- "magenta", -- "brown", -- "light-gray", -- "dark-gray", -- "light-blue", -- "light-green", -- "light-cyan", -- "light-red", -- "light-magenta", -- "yellow", -- "white" -- }; -+static const char * const color_list[16] = -+{ -+ "black", -+ "blue", -+ "green", -+ "cyan", -+ "red", -+ "magenta", -+ "brown", -+ "light-gray", -+ "dark-gray", -+ "light-blue", -+ "light-green", -+ "light-cyan", -+ "light-red", -+ "light-magenta", -+ "yellow", -+ "white" -+}; - -- auto int color_number (char *str); -+/* Convert the color name STR into the magical number. */ -+static int color_number (char *str) -+{ -+ char *ptr; -+ int i; -+ int color = 0; - -- /* Convert the color name STR into the magical number. */ -- auto int color_number (char *str) -- { -- char *ptr; -- int i; -- int color = 0; -- -- /* Find the separator. */ -- for (ptr = str; *ptr && *ptr != '/'; ptr++) -- ; -+ /* Find the separator. */ -+ for (ptr = str; *ptr && *ptr != '/'; ptr++) -+ ; - -- /* If not found, return -1. */ -- if (! *ptr) -- return -1; -+ /* If not found, return -1. */ -+ if (! *ptr) -+ return -1; - -- /* Terminate the string STR. */ -- *ptr++ = 0; -+ /* Terminate the string STR. */ -+ *ptr++ = 0; - -- /* If STR contains the prefix "blink-", then set the `blink' bit -- in COLOR. */ -- if (substring ("blink-", str) <= 0) -- { -- color = 0x80; -- str += 6; -- } -- -- /* Search for the color name. */ -- for (i = 0; i < 16; i++) -- if (grub_strcmp (color_list[i], str) == 0) -- { -- color |= i; -- break; -- } -+ /* If STR contains the prefix "blink-", then set the `blink' bit -+ in COLOR. */ -+ if (substring ("blink-", str) <= 0) -+ { -+ color = 0x80; -+ str += 6; -+ } -+ -+ /* Search for the color name. */ -+ for (i = 0; i < 16; i++) -+ if (grub_strcmp (color_list[i], str) == 0) -+ { -+ color |= i; -+ break; -+ } - -- if (i == 16) -- return -1; -+ if (i == 16) -+ return -1; - -- str = ptr; -- nul_terminate (str); -+ str = ptr; -+ nul_terminate (str); - -- /* Search for the color name. */ -- for (i = 0; i < 8; i++) -- if (grub_strcmp (color_list[i], str) == 0) -- { -- color |= i << 4; -- break; -- } -+ /* Search for the color name. */ -+ for (i = 0; i < 8; i++) -+ if (grub_strcmp (color_list[i], str) == 0) -+ { -+ color |= i << 4; -+ break; -+ } - -- if (i == 8) -- return -1; -+ if (i == 8) -+ return -1; -+ -+ return color; -+} -+ -+static int -+color_func (char *arg, int flags) -+{ -+ char *normal; -+ char *highlight; -+ int new_normal_color; -+ int new_highlight_color; - -- return color; -- } -- - normal = arg; - highlight = skip_to (0, arg); - -@@ -690,7 +778,6 @@ static struct builtin builtin_color = - " But only the first eight names can be used for BG. You can prefix" - " \"blink-\" to FG if you want a blinking foreground color." - }; -- - - /* configfile */ - static int -@@ -737,14 +824,18 @@ static struct builtin builtin_configfile = - static int - debug_func (char *arg, int flags) - { -- if (debug) -+ int *whichdebug = &debug; -+ if (arg && !strcmp(arg, "--graphics")) -+ whichdebug = &debug_graphics; -+ -+ if (*whichdebug) - { -- debug = 0; -+ *whichdebug = 0; - grub_printf (" Debug mode is turned off\n"); - } - else - { -- debug = 1; -+ *whichdebug = 1; - grub_printf (" Debug mode is turned on\n"); - } - -@@ -755,17 +846,61 @@ static struct builtin builtin_debug = - { - "debug", - debug_func, -- BUILTIN_CMDLINE, -+ BUILTIN_CMDLINE | BUILTIN_MENU, - "debug", - "Turn on/off the debug mode." - }; - - -+/* verbose */ -+static int -+verbose_func (char *arg, int flags) -+{ -+ if (grub_verbose) -+ { -+ grub_verbose = 0; -+ grub_printf (" Verbose mode is turned off\n"); -+ } -+ else -+ { -+ grub_verbose = 1; -+ grub_printf (" Verbose mode is turned on\n"); -+ } -+ -+ return 0; -+} -+ -+static struct builtin builtin_verbose = -+{ -+ "verbose", -+ verbose_func, -+ BUILTIN_CMDLINE | BUILTIN_MENU, -+ "verbose", -+ "Turn on/off verbose output." -+}; -+ -+ -+#if !defined(SUPPORT_DISKLESS) && !defined(GRUB_UTIL) && !defined(PLATFORM_EFI) -+static int savedefault_helper(int); -+#endif - /* default */ - static int - default_func (char *arg, int flags) - { - #ifndef SUPPORT_DISKLESS -+#ifndef GRUB_UTIL -+#ifndef PLATFORM_EFI -+ /* Has a forced once-only default been specified? */ -+ if ((saved_entryno & STAGE2_ONCEONLY_ENTRY) != 0) -+ { -+ int old_defaults=saved_entryno & ~STAGE2_ONCEONLY_ENTRY; -+ grub_timeout = 0; -+ default_entry = old_defaults >> 8; -+ savedefault_helper(old_defaults & 0xff); -+ return 0; -+ } -+#endif -+#endif - if (grub_strcmp (arg, "saved") == 0) - { - default_entry = saved_entryno; -@@ -792,7 +927,7 @@ static struct builtin builtin_default = - }; - - --#ifdef GRUB_UTIL -+#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) - /* device */ - static int - device_func (char *arg, int flags) -@@ -800,16 +935,17 @@ device_func (char *arg, int flags) - char *drive = arg; - char *device; - -- /* Get the drive number from DRIVE. */ -- if (! set_device (drive)) -- return 1; -- - /* Get the device argument. */ - device = skip_to (0, drive); -- -+ -+ nul_terminate (drive); - /* Terminate DEVICE. */ - nul_terminate (device); - -+ /* Get the drive number from DRIVE. */ -+ if (! set_device (drive)) -+ return 1; -+ - if (! *device || ! check_device (device)) - { - errnum = ERR_FILE_NOT_FOUND; -@@ -817,7 +953,7 @@ device_func (char *arg, int flags) - } - - assign_device_name (current_drive, device); -- -+ - return 0; - } - -@@ -828,9 +964,20 @@ static struct builtin builtin_device = - BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, - "device DRIVE DEVICE", - "Specify DEVICE as the actual drive for a BIOS drive DRIVE. This command" -- " can be used only in the grub shell." -+ " can be used only in the grub shell and in EFI." - }; --#endif /* GRUB_UTIL */ -+#endif /* defined(GRUB_UTIL) || defined(PLATFORM_EFI) */ -+#ifdef PLATFORM_EFI -+static struct builtin builtin_efimap = -+{ -+ "efimap", -+ device_func, -+ BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, -+ "efimap DRIVE DEVICE", -+ "Specify DEVICE as the actual drive for a BIOS drive DRIVE. This command" -+ " can be used only in EFI." -+}; -+#endif /* PLATFORM_EFI */ - - - #ifdef SUPPORT_NETBOOT -@@ -852,6 +999,139 @@ static struct builtin builtin_dhcp = - }; - #endif /* SUPPORT_NETBOOT */ - -+static int terminal_func (char *arg, int flags); -+ -+#ifdef SUPPORT_GRAPHICS -+ -+static int splashimage_func(char *arg, int flags) { -+ char splashimage[64]; -+ int i; -+ -+ /* filename can only be 64 characters due to our buffer size */ -+ if (strlen(arg) > 63) -+ return 1; -+ if (flags == BUILTIN_CMDLINE) { -+ if (!grub_open(arg)) -+ return 1; -+ grub_close(); -+ } -+ -+ strcpy(splashimage, arg); -+ -+ /* get rid of TERM_NEED_INIT from the graphics terminal. */ -+ for (i = 0; term_table[i].name; i++) { -+ if (grub_strcmp (term_table[i].name, "graphics") == 0) { -+ term_table[i].flags &= ~TERM_NEED_INIT; -+ break; -+ } -+ } -+ -+ graphics_set_splash(splashimage); -+ -+ if (flags == BUILTIN_CMDLINE && graphics_inited) { -+ graphics_end(); -+ graphics_init(); -+ graphics_cls(); -+ } -+ -+ /* FIXME: should we be explicitly switching the terminal as a -+ * side effect here? */ -+ terminal_func("graphics", flags); -+ -+ return 0; -+} -+ -+static struct builtin builtin_splashimage = -+{ -+ "splashimage", -+ splashimage_func, -+ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, -+ "splashimage FILE", -+ "Load FILE as the background image when in graphics mode." -+}; -+ -+ -+/* foreground */ -+static int -+foreground_func(char *arg, int flags) -+{ -+ if (grub_strlen(arg) == 6) { -+ int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2; -+ int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2; -+ int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2; -+ -+ foreground = (r << 16) | (g << 8) | b; -+ if (graphics_inited) -+ graphics_set_palette(15, r, g, b); -+ -+ return (0); -+ } -+ -+ return (1); -+} -+ -+static struct builtin builtin_foreground = -+{ -+ "foreground", -+ foreground_func, -+ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, -+ "foreground RRGGBB", -+ "Sets the foreground color when in graphics mode." -+ "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal." -+}; -+ -+ -+/* background */ -+static int -+background_func(char *arg, int flags) -+{ -+ if (grub_strlen(arg) == 6) { -+ int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2; -+ int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2; -+ int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2; -+ -+ background = (r << 16) | (g << 8) | b; -+ if (graphics_inited) -+ graphics_set_palette(0, r, g, b); -+ return (0); -+ } -+ -+ return (1); -+} -+ -+static struct builtin builtin_background = -+{ -+ "background", -+ background_func, -+ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, -+ "background RRGGBB", -+ "Sets the background color when in graphics mode." -+ "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal." -+}; -+ -+#endif /* SUPPORT_GRAPHICS */ -+ -+ -+/* clear */ -+static int -+clear_func() -+{ -+ if (current_term->cls) -+ current_term->cls(); -+ -+ return 0; -+} -+ -+static struct builtin builtin_clear = -+{ -+ "clear", -+ clear_func, -+ BUILTIN_CMDLINE | BUILTIN_HELP_LIST, -+ "clear", -+ "Clear the screen" -+}; -+ -+#ifndef PLATFORM_EFI - - /* displayapm */ - static int -@@ -893,6 +1173,7 @@ static struct builtin builtin_displayapm = - "displayapm", - "Display APM BIOS information." - }; -+#endif /* !PLATFORM_EFI */ - - - /* displaymem */ -@@ -912,11 +1193,11 @@ displaymem_func (char *arg, int flags) - if (mbi.flags & MB_INFO_MEM_MAP) - { - struct AddrRangeDesc *map = (struct AddrRangeDesc *) mbi.mmap_addr; -- int end_addr = mbi.mmap_addr + mbi.mmap_length; -+ unsigned long end_addr = mbi.mmap_addr + mbi.mmap_length; - - grub_printf (" [Address Range Descriptor entries " - "immediately follow (values are 64-bit)]\n"); -- while (end_addr > (int) map) -+ while (end_addr > (unsigned long) map) - { - char *str; - -@@ -924,15 +1205,10 @@ displaymem_func (char *arg, int flags) - str = "Usable RAM"; - else - str = "Reserved"; -- grub_printf (" %s: Base Address: 0x%x X 4GB + 0x%x,\n" -- " Length: 0x%x X 4GB + 0x%x bytes\n", -- str, -- (unsigned long) (map->BaseAddr >> 32), -- (unsigned long) (map->BaseAddr & 0xFFFFFFFF), -- (unsigned long) (map->Length >> 32), -- (unsigned long) (map->Length & 0xFFFFFFFF)); -- -- map = ((struct AddrRangeDesc *) (((int) map) + 4 + map->size)); -+ grub_printf (" %s: Base Address: 0x%lx Length: 0x%lx bytes\n", -+ str, map->BaseAddr, map->Length); -+ -+ map = ((struct AddrRangeDesc *) (((unsigned long) map) + 4 + map->size)); - } - } - -@@ -1009,6 +1285,7 @@ static struct builtin builtin_dump = - }; - #endif /* GRUB_UTIL */ - -+#ifndef PLATFORM_EFI - - static char embed_info[32]; - /* embed */ -@@ -1143,6 +1420,7 @@ static struct builtin builtin_embed = - " is a drive, or in the \"bootloader\" area if DEVICE is a FFS partition." - " Print the number of sectors which STAGE1_5 occupies if successful." - }; -+#endif /* ! PLATFORM_EFI */ - - - /* fallback */ -@@ -1230,17 +1508,19 @@ find_func (char *arg, int flags) - } - - /* Hard disks. */ -- for (drive = 0x80; drive < 0x88; drive++) -+ for (drive = 0x80; drive < (0x80 + MAX_HD_NUM); drive++) - { - unsigned long part = 0xFFFFFF; -- unsigned long start, len, offset, ext_offset; -- int type, entry; -- char buf[SECTOR_SIZE]; -+ unsigned long start, len, offset, ext_offset, gpt_offset; -+ int type, entry, gpt_count, gpt_size; -+ int sector_size = get_sector_size(drive); -+ char buf[sector_size]; - - current_drive = drive; - while (next_partition (drive, 0xFFFFFF, &part, &type, - &start, &len, &offset, &entry, -- &ext_offset, buf)) -+ &ext_offset, &gpt_offset, -+ &gpt_count, &gpt_size, buf)) - { - if (type != PC_SLICE_TYPE_NONE - && ! IS_PC_SLICE_TYPE_BSD (type) -@@ -1301,6 +1581,59 @@ static struct builtin builtin_find = - "Search for the filename FILENAME in all of partitions and print the list of" - " the devices which contain the file." - }; -+ -+/* findiso */ -+ -+/* Search for an ISO 9660 partition. */ -+static int -+findiso_func (char *arg, int flags) -+{ -+ unsigned long drive; -+ unsigned long tmp_drive = saved_drive; -+ unsigned long tmp_partition = saved_partition; -+ -+ /* Hard disks. */ -+ for (drive = 0x79; drive < 0x88; drive++) -+ { -+ unsigned long part = 0xFFFFFF; -+ -+ if (drive == 0x79) -+ drive = 0x100; -+ -+ current_drive = drive; -+ current_partition = part; -+ -+ if (open_device ()) -+ { -+ char *type = get_fsys_type(); -+ if (!grub_strcmp(type, "iso9660")) -+ { -+ saved_drive = current_drive; -+ saved_partition = current_partition; -+ errnum = ERR_NONE; -+ return 0; -+ } -+ } -+ -+ /* We want to ignore any error here. */ -+ errnum = ERR_NONE; -+ } -+ -+ saved_drive = tmp_drive; -+ saved_partition = tmp_partition; -+ -+ errnum = ERR_FILE_NOT_FOUND; -+ return 1; -+} -+ -+static struct builtin builtin_findiso = -+{ -+ "findiso", -+ findiso_func, -+ BUILTIN_CMDLINE | BUILTIN_HELP_LIST, -+ "findiso FILENAME", -+ "Set root to the first device with a valid ISO 9660 filesystem." -+}; - - - /* fstest */ -@@ -1679,6 +2012,7 @@ static struct builtin builtin_ifconfig = - }; - #endif /* SUPPORT_NETBOOT */ - -+#ifndef PLATFORM_EFI - - /* impsprobe */ - static int -@@ -1706,6 +2040,7 @@ static struct builtin builtin_impsprobe = - " configuration table and boot the various CPUs which are found into" - " a tight loop." - }; -+#endif /* ! PLATFORM_EFI */ - - - /* initrd */ -@@ -1738,8 +2073,82 @@ static struct builtin builtin_initrd = - " appropriate parameters in the Linux setup area in memory." - }; - -+#ifndef PLATFORM_EFI - - /* install */ -+static struct { -+ int saved_sector; -+ int installaddr; -+ int installlist; -+ int last_length; -+ char *stage2_first_buffer; -+} install_func_context = { -+ .saved_sector = 0, -+ .installaddr = 0, -+ .installlist = 0, -+ .last_length = SECTOR_SIZE, -+ .stage2_first_buffer = NULL, -+}; -+ -+/* Save the first sector of Stage2 in STAGE2_SECT. */ -+/* Formerly disk_read_savesect_func with local scope inside install_func */ -+static void -+install_savesect_helper(int sector, int offset, int length) -+{ -+ if (debug) -+ printf ("[%d]", sector); -+ -+ /* ReiserFS has files which sometimes contain data not aligned -+ on sector boundaries. Returning an error is better than -+ silently failing. */ -+ if (offset != 0 || length != SECTOR_SIZE) -+ errnum = ERR_UNALIGNED; -+ -+ install_func_context.saved_sector = sector; -+} -+ -+/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */ -+/* Formerly disk_read_blocklist_func with local scope inside install_func */ -+static void -+install_blocklist_helper (int sector, int offset, int length) -+{ -+ int *installaddr = &install_func_context.installaddr; -+ int *installlist = &install_func_context.installlist; -+ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; -+ /* Was the last sector full? */ -+ int *last_length = &install_func_context.last_length; -+ -+ if (debug) -+ printf("[%d]", sector); -+ -+ if (offset != 0 || *last_length != SECTOR_SIZE) -+ { -+ /* We found a non-sector-aligned data block. */ -+ errnum = ERR_UNALIGNED; -+ return; -+ } -+ -+ *last_length = length; -+ -+ if (*((unsigned long *) (*installlist - 4)) -+ + *((unsigned short *) *installlist) != sector -+ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4) -+ { -+ *installlist -= 8; -+ -+ if (*((unsigned long *) (*installlist - 8))) -+ errnum = ERR_WONT_FIT; -+ else -+ { -+ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4); -+ *((unsigned long *) (*installlist - 4)) = sector; -+ } -+ } -+ -+ *((unsigned short *) *installlist) += 1; -+ *installaddr += 512; -+} -+ - static int - install_func (char *arg, int flags) - { -@@ -1747,8 +2156,12 @@ install_func (char *arg, int flags) - char *stage1_buffer = (char *) RAW_ADDR (0x100000); - char *stage2_buffer = stage1_buffer + SECTOR_SIZE; - char *old_sect = stage2_buffer + SECTOR_SIZE; -- char *stage2_first_buffer = old_sect + SECTOR_SIZE; -- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; -+ /* stage2_first_buffer used to be defined as: -+ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */ -+ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; -+ /* and stage2_second_buffer was: -+ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */ -+ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE; - /* XXX: Probably SECTOR_SIZE is reasonable. */ - char *config_filename = stage2_second_buffer + SECTOR_SIZE; - char *dummy = config_filename + SECTOR_SIZE; -@@ -1757,10 +2170,11 @@ install_func (char *arg, int flags) - int src_drive, src_partition, src_part_start; - int i; - struct geometry dest_geom, src_geom; -- int saved_sector; -+ int *saved_sector = &install_func_context.saved_sector; - int stage2_first_sector, stage2_second_sector; - char *ptr; -- int installaddr, installlist; -+ int *installaddr = &install_func_context.installaddr; -+ int *installlist = &install_func_context.installlist; - /* Point to the location of the name of a configuration file in Stage 2. */ - char *config_file_location; - /* If FILE is a Stage 1.5? */ -@@ -1769,68 +2183,18 @@ install_func (char *arg, int flags) - int is_open = 0; - /* If LBA is forced? */ - int is_force_lba = 0; -- /* Was the last sector full? */ -- int last_length = SECTOR_SIZE; -+ int *last_length = &install_func_context.last_length; - -+ /* Reset state. */ -+ *last_length = SECTOR_SIZE; -+ -+ *stage2_first_buffer = old_sect + SECTOR_SIZE; - #ifdef GRUB_UTIL - /* If the Stage 2 is in a partition mounted by an OS, this will store - the filename under the OS. */ - char *stage2_os_file = 0; - #endif /* GRUB_UTIL */ - -- auto void disk_read_savesect_func (int sector, int offset, int length); -- auto void disk_read_blocklist_func (int sector, int offset, int length); -- -- /* Save the first sector of Stage2 in STAGE2_SECT. */ -- auto void disk_read_savesect_func (int sector, int offset, int length) -- { -- if (debug) -- printf ("[%d]", sector); -- -- /* ReiserFS has files which sometimes contain data not aligned -- on sector boundaries. Returning an error is better than -- silently failing. */ -- if (offset != 0 || length != SECTOR_SIZE) -- errnum = ERR_UNALIGNED; -- -- saved_sector = sector; -- } -- -- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and -- INSTALLSECT. */ -- auto void disk_read_blocklist_func (int sector, int offset, int length) -- { -- if (debug) -- printf("[%d]", sector); -- -- if (offset != 0 || last_length != SECTOR_SIZE) -- { -- /* We found a non-sector-aligned data block. */ -- errnum = ERR_UNALIGNED; -- return; -- } -- -- last_length = length; -- -- if (*((unsigned long *) (installlist - 4)) -- + *((unsigned short *) installlist) != sector -- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4) -- { -- installlist -= 8; -- -- if (*((unsigned long *) (installlist - 8))) -- errnum = ERR_WONT_FIT; -- else -- { -- *((unsigned short *) (installlist + 2)) = (installaddr >> 4); -- *((unsigned long *) (installlist - 4)) = sector; -- } -- } -- -- *((unsigned short *) installlist) += 1; -- installaddr += 512; -- } -- - /* First, check the GNU-style long option. */ - while (1) - { -@@ -1862,10 +2226,10 @@ install_func (char *arg, int flags) - addr = skip_to (0, file); - - /* Get the installation address. */ -- if (! safe_parse_maxint (&addr, &installaddr)) -+ if (! safe_parse_maxint (&addr, installaddr)) - { - /* ADDR is not specified. */ -- installaddr = 0; -+ *installaddr = 0; - ptr = addr; - errnum = 0; - } -@@ -1961,17 +2325,17 @@ install_func (char *arg, int flags) - = 0x9090; - - /* Read the first sector of Stage 2. */ -- disk_read_hook = disk_read_savesect_func; -- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) -+ disk_read_hook = install_savesect_helper; -+ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) - goto fail; - -- stage2_first_sector = saved_sector; -+ stage2_first_sector = *saved_sector; - - /* Read the second sector of Stage 2. */ - if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE) - goto fail; - -- stage2_second_sector = saved_sector; -+ stage2_second_sector = *saved_sector; - - /* Check for the version of Stage 2. */ - if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS)) -@@ -1987,27 +2351,27 @@ install_func (char *arg, int flags) - - /* If INSTALLADDR is not specified explicitly in the command-line, - determine it by the Stage 2 id. */ -- if (! installaddr) -+ if (! *installaddr) - { - if (! is_stage1_5) - /* Stage 2. */ -- installaddr = 0x8000; -+ *installaddr = 0x8000; - else - /* Stage 1.5. */ -- installaddr = 0x2000; -+ *installaddr = 0x2000; - } - - *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR)) - = stage2_first_sector; - *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS)) -- = installaddr; -+ = *installaddr; - *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT)) -- = installaddr >> 4; -+ = *installaddr >> 4; - -- i = (int) stage2_first_buffer + SECTOR_SIZE - 4; -+ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4; - while (*((unsigned long *) i)) - { -- if (i < (int) stage2_first_buffer -+ if (i < (int) *stage2_first_buffer - || (*((int *) (i - 4)) & 0x80000000) - || *((unsigned short *) i) >= 0xA00 - || *((short *) (i + 2)) == 0) -@@ -2021,13 +2385,13 @@ install_func (char *arg, int flags) - i -= 8; - } - -- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4; -- installaddr += SECTOR_SIZE; -+ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4; -+ *installaddr += SECTOR_SIZE; - - /* Read the whole of Stage2 except for the first sector. */ - grub_seek (SECTOR_SIZE); - -- disk_read_hook = disk_read_blocklist_func; -+ disk_read_hook = install_blocklist_helper; - if (! grub_read (dummy, -1)) - goto fail; - -@@ -2110,7 +2474,7 @@ install_func (char *arg, int flags) - /* Skip the first sector. */ - grub_seek (SECTOR_SIZE); - -- disk_read_hook = disk_read_savesect_func; -+ disk_read_hook = install_savesect_helper; - if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE) - goto fail; - -@@ -2180,7 +2544,7 @@ install_func (char *arg, int flags) - else - #endif /* GRUB_UTIL */ - { -- if (! devwrite (saved_sector - part_start, 1, stage2_buffer)) -+ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer)) - goto fail; - } - } -@@ -2202,7 +2566,7 @@ install_func (char *arg, int flags) - goto fail; - } - -- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) -+ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) - { - fclose (fp); - errnum = ERR_WRITE; -@@ -2229,7 +2593,7 @@ install_func (char *arg, int flags) - goto fail; - - if (! devwrite (stage2_first_sector - src_part_start, 1, -- stage2_first_buffer)) -+ *stage2_first_buffer)) - goto fail; - - if (! devwrite (stage2_second_sector - src_part_start, 1, -@@ -2322,6 +2686,7 @@ static struct builtin builtin_ioprobe = - "ioprobe DRIVE", - "Probe I/O ports used for the drive DRIVE." - }; -+#endif /* ! PLATFORM_EFI */ - - - /* kernel */ -@@ -2456,6 +2821,7 @@ static struct builtin builtin_makeactive = - " This command is limited to _primary_ PC partitions on a hard disk." - }; - -+#ifndef PLATFORM_EFI - - /* map */ - /* Map FROM_DRIVE to TO_DRIVE. */ -@@ -2519,6 +2885,7 @@ static struct builtin builtin_map = - " when you chain-load some operating systems, such as DOS, if such an" - " OS resides at a non-first drive." - }; -+#endif /* ! PLATFORM_EFI */ - - - #ifdef USE_MD5_PASSWORDS -@@ -2579,6 +2946,7 @@ static struct builtin builtin_md5crypt = - }; - #endif /* USE_MD5_PASSWORDS */ - -+#ifndef PLATFORM_EFI - - /* module */ - static int -@@ -2656,6 +3024,7 @@ static struct builtin builtin_modulenounzip = - "The same as `module', except that automatic decompression is" - " disabled." - }; -+#endif /* !PLATFORM_EFI */ - - - /* pager [on|off] */ -@@ -2698,7 +3067,6 @@ partnew_func (char *arg, int flags) - int start_cl, start_ch, start_dh; - int end_cl, end_ch, end_dh; - int entry; -- char mbr[512]; - - /* Convert a LBA address to a CHS address in the INT 13 format. */ - auto void lba_to_chs (int lba, int *cl, int *ch, int *dh); -@@ -2729,6 +3097,9 @@ partnew_func (char *arg, int flags) - return 1; - } - -+ int sector_size = get_sector_size(current_drive); -+ char mbr[sector_size]; -+ - /* The partition must a primary partition. */ - if ((current_partition >> 16) > 3 - || (current_partition & 0xFFFF) != 0xFFFF) -@@ -2762,7 +3133,7 @@ partnew_func (char *arg, int flags) - return 1; - - /* Read the MBR. */ -- if (! rawread (current_drive, 0, 0, SECTOR_SIZE, mbr)) -+ if (! rawread (current_drive, 0, 0, sector_size, mbr)) - return 1; - - /* Check if the new partition will fit in the disk. */ -@@ -2815,9 +3186,8 @@ parttype_func (char *arg, int flags) - { - int new_type; - unsigned long part = 0xFFFFFF; -- unsigned long start, len, offset, ext_offset; -- int entry, type; -- char mbr[512]; -+ unsigned long start, len, offset, ext_offset, gpt_offset; -+ int entry, type, gpt_count, gpt_size; - - /* Get the drive and the partition. */ - if (! set_device (arg)) -@@ -2829,6 +3199,9 @@ parttype_func (char *arg, int flags) - errnum = ERR_BAD_ARGUMENT; - return 1; - } -+ -+ int sector_size = get_sector_size(current_drive); -+ char mbr[sector_size]; - - /* The partition must be a PC slice. */ - if ((current_partition >> 16) == 0xFF -@@ -2853,8 +3226,15 @@ parttype_func (char *arg, int flags) - /* Look for the partition. */ - while (next_partition (current_drive, 0xFFFFFF, &part, &type, - &start, &len, &offset, &entry, -- &ext_offset, mbr)) -+ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) - { -+ /* The partition may not be a GPT partition. */ -+ if (gpt_offset != 0) -+ { -+ errnum = ERR_BAD_ARGUMENT; -+ return 1; -+ } -+ - if (part == current_partition) - { - /* Found. */ -@@ -2900,6 +3280,11 @@ password_func (char *arg, int flags) - arg = skip_to (0, arg); - } - #endif -+ else if (grub_memcmp (arg, "--encrypted", 5) == 0) -+ { -+ type = PASSWORD_ENCRYPTED; -+ arg = skip_to (0, arg); -+ } - if (grub_memcmp (arg, "--", 2) == 0) - { - type = PASSWORD_UNSUPPORTED; -@@ -2947,7 +3332,7 @@ static struct builtin builtin_password = - "password", - password_func, - BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_NO_ECHO, -- "password [--md5] PASSWD [FILE]", -+ "password [--md5|--encrypted] PASSWD [FILE]", - "If used in the first section of a menu file, disable all" - " interactive editing control (menu entry editor and" - " command line). If the password PASSWD is entered, it loads the" -@@ -2956,7 +3341,8 @@ static struct builtin builtin_password = - " instructions. You can also use it in the script section, in" - " which case it will ask for the password, before continueing." - " The option --md5 tells GRUB that PASSWD is encrypted with" -- " md5crypt." -+ " md5crypt, --encrypted that PASSWD is encrypted (with algorithm" -+ " specified in PASSWD: supported is md5, sha-256, sha-512)." - }; - - -@@ -2982,8 +3368,8 @@ static struct builtin builtin_pause = - "Print MESSAGE, then wait until a key is pressed." - }; - -+#if defined (GRUB_UTIL) || defined (PLATFORM_EFI) - --#ifdef GRUB_UTIL - /* quit */ - static int - quit_func (char *arg, int flags) -@@ -3002,7 +3388,7 @@ static struct builtin builtin_quit = - "quit", - "Exit from the GRUB shell." - }; --#endif /* GRUB_UTIL */ -+#endif /* defined (GRUB_UTIL) || defined (PLATFORM_EFI) */ - - - #ifdef SUPPORT_NETBOOT -@@ -3165,7 +3551,8 @@ real_root_func (char *arg, int attempt_mount) - return 1; - - /* Print the type of the filesystem. */ -- print_fsys_type (); -+ if (grub_verbose) -+ print_fsys_type (); - } - - return 0; -@@ -3217,146 +3604,181 @@ static struct builtin builtin_rootnoverify = - }; - - --/* savedefault */ -+ -+#if !defined(SUPPORT_DISKLESS) && !defined(GRUB_UTIL) && !defined(PLATFORM_EFI) -+/* Write specified default entry number into stage2 file. */ - static int --savedefault_func (char *arg, int flags) -+savedefault_helper(int new_default) - { --#if !defined(SUPPORT_DISKLESS) && !defined(GRUB_UTIL) -- unsigned long tmp_drive = saved_drive; -- unsigned long tmp_partition = saved_partition; -- char *default_file = (char *) DEFAULT_FILE_BUF; -- char buf[10]; -- char sect[SECTOR_SIZE]; -- int entryno; -- int sector_count = 0; -- int saved_sectors[2]; -- int saved_offsets[2]; -- int saved_lengths[2]; -- -- /* Save sector information about at most two sectors. */ -- auto void disk_read_savesect_func (int sector, int offset, int length); -- void disk_read_savesect_func (int sector, int offset, int length) -- { -- if (sector_count < 2) -- { -- saved_sectors[sector_count] = sector; -- saved_offsets[sector_count] = offset; -- saved_lengths[sector_count] = length; -- } -- sector_count++; -- } -- -- /* This command is only useful when you boot an entry from the menu -- interface. */ -- if (! (flags & BUILTIN_SCRIPT)) -+ char buffer[512]; -+ int *entryno_ptr; -+ -+ /* Get the geometry of the boot drive (i.e. the disk which contains -+ this stage2). */ -+ if (get_diskinfo (boot_drive, &buf_geom)) - { -- errnum = ERR_UNRECOGNIZED; -+ errnum = ERR_NO_DISK; - return 1; - } - -- /* Determine a saved entry number. */ -- if (*arg) -+ /* Load the second sector of this stage2. */ -+ if (! rawread (boot_drive, install_second_sector, 0, SECTOR_SIZE, buffer)) - { -- if (grub_memcmp (arg, "fallback", sizeof ("fallback") - 1) == 0) -- { -- int i; -- int index = 0; -- -- for (i = 0; i < MAX_FALLBACK_ENTRIES; i++) -- { -- if (fallback_entries[i] < 0) -- break; -- if (fallback_entries[i] == current_entryno) -- { -- index = i + 1; -- break; -- } -- } -- -- if (index >= MAX_FALLBACK_ENTRIES || fallback_entries[index] < 0) -- { -- /* This is the last. */ -- errnum = ERR_BAD_ARGUMENT; -- return 1; -- } -+ return 1; -+ } - -- entryno = fallback_entries[index]; -- } -- else if (! safe_parse_maxint (&arg, &entryno)) -- return 1; -+ /* Sanity check. */ -+ if (buffer[STAGE2_STAGE2_ID] != STAGE2_ID_STAGE2 -+ || *((short *) (buffer + STAGE2_VER_MAJ_OFFS)) != COMPAT_VERSION) -+ { -+ errnum = ERR_BAD_VERSION; -+ return 1; - } -- else -- entryno = current_entryno; -+ -+ entryno_ptr = (int *) (buffer + STAGE2_SAVED_ENTRYNO); - -- /* Open the default file. */ -- saved_drive = boot_drive; -- saved_partition = install_partition; -- if (grub_open (default_file)) -+ /* Check if the saved entry number differs from current entry number. */ -+ if (*entryno_ptr != new_default) - { -- int len; -+ /* Overwrite the saved entry number. */ -+ *entryno_ptr = new_default; - -- disk_read_hook = disk_read_savesect_func; -- len = grub_read (buf, sizeof (buf)); -- disk_read_hook = 0; -- grub_close (); -+ /* Save the image in the disk. */ -+ if (! rawwrite (boot_drive, install_second_sector, buffer)) -+ return 1; - -- if (len != sizeof (buf)) -- { -- /* This is too small. Do not modify the file manually, please! */ -- errnum = ERR_READ; -- goto fail; -- } -+ /* Clear the cache. */ -+ buf_track = -1; -+ } - -- if (sector_count > 2) -- { -- /* Is this possible?! Too fragmented! */ -- errnum = ERR_FSYS_CORRUPT; -- goto fail; -- } -- -- /* Set up a string to be written. */ -- grub_memset (buf, '\n', sizeof (buf)); -- grub_sprintf (buf, "%d", entryno); -- -- if (saved_lengths[0] < sizeof (buf)) -- { -- /* The file is anchored to another file and the first few bytes -- are spanned in two sectors. Uggh... */ -- if (! rawread (current_drive, saved_sectors[0], 0, SECTOR_SIZE, -- sect)) -- goto fail; -- grub_memmove (sect + saved_offsets[0], buf, saved_lengths[0]); -- if (! rawwrite (current_drive, saved_sectors[0], sect)) -- goto fail; -+ return 0; -+} -+#endif - -- if (! rawread (current_drive, saved_sectors[1], 0, SECTOR_SIZE, -- sect)) -- goto fail; -- grub_memmove (sect + saved_offsets[1], -- buf + saved_lengths[0], -- sizeof (buf) - saved_lengths[0]); -- if (! rawwrite (current_drive, saved_sectors[1], sect)) -- goto fail; -- } -+#if !defined(SUPPORT_DISKLESS) && defined(GRUB_UTIL) -+#define SECTOR_SIZE 0x200 -+/* -+ * Full implementation of new `savedefault' for GRUB shell. -+ * XXX This needs fixing for stage2 files which aren't accessible -+ * through a mounted filesystem. -+ */ -+static int -+savedefault_shell(char *arg, int flags) -+{ -+ char *stage2_os_file = "/boot/grub/stage2"; /* Default filename */ -+ FILE *fp; -+ char buffer[512]; -+ int *entryno_ptr; -+ int new_default = 0; -+ int old_default = 0; -+ -+ while (1) -+ { -+ if (grub_memcmp ("--stage2=", arg, sizeof ("--stage2=") - 1) == 0) -+ { -+ stage2_os_file = arg + sizeof ("--stage2=") - 1; -+ arg = skip_to (0, arg); -+ nul_terminate (stage2_os_file); -+ } -+ else if (grub_memcmp ("--default=", arg, sizeof ("--default=") - 1) == 0) -+ { -+ char *p = arg + sizeof ("--default=") - 1; -+ if (! safe_parse_maxint (&p, &new_default)) -+ return 1; -+ arg = skip_to (0, arg); -+ } -+ else if (grub_memcmp ("--once", arg, sizeof ("--once") - 1) == 0) -+ { -+ new_default <<= 8; -+ new_default |= STAGE2_ONCEONLY_ENTRY; -+ arg = skip_to (0, arg); -+ } - else -- { -- /* This is a simple case. It fits into a single sector. */ -- if (! rawread (current_drive, saved_sectors[0], 0, SECTOR_SIZE, -- sect)) -- goto fail; -- grub_memmove (sect + saved_offsets[0], buf, sizeof (buf)); -- if (! rawwrite (current_drive, saved_sectors[0], sect)) -- goto fail; -- } -+ break; -+ } - -- /* Clear the cache. */ -- buf_track = -1; -+ if (! (fp = fopen(stage2_os_file, "r+"))) -+ { -+ errnum = ERR_FILE_NOT_FOUND; -+ return 1; -+ } -+ -+ if (fseek (fp, SECTOR_SIZE, SEEK_SET) != 0) -+ { -+ fclose (fp); -+ errnum = ERR_BAD_VERSION; -+ return 1; -+ } -+ -+ if (fread (buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) -+ { -+ fclose (fp); -+ errnum = ERR_READ; -+ return 1; - } - -- fail: -- saved_drive = tmp_drive; -- saved_partition = tmp_partition; -- return errnum; -+ /* Sanity check. */ -+ if (buffer[STAGE2_STAGE2_ID] != STAGE2_ID_STAGE2 -+ || *((short *) (buffer + STAGE2_VER_MAJ_OFFS)) != COMPAT_VERSION) -+ { -+ errnum = ERR_BAD_VERSION; -+ return 1; -+ } -+ -+ entryno_ptr = (int *) (buffer + STAGE2_SAVED_ENTRYNO); -+ if (new_default & STAGE2_ONCEONLY_ENTRY) -+ { -+ old_default=*entryno_ptr; -+ *entryno_ptr = new_default + (old_default & 0xFF); -+ } -+ else -+ { -+ *entryno_ptr = new_default; -+ } -+ -+ if (fseek (fp, SECTOR_SIZE, SEEK_SET) != 0) -+ { -+ fclose (fp); -+ errnum = ERR_BAD_VERSION; -+ return 1; -+ } -+ -+ if (fwrite (buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) -+ { -+ fclose (fp); -+ errnum = ERR_WRITE; -+ return 1; -+ } -+ -+ (void)fflush (fp); -+ fclose (fp); -+ return 0; -+} -+#undef SECTOR_SIZE -+#endif -+ -+/* savedefault */ -+static int -+savedefault_func (char *arg, int flags) -+{ -+#if !defined(SUPPORT_DISKLESS) -+#if !defined(GRUB_UTIL) -+#if !defined(PLATFORM_EFI) -+ /* This command is only useful when you boot an entry from the menu -+ interface. */ -+ if (! (flags & BUILTIN_SCRIPT)) -+ { -+ errnum = ERR_UNRECOGNIZED; -+ return 1; -+ } -+ -+ return savedefault_helper(current_entryno); -+#else /* defined(PLATFORM_EFI) */ -+ return grub_save_saved_default (current_entryno); -+#endif -+#else /* defined(GRUB_UTIL) */ -+ return savedefault_shell(arg, flags); -+#endif - #else /* ! SUPPORT_DISKLESS && ! GRUB_UTIL */ - errnum = ERR_UNRECOGNIZED; - return 1; -@@ -3368,10 +3790,14 @@ static struct builtin builtin_savedefault = - "savedefault", - savedefault_func, - BUILTIN_CMDLINE, -- "savedefault [NUM | `fallback']", -- "Save the current entry as the default boot entry if no argument is" -- " specified. If a number is specified, this number is saved. If" -- " `fallback' is used, next fallback entry is saved." -+#ifdef GRUB_UTIL -+ "savedefault [--stage2=STAGE2_FILE] [--default=DEFAULT] [--once]", -+ "Save DEFAULT as the default boot entry in STAGE2_FILE. If '--once'" -+ " is specified, the default is reset after the next reboot." -+#else -+ "savedefault", -+ "Save the current entry as the default boot entry." -+#endif - }; - - -@@ -3527,6 +3953,7 @@ static struct builtin builtin_serial = - }; - #endif /* SUPPORT_SERIAL */ - -+#ifndef PLATFORM_EFI - - /* setkey */ - struct keysym -@@ -3612,50 +4039,47 @@ static struct keysym keysym_table[] = - {"delete", 0, 0x7f, 0, 0x53} - }; - --static int --setkey_func (char *arg, int flags) -+static int find_key_code (char *key) - { -- char *to_key, *from_key; -- int to_code, from_code; -- int map_in_interrupt = 0; -- -- auto int find_key_code (char *key); -- auto int find_ascii_code (char *key); -- -- auto int find_key_code (char *key) -- { -- int i; -+ int i; - -- for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) -- { -- if (keysym_table[i].unshifted_name && -- grub_strcmp (key, keysym_table[i].unshifted_name) == 0) -- return keysym_table[i].keycode; -- else if (keysym_table[i].shifted_name && -- grub_strcmp (key, keysym_table[i].shifted_name) == 0) -- return keysym_table[i].keycode; -- } -- -- return 0; -+ for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) -+ { -+ if (keysym_table[i].unshifted_name && -+ grub_strcmp (key, keysym_table[i].unshifted_name) == 0) -+ return keysym_table[i].keycode; -+ else if (keysym_table[i].shifted_name && -+ grub_strcmp (key, keysym_table[i].shifted_name) == 0) -+ return keysym_table[i].keycode; - } - -- auto int find_ascii_code (char *key) -+ return 0; -+} -+ -+static int find_ascii_code (char *key) -+{ -+ int i; -+ -+ for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) - { -- int i; -- -- for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) -- { -- if (keysym_table[i].unshifted_name && -- grub_strcmp (key, keysym_table[i].unshifted_name) == 0) -- return keysym_table[i].unshifted_ascii; -- else if (keysym_table[i].shifted_name && -- grub_strcmp (key, keysym_table[i].shifted_name) == 0) -- return keysym_table[i].shifted_ascii; -- } -- -- return 0; -+ if (keysym_table[i].unshifted_name && -+ grub_strcmp (key, keysym_table[i].unshifted_name) == 0) -+ return keysym_table[i].unshifted_ascii; -+ else if (keysym_table[i].shifted_name && -+ grub_strcmp (key, keysym_table[i].shifted_name) == 0) -+ return keysym_table[i].shifted_ascii; - } - -+ return 0; -+} -+ -+static int -+setkey_func (char *arg, int flags) -+{ -+ char *to_key, *from_key; -+ int to_code, from_code; -+ int map_in_interrupt = 0; -+ - to_key = arg; - from_key = skip_to (0, to_key); - -@@ -3830,15 +4254,15 @@ setup_func (char *arg, int flags) - { - char tmp[16]; - grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF); -- grub_strncat (device, tmp, 256); -+ grub_strncat (device, tmp, 16); - } - if ((partition & 0x00FF00) != 0x00FF00) - { - char tmp[16]; - grub_sprintf (tmp, ",%c", 'a' + ((partition >> 8) & 0xFF)); -- grub_strncat (device, tmp, 256); -+ grub_strncat (device, tmp, 16); - } -- grub_strncat (device, ")", 256); -+ grub_strncat (device, ")", 16); - } - - int embed_stage1_5 (char *stage1_5, int drive, int partition) -@@ -3973,7 +4397,7 @@ setup_func (char *arg, int flags) - - /* The prefix was determined. */ - grub_sprintf (stage2, "%s%s", prefix, "/stage2"); -- grub_sprintf (config_filename, "%s%s", prefix, "/menu.lst"); -+ grub_sprintf (config_filename, "%s%s", prefix, "/grub.conf"); - *real_config_filename = 0; - - /* Check if stage2 exists. */ -@@ -4083,9 +4507,26 @@ static struct builtin builtin_setup = - " partition where GRUB images reside, specify the option `--stage2'" - " to tell GRUB the file name under your OS." - }; -+#endif /* ! PLATFORM_EFI */ -+ -+ -+static int -+silent_func (char *arg, int flags) -+{ -+ silent_grub = 1; -+ return 0; -+} -+ -+static struct builtin builtin_silent = -+{ -+ "silent", -+ silent_func, -+ BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, -+ "grub will attempt to avoid printing anything to the screen" -+}; - - --#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) -+#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) - /* terminal */ - static int - terminal_func (char *arg, int flags) -@@ -4244,17 +4685,21 @@ terminal_func (char *arg, int flags) - end: - current_term = term_table + default_term; - current_term->flags = term_flags; -- -+ - if (lines) - max_lines = lines; - else -- /* 24 would be a good default value. */ -- max_lines = 24; -- -+ max_lines = current_term->max_lines; -+ - /* If the interface is currently the command-line, - restart it to repaint the screen. */ -- if (current_term != prev_term && (flags & BUILTIN_CMDLINE)) -+ if ((current_term != prev_term) && (flags & BUILTIN_CMDLINE)){ -+ if (prev_term->shutdown) -+ prev_term->shutdown(); -+ if (current_term->startup) -+ current_term->startup(); - grub_longjmp (restart_cmdline_env, 0); -+ } - - return 0; - } -@@ -4264,7 +4709,7 @@ static struct builtin builtin_terminal = - "terminal", - terminal_func, - BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, -- "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules]", -+ "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules] [graphics]", - "Select a terminal. When multiple terminals are specified, wait until" - " you push any key to continue. If both console and serial are specified," - " the terminal to which you input a key first will be selected. If no" -@@ -4276,7 +4721,7 @@ static struct builtin builtin_terminal = - " seconds. The option --lines specifies the maximum number of lines." - " The option --silent is used to suppress messages." - }; --#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */ -+#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ - - - #ifdef SUPPORT_SERIAL -@@ -4462,6 +4907,7 @@ static struct builtin builtin_testload = - " step is to try loading a kernel." - }; - -+#ifndef PLATFORM_EFI - - /* testvbe MODE */ - static int -@@ -4566,6 +5012,7 @@ static struct builtin builtin_testvbe = - "testvbe MODE", - "Test the VBE mode MODE. Hit any key to return." - }; -+#endif /* !PLATFORM_EFI */ - - - #ifdef SUPPORT_NETBOOT -@@ -4598,6 +5045,15 @@ static struct builtin builtin_tftpserver = - static int - timeout_func (char *arg, int flags) - { -+ /* One-shot default shenanigans -- don't piss around with the menu! */ -+ if (grub_timeout != -1) -+ return 0; -+ if ((saved_entryno & STAGE2_ONCEONLY_ENTRY) != 0) -+ { -+ grub_timeout = 0; -+ return 0; -+ } -+ - if (! safe_parse_maxint (&arg, &grub_timeout)) - return 1; - -@@ -4661,6 +5117,7 @@ static struct builtin builtin_unhide = - " partition type code." - }; - -+#ifndef PLATFORM_EFI - - /* uppermem */ - static int -@@ -4790,11 +5247,34 @@ static struct builtin builtin_vbeprobe = - "Probe VBE information. If the mode number MODE is specified, show only" - " the information about only the mode." - }; -- -+#endif /* ! PLATFORM_EFI */ -+ -+ -+/* version */ -+static int -+version_func (char *arg, int flags) -+{ -+ grub_printf ("\n GNU GRUB version %s (%dK lower / %dK upper memory)\n\n", -+ version_string, mbi.mem_lower, mbi.mem_upper); -+ return 0; -+} -+ -+static struct builtin builtin_version = -+{ -+ "version", -+ version_func, -+ BUILTIN_CMDLINE | BUILTIN_HELP_LIST, -+ "version", -+ "Display grub version." -+}; -+ - - /* The table of builtin commands. Sorted in dictionary order. */ - struct builtin *builtin_table[] = - { -+#ifdef SUPPORT_GRAPHICS -+ &builtin_background, -+#endif - &builtin_blocklist, - &builtin_boot, - #ifdef SUPPORT_NETBOOT -@@ -4802,25 +5282,37 @@ struct builtin *builtin_table[] = - #endif /* SUPPORT_NETBOOT */ - &builtin_cat, - &builtin_chainloader, -+ &builtin_clear, - &builtin_cmp, - &builtin_color, - &builtin_configfile, - &builtin_debug, - &builtin_default, --#ifdef GRUB_UTIL -+#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) - &builtin_device, --#endif /* GRUB_UTIL */ -+#endif /* defined(GRUB_UTIL) || defined(PLATFORM_EFI) */ - #ifdef SUPPORT_NETBOOT - &builtin_dhcp, - #endif /* SUPPORT_NETBOOT */ -+#ifndef PLATFORM_EFI - &builtin_displayapm, -+#endif - &builtin_displaymem, - #ifdef GRUB_UTIL - &builtin_dump, - #endif /* GRUB_UTIL */ -+#ifdef PLATFORM_EFI -+ &builtin_efimap, -+#endif -+#ifndef PLATFORM_EFI - &builtin_embed, -+#endif - &builtin_fallback, - &builtin_find, -+ &builtin_findiso, -+#ifdef SUPPORT_GRAPHICS -+ &builtin_foreground, -+#endif - &builtin_fstest, - &builtin_geometry, - &builtin_halt, -@@ -4830,27 +5322,35 @@ struct builtin *builtin_table[] = - #ifdef SUPPORT_NETBOOT - &builtin_ifconfig, - #endif /* SUPPORT_NETBOOT */ -+#ifndef PLATFORM_EFI - &builtin_impsprobe, -+#endif - &builtin_initrd, -+#ifndef PLATFORM_EFI - &builtin_install, - &builtin_ioprobe, -+#endif - &builtin_kernel, - &builtin_lock, - &builtin_makeactive, -+#ifndef PLATFORM_EFI - &builtin_map, -+#endif - #ifdef USE_MD5_PASSWORDS - &builtin_md5crypt, - #endif /* USE_MD5_PASSWORDS */ -+#ifndef PLATFORM_EFI - &builtin_module, - &builtin_modulenounzip, -+#endif - &builtin_pager, - &builtin_partnew, - &builtin_parttype, - &builtin_password, - &builtin_pause, --#ifdef GRUB_UTIL -+#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) - &builtin_quit, --#endif /* GRUB_UTIL */ -+#endif /* defined(GRUB_UTIL) || defined(PLATFORM_EFI) */ - #ifdef SUPPORT_NETBOOT - &builtin_rarp, - #endif /* SUPPORT_NETBOOT */ -@@ -4862,23 +5362,35 @@ struct builtin *builtin_table[] = - #ifdef SUPPORT_SERIAL - &builtin_serial, - #endif /* SUPPORT_SERIAL */ -+#ifndef PLATFORM_EFI - &builtin_setkey, - &builtin_setup, --#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) -+#endif -+ &builtin_silent, -+#ifdef SUPPORT_GRAPHICS -+ &builtin_splashimage, -+#endif /* SUPPORT_GRAPHICS */ -+#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) - &builtin_terminal, --#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */ -+#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ - #ifdef SUPPORT_SERIAL - &builtin_terminfo, - #endif /* SUPPORT_SERIAL */ - &builtin_testload, -+#ifndef PLATFORM_EFI - &builtin_testvbe, -+#endif - #ifdef SUPPORT_NETBOOT - &builtin_tftpserver, - #endif /* SUPPORT_NETBOOT */ - &builtin_timeout, - &builtin_title, - &builtin_unhide, -+#ifndef PLATFORM_EFI - &builtin_uppermem, - &builtin_vbeprobe, -+#endif -+ &builtin_verbose, -+ &builtin_version, - 0 - }; -diff --git a/stage2/char_io.c b/stage2/char_io.c -index c86c240..073201a 100644 ---- a/stage2/char_io.c -+++ b/stage2/char_io.c -@@ -35,29 +35,37 @@ struct term_entry term_table[] = - { - "console", - 0, -+ 24, - console_putchar, - console_checkkey, - console_getkey, -+ console_keystatus, - console_getxy, - console_gotoxy, - console_cls, - console_setcolorstate, - console_setcolor, -- console_setcursor -+ console_setcursor, -+ 0, -+ 0 - }, - #ifdef SUPPORT_SERIAL - { - "serial", - /* A serial device must be initialized. */ - TERM_NEED_INIT, -+ 24, - serial_putchar, - serial_checkkey, - serial_getkey, -+ 0, - serial_getxy, - serial_gotoxy, - serial_cls, - serial_setcolorstate, - 0, -+ 0, -+ 0, - 0 - }, - #endif /* SUPPORT_SERIAL */ -@@ -65,17 +73,39 @@ struct term_entry term_table[] = - { - "hercules", - 0, -+ 24, - hercules_putchar, - console_checkkey, - console_getkey, -+ console_keystatus, - hercules_getxy, - hercules_gotoxy, - hercules_cls, - hercules_setcolorstate, - hercules_setcolor, -- hercules_setcursor -+ hercules_setcursor, -+ 0, -+ 0 - }, - #endif /* SUPPORT_HERCULES */ -+#ifdef SUPPORT_GRAPHICS -+ { "graphics", -+ TERM_NEED_INIT, /* flags */ -+ 30, /* number of lines */ -+ graphics_putchar, /* putchar */ -+ console_checkkey, /* checkkey */ -+ console_getkey, /* getkey */ -+ console_keystatus, /* keystatus */ -+ graphics_getxy, /* getxy */ -+ graphics_gotoxy, /* gotoxy */ -+ graphics_cls, /* cls */ -+ graphics_setcolorstate, /* setcolorstate */ -+ graphics_setcolor, /* setcolor */ -+ graphics_setcursor, /* nocursor */ -+ graphics_init, /* initialize */ -+ graphics_end /* shutdown */ -+ }, -+#endif /* SUPPORT_GRAPHICS */ - /* This must be the last entry. */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } - }; -@@ -101,16 +131,16 @@ print_error (void) - } - - char * --convert_to_ascii (char *buf, int c,...) -+convert_to_ascii (char *buf, int c, unsigned int num) - { -- unsigned long num = *((&c) + 1), mult = 10; -+ unsigned int mult = 10; - char *ptr = buf; - - #ifndef STAGE1_5 - if (c == 'x' || c == 'X') - mult = 16; - -- if ((num & 0x80000000uL) && c == 'd') -+ if ((int) num < 0 && c == 'd') - { - num = (~num) + 1; - *(ptr++) = '-'; -@@ -149,87 +179,266 @@ grub_putstr (const char *str) - grub_putchar (*str++); - } - --void --grub_printf (const char *format,...) -+static void write_char(char **str, char c, int *count) - { -- int *dataptr = (int *) &format; -- char c, str[16]; -- -- dataptr++; -- -- while ((c = *(format++)) != 0) -- { -- if (c != '%') -- grub_putchar (c); -- else -- switch (c = *(format++)) -- { --#ifndef STAGE1_5 -- case 'd': -- case 'x': -- case 'X': --#endif -- case 'u': -- *convert_to_ascii (str, c, *((unsigned long *) dataptr++)) = 0; -- grub_putstr (str); -- break; -- --#ifndef STAGE1_5 -- case 'c': -- grub_putchar ((*(dataptr++)) & 0xff); -- break; -+ if (str && *str) -+ *(*str)++ = c; -+ else -+ putchar(c); -+ (*count)++; -+} - -- case 's': -- grub_putstr ((char *) *(dataptr++)); -- break; --#endif -- } -+static void write_str(char **str, char *s, int *count) -+{ -+ if (s) { -+ while (*s) -+ write_char(str, *s++, count); -+ } else { -+ write_str(str, "(nil)", count); - } - } - --#ifndef STAGE1_5 -+#define format_ascii(buf, val, is_hex, is_cap, num_pad_chars) ({ \ -+ int _n = sizeof ((buf)) - 2; \ -+ typeof(val) _nval = (val); \ -+ int _negative = 0; \ -+ int _mult = is_hex ? 16 : 10; \ -+ char _a = is_cap ? 'A' : 'a'; \ -+ int _pad = num_pad_chars; \ -+ char hex[] = "0123456789abcdef"; \ -+ memset((buf), '\0', sizeof ((buf))); \ -+ if (!(_nval > 0LL)) \ -+ _negative = 1; \ -+ if (_nval == 0LL) \ -+ _negative = 0; \ -+ if (_negative) \ -+ _nval = (_nval ^ -1); \ -+ do { \ -+ int _dig = _nval % _mult; \ -+ (buf)[_n--] = ((_dig > 9) ? _dig + _a - 10 : '0'+_dig); \ -+ if (_pad > 0) _pad--; \ -+ } while (_nval /= _mult); \ -+ while (_pad--) \ -+ (buf)[_n--] = '0'; \ -+ if (_negative) \ -+ (buf)[_n--] = '-'; \ -+ _mult = 0; \ -+ _n++; \ -+ while (_n < sizeof ((buf))) \ -+ (buf)[_mult++] = (buf)[_n++]; \ -+ if (_negative && _mult > 1) \ -+ ((buf)[_mult-2])++; \ -+ }) -+ - int --grub_sprintf (char *buffer, const char *format, ...) -+grub_vsprintf (char *str, const char *fmt, va_list args) - { -- /* XXX hohmuth -- ugly hack -- should unify with printf() */ -- int *dataptr = (int *) &format; -- char c, *ptr, str[16]; -- char *bp = buffer; -- -- dataptr++; -- -- while ((c = *format++) != 0) -- { -- if (c != '%') -- *bp++ = c; /* putchar(c); */ -- else -- switch (c = *(format++)) -- { -- case 'd': case 'u': case 'x': -- *convert_to_ascii (str, c, *((unsigned long *) dataptr++)) = 0; -- -- ptr = str; -+ char c; -+ char buf[40]; -+ int pos = 0; -+ -+ int count = 0; -+ -+ char *str_arg; -+ int int_arg; -+ unsigned char uchar_arg; -+ unsigned ushort_arg; -+ unsigned int uint_arg; -+ signed long long_arg; -+ unsigned long ulong_arg; -+ signed long long longlong_arg; -+ unsigned long long ulonglong_arg; -+ -+ c = *fmt++; -+ if (!c) -+ return 0; -+ -+ int is_fmt = 0, is_long = 0, is_signed = 1, is_cap = 0, is_zero_padded = 0; -+ int num_pad_chars = 0; -+ int restart = 1; -+ do { -+ if (restart) { -+ restart = 0; -+ is_fmt = 0; -+ is_long = 0; -+ is_cap = 0; -+ is_signed = 1; -+ is_zero_padded = 0; -+ num_pad_chars = 0; -+ buf[0] = '\0'; -+ pos = 0; -+ } -+ -+ if (!is_fmt) { -+ if (c == '%') { -+ is_fmt = 1; -+ buf[pos++] = c; -+ buf[pos] = '\0'; -+ continue; -+ } else { -+ write_char(&str, c, &count); -+ continue; -+ } -+ } -+ -+ /* below here we only ever hit when is_fmt is 1 */ -+ switch (c) { -+ /* first, modifiers */ -+ case '%': -+ if (pos != 0) -+ write_str(&str, buf, &count); -+ write_char(&str, c, &count); -+ restart = 1; -+ continue; -+ case '0': -+ if (!is_zero_padded) { -+ buf[pos++] = c; -+ buf[pos] = '\0'; -+ is_zero_padded++; -+ continue; -+ } -+ case '1': -+ case '2': -+ case '3': -+ case '4': -+ case '5': -+ case '6': -+ case '7': -+ case '8': -+ case '9': -+ buf[pos++] = c; -+ buf[pos] = '\0'; -+ num_pad_chars *= 10; -+ num_pad_chars += c - '0'; -+ continue; -+ case 'l': -+ buf[pos++] = c; -+ buf[pos] = '\0'; -+ is_long++; -+ continue; -+ case 'L': -+ buf[pos++] = c; -+ buf[pos] = '\0'; -+ is_long = 2; -+ continue; -+ -+ /* below here are things we actually have to print */ -+ case 'c': -+ int_arg = va_arg(args, int) & 0xff; -+ if (int_arg == 0) { -+ char *tmp_str = "\\x00"; -+ write_str(&tmp_str, buf, &count); -+ } else { -+ write_char(&str, int_arg, &count); -+ } -+ restart = 1; -+ continue; -+ case 'd': -+ if (is_long == 0) { -+ int_arg = va_arg(args, signed int); -+ format_ascii(buf, int_arg, 0, 0, 0); -+ } else if (is_long == 1) { -+ long_arg = va_arg(args, signed long); -+ format_ascii(buf, long_arg, 0, 0, 0); -+ } else { -+ longlong_arg = va_arg(args, signed long long); -+ format_ascii(buf, longlong_arg, 0, 0, 0); -+ } -+ write_str(&str, buf, &count); -+ restart = 1; -+ continue; -+ case 's': -+ str_arg = va_arg(args, char *); -+ write_str(&str, str_arg, &count); -+ restart = 1; -+ continue; -+ case 'u': -+ case 'U': -+ if (is_long == 0) { -+ uint_arg = va_arg(args, unsigned int); -+ format_ascii(buf, uint_arg, 0, 0, 0); -+ } else if (is_long == 1) { -+ ulong_arg = va_arg(args, unsigned long); -+ format_ascii(buf, ulong_arg, 0, 0, 0); -+ } else { -+ ulonglong_arg = va_arg(args, unsigned long long); -+ format_ascii(buf, ulonglong_arg, 0, 0, 0); -+ } -+ write_str(&str, buf, &count); -+ restart = 1; -+ continue; -+ case 'P': -+ is_cap = 1; -+ case 'p': -+ ulong_arg = va_arg(args, unsigned long); -+ is_zero_padded = 1; -+ format_ascii(buf, ulong_arg, 1, is_cap, sizeof(ulong_arg)); -+ write_str(&str, is_cap ? "0X" : "0x", &count); -+ write_str(&str, buf, &count); -+ restart = 1; -+ continue; -+ case 'X': -+ is_cap = 1; -+ case 'x': -+ if (num_pad_chars == 2) { -+ int i; -+ char hex[] = "0123456789abcdef"; -+ uint_arg = va_arg(args, unsigned int); -+ uchar_arg = uint_arg & 0xff; -+ format_ascii(buf, uchar_arg, 1, is_cap, num_pad_chars); -+ } else if (num_pad_chars == 4) { -+ uint_arg = va_arg(args, unsigned int); -+ ushort_arg = uint_arg & 0xffff; -+ format_ascii(buf, ushort_arg, 1, is_cap, num_pad_chars); -+ } else if (is_long == 0) { -+ uint_arg = va_arg(args, unsigned int); -+ format_ascii(buf, uint_arg, 1, is_cap, num_pad_chars); -+ } else if (is_long == 1) { -+ ulong_arg = va_arg(args, unsigned long); -+ format_ascii(buf, ulong_arg, 1, is_cap, num_pad_chars); -+ } else { -+ ulonglong_arg = va_arg(args, unsigned long long); -+ format_ascii(buf, ulonglong_arg, 1, is_cap, num_pad_chars); -+ } -+ write_str(&str, buf, &count); -+ restart = 1; -+ continue; -+ default: -+ buf[pos++] = c; -+ buf[pos] = '\0'; -+ write_str(&str, buf, &count); -+ restart = 1; -+ continue; -+ } -+ } while ((c = *fmt++)); -+ -+ if (str) -+ *str = '\0'; -+ return count; -+} - -- while (*ptr) -- *bp++ = *(ptr++); /* putchar(*(ptr++)); */ -- break; -+void -+grub_printf (char *fmt, ...) -+{ -+ va_list ap; - -- case 'c': *bp++ = (*(dataptr++))&0xff; -- /* putchar((*(dataptr++))&0xff); */ -- break; -+ va_start (ap, fmt); -+ grub_vsprintf (0, fmt, ap); -+ va_end (ap); -+} - -- case 's': -- ptr = (char *) (*(dataptr++)); -+#ifndef STAGE1_5 -+int -+grub_sprintf (char *str, const char *fmt, ...) -+{ -+ va_list ap; -+ int ret; - -- while ((c = *ptr++) != 0) -- *bp++ = c; /* putchar(c); */ -- break; -- } -- } -+ va_start (ap, fmt); -+ ret = grub_vsprintf (str, fmt, ap); -+ va_end (ap); - -- *bp = 0; -- return bp - buffer; -+ return ret; - } - - -@@ -898,7 +1107,6 @@ safe_parse_maxint (char **str_ptr, int *myint_ptr) - } - #endif /* STAGE1_5 */ - --#if !defined(STAGE1_5) || defined(FSYS_FAT) - int - grub_tolower (int c) - { -@@ -907,7 +1115,6 @@ grub_tolower (int c) - - return c; - } --#endif /* ! STAGE1_5 || FSYS_FAT */ - - int - grub_isspace (int c) -@@ -1004,6 +1211,16 @@ checkkey (void) - { - return current_term->checkkey (); - } -+ -+/* Return keyboard modifier status. */ -+int -+keystatus (void) -+{ -+ if (current_term->keystatus) -+ return current_term->keystatus (); -+ else -+ return 0; -+} - #endif /* ! STAGE1_5 */ - - /* Display an ASCII character. */ -@@ -1046,13 +1263,15 @@ grub_putchar (int c) - the following grub_printf call will print newlines. */ - count_lines = -1; - -+ grub_printf("\n"); - if (current_term->setcolorstate) - current_term->setcolorstate (COLOR_STATE_HIGHLIGHT); - -- grub_printf ("\n[Hit return to continue]"); -+ grub_printf ("[Hit return to continue]"); - - if (current_term->setcolorstate) - current_term->setcolorstate (COLOR_STATE_NORMAL); -+ - - do - { -@@ -1090,7 +1309,7 @@ void - cls (void) - { - /* If the terminal is dumb, there is no way to clean the terminal. */ -- if (current_term->flags & TERM_DUMB) -+ if (current_term->flags & TERM_DUMB) - grub_putchar ('\n'); - else - current_term->cls (); -@@ -1125,6 +1344,26 @@ substring (const char *s1, const char *s2) - return 1; - } - -+int -+subcasestring (const char *s1, const char *s2) -+{ -+ while (tolower(*s1) == tolower(*s2)) -+ { -+ /* The strings match exactly. */ -+ if (! *(s1++)) -+ return 0; -+ s2 ++; -+ } -+ -+ /* S1 is a substring of S2. */ -+ if (*s1 == 0) -+ return -1; -+ -+ /* S1 isn't a substring. */ -+ return 1; -+} -+ -+ - #ifndef STAGE1_5 - /* Terminate the string STR with NUL. */ - int -@@ -1172,41 +1411,180 @@ grub_strlen (const char *str) - - return len; - } --#endif /* ! STAGE1_5 */ - -+/* this function "borrowed" from dietlibc */ - int --memcheck (int addr, int len) -+grub_strspn(const char *s, const char *accept) - { --#ifdef GRUB_UTIL -- auto int start_addr (void); -- auto int end_addr (void); -- -- auto int start_addr (void) -+ int l=0; -+ int a=1,i,al=grub_strlen(accept); -+ -+ while((a)&&(*s)) -+ { -+ for(a=i=0;(!a)&&(i terminate it */ -+ } -+ *ptrptr=s; -+ return tmp; -+} -+ -+char * -+grub_strchr (const char *s, int c) -+{ -+ while (*s) - { -- int ret; -+ if (*s == c) -+ return (char *) s; -+ s++; -+ } -+ -+ return 0; -+} -+ -+char * -+grub_strnchr (const char *s, int c) -+{ -+ while (*s) -+ { -+ if (*s != c) -+ return (char *) s; -+ s++; -+ } -+ -+ return 0; -+} -+ -+char * -+grub_strrchr (const char *s, int c) -+{ -+ char *p = 0; -+ -+ while (*s) -+ { -+ if (*s == c) -+ p = (char *) s; -+ s++; -+ } -+ -+ return p; -+} -+ -+int -+grub_strnlen (const char *s, int n) -+{ -+ int i; -+ -+ if (n == 0) -+ return 0; -+ -+ for (i = 0; s[i] != '\0' && i < n; i++) -+ ; -+ return i; -+} -+ -+char * -+grub_strncpy(char *new, const char *s, int n) -+{ -+ int i; -+ -+ for (i = 0; s[i] != '\0' && i < n; i++) -+ new[i] = s[i]; -+ return new; -+} -+ -+int -+grub_strncasecmp(const char *s0, const char *s1, int n) -+{ -+ int c0, c1; -+ -+ if (s0 == s1 || n == 0) -+ return 0; -+ -+ do { -+ c0 = *s0 & ~0x20; -+ c1 = *s1 & ~0x20; -+ -+ if (--n == 0 || c0 == '\0') -+ break; -+ -+ *s0++; -+ *s1++; -+ } while (c0 == c1); -+ -+ return (c0 > c1 ? 1 : c0 < c1 ? -1 : 0); -+} -+ -+#endif /* ! STAGE1_5 */ -+ -+#ifdef GRUB_UTIL -+static int memcheck_start_addr (void) -+{ -+ int ret; - # if defined(HAVE_START_SYMBOL) -- asm volatile ("movl $start, %0" : "=a" (ret)); -+ asm volatile ("movl $start, %0" : "=a" (ret)); - # elif defined(HAVE_USCORE_START_SYMBOL) -- asm volatile ("movl $_start, %0" : "=a" (ret)); -+ asm volatile ("movl $_start, %0" : "=a" (ret)); - # endif -- return ret; -- } -+ return ret; -+} - -- auto int end_addr (void) -- { -- int ret; -+static int memcheck_end_addr (void) -+{ -+ int ret; - # if defined(HAVE_END_SYMBOL) -- asm volatile ("movl $end, %0" : "=a" (ret)); -+ asm volatile ("movl $end, %0" : "=a" (ret)); - # elif defined(HAVE_USCORE_END_SYMBOL) -- asm volatile ("movl $_end, %0" : "=a" (ret)); -+ asm volatile ("movl $_end, %0" : "=a" (ret)); - # endif -- return ret; -- } -+ return ret; -+} -+#endif /* GRUB_UTIL */ - -- if (start_addr () <= addr && end_addr () > addr + len) -+int -+memcheck (int addr, int len) -+{ -+#ifdef GRUB_UTIL -+ if (memcheck_start_addr () <= addr && memcheck_end_addr () > addr + len) - return ! errnum; - #endif /* GRUB_UTIL */ - -+#ifdef PLATFORM_EFI -+ return 1; -+#else - if ((addr < RAW_ADDR (0x1000)) - || (addr < RAW_ADDR (0x100000) - && RAW_ADDR (mbi.mem_lower * 1024) < (addr + len)) -@@ -1215,12 +1593,23 @@ memcheck (int addr, int len) - errnum = ERR_WONT_FIT; - - return ! errnum; -+#endif -+} -+ -+void -+grub_memcpy(void *dest, const void *src, int len) -+{ -+ int i; -+ register char *d = (char*)dest, *s = (char*)src; -+ -+ for (i = 0; i < len; i++) -+ d[i] = s[i]; - } - - void * - grub_memmove (void *to, const void *from, int len) - { -- if (memcheck ((int) to, len)) -+ if (memcheck ((unsigned long) to, len)) - { - /* This assembly code is stolen from - linux-2.2.2/include/asm-i386/string.h. This is not very fast -@@ -1258,7 +1647,7 @@ grub_memset (void *start, int c, int len) - { - char *p = start; - -- if (memcheck ((int) start, len)) -+ if (memcheck ((unsigned long) start, len)) - { - while (len -- > 0) - *p ++ = c; -@@ -1274,6 +1663,26 @@ grub_strcpy (char *dest, const char *src) - grub_memmove (dest, src, grub_strlen (src) + 1); - return dest; - } -+ -+char * -+grub_stpncpy (char *dest, const char *src, int n) -+{ -+ char *res; -+ -+ res = NULL; -+ while (n != 0) { -+ *dest = *src; -+ if (*src != 0) -+ src++; -+ else if (res == NULL) -+ res = dest; -+ dest++; -+ n--; -+ } -+ if (res == NULL) -+ res = dest; -+ return res; -+} - #endif /* ! STAGE1_5 */ - - #ifndef GRUB_UTIL -diff --git a/stage2/cmdline.c b/stage2/cmdline.c -index a6ee309..cb41eda 100644 ---- a/stage2/cmdline.c -+++ b/stage2/cmdline.c -@@ -48,12 +48,17 @@ skip_to (int after_equal, char *cmdline) - - /* Print a helpful message for the command-line interface. */ - void --print_cmdline_message (int forever) -+print_cmdline_message (int type) - { - printf (" [ Minimal BASH-like line editing is supported. For the first word, TAB\n" - " lists possible command completions. Anywhere else TAB lists the possible\n" -- " completions of a device/filename.%s ]\n", -- (forever ? "" : " ESC at any time exits.")); -+ " completions of a device/filename."); -+ if (type == CMDLINE_NORMAL_MODE) -+ printf(" ESC at any time exits."); -+ if (type == CMDLINE_EDIT_MODE) -+ printf(" ESC at any time cancels. ENTER \n" -+ " at any time accepts your changes."); -+ printf("]\n"); - } - - /* Find the builtin whose command name is COMMAND and return the -@@ -128,7 +133,7 @@ enter_cmdline (char *heap, int forever) - print_network_configuration (); - grub_putchar ('\n'); - #endif -- print_cmdline_message (forever); -+ print_cmdline_message (forever ? CMDLINE_FOREVER_MODE : CMDLINE_NORMAL_MODE); - - while (1) - { -@@ -215,7 +220,7 @@ run_script (char *script, char *heap) - while (*cur_entry++) - ; - -- grub_memmove (heap, old_entry, (int) cur_entry - (int) old_entry); -+ grub_memmove (heap, old_entry, cur_entry - old_entry); - if (! *heap) - { - /* If there is no more command in SCRIPT... */ -@@ -232,12 +237,12 @@ run_script (char *script, char *heap) - builtin = find_command (heap); - if (! builtin) - { -- grub_printf ("%s\n", old_entry); -+ grub_verbose_printf ("%s\n", old_entry); - continue; - } - - if (! (builtin->flags & BUILTIN_NO_ECHO)) -- grub_printf ("%s\n", old_entry); -+ grub_verbose_printf ("%s\n", old_entry); - - /* If BUILTIN cannot be run in the command-line, skip it. */ - if (! (builtin->flags & BUILTIN_CMDLINE)) -diff --git a/stage2/common.c b/stage2/common.c -index 09f9e31..e96bec2 100644 ---- a/stage2/common.c -+++ b/stage2/common.c -@@ -32,7 +32,7 @@ - struct multiboot_info mbi; - unsigned long saved_drive; - unsigned long saved_partition; --unsigned long cdrom_drive; -+unsigned long cdrom_drive = 0x100; - #ifndef STAGE1_5 - unsigned long saved_mem_upper; - -@@ -114,7 +114,7 @@ mmap_avail_at (unsigned long bottom) - { - for (cont = 0, addr = mbi.mmap_addr; - addr < mbi.mmap_addr + mbi.mmap_length; -- addr += *((unsigned long *) addr) + 4) -+ addr += *((unsigned int *) addr) + 4) - { - struct AddrRangeDesc *desc = (struct AddrRangeDesc *) addr; - -@@ -183,11 +183,11 @@ init_bios_info (void) - cont = get_mmap_entry ((void *) addr, cont); - - /* If the returned buffer's length is zero, quit. */ -- if (! *((unsigned long *) addr)) -+ if (! *((unsigned int *) addr)) - break; - -- mbi.mmap_length += *((unsigned long *) addr) + 4; -- addr += *((unsigned long *) addr) + 4; -+ mbi.mmap_length += *((unsigned int *) addr) + 4; -+ addr += *((unsigned int *) addr) + 4; - } - while (cont); - -@@ -207,7 +207,7 @@ init_bios_info (void) - /* Find the maximum available address. Ignore any memory holes. */ - for (max_addr = 0, addr = mbi.mmap_addr; - addr < mbi.mmap_addr + mbi.mmap_length; -- addr += *((unsigned long *) addr) + 4) -+ addr += *((unsigned int *) addr) + 4) - { - struct AddrRangeDesc *desc = (struct AddrRangeDesc *) addr; - -@@ -322,6 +322,9 @@ init_bios_info (void) - - /* Set cdrom drive. */ - { -+#ifdef PLATFORM_EFI -+ cdrom_drive = 0x100; -+#else - struct geometry geom; - - /* Get the geometry. */ -@@ -330,6 +333,7 @@ init_bios_info (void) - cdrom_drive = GRUB_INVALID_DRIVE; - else - cdrom_drive = boot_drive; -+#endif - } - - /* Start main routine here. */ -diff --git a/stage2/disk_io.c b/stage2/disk_io.c -index b9bc526..ee7300d 100644 ---- a/stage2/disk_io.c -+++ b/stage2/disk_io.c -@@ -21,12 +21,17 @@ - - #include - #include -+#include - - #ifdef SUPPORT_NETBOOT - # define GRUB 1 - # include - #endif - -+#ifdef PLATFORM_EFI -+#include "efistubs.h" -+#endif -+ - #ifdef GRUB_UTIL - # include - #endif -@@ -48,6 +53,9 @@ int fsmax; - struct fsys_entry fsys_table[NUM_FSYS + 1] = - { - /* TFTP should come first because others don't handle net device. */ -+# ifdef PLATFORM_EFI -+ {"efitftp", efi_tftp_mount, efi_tftp_read, efi_tftp_dir, efi_tftp_close, 0}, -+# endif - # ifdef FSYS_TFTP - {"tftp", tftp_mount, tftp_read, tftp_dir, tftp_close, 0}, - # endif -@@ -127,8 +135,8 @@ struct geometry buf_geom; - int filepos; - int filemax; - --static inline unsigned long --log2 (unsigned long word) -+static inline unsigned int -+grub_log2 (unsigned int word) - { - asm volatile ("bsfl %1,%0" - : "=r" (word) -@@ -140,7 +148,7 @@ int - rawread (int drive, int sector, int byte_offset, int byte_len, char *buf) - { - int slen, sectors_per_vtrack; -- int sector_size_bits = log2 (buf_geom.sector_size); -+ int sector_size_bits = grub_log2 (buf_geom.sector_size); - - if (byte_len <= 0) - return 1; -@@ -163,7 +171,7 @@ rawread (int drive, int sector, int byte_offset, int byte_len, char *buf) - } - buf_drive = drive; - buf_track = -1; -- sector_size_bits = log2 (buf_geom.sector_size); -+ sector_size_bits = grub_log2 (buf_geom.sector_size); - } - - /* Make sure that SECTOR is valid. */ -@@ -297,7 +305,7 @@ devread (int sector, int byte_offset, int byte_len, char *buf) - * Check partition boundaries - */ - if (sector < 0 -- || ((sector + ((byte_offset + byte_len - 1) >> SECTOR_BITS)) -+ || ((sector + ((byte_offset + byte_len - 1) >> get_sector_bits(current_drive))) - >= part_length)) - { - errnum = ERR_OUTSIDE_PART; -@@ -307,8 +315,8 @@ devread (int sector, int byte_offset, int byte_len, char *buf) - /* - * Get the read to the beginning of a partition. - */ -- sector += byte_offset >> SECTOR_BITS; -- byte_offset &= SECTOR_SIZE - 1; -+ sector += byte_offset >> get_sector_bits(current_drive); -+ byte_offset &= get_sector_size(current_drive) - 1; - - #if !defined(STAGE1_5) - if (disk_read_hook && debug) -@@ -347,7 +355,7 @@ rawwrite (int drive, int sector, char *buf) - sector = 1; - } - -- memmove ((char *) SCRATCHADDR, buf, SECTOR_SIZE); -+ memmove ((char *) SCRATCHADDR, buf, get_sector_size(drive)); - if (biosdisk (BIOSDISK_WRITE, drive, &buf_geom, - sector, 1, SCRATCHSEG)) - { -@@ -373,23 +381,23 @@ devwrite (int sector, int sector_count, char *buf) - embed a Stage 1.5 into a partition instead of a MBR, use system - calls directly instead of biosdisk, because of the bug in - Linux. *sigh* */ -- return write_to_partition (device_map, current_drive, current_partition, -- sector, sector_count, buf); -+ int ret; -+ ret = write_to_partition (device_map, current_drive, current_partition, -+ sector, sector_count, buf); -+ if (ret != -1) -+ return ret; - } -- else - #endif /* GRUB_UTIL && __linux__ */ -- { -- int i; -- -- for (i = 0; i < sector_count; i++) -- { -- if (! rawwrite (current_drive, part_start + sector + i, -- buf + (i << SECTOR_BITS))) -- return 0; -+ int i; - -- } -- return 1; -- } -+ for (i = 0; i < sector_count; i++) -+ { -+ if (! rawwrite (current_drive, part_start + sector + i, -+ buf + (i << get_sector_bits(current_drive)))) -+ return 0; -+ -+ } -+ return 1; - } - - static int -@@ -400,7 +408,7 @@ sane_partition (void) - return 1; - - if (!(current_partition & 0xFF000000uL) -- && ((current_drive & 0xFFFFFF7F) < 8 -+ && ((current_drive & 0xFFFFFF7F) < MAX_HD_NUM - || current_drive == cdrom_drive) - && (current_partition & 0xFF) == 0xFF - && ((current_partition & 0xFF00) == 0xFF00 -@@ -458,7 +466,7 @@ make_saved_active (void) - } - - /* Read the MBR in the scratch space. */ -- if (! rawread (saved_drive, 0, 0, SECTOR_SIZE, mbr)) -+ if (! rawread (saved_drive, 0, 0, get_sector_size(saved_drive), mbr)) - return 0; - - /* If the partition is an extended partition, setting the active -@@ -502,8 +510,8 @@ int - set_partition_hidden_flag (int hidden) - { - unsigned long part = 0xFFFFFF; -- unsigned long start, len, offset, ext_offset; -- int entry, type; -+ unsigned long start, len, offset, ext_offset, gpt_offset; -+ int entry, type, gpt_count, gpt_size; - char mbr[512]; - - /* The drive must be a hard disk. */ -@@ -524,8 +532,15 @@ set_partition_hidden_flag (int hidden) - /* Look for the partition. */ - while (next_partition (current_drive, 0xFFFFFF, &part, &type, - &start, &len, &offset, &entry, -- &ext_offset, mbr)) -- { -+ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) -+ { -+ /* The partition may not be a GPT partition. */ -+ if (gpt_offset != 0) -+ { -+ errnum = ERR_BAD_ARGUMENT; -+ return 1; -+ } -+ - if (part == current_partition) - { - /* Found. */ -@@ -577,11 +592,14 @@ next_partition (unsigned long drive, unsigned long dest, - unsigned long *partition, int *type, - unsigned long *start, unsigned long *len, - unsigned long *offset, int *entry, -- unsigned long *ext_offset, char *buf) -+ unsigned long *ext_offset, -+ unsigned long *gpt_offset, int *gpt_count, -+ int *gpt_size, char *buf) - { - /* Forward declarations. */ - auto int next_bsd_partition (void); - auto int next_pc_slice (void); -+ auto int next_gpt_slice(void); - - /* Get next BSD partition in current PC slice. */ - int next_bsd_partition (void) -@@ -601,7 +619,7 @@ next_partition (unsigned long drive, unsigned long dest, - - /* Read the BSD label. */ - if (! rawread (drive, *start + BSD_LABEL_SECTOR, -- 0, SECTOR_SIZE, buf)) -+ 0, get_sector_size(drive), buf)) - return 0; - - /* Check if it is valid. */ -@@ -656,7 +674,7 @@ next_partition (unsigned long drive, unsigned long dest, - } - - /* Read the MBR or the boot sector of the extended partition. */ -- if (! rawread (drive, *offset, 0, SECTOR_SIZE, buf)) -+ if (! rawread (drive, *offset, 0, get_sector_size(drive), buf)) - return 0; - - /* Check if it is valid. */ -@@ -666,6 +684,40 @@ next_partition (unsigned long drive, unsigned long dest, - return 0; - } - -+ /* If this is a GPT partition table, read it as such. */ -+ if (*entry == -1 && *offset == 0 && PC_SLICE_TYPE (buf, 0) == PC_SLICE_TYPE_GPT) -+ { -+ struct grub_gpt_header *hdr = (struct grub_gpt_header *) buf; -+ -+ /* Read in the GPT Partition table header. */ -+ if (! rawread (drive, 1, 0, get_sector_size(drive), buf)) -+ return 0; -+ -+ if (hdr->magic == GPT_HEADER_MAGIC && hdr->version == 0x10000) -+ { -+ /* Let gpt_offset point to the first entry in the GPT -+ partition table. This can also be used by callers of -+ next_partition to determine if a entry comes from a -+ GPT partition table or not. */ -+ *gpt_offset = hdr->partitions; -+ *gpt_count = hdr->maxpart; -+ *gpt_size = hdr->partentry_size; -+ -+ return next_gpt_slice(); -+ } -+ else -+ { -+ /* This is not a valid header for a GPT partition table. -+ Re-read the MBR or the boot sector of the extended -+ partition. */ -+ if (! rawread (drive, *offset, 0, get_sector_size(drive), buf)) -+ return 0; -+ } -+ } -+ -+ /* Not a GPT partition. */ -+ *gpt_offset = 0; -+ - /* Increase the entry number. */ - (*entry)++; - -@@ -710,6 +762,43 @@ next_partition (unsigned long drive, unsigned long dest, - return 1; - } - -+ /* Get the next GPT slice. */ -+ int next_gpt_slice (void) -+ { -+ struct grub_gpt_partentry *gptentry = (struct grub_gpt_partentry *) buf; -+ /* Make GPT partitions show up as PC slices. */ -+ int pc_slice_no = (*partition & 0xFF0000) >> 16; -+ -+ /* If this is the first time... */ -+ if (pc_slice_no == 0xFF) -+ { -+ pc_slice_no = -1; -+ *entry = -1; -+ } -+ -+ do { -+ (*entry)++; -+ -+ if (*entry >= *gpt_count) -+ { -+ errnum = ERR_NO_PART; -+ return 0; -+ } -+ /* Read in the GPT Partition table entry. */ -+ if (! rawread (drive, (*gpt_offset) + GPT_ENTRY_SECTOR (drive, *gpt_size, *entry), GPT_ENTRY_INDEX (drive, *gpt_size, *entry), *gpt_size, buf)) -+ return 0; -+ } while (! (gptentry->type1 && gptentry->type2)); -+ -+ pc_slice_no++; -+ *start = gptentry->start; -+ *len = gptentry->end - gptentry->start + 1; -+ *type = PC_SLICE_TYPE_EXT2FS; -+ *entry = pc_slice_no; -+ *partition = (*entry << 16) | 0xFFFF; -+ -+ return 1; -+ } -+ - /* Start the body of this function. */ - - #ifndef STAGE1_5 -@@ -717,6 +806,9 @@ next_partition (unsigned long drive, unsigned long dest, - return 0; - #endif - -+ if (*partition != 0xFFFFFF && *gpt_offset != 0) -+ return next_gpt_slice (); -+ - /* If previous partition is a BSD partition or a PC slice which - contains BSD partitions... */ - if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type & 0xff)) -@@ -755,8 +847,11 @@ real_open_partition (int flags) - unsigned long dest_partition = current_partition; - unsigned long part_offset; - unsigned long ext_offset; -+ unsigned long gpt_offset; -+ int gpt_count; -+ int gpt_size; - int entry; -- char buf[SECTOR_SIZE]; -+ char buf[4096]; - int bsd_part, pc_slice; - - /* For simplicity. */ -@@ -766,7 +861,8 @@ real_open_partition (int flags) - int ret = next_partition (current_drive, dest_partition, - ¤t_partition, ¤t_slice, - &part_start, &part_length, -- &part_offset, &entry, &ext_offset, buf); -+ &part_offset, &entry, &ext_offset, -+ &gpt_offset, &gpt_count, &gpt_size, buf); - bsd_part = (current_partition >> 8) & 0xFF; - pc_slice = current_partition >> 16; - return ret; -@@ -926,6 +1022,17 @@ open_partition (void) - return real_open_partition (0); - } - -+#if !defined(PLATFORM_EFI) && !defined(GRUB_UTIL) -+int get_sector_size (int drive) -+{ -+ return SECTOR_SIZE; -+} -+int get_sector_bits (int drive) -+{ -+ return SECTOR_BITS; -+} -+#endif /* !defined(PLATFORM_EFI) && !defined(GRUB_UTIL) */ -+ - - #ifndef STAGE1_5 - /* XX used for device completion in 'set_device' and 'print_completions' */ -@@ -978,7 +1085,7 @@ set_device (char *device) - if (*device != ',' && *device != ')') - { - char ch = *device; --#ifdef SUPPORT_NETBOOT -+#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) - if (*device == 'f' || *device == 'h' - || (*device == 'n' && network_ready) - || (*device == 'c' && cdrom_drive != GRUB_INVALID_DRIVE)) -@@ -1002,14 +1109,14 @@ set_device (char *device) - - if ((*device == 'f' - || *device == 'h' --#ifdef SUPPORT_NETBOOT -+#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) - || (*device == 'n' && network_ready) - #endif - || (*device == 'c' && cdrom_drive != GRUB_INVALID_DRIVE)) - && (device += 2, (*(device - 1) != 'd'))) - errnum = ERR_NUMBER_PARSING; -- --#ifdef SUPPORT_NETBOOT -+ -+#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) - if (ch == 'n' && network_ready) - current_drive = NETWORK_DRIVE; - else -@@ -1131,7 +1238,7 @@ set_bootdev (int hdbias) - if ((saved_drive & 0x80) && cur_part_addr) - { - if (rawread (saved_drive, cur_part_offset, -- 0, SECTOR_SIZE, (char *) SCRATCHADDR)) -+ 0, get_sector_size(saved_drive), (char *) SCRATCHADDR)) - { - char *dst, *src; - -@@ -1243,6 +1350,12 @@ setup_part (char *filename) - - - #ifndef STAGE1_5 -+char * -+get_fsys_type (void) -+{ -+ return fsys_table[fsys_type].name; -+} -+ - /* - * This prints the filesystem type or gives relevant information. - */ -@@ -1376,7 +1489,7 @@ print_completions (int is_filename, int is_completion) - - if (!ptr - || *(ptr-1) != 'd' --#ifdef SUPPORT_NETBOOT -+#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) - || *(ptr-2) != 'n' - #endif /* SUPPORT_NETBOOT */ - || *(ptr-2) != 'c') -@@ -1385,7 +1498,7 @@ print_completions (int is_filename, int is_completion) - i < (ptr && (*(ptr-1) == 'd' && *(ptr-2) == 'f') ? 1:2); - i++) - { -- for (j = 0; j < 8; j++) -+ for (j = 0; j < MAX_HD_NUM; j++) - { - disk_no = (i * 0x80) + j; - if ((disk_choice || disk_no == current_drive) -@@ -1407,7 +1520,7 @@ print_completions (int is_filename, int is_completion) - || (*(ptr-1) == 'd' && *(ptr-2) == 'c'))) - print_a_completion ("cd"); - --# ifdef SUPPORT_NETBOOT -+# if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) - if (network_ready - && (disk_choice || NETWORK_DRIVE == current_drive) - && (!ptr -@@ -1596,7 +1709,7 @@ grub_open (char *filename) - - BLK_BLKLENGTH (list_addr) = tmp; - -- filemax += (tmp * SECTOR_SIZE); -+ filemax += (tmp * get_sector_size(current_drive)); - list_addr += BLK_BLKLIST_INC_VAL; - - if (*ptr != ',') -@@ -1673,6 +1786,7 @@ grub_read (char *buf, int len) - if (block_file) - { - int size, off, ret = 0; -+ int sector_size = get_sector_size(current_drive); - - while (len && !errnum) - { -@@ -1687,10 +1801,10 @@ grub_read (char *buf, int len) - /* run BLK_CUR_FILEPOS up to filepos */ - while (filepos > BLK_CUR_FILEPOS) - { -- if ((filepos - (BLK_CUR_FILEPOS & ~(SECTOR_SIZE - 1))) -- >= SECTOR_SIZE) -+ if ((filepos - (BLK_CUR_FILEPOS & ~(sector_size - 1))) -+ >= sector_size) - { -- BLK_CUR_FILEPOS += SECTOR_SIZE; -+ BLK_CUR_FILEPOS += sector_size; - BLK_CUR_BLKNUM++; - - if (BLK_CUR_BLKNUM >= BLK_BLKLENGTH (BLK_CUR_BLKLIST)) -@@ -1703,9 +1817,9 @@ grub_read (char *buf, int len) - BLK_CUR_FILEPOS = filepos; - } - -- off = filepos & (SECTOR_SIZE - 1); -+ off = filepos & (sector_size - 1); - size = ((BLK_BLKLENGTH (BLK_CUR_BLKLIST) - BLK_CUR_BLKNUM) -- * SECTOR_SIZE) - off; -+ * sector_size) - off; - if (size > len) - size = len; - -diff --git a/stage2/efistubs.c b/stage2/efistubs.c -new file mode 100644 -index 0000000..29b086a ---- /dev/null -+++ b/stage2/efistubs.c -@@ -0,0 +1,7 @@ -+ -+#include "shared.h" -+#include "efistubs.h" -+ -+#if defined(PLATFORM_EFI) -+int network_ready = 0; -+#endif /* defined(PLATFORM_EFI) */ -diff --git a/stage2/efistubs.h b/stage2/efistubs.h -new file mode 100644 -index 0000000..97e407d ---- /dev/null -+++ b/stage2/efistubs.h -@@ -0,0 +1,8 @@ -+#ifndef EFISTUBS_H -+#define EFISTUBS_H 1 -+ -+#if defined(PLATFORM_EFI) -+extern int network_ready; -+#endif /* defined(PLATFORM_EFI) */ -+ -+#endif /* EFISTUBS_H */ -diff --git a/stage2/fat.h b/stage2/fat.h -index 7fed6ba..f154eed 100644 ---- a/stage2/fat.h -+++ b/stage2/fat.h -@@ -92,7 +92,7 @@ struct fat_bpb { - #define FAT_DIRENTRY_FIRST_CLUSTER(entry) \ - ((*((unsigned short *) (entry+26)))+(*((unsigned short *) (entry+20)) << 16)) - #define FAT_DIRENTRY_FILELENGTH(entry) \ -- (*((unsigned long *) (entry+28))) -+ (*((unsigned int *) (entry+28))) - - #define FAT_LONGDIR_ID(entry) \ - (*((unsigned char *) (entry))) -diff --git a/stage2/filesys.h b/stage2/filesys.h -index bbad8b9..4295e45 100644 ---- a/stage2/filesys.h -+++ b/stage2/filesys.h -@@ -115,6 +115,17 @@ void tftp_close (void); - #define FSYS_TFTP_NUM 0 - #endif - -+#ifdef PLATFORM_EFI -+#define FSYS_EFI_TFTP_NUM 1 -+int efi_tftp_mount (void); -+int efi_tftp_read (char *buf, int len); -+int efi_tftp_dir (char *dirname); -+void efi_tftp_close (void); -+#else -+#define FSYS_EFI_TFTP_NUM 0 -+#endif -+ -+ - #ifdef FSYS_ISO9660 - #define FSYS_ISO9660_NUM 1 - int iso9660_mount (void); -@@ -128,7 +139,7 @@ int iso9660_dir (char *dirname); - #define NUM_FSYS \ - (FSYS_FFS_NUM + FSYS_FAT_NUM + FSYS_EXT2FS_NUM + FSYS_MINIX_NUM \ - + FSYS_REISERFS_NUM + FSYS_VSTAFS_NUM + FSYS_JFS_NUM + FSYS_XFS_NUM \ -- + FSYS_TFTP_NUM + FSYS_ISO9660_NUM + FSYS_UFS2_NUM) -+ + FSYS_TFTP_NUM + FSYS_EFI_TFTP_NUM + FSYS_ISO9660_NUM + FSYS_UFS2_NUM) - #endif - - /* defines for the block filesystem info area */ -@@ -137,8 +148,8 @@ int iso9660_dir (char *dirname); - #define BLK_CUR_BLKLIST (*((int*)(FSYS_BUF+4))) - #define BLK_CUR_BLKNUM (*((int*)(FSYS_BUF+8))) - #define BLK_MAX_ADDR (FSYS_BUF+0x7FF9) --#define BLK_BLKSTART(l) (*((int*)l)) --#define BLK_BLKLENGTH(l) (*((int*)(l+4))) -+#define BLK_BLKSTART(l) (*((int*)(unsigned long)l)) -+#define BLK_BLKLENGTH(l) (*((int*)(unsigned long)(l+4))) - #define BLK_BLKLIST_START (FSYS_BUF+12) - #define BLK_BLKLIST_INC_VAL 8 - #endif /* NO_BLOCK_FILES */ -diff --git a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c -index 560048f..01386d1 100644 ---- a/stage2/fsys_ext2fs.c -+++ b/stage2/fsys_ext2fs.c -@@ -25,7 +25,7 @@ - static int mapblock1, mapblock2; - - /* sizes are always in bytes, BLOCK values are always in DEV_BSIZE (sectors) */ --#define DEV_BSIZE 512 -+#define DEV_BSIZE get_sector_size(current_drive) - - /* include/linux/fs.h */ - #define BLOCK_SIZE 1024 /* initial block size for superblock read */ -@@ -33,6 +33,7 @@ static int mapblock1, mapblock2; - #define WHICH_SUPER 1 - /* kind of from fs/ext2/super.c */ - #define SBLOCK (WHICH_SUPER * BLOCK_SIZE / DEV_BSIZE) /* = 2 */ -+#define SBOFF ((WHICH_SUPER * BLOCK_SIZE) % DEV_BSIZE) - - /* include/asm-i386/types.h */ - typedef __signed__ char __s8; -@@ -41,6 +42,7 @@ typedef __signed__ short __s16; - typedef unsigned short __u16; - typedef __signed__ int __s32; - typedef unsigned int __u32; -+typedef unsigned long long __u64; - - /* - * Constants relative to the data blocks, from ext2_fs.h -@@ -51,7 +53,7 @@ typedef unsigned int __u32; - #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) - #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) - --/* include/linux/ext2_fs.h */ -+/* lib/ext2fs/ext2_fs.h from e2fsprogs */ - struct ext2_super_block - { - __u32 s_inodes_count; /* Inodes count */ -@@ -61,9 +63,9 @@ struct ext2_super_block - __u32 s_free_inodes_count; /* Free inodes count */ - __u32 s_first_data_block; /* First Data Block */ - __u32 s_log_block_size; /* Block size */ -- __s32 s_log_frag_size; /* Fragment size */ -+ __s32 s_obso_log_frag_size; /* Obsoleted Fragment size */ - __u32 s_blocks_per_group; /* # Blocks per group */ -- __u32 s_frags_per_group; /* # Fragments per group */ -+ __u32 s_obso_frags_per_group; /* Obsoleted Fragments per group */ - __u32 s_inodes_per_group; /* # Inodes per group */ - __u32 s_mtime; /* Mount time */ - __u32 s_wtime; /* Write time */ -@@ -72,17 +74,76 @@ struct ext2_super_block - __u16 s_magic; /* Magic signature */ - __u16 s_state; /* File system state */ - __u16 s_errors; /* Behaviour when detecting errors */ -- __u16 s_pad; -+ __u16 s_minor_rev_level; /* minor revision level */ - __u32 s_lastcheck; /* time of last check */ - __u32 s_checkinterval; /* max. time between checks */ - __u32 s_creator_os; /* OS */ - __u32 s_rev_level; /* Revision level */ - __u16 s_def_resuid; /* Default uid for reserved blocks */ - __u16 s_def_resgid; /* Default gid for reserved blocks */ -- __u32 s_reserved[235]; /* Padding to the end of the block */ -- }; -- --struct ext2_group_desc -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ __u32 s_first_ino; /* First non-reserved inode */ -+ __u16 s_inode_size; /* size of inode structure */ -+ __u16 s_block_group_nr; /* block group # of this superblock */ -+ __u32 s_feature_compat; /* compatible feature set */ -+ __u32 s_feature_incompat; /* incompatible feature set */ -+ __u32 s_feature_ro_compat; /* readonly-compatible feature set */ -+ __u8 s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ __u32 s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -+ */ -+ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ -+ /* -+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ -+ __u32 s_journal_inum; /* inode number of journal file */ -+ __u32 s_journal_dev; /* device number of journal file */ -+ __u32 s_last_orphan; /* start of list of inodes to delete */ -+ __u32 s_hash_seed[4]; /* HTREE hash seed */ -+ __u8 s_def_hash_version; /* Default hash version to use */ -+ __u8 s_jnl_backup_type; /* Default type of journal backup */ -+ __u16 s_desc_size; /* size of group descriptor */ -+ __u32 s_default_mount_opts; -+ __u32 s_first_meta_bg; /* First metablock group */ -+ __u32 s_mkfs_time; /* When the filesystem was created */ -+ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ -+ /* 64bit desc support valid if EXT4_FEATURE_INCOMPAT_64BIT */ -+ __u32 s_blocks_count_hi; /* Blocks count */ -+ __u32 s_r_blocks_count_hi; /* Reserved blocks count */ -+ __u32 s_free_blocks_count_hi; /* Free blocks count */ -+ __u16 s_min_extra_isize; /* All inodes have at least # bytes */ -+ __u16 s_max_extra_isize; /* New inodes should reverve # bytes */ -+ __u32 s_flags; /* Miscellaneous flags */ -+ __u16 s_raid_stride; /* Raid stride */ -+ __u16 s_mmp_interval; /* # seconds to wait MMP checking */ -+ __u64 s_mmp_block; /* Block for multi-mount protection */ -+ __u32 s_raid_stripe_width; /* Blocks on all data disks (N*stride)*/ -+ __u8 s_log_groups_per_flex;/* FLEX_BG group size*/ -+ __u8 s_reserved_char_pad; -+ __u16 s_reserved_pad; -+ __u32 s_reserved[162]; /* Padding to the end of the block */ -+}; -+ -+struct ext4_group_desc - { - __u32 bg_block_bitmap; /* Blocks bitmap block */ - __u32 bg_inode_bitmap; /* Inodes bitmap block */ -@@ -90,8 +151,18 @@ struct ext2_group_desc - __u16 bg_free_blocks_count; /* Free blocks count */ - __u16 bg_free_inodes_count; /* Free inodes count */ - __u16 bg_used_dirs_count; /* Directories count */ -- __u16 bg_pad; -- __u32 bg_reserved[3]; -+ __u16 bg_flags; /* EXT4_BG_flags (INODE_UNINIT, etc) */ -+ __u32 bg_reserved[2]; /* Likely block/inode bitmap checksum */ -+ __u16 bg_itable_unused; /* Unused inodes count */ -+ __u16 bg_checksum; /* crc16(sb_uuid+group+desc) */ -+ __u32 bg_block_bitmap_hi; /* Blocks bitmap block MSB */ -+ __u32 bg_inode_bitmap_hi; /* Inodes bitmap block MSB */ -+ __u32 bg_inode_table_hi; /* Inodes table block MSB */ -+ __u16 bg_free_blocks_count_hi;/* Free blocks count MSB */ -+ __u16 bg_free_inodes_count_hi;/* Free inodes count MSB */ -+ __u16 bg_used_dirs_count_hi; /* Directories count MSB */ -+ __u16 bg_itable_unused_hi; /* Unused inodes count MSB */ -+ __u32 bg_reserved2[3]; - }; - - struct ext2_inode -@@ -129,22 +200,22 @@ struct ext2_inode - __u32 i_block[EXT2_N_BLOCKS]; /* 40: Pointers to blocks */ - __u32 i_version; /* File version (for NFS) */ - __u32 i_file_acl; /* File ACL */ -- __u32 i_dir_acl; /* Directory ACL */ -- __u32 i_faddr; /* Fragment address */ -+ __u32 i_size_high; -+ __u32 i_obso_faddr; /* Obsoleted fragment address */ - union - { - struct - { -- __u8 l_i_frag; /* Fragment number */ -- __u8 l_i_fsize; /* Fragment size */ -- __u16 i_pad1; -- __u32 l_i_reserved2[2]; -+ __u16 l_i_blocks_high; /* were l_i_reserved1 */ -+ __u16 l_i_file_acl_high; -+ __u16 l_i_uid_high; /* these 2 fields */ -+ __u16 l_i_gid_high; /* were reserved2[0] */ -+ __u32 l_i_reserved2; - } - linux2; - struct - { -- __u8 h_i_frag; /* Fragment number */ -- __u8 h_i_fsize; /* Fragment size */ -+ __u16 h_i_reserved1; /* Obsoleted fragment number/size which are removed in ext4 */ - __u16 h_i_mode_high; - __u16 h_i_uid_high; - __u16 h_i_gid_high; -@@ -153,16 +224,36 @@ struct ext2_inode - hurd2; - struct - { -- __u8 m_i_frag; /* Fragment number */ -- __u8 m_i_fsize; /* Fragment size */ -- __u16 m_pad1; -+ __u16 h_i_reserved1; /* Obsoleted fragment number/size which are removed in ext4 */ -+ __u16 m_i_file_acl_high; - __u32 m_i_reserved2[2]; - } - masix2; - } - osd2; /* OS dependent 2 */ -+ __u16 i_extra_isize; -+ __u16 i_pad1; -+ __u32 i_ctime_extra; /* extra Change time (nsec << 2 | epoch) */ -+ __u32 i_mtime_extra; /* extra Modification time(nsec << 2 | epoch) */ -+ __u32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */ -+ __u32 i_crtime; /* File Creation time */ -+ __u32 i_crtime_extra; /* extra FileCreationtime (nsec << 2 | epoch) */ -+ __u32 i_version_hi; /* high 32 bits for 64-bit version */ - }; - -+#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040 /* extents support */ -+#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 /* grub not supported*/ -+#define EXT4_FEATURE_INCOMPAT_MMP 0x0100 -+#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 -+ -+#define EXT4_HAS_INCOMPAT_FEATURE(sb,mask) \ -+ ( sb->s_feature_incompat & mask ) -+ -+#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ -+#define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ -+ -+#define EXT4_MIN_DESC_SIZE 32 -+ - /* linux/limits.h */ - #define NAME_MAX 255 /* # chars in a file name */ - -@@ -180,6 +271,57 @@ struct ext2_dir_entry - char name[EXT2_NAME_LEN]; /* File name */ - }; - -+/* linux/ext4_fs_extents.h */ -+/* This is the extent on-disk structure. -+ * It's used at the bottom of the tree. -+ */ -+struct ext4_extent -+ { -+ __u32 ee_block; /* first logical block extent covers */ -+ __u16 ee_len; /* number of blocks covered by extent */ -+ __u16 ee_start_hi; /* high 16 bits of physical block */ -+ __u32 ee_start_lo; /* low 32 bits of physical block */ -+ }; -+ -+/* -+ * This is index on-disk structure. -+ * It's used at all the levels except the bottom. -+ */ -+struct ext4_extent_idx -+ { -+ __u32 ei_block; /* index covers logical blocks from 'block' */ -+ __u32 ei_leaf_lo; /* pointer to the physical block of the next * -+ * level. leaf or next index could be there */ -+ __u16 ei_leaf_hi; /* high 16 bits of physical block */ -+ __u16 ei_unused; -+ }; -+ -+/* -+ * Each block (leaves and indexes), even inode-stored has header. -+ */ -+struct ext4_extent_header -+ { -+ __u16 eh_magic; /* probably will support different formats */ -+ __u16 eh_entries; /* number of valid entries */ -+ __u16 eh_max; /* capacity of store in entries */ -+ __u16 eh_depth; /* has tree real underlying blocks? */ -+ __u32 eh_generation; /* generation of the tree */ -+ }; -+ -+#define EXT4_EXT_MAGIC (0xf30a) -+#define EXT_FIRST_EXTENT(__hdr__) \ -+ ((struct ext4_extent *) (((char *) (__hdr__)) + \ -+ sizeof(struct ext4_extent_header))) -+#define EXT_FIRST_INDEX(__hdr__) \ -+ ((struct ext4_extent_idx *) (((char *) (__hdr__)) + \ -+ sizeof(struct ext4_extent_header))) -+#define EXT_LAST_EXTENT(__hdr__) \ -+ (EXT_FIRST_EXTENT((__hdr__)) + (__u16)((__hdr__)->eh_entries) - 1) -+#define EXT_LAST_INDEX(__hdr__) \ -+ (EXT_FIRST_INDEX((__hdr__)) + (__u16)((__hdr__)->eh_entries) - 1) -+ -+ -+ - /* linux/ext2fs.h */ - /* - * EXT2_DIR_PAD defines the directory entries boundaries -@@ -206,25 +348,37 @@ struct ext2_dir_entry - ((struct ext2_super_block *)(FSYS_BUF)) - #define GROUP_DESC \ - ((struct ext2_group_desc *) \ -- ((int)SUPERBLOCK + sizeof(struct ext2_super_block))) -+ ((unsigned long)SUPERBLOCK + sizeof(struct ext2_super_block))) - #define INODE \ -- ((struct ext2_inode *)((int)GROUP_DESC + EXT2_BLOCK_SIZE(SUPERBLOCK))) -+ ((struct ext2_inode *)((unsigned long)GROUP_DESC + EXT2_BLOCK_SIZE(SUPERBLOCK))) - #define DATABLOCK1 \ -- ((int)((int)INODE + sizeof(struct ext2_inode))) -+ ((unsigned long)INODE + sizeof(struct ext2_inode)) - #define DATABLOCK2 \ -- ((int)((int)DATABLOCK1 + EXT2_BLOCK_SIZE(SUPERBLOCK))) -+ ((unsigned long)DATABLOCK1 + EXT2_BLOCK_SIZE(SUPERBLOCK)) - - /* linux/ext2_fs.h */ - #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) - #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) - -+#define EXT2_INODE_SIZE(s) (SUPERBLOCK->s_inode_size) -+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) -+ - /* linux/ext2_fs.h */ - #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) - /* kind of from ext2/super.c */ - #define EXT2_BLOCK_SIZE(s) (1 << EXT2_BLOCK_SIZE_BITS(s)) - /* linux/ext2fs.h */ -+/* sizeof(struct ext2_group_desc) is changed in ext4 -+ * in kernel code, ext2/3 uses sizeof(struct ext2_group_desc) to calculate -+ * number of desc per block, while ext4 uses superblock->s_desc_size in stead -+ * superblock->s_desc_size is not available in ext2/3 -+ * */ -+#define EXT2_DESC_SIZE(s) \ -+ (EXT4_HAS_INCOMPAT_FEATURE(s,EXT4_FEATURE_INCOMPAT_64BIT)? \ -+ s->s_desc_size : EXT4_MIN_DESC_SIZE) - #define EXT2_DESC_PER_BLOCK(s) \ -- (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -+ (EXT2_BLOCK_SIZE(s) / EXT2_DESC_SIZE(s)) -+ - /* linux/stat.h */ - #define S_IFMT 00170000 - #define S_IFLNK 0120000 -@@ -239,8 +393,8 @@ struct ext2_dir_entry - * ffz = Find First Zero in word. Undefined if no zero exists, - * so code should check against ~0UL first.. - */ --static __inline__ unsigned long --ffz (unsigned long word) -+static __inline__ unsigned int -+ffz (unsigned int word) - { - __asm__ ("bsfl %1,%0" - : "=r" (word) -@@ -260,7 +414,7 @@ ext2fs_mount (void) - && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_EXT2FS)) - && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_OTHER))) - || part_length < (SBLOCK + (sizeof (struct ext2_super_block) / DEV_BSIZE)) -- || !devread (SBLOCK, 0, sizeof (struct ext2_super_block), -+ || !devread (SBLOCK, SBOFF, sizeof (struct ext2_super_block), - (char *) SUPERBLOCK) - || SUPERBLOCK->s_magic != EXT2_SUPER_MAGIC) - retval = 0; -@@ -276,7 +430,7 @@ ext2_rdfsb (int fsblock, int buffer) - printf ("fsblock %d buffer %d\n", fsblock, buffer); - #endif /* E2DEBUG */ - return devread (fsblock * (EXT2_BLOCK_SIZE (SUPERBLOCK) / DEV_BSIZE), 0, -- EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer); -+ EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) (unsigned long) buffer); - } - - /* from -@@ -386,6 +540,122 @@ ext2fs_block_map (int logical_block) - [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; - } - -+/* extent binary search index -+ * find closest index in the current level extent tree -+ * kind of from ext4_ext_binsearch_idx in ext4/extents.c -+ */ -+static struct ext4_extent_idx* -+ext4_ext_binsearch_idx(struct ext4_extent_header* eh, int logical_block) -+{ -+ struct ext4_extent_idx *r, *l, *m; -+ l = EXT_FIRST_INDEX(eh) + 1; -+ r = EXT_LAST_INDEX(eh); -+ while (l <= r) -+ { -+ m = l + (r - l) / 2; -+ if (logical_block < m->ei_block) -+ r = m - 1; -+ else -+ l = m + 1; -+ } -+ return (struct ext4_extent_idx*)(l - 1); -+} -+ -+/* extent binary search -+ * find closest extent in the leaf level -+ * kind of from ext4_ext_binsearch in ext4/extents.c -+ */ -+static struct ext4_extent* -+ext4_ext_binsearch(struct ext4_extent_header* eh, int logical_block) -+{ -+ struct ext4_extent *r, *l, *m; -+ l = EXT_FIRST_EXTENT(eh) + 1; -+ r = EXT_LAST_EXTENT(eh); -+ while (l <= r) -+ { -+ m = l + (r - l) / 2; -+ if (logical_block < m->ee_block) -+ r = m - 1; -+ else -+ l = m + 1; -+ } -+ return (struct ext4_extent*)(l - 1); -+} -+ -+/* Maps extents enabled logical block into physical block via an inode. -+ * EXT4_HUGE_FILE_FL should be checked before calling this. -+ */ -+static int -+ext4fs_block_map (int logical_block) -+{ -+ struct ext4_extent_header *eh; -+ struct ext4_extent *ex, *extent; -+ struct ext4_extent_idx *ei, *index; -+ int depth; -+ int i; -+ -+#ifdef E2DEBUG -+ unsigned char *i; -+ for (i = (unsigned char *) INODE; -+ i < ((unsigned char *) INODE + sizeof (struct ext2_inode)); -+ i++) -+ { -+ printf ("%c", "0123456789abcdef"[*i >> 4]); -+ printf ("%c", "0123456789abcdef"[*i % 16]); -+ if (!((i + 1 - (unsigned char *) INODE) % 16)) -+ { -+ printf ("\n"); -+ } -+ else -+ { -+ printf (" "); -+ } -+ } -+ printf ("logical block %d\n", logical_block); -+#endif /* E2DEBUG */ -+ eh = (struct ext4_extent_header*)INODE->i_block; -+ if (eh->eh_magic != EXT4_EXT_MAGIC) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ while((depth = eh->eh_depth) != 0) -+ { /* extent index */ -+ if (eh->eh_magic != EXT4_EXT_MAGIC) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ ei = ext4_ext_binsearch_idx(eh, logical_block); -+ if (ei->ei_leaf_hi) -+ {/* 64bit physical block number not supported */ -+ errnum = ERR_FILELENGTH; -+ return -1; -+ } -+ if (!ext2_rdfsb(ei->ei_leaf_lo, DATABLOCK1)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ eh = (struct ext4_extent_header*)DATABLOCK1; -+ } -+ -+ /* depth==0, we come to the leaf */ -+ ex = ext4_ext_binsearch(eh, logical_block); -+ if (ex->ee_start_hi) -+ {/* 64bit physical block number not supported */ -+ errnum = ERR_FILELENGTH; -+ return -1; -+ } -+ if ((ex->ee_block + ex->ee_len) < logical_block) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ return ex->ee_start_lo + logical_block - ex->ee_block; -+ -+} -+ - /* preconditions: all preconds of ext2fs_block_map */ - int - ext2fs_read (char *buf, int len) -@@ -420,6 +690,11 @@ ext2fs_read (char *buf, int len) - /* find the (logical) block component of our location */ - logical_block = filepos >> EXT2_BLOCK_SIZE_BITS (SUPERBLOCK); - offset = filepos & (EXT2_BLOCK_SIZE (SUPERBLOCK) - 1); -+ /* map extents enabled logical block number to physical fs on-disk block number */ -+ if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK,EXT4_FEATURE_INCOMPAT_EXTENTS) -+ && INODE->i_flags & EXT4_EXTENTS_FL) -+ map = ext4fs_block_map (logical_block); -+ else - map = ext2fs_block_map (logical_block); - #ifdef E2DEBUG - printf ("map=%d\n", map); -@@ -504,7 +779,7 @@ ext2fs_dir (char *dirname) - int desc; /* index within that group */ - int ino_blk; /* fs pointer of the inode's information */ - int str_chk = 0; /* used to hold the results of a string compare */ -- struct ext2_group_desc *gdp; -+ struct ext4_group_desc *ext4_gdp; - struct ext2_inode *raw_inode; /* inode info corresponding to current_ino */ - - char linkbuf[PATH_MAX]; /* buffer for following symbolic links */ -@@ -546,18 +821,25 @@ ext2fs_dir (char *dirname) - #endif /* E2DEBUG */ - if (!ext2_rdfsb ( - (WHICH_SUPER + group_desc + SUPERBLOCK->s_first_data_block), -- (int) GROUP_DESC)) -+ (unsigned long) GROUP_DESC)) - { - return 0; - } -- gdp = GROUP_DESC; -- ino_blk = gdp[desc].bg_inode_table + -+ ext4_gdp = (struct ext4_group_desc *)( (__u8*)GROUP_DESC + -+ desc * EXT2_DESC_SIZE(SUPERBLOCK)); -+ if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK, EXT4_FEATURE_INCOMPAT_64BIT) -+ && (! ext4_gdp->bg_inode_table_hi)) -+ {/* 64bit itable not supported */ -+ errnum = ERR_FILELENGTH; -+ return -1; -+ } -+ ino_blk = ext4_gdp->bg_inode_table + - (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) -- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); -+ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); - #ifdef E2DEBUG - printf ("inode table fsblock=%d\n", ino_blk); - #endif /* E2DEBUG */ -- if (!ext2_rdfsb (ino_blk, (int) INODE)) -+ if (!ext2_rdfsb (ino_blk, (unsigned long) INODE)) - { - return 0; - } -@@ -565,13 +847,12 @@ ext2fs_dir (char *dirname) - /* reset indirect blocks! */ - mapblock2 = mapblock1 = -1; - -- raw_inode = INODE + -- ((current_ino - 1) -- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); -+ raw_inode = (struct ext2_inode *)((char *)INODE + -+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * -+ EXT2_INODE_SIZE (SUPERBLOCK)); - #ifdef E2DEBUG - printf ("ipb=%d, sizeof(inode)=%d\n", -- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), -- sizeof (struct ext2_inode)); -+ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); - printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); - printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); - for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode; -@@ -629,7 +910,10 @@ ext2fs_dir (char *dirname) - } - linkbuf[filemax + len] = '\0'; - -- /* Read the symlink data. */ -+ /* Read the symlink data. -+ * Slow symlink is extents enabled -+ * But since grub_read invokes ext2fs_read, nothing to change here -+ */ - if (! ext2_is_fast_symlink ()) - { - /* Read the necessary blocks, and reset the file pointer. */ -@@ -640,7 +924,9 @@ ext2fs_dir (char *dirname) - } - else - { -- /* Copy the data directly from the inode. */ -+ /* Copy the data directly from the inode. -+ * Fast symlink is not extents enabled -+ */ - len = filemax; - memmove (linkbuf, (char *) INODE->i_block, len); - } -@@ -674,6 +960,13 @@ ext2fs_dir (char *dirname) - errnum = ERR_BAD_FILETYPE; - return 0; - } -+ /* if file is too large, just stop and report an error*/ -+ if ( (INODE->i_flags & EXT4_HUGE_FILE_FL) && !(INODE->i_size_high)) -+ { -+ /* file too large, stop reading */ -+ errnum = ERR_FILELENGTH; -+ return 0; -+ } - - filemax = (INODE->i_size); - return 1; -@@ -728,17 +1021,28 @@ ext2fs_dir (char *dirname) - } - - /* else, find the (logical) block component of our location */ -+ /* ext4 logical block number the same as ext2/3 */ - blk = loc >> EXT2_BLOCK_SIZE_BITS (SUPERBLOCK); - - /* we know which logical block of the directory entry we are looking - for, now we have to translate that to the physical (fs) block on - the disk */ -+ /* map extents enabled logical block number to physical fs on-disk block number */ -+ if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK,EXT4_FEATURE_INCOMPAT_EXTENTS) -+ && INODE->i_flags & EXT4_EXTENTS_FL) -+ map = ext4fs_block_map (blk); -+ else - map = ext2fs_block_map (blk); - #ifdef E2DEBUG - printf ("fs block=%d\n", map); - #endif /* E2DEBUG */ - mapblock2 = -1; -- if ((map < 0) || !ext2_rdfsb (map, DATABLOCK2)) -+ if (map < 0) -+ { -+ *rest = ch; -+ return 0; -+ } -+ if (!ext2_rdfsb (map, DATABLOCK2)) - { - errnum = ERR_FSYS_CORRUPT; - *rest = ch; -diff --git a/stage2/fsys_fat.c b/stage2/fsys_fat.c -index f40e658..f1157f4 100644 ---- a/stage2/fsys_fat.c -+++ b/stage2/fsys_fat.c -@@ -49,13 +49,13 @@ struct fat_superblock - /* pointer(s) into filesystem info buffer for DOS stuff */ - #define FAT_SUPER ( (struct fat_superblock *) \ - ( FSYS_BUF + 32256) )/* 512 bytes long */ --#define FAT_BUF ( FSYS_BUF + 30208 ) /* 4 sector FAT buffer */ --#define NAME_BUF ( FSYS_BUF + 29184 ) /* Filename buffer (833 bytes) */ -+#define FAT_BUF ( FSYS_BUF + 28160 ) /* 4 sector FAT buffer */ -+#define NAME_BUF ( FSYS_BUF + 27136 ) /* Filename buffer (833 bytes) */ - --#define FAT_CACHE_SIZE 2048 -+#define FAT_CACHE_SIZE 4096 - --static __inline__ unsigned long --log2 (unsigned long word) -+static __inline__ unsigned int -+grub_log2 (unsigned int word) - { - __asm__ ("bsfl %1,%0" - : "=r" (word) -@@ -68,9 +68,12 @@ fat_mount (void) - { - struct fat_bpb bpb; - __u32 magic, first_fat; -+ int sector_size; - - /* Check partition type for harddisk */ - if (((current_drive & 0x80) || (current_slice != 0)) -+ && (current_slice != PC_SLICE_TYPE_EXT2FS) -+ && (current_slice != PC_SLICE_TYPE_LINUX_RAID) - && ! IS_PC_SLICE_TYPE_FAT (current_slice) - && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_MSDOS))) - return 0; -@@ -79,14 +82,16 @@ fat_mount (void) - if (! devread (0, 0, sizeof (bpb), (char *) &bpb)) - return 0; - -+ sector_size = get_sector_size(current_drive); -+ - /* Check if the number of sectors per cluster is zero here, to avoid - zero division. */ - if (bpb.sects_per_clust == 0) - return 0; - -- FAT_SUPER->sectsize_bits = log2 (FAT_CVT_U16 (bpb.bytes_per_sect)); -+ FAT_SUPER->sectsize_bits = grub_log2 (FAT_CVT_U16 (bpb.bytes_per_sect)); - FAT_SUPER->clustsize_bits -- = FAT_SUPER->sectsize_bits + log2 (bpb.sects_per_clust); -+ = FAT_SUPER->sectsize_bits + grub_log2 (bpb.sects_per_clust); - - /* Fill in info about super block */ - FAT_SUPER->num_sectors = FAT_CVT_U16 (bpb.short_sectors) -@@ -106,7 +111,7 @@ fat_mount (void) - FAT_SUPER->data_offset = - FAT_SUPER->root_offset - + ((FAT_SUPER->root_max - 1) >> FAT_SUPER->sectsize_bits) + 1; -- FAT_SUPER->num_clust = -+ FAT_SUPER->num_clust = - 2 + ((FAT_SUPER->num_sectors - FAT_SUPER->data_offset) - / bpb.sects_per_clust); - FAT_SUPER->sects_per_clust = bpb.sects_per_clust; -@@ -153,11 +158,11 @@ fat_mount (void) - /* Now do some sanity checks */ - - if (FAT_CVT_U16(bpb.bytes_per_sect) != (1 << FAT_SUPER->sectsize_bits) -- || FAT_CVT_U16(bpb.bytes_per_sect) != SECTOR_SIZE -+ || FAT_CVT_U16(bpb.bytes_per_sect) != sector_size - || bpb.sects_per_clust != (1 << (FAT_SUPER->clustsize_bits - - FAT_SUPER->sectsize_bits)) - || FAT_SUPER->num_clust <= 2 -- || (FAT_SUPER->fat_size * FAT_SUPER->num_clust / (2 * SECTOR_SIZE) -+ || (FAT_SUPER->fat_size * FAT_SUPER->num_clust / (2 * sector_size) - > FAT_SUPER->fat_length)) - return 0; - -@@ -201,6 +206,7 @@ fat_read (char *buf, int len) - int offset; - int ret = 0; - int size; -+ int sector_size = get_sector_size(current_drive); - - if (FAT_SUPER->file_cluster < 0) - { -@@ -236,10 +242,10 @@ fat_read (char *buf, int len) - if (cached_pos < 0 || - (cached_pos + FAT_SUPER->fat_size) > 2*FAT_CACHE_SIZE) - { -- FAT_SUPER->cached_fat = (fat_entry & ~(2*SECTOR_SIZE - 1)); -+ FAT_SUPER->cached_fat = (fat_entry & ~(2*sector_size - 1)); - cached_pos = (fat_entry - FAT_SUPER->cached_fat); - sector = FAT_SUPER->fat_offset -- + FAT_SUPER->cached_fat / (2*SECTOR_SIZE); -+ + FAT_SUPER->cached_fat / (2*sector_size); - if (!devread (sector, 0, FAT_CACHE_SIZE, (char*) FAT_BUF)) - return 0; - } -@@ -257,6 +263,8 @@ fat_read (char *buf, int len) - return ret; - if (next_cluster < 2 || next_cluster >= FAT_SUPER->num_clust) - { -+ grub_printf("next_cluster: %d FAT_SUPER->num_clust: %d\n", -+ next_cluster, FAT_SUPER->num_clust); - errnum = ERR_FSYS_CORRUPT; - return 0; - } -@@ -340,7 +348,8 @@ fat_dir (char *dirname) - /* Directories don't have a file size */ - filemax = MAXINT; - -- for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++); -+ for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++) -+ *rest = tolower(*rest); - - *rest = 0; - -@@ -432,7 +441,7 @@ fat_dir (char *dirname) - goto print_filename; - # endif /* STAGE1_5 */ - -- if (substring (dirname, filename) == 0) -+ if (subcasestring (dirname, filename) == 0) - break; - } - } -@@ -459,7 +468,7 @@ fat_dir (char *dirname) - if (do_possibilities) - { - print_filename: -- if (substring (dirname, filename) <= 0) -+ if (subcasestring (dirname, filename) <= 0) - { - if (print_possibilities > 0) - print_possibilities = -print_possibilities; -@@ -469,7 +478,7 @@ fat_dir (char *dirname) - } - # endif /* STAGE1_5 */ - -- if (substring (dirname, filename) == 0) -+ if (subcasestring (dirname, filename) == 0) - break; - } - -diff --git a/stage2/fsys_iso9660.c b/stage2/fsys_iso9660.c -index 90e4aa8..4d8a300 100644 ---- a/stage2/fsys_iso9660.c -+++ b/stage2/fsys_iso9660.c -@@ -56,8 +56,8 @@ struct iso_inode_info { - #define NAME_BUF ((unsigned char *)(FSYS_BUF + 8192)) - - --static inline unsigned long --log2 (unsigned long word) -+static inline unsigned int -+grub_log2 (unsigned int word) - { - asm volatile ("bsfl %1,%0" - : "=r" (word) -@@ -68,7 +68,7 @@ log2 (unsigned long word) - static int - iso9660_devread (int sector, int byte_offset, int byte_len, char *buf) - { -- unsigned short sector_size_lg2 = log2(buf_geom.sector_size); -+ unsigned short sector_size_lg2 = grub_log2(buf_geom.sector_size); - - /* - * We have to use own devread() function since BIOS return wrong geometry -diff --git a/stage2/fsys_jfs.c b/stage2/fsys_jfs.c -index 307f836..d63b1de 100644 ---- a/stage2/fsys_jfs.c -+++ b/stage2/fsys_jfs.c -@@ -207,19 +207,20 @@ int - jfs_mount (void) - { - struct jfs_superblock super; -+ int sector_bits = get_sector_bits(current_drive); - -- if (part_length < MINJFS >> SECTOR_BITS -- || !devread (SUPER1_OFF >> SECTOR_BITS, 0, -+ if (part_length < MINJFS >> sector_bits -+ || !devread (SUPER1_OFF >> sector_bits, 0, - sizeof(struct jfs_superblock), (char *)&super) - || (super.s_magic != JFS_MAGIC) -- || !devread ((AITBL_OFF >> SECTOR_BITS) + FILESYSTEM_I, -+ || !devread ((AITBL_OFF >> sector_bits) + FILESYSTEM_I, - 0, DISIZE, (char*)fileset)) { - return 0; - } - - jfs.bsize = super.s_bsize; - jfs.l2bsize = super.s_l2bsize; -- jfs.bdlog = jfs.l2bsize - SECTOR_BITS; -+ jfs.bdlog = jfs.l2bsize - sector_bits; - - return 1; - } -@@ -387,9 +388,10 @@ int - jfs_embed (int *start_sector, int needed_sectors) - { - struct jfs_superblock super; -+ int sector_bits = get_sector_bits(current_drive); - - if (needed_sectors > 63 -- || !devread (SUPER1_OFF >> SECTOR_BITS, 0, -+ || !devread (SUPER1_OFF >> sector_bits, 0, - sizeof (struct jfs_superblock), - (char *)&super) - || (super.s_magic != JFS_MAGIC)) { -diff --git a/stage2/fsys_minix.c b/stage2/fsys_minix.c -index 5c76796..175ecf2 100644 ---- a/stage2/fsys_minix.c -+++ b/stage2/fsys_minix.c -@@ -138,11 +138,11 @@ struct minix_dir_entry { - #define SUPERBLOCK \ - ((struct minix_super_block *)(FSYS_BUF)) - #define INODE \ -- ((struct minix_inode *)((int) SUPERBLOCK + BLOCK_SIZE)) -+ ((struct minix_inode *)((unsigned long) SUPERBLOCK + BLOCK_SIZE)) - #define DATABLOCK1 \ -- ((int)((int)INODE + sizeof(struct minix_inode))) -+ ((unsigned long)INODE + sizeof(struct minix_inode)) - #define DATABLOCK2 \ -- ((int)((int)DATABLOCK1 + BLOCK_SIZE)) -+ ((unsigned long)DATABLOCK1 + BLOCK_SIZE) - - /* linux/stat.h */ - #define S_IFMT 00170000 -@@ -193,7 +193,7 @@ static int - minix_rdfsb (int fsblock, int buffer) - { - return devread (fsblock * (BLOCK_SIZE / DEV_BSIZE), 0, -- BLOCK_SIZE, (char *) buffer); -+ BLOCK_SIZE, (char *) (unsigned long) buffer); - } - - /* Maps LOGICAL_BLOCK (the file offset divided by the blocksize) into -@@ -336,7 +336,7 @@ minix_dir (char *dirname) - - ino_blk = (2 + SUPERBLOCK->s_imap_blocks + SUPERBLOCK->s_zmap_blocks - + (current_ino - 1) / MINIX_INODES_PER_BLOCK); -- if (! minix_rdfsb (ino_blk, (int) INODE)) -+ if (! minix_rdfsb (ino_blk, (unsigned long) INODE)) - return 0; - - /* reset indirect blocks! */ -diff --git a/stage2/fsys_reiserfs.c b/stage2/fsys_reiserfs.c -index 93ec5f8..f46fcb2 100644 ---- a/stage2/fsys_reiserfs.c -+++ b/stage2/fsys_reiserfs.c -@@ -292,7 +292,6 @@ struct reiserfs_de_head - - /* The size of the node cache */ - #define FSYSREISER_CACHE_SIZE 24*1024 --#define FSYSREISER_MIN_BLOCKSIZE SECTOR_SIZE - #define FSYSREISER_MAX_BLOCKSIZE FSYSREISER_CACHE_SIZE / 3 - - /* Info about currently opened file */ -@@ -341,19 +340,19 @@ struct fsys_reiser_info - /* The cached s+tree blocks in FSYS_BUF, see below - * for a more detailed description. - */ --#define ROOT ((char *) ((int) FSYS_BUF)) -+#define ROOT ((char *) ((unsigned long) FSYS_BUF)) - #define CACHE(i) (ROOT + ((i) << INFO->fullblocksize_shift)) - #define LEAF CACHE (DISK_LEAF_NODE_LEVEL) - - #define BLOCKHEAD(cache) ((struct block_head *) cache) --#define ITEMHEAD ((struct item_head *) ((int) LEAF + BLKH_SIZE)) --#define KEY(cache) ((struct key *) ((int) cache + BLKH_SIZE)) -+#define ITEMHEAD ((struct item_head *) ((unsigned long) LEAF + BLKH_SIZE)) -+#define KEY(cache) ((struct key *) ((unsigned long) cache + BLKH_SIZE)) - #define DC(cache) ((struct disk_child *) \ -- ((int) cache + BLKH_SIZE + KEY_SIZE * nr_item)) -+ ((unsigned long) cache + BLKH_SIZE + KEY_SIZE * nr_item)) - /* The fsys_reiser_info block. - */ - #define INFO \ -- ((struct fsys_reiser_info *) ((int) FSYS_BUF + FSYSREISER_CACHE_SIZE)) -+ ((struct fsys_reiser_info *) ((unsigned long) FSYS_BUF + FSYSREISER_CACHE_SIZE)) - /* - * The journal cache. For each transaction it contains the number of - * blocks followed by the real block numbers of this transaction. -@@ -366,8 +365,8 @@ struct fsys_reiser_info - #define JOURNAL_END ((__u32 *) (FSYS_BUF + FSYS_BUFLEN)) - - --static __inline__ unsigned long --log2 (unsigned long word) -+static __inline__ unsigned int -+grub_log2 (unsigned int word) - { - __asm__ ("bsfl %1,%0" - : "=r" (word) -@@ -569,9 +568,11 @@ int - reiserfs_mount (void) - { - struct reiserfs_super_block super; -- int superblock = REISERFS_DISK_OFFSET_IN_BYTES >> SECTOR_BITS; -+ int sector_bits = get_sector_bits(current_drive); -+ int sector_size = get_sector_size(current_drive); -+ int superblock = REISERFS_DISK_OFFSET_IN_BYTES >> sector_bits; - -- if (part_length < superblock + (sizeof (super) >> SECTOR_BITS) -+ if (part_length < superblock + (sizeof (super) >> sector_bits) - || ! devread (superblock, 0, sizeof (struct reiserfs_super_block), - (char *) &super) - || (substring (REISER3FS_SUPER_MAGIC_STRING, super.s_magic) > 0 -@@ -582,8 +583,8 @@ reiserfs_mount (void) - <= REISERFS_DISK_OFFSET_IN_BYTES)) - { - /* Try old super block position */ -- superblock = REISERFS_OLD_DISK_OFFSET_IN_BYTES >> SECTOR_BITS; -- if (part_length < superblock + (sizeof (super) >> SECTOR_BITS) -+ superblock = REISERFS_OLD_DISK_OFFSET_IN_BYTES >> sector_bits; -+ if (part_length < superblock + (sizeof (super) >> sector_bits) - || ! devread (superblock, 0, sizeof (struct reiserfs_super_block), - (char *) &super)) - return 0; -@@ -594,7 +595,7 @@ reiserfs_mount (void) - { - /* pre journaling super block ? */ - if (substring (REISERFS_SUPER_MAGIC_STRING, -- (char*) ((int) &super + 20)) > 0) -+ (char*) ((unsigned long) &super + 20)) > 0) - return 0; - - super.s_blocksize = REISERFS_OLD_BLOCKSIZE; -@@ -609,8 +610,8 @@ reiserfs_mount (void) - - INFO->version = super.s_version; - INFO->blocksize = super.s_blocksize; -- INFO->fullblocksize_shift = log2 (super.s_blocksize); -- INFO->blocksize_shift = INFO->fullblocksize_shift - SECTOR_BITS; -+ INFO->fullblocksize_shift = grub_log2 (super.s_blocksize); -+ INFO->blocksize_shift = INFO->fullblocksize_shift - sector_bits; - INFO->cached_slots = - (FSYSREISER_CACHE_SIZE >> INFO->fullblocksize_shift) - 1; - -@@ -622,9 +623,9 @@ reiserfs_mount (void) - /* Clear node cache. */ - memset (INFO->blocks, 0, sizeof (INFO->blocks)); - -- if (super.s_blocksize < FSYSREISER_MIN_BLOCKSIZE -+ if (super.s_blocksize < get_sector_size(current_drive) - || super.s_blocksize > FSYSREISER_MAX_BLOCKSIZE -- || (SECTOR_SIZE << INFO->blocksize_shift) != super.s_blocksize) -+ || (sector_size << INFO->blocksize_shift) != super.s_blocksize) - return 0; - - /* Initialize journal code. If something fails we end with zero -@@ -1215,9 +1216,10 @@ int - reiserfs_embed (int *start_sector, int needed_sectors) - { - struct reiserfs_super_block super; -+ int sector_bits = get_sector_bits(current_drive); - int num_sectors; -- -- if (! devread (REISERFS_DISK_OFFSET_IN_BYTES >> SECTOR_BITS, 0, -+ -+ if (! devread (REISERFS_DISK_OFFSET_IN_BYTES >> sector_bits, 0, - sizeof (struct reiserfs_super_block), (char *) &super)) - return 0; - -@@ -1229,9 +1231,9 @@ reiserfs_embed (int *start_sector, int needed_sectors) - * the journal log */ - super.s_journal_block * super.s_blocksize - > REISERFS_DISK_OFFSET_IN_BYTES)) -- num_sectors = (REISERFS_DISK_OFFSET_IN_BYTES >> SECTOR_BITS) - 1; -+ num_sectors = (REISERFS_DISK_OFFSET_IN_BYTES >> sector_bits) - 1; - else -- num_sectors = (REISERFS_OLD_DISK_OFFSET_IN_BYTES >> SECTOR_BITS) - 1; -+ num_sectors = (REISERFS_OLD_DISK_OFFSET_IN_BYTES >> sector_bits) - 1; - - return (needed_sectors <= num_sectors); - } -diff --git a/stage2/fsys_vstafs.c b/stage2/fsys_vstafs.c -index a116717..652e784 100644 ---- a/stage2/fsys_vstafs.c -+++ b/stage2/fsys_vstafs.c -@@ -30,8 +30,8 @@ static struct dir_entry *vstafs_nextdir (void); - - - #define FIRST_SECTOR ((struct first_sector *) FSYS_BUF) --#define FILE_INFO ((struct fs_file *) (int) FIRST_SECTOR + 8192) --#define DIRECTORY_BUF ((struct dir_entry *) (int) FILE_INFO + 512) -+#define FILE_INFO ((struct fs_file *) (unsigned long) FIRST_SECTOR + 8192) -+#define DIRECTORY_BUF ((struct dir_entry *) (unsigned long) FILE_INFO + 512) - - #define ROOT_SECTOR 1 - -@@ -186,35 +186,35 @@ vstafs_dir (char *dirname) - int - vstafs_read (char *addr, int len) - { -- struct alloc *a; -+ struct alloc *al; - int size, ret = 0, offset, curr_len = 0; -- int curr_ext; -+ int this_ext; - char extent; - int ext_size; - char *curr_pos; - - get_file_info (f_sector); - size = FILE_INFO->len-VSTAFS_START_DATA; -- a = FILE_INFO->blocks; -+ al = FILE_INFO->blocks; - - if (filepos > 0) - { -- if (filepos < a[0].a_len * 512 - VSTAFS_START_DATA) -+ if (filepos < al[0].a_len * 512 - VSTAFS_START_DATA) - { - offset = filepos + VSTAFS_START_DATA; - extent = 0; -- curr_len = a[0].a_len * 512 - offset - filepos; -+ curr_len = al[0].a_len * 512 - offset - filepos; - } - else - { -- ext_size = a[0].a_len * 512 - VSTAFS_START_DATA; -+ ext_size = al[0].a_len * 512 - VSTAFS_START_DATA; - offset = filepos - ext_size; - extent = 1; - do - { - curr_len -= ext_size; - offset -= ext_size; -- ext_size = a[extent+1].a_len * 512; -+ ext_size = al[extent+1].a_len * 512; - } - while (extent < FILE_INFO->extents && offset>ext_size); - } -@@ -223,16 +223,16 @@ vstafs_read (char *addr, int len) - { - offset = VSTAFS_START_DATA; - extent = 0; -- curr_len = a[0].a_len * 512 - offset; -+ curr_len = al[0].a_len * 512 - offset; - } - - curr_pos = addr; - if (curr_len > len) - curr_len = len; - -- for (curr_ext=extent; -- curr_ext < FILE_INFO->extents; -- curr_len = a[curr_ext].a_len * 512, curr_pos += curr_len, curr_ext++) -+ for (this_ext=extent; -+ this_ext < FILE_INFO->extents; -+ curr_len = al[this_ext].a_len * 512, curr_pos += curr_len, this_ext++) - { - ret += curr_len; - size -= curr_len; -@@ -242,7 +242,7 @@ vstafs_read (char *addr, int len) - curr_len += size; - } - -- devread (a[curr_ext].a_start,offset, curr_len, curr_pos); -+ devread (al[this_ext].a_start,offset, curr_len, curr_pos); - offset = 0; - } - -diff --git a/stage2/fsys_xfs.c b/stage2/fsys_xfs.c -index 76c4c13..226e343 100644 ---- a/stage2/fsys_xfs.c -+++ b/stage2/fsys_xfs.c -@@ -97,19 +97,23 @@ ino2offset (xfs_ino_t ino) - return ino & XFS_INO_MASK(XFS_INO_OFFSET_BITS); - } - --static inline __const__ xfs_uint16_t --le16 (xfs_uint16_t x) -+static inline xfs_uint16_t __attribute__((__const__)) -+le16 (xfs_uint16_t x) - { -+#if 1 -+ return ((x & 0xff00) >> 8) | ((x & 0xff) << 8); -+#else - __asm__("xchgb %b0,%h0" \ - : "=q" (x) \ - : "0" (x)); \ - return x; -+#endif - } - --static inline __const__ xfs_uint32_t -+static inline xfs_uint32_t __attribute__((__const__)) - le32 (xfs_uint32_t x) - { --#if 0 -+#if 1 - /* 386 doesn't have bswap. */ - __asm__("bswap %0" : "=r" (x) : "0" (x)); - #else -@@ -122,7 +126,7 @@ le32 (xfs_uint32_t x) - return x; - } - --static inline __const__ xfs_uint64_t -+static inline xfs_uint64_t __attribute__((__const__)) - le64 (xfs_uint64_t x) - { - xfs_uint32_t h = x >> 32; -@@ -187,12 +191,12 @@ fsb2daddr (xfs_fsblock_t fsbno) - } - - #undef offsetof --#define offsetof(t,m) ((int)&(((t *)0)->m)) -+#define offsetof(t,m) __builtin_offsetof(t, m) - --static inline int -+static inline xfs_uint64_t - btroot_maxrecs (void) - { -- int tmp = icore.di_forkoff ? (icore.di_forkoff << 3) : xfs.isize; -+ xfs_uint64_t tmp = icore.di_forkoff ? (icore.di_forkoff << 3) : xfs.isize; - - return (tmp - sizeof(xfs_bmdr_block_t) - offsetof(xfs_dinode_t, di_u)) / - (sizeof (xfs_bmbt_key_t) + sizeof (xfs_bmbt_ptr_t)); -@@ -465,7 +469,7 @@ xfs_mount (void) - - xfs.bsize = le32 (super.sb_blocksize); - xfs.blklog = super.sb_blocklog; -- xfs.bdlog = xfs.blklog - SECTOR_BITS; -+ xfs.bdlog = xfs.blklog - get_sector_bits(current_drive); - xfs.rootino = le64 (super.sb_rootino); - xfs.isize = le16 (super.sb_inodesize); - xfs.agblocks = le32 (super.sb_agblocks); -diff --git a/stage2/gpt.h b/stage2/gpt.h -new file mode 100644 -index 0000000..ad6d8f1 ---- /dev/null -+++ b/stage2/gpt.h -@@ -0,0 +1,69 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2005,2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef _GPT_H -+#define _GPT_H -+ -+typedef signed char grub_int8_t; -+typedef signed short grub_int16_t; -+typedef signed int grub_int32_t; -+typedef signed long long int grub_int64_t; -+typedef unsigned char grub_uint8_t; -+typedef unsigned short grub_uint16_t; -+typedef unsigned int grub_uint32_t; -+typedef unsigned long long int grub_uint64_t; -+ -+struct grub_gpt_header -+{ -+ grub_uint64_t magic; -+ grub_uint32_t version; -+ grub_uint32_t headersize; -+ grub_uint32_t crc32; -+ grub_uint32_t unused1; -+ grub_uint64_t primary; -+ grub_uint64_t backup; -+ grub_uint64_t start; -+ grub_uint64_t end; -+ grub_uint8_t guid[16]; -+ grub_uint64_t partitions; -+ grub_uint32_t maxpart; -+ grub_uint32_t partentry_size; -+ grub_uint32_t partentry_crc32; -+} __attribute__ ((packed)); -+ -+struct grub_gpt_partentry -+{ -+ grub_uint64_t type1; -+ grub_uint64_t type2; -+ grub_uint8_t guid[16]; -+ grub_uint64_t start; -+ grub_uint64_t end; -+ grub_uint8_t attrib; -+ char name[72]; -+} __attribute__ ((packed)); -+ -+#define GPT_HEADER_MAGIC 0x5452415020494645ULL -+ -+#define GPT_ENTRY_SECTOR(drive,size,entry) \ -+ ((((entry) * (size) + 1) & ~(get_sector_size(drive) - 1)) \ -+ >> get_sector_bits(drive)) -+#define GPT_ENTRY_INDEX(drive, size,entry) \ -+ ((((entry) * (size) + 1) & (get_sector_size(drive) - 1)) - 1) -+ -+#endif /* _GPT_H */ -diff --git a/stage2/graphics.c b/stage2/graphics.c -new file mode 100644 -index 0000000..81109ae ---- /dev/null -+++ b/stage2/graphics.c -@@ -0,0 +1,573 @@ -+/* graphics.c - graphics mode support for GRUB */ -+/* Implemented as a terminal type by Jeremy Katz based -+ * on a patch by Paulo C�sar Pereira de Andrade -+ */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2001,2002 Red Hat, Inc. -+ * Portions copyright (C) 2000 Conectiva, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+ -+ -+#ifdef SUPPORT_GRAPHICS -+ -+#include -+#include -+#include -+ -+int saved_videomode; -+unsigned char *font8x16; -+ -+int graphics_inited = 0; -+static char splashimage[64]; -+ -+#define VSHADOW VSHADOW1 -+unsigned char VSHADOW1[38400]; -+unsigned char VSHADOW2[38400]; -+unsigned char VSHADOW4[38400]; -+unsigned char VSHADOW8[38400]; -+ -+/* constants to define the viewable area */ -+const int x0 = 0; -+const int x1 = 80; -+const int y0 = 0; -+const int y1 = 30; -+ -+/* text buffer has to be kept around so that we can write things as we -+ * scroll and the like */ -+unsigned short text[80 * 30]; -+ -+/* why do these have to be kept here? */ -+int foreground = (63 << 16) | (63 << 8) | (63), background = 0, border = 0; -+ -+/* current position */ -+static int fontx = 0; -+static int fonty = 0; -+ -+/* global state so that we don't try to recursively scroll or cursor */ -+static int no_scroll = 0; -+ -+/* color state */ -+static int graphics_standard_color = A_NORMAL; -+static int graphics_normal_color = A_NORMAL; -+static int graphics_highlight_color = A_REVERSE; -+static int graphics_current_color = A_NORMAL; -+static color_state graphics_color_state = COLOR_STATE_STANDARD; -+ -+ -+/* graphics local functions */ -+static void graphics_setxy(int col, int row); -+static void graphics_scroll(void); -+ -+/* FIXME: where do these really belong? */ -+static inline void outb(unsigned short port, unsigned char val) -+{ -+ __asm __volatile ("outb %0,%1"::"a" (val), "d" (port)); -+} -+ -+static void MapMask(int value) { -+ outb(0x3c4, 2); -+ outb(0x3c5, value); -+} -+ -+/* bit mask register */ -+static void BitMask(int value) { -+ outb(0x3ce, 8); -+ outb(0x3cf, value); -+} -+ -+ -+ -+/* Set the splash image */ -+void graphics_set_splash(char *splashfile) { -+ grub_strcpy(splashimage, splashfile); -+} -+ -+/* Get the current splash image */ -+char *graphics_get_splash(void) { -+ return splashimage; -+} -+ -+/* Initialize a vga16 graphics display with the palette based off of -+ * the image in splashimage. If the image doesn't exist, leave graphics -+ * mode. */ -+int graphics_init() -+{ -+ if (!read_image(splashimage)) { -+ current_term = term_table; -+ grub_printf("failed to read image\n"); -+ return 0; -+ } -+ -+ font8x16 = (unsigned char*)graphics_get_font(); -+ -+ graphics_inited = 1; -+ -+ /* make sure that the highlight color is set correctly */ -+ graphics_highlight_color = ((graphics_normal_color >> 4) | -+ ((graphics_normal_color & 0xf) << 4)); -+ -+ return 1; -+} -+ -+/* Leave graphics mode */ -+void graphics_end(void) -+{ -+ if (graphics_inited) { -+ set_videomode(saved_videomode); -+ graphics_inited = 0; -+ } -+} -+ -+/* Print ch on the screen. Handle any needed scrolling or the like */ -+void graphics_putchar(int ch) { -+ ch &= 0xff; -+ -+ graphics_cursor(0); -+ -+ if (ch == '\n') { -+ if (fonty + 1 < y1) -+ graphics_setxy(fontx, fonty + 1); -+ else -+ graphics_scroll(); -+ graphics_cursor(1); -+ return; -+ } else if (ch == '\r') { -+ graphics_setxy(x0, fonty); -+ graphics_cursor(1); -+ return; -+ } -+ -+ graphics_cursor(0); -+ -+ text[fonty * 80 + fontx] = ch; -+ text[fonty * 80 + fontx] &= 0x00ff; -+ if (graphics_current_color & 0xf0) -+ text[fonty * 80 + fontx] |= 0x100; -+ -+ graphics_cursor(0); -+ -+ if ((fontx + 1) >= x1) { -+ graphics_setxy(x0, fonty); -+ if (fonty + 1 < y1) -+ graphics_setxy(x0, fonty + 1); -+ else -+ graphics_scroll(); -+ } else { -+ graphics_setxy(fontx + 1, fonty); -+ } -+ -+ graphics_cursor(1); -+} -+ -+/* get the current location of the cursor */ -+int graphics_getxy(void) { -+ return (fontx << 8) | fonty; -+} -+ -+void graphics_gotoxy(int x, int y) { -+ graphics_cursor(0); -+ -+ graphics_setxy(x, y); -+ -+ graphics_cursor(1); -+} -+ -+void graphics_cls(void) { -+ int i; -+ unsigned char *mem, *s1, *s2, *s4, *s8; -+ -+ graphics_cursor(0); -+ graphics_gotoxy(x0, y0); -+ -+ mem = (unsigned char*)VIDEOMEM; -+ s1 = (unsigned char*)VSHADOW1; -+ s2 = (unsigned char*)VSHADOW2; -+ s4 = (unsigned char*)VSHADOW4; -+ s8 = (unsigned char*)VSHADOW8; -+ -+ for (i = 0; i < 80 * 30; i++) -+ text[i] = ' '; -+ graphics_cursor(1); -+ -+ BitMask(0xff); -+ -+ /* plano 1 */ -+ MapMask(1); -+ grub_memcpy(mem, s1, 38400); -+ -+ /* plano 2 */ -+ MapMask(2); -+ grub_memcpy(mem, s2, 38400); -+ -+ /* plano 3 */ -+ MapMask(4); -+ grub_memcpy(mem, s4, 38400); -+ -+ /* plano 4 */ -+ MapMask(8); -+ grub_memcpy(mem, s8, 38400); -+ -+ MapMask(15); -+ -+} -+ -+void graphics_setcolorstate (color_state state) { -+ switch (state) { -+ case COLOR_STATE_STANDARD: -+ graphics_current_color = graphics_standard_color; -+ break; -+ case COLOR_STATE_NORMAL: -+ graphics_current_color = graphics_normal_color; -+ break; -+ case COLOR_STATE_HIGHLIGHT: -+ graphics_current_color = graphics_highlight_color; -+ break; -+ default: -+ graphics_current_color = graphics_standard_color; -+ break; -+ } -+ -+ graphics_color_state = state; -+} -+ -+void graphics_setcolor (int normal_color, int highlight_color) { -+ graphics_normal_color = normal_color; -+ graphics_highlight_color = highlight_color; -+ -+ graphics_setcolorstate (graphics_color_state); -+} -+ -+int graphics_setcursor (int on) { -+ /* FIXME: we don't have a cursor in graphics */ -+ return 0; -+} -+ -+/* Open the file, and search for a valid XPM header. Return 1 if one is found, -+ * leaving the current position as the start of the next line. Else, -+ * return 0. -+ */ -+static int xpm_open(char *s) { -+ char buf, prev, target[]="/* XPM */\n"; -+ int pos=0; -+ -+ if (!grub_open(s)) -+ return 0; -+ -+ prev='\n'; -+ buf=0; -+ do { -+ if (grub_read(&buf, 1) != 1) { -+ grub_close(); -+ return 0; -+ } -+ if ((pos == 0 && prev == '\n') || pos > 0) { -+ if (buf == target[pos]) -+ pos++; -+ else -+ pos=0; -+ } -+ prev=buf; -+ } while (target[pos]); -+ return 1; -+} -+ -+/* Read in the splashscreen image and set the palette up appropriately. -+ * Format of splashscreen is an xpm (can be gzipped) with 16 colors and -+ * 640x480. */ -+int read_image(char *s) -+{ -+ char buf[32], pal[16]; -+ unsigned char c, base, mask, *s1, *s2, *s4, *s8; -+ unsigned i, len, idx, colors, x, y, width, height; -+ -+ if (!xpm_open(s)) -+ return 0; -+ -+ saved_videomode = set_videomode(0x12); -+ -+ /* parse info */ -+ while (grub_read(&c, 1)) { -+ if (c == '"') -+ break; -+ } -+ -+ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) -+ ; -+ -+ i = 0; -+ width = c - '0'; -+ while (grub_read(&c, 1)) { -+ if (c >= '0' && c <= '9') -+ width = width * 10 + c - '0'; -+ else -+ break; -+ } -+ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) -+ ; -+ -+ height = c - '0'; -+ while (grub_read(&c, 1)) { -+ if (c >= '0' && c <= '9') -+ height = height * 10 + c - '0'; -+ else -+ break; -+ } -+ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) -+ ; -+ -+ colors = c - '0'; -+ while (grub_read(&c, 1)) { -+ if (c >= '0' && c <= '9') -+ colors = colors * 10 + c - '0'; -+ else -+ break; -+ } -+ -+ base = 0; -+ while (grub_read(&c, 1) && c != '"') -+ ; -+ -+ /* palette */ -+ for (i = 0, idx = 1; i < colors; i++) { -+ len = 0; -+ -+ while (grub_read(&c, 1) && c != '"') -+ ; -+ grub_read(&c, 1); /* char */ -+ base = c; -+ grub_read(buf, 4); /* \t c # */ -+ -+ while (grub_read(&c, 1) && c != '"') { -+ if (len < sizeof(buf)) -+ buf[len++] = c; -+ } -+ -+ if (len == 6 && idx < 15) { -+ int r = ((hex(buf[0]) << 4) | hex(buf[1])) >> 2; -+ int g = ((hex(buf[2]) << 4) | hex(buf[3])) >> 2; -+ int b = ((hex(buf[4]) << 4) | hex(buf[5])) >> 2; -+ -+ pal[idx] = base; -+ graphics_set_palette(idx, r, g, b); -+ ++idx; -+ } -+ } -+ -+ x = y = len = 0; -+ -+ s1 = (unsigned char*)VSHADOW1; -+ s2 = (unsigned char*)VSHADOW2; -+ s4 = (unsigned char*)VSHADOW4; -+ s8 = (unsigned char*)VSHADOW8; -+ -+ for (i = 0; i < 38400; i++) -+ s1[i] = s2[i] = s4[i] = s8[i] = 0; -+ -+ /* parse xpm data */ -+ while (y < height) { -+ while (1) { -+ if (!grub_read(&c, 1)) { -+ grub_close(); -+ return 0; -+ } -+ if (c == '"') -+ break; -+ } -+ -+ while (grub_read(&c, 1) && c != '"') { -+ for (i = 1; i < 15; i++) -+ if (pal[i] == c) { -+ c = i; -+ break; -+ } -+ -+ mask = 0x80 >> (x & 7); -+ if (c & 1) -+ s1[len + (x >> 3)] |= mask; -+ if (c & 2) -+ s2[len + (x >> 3)] |= mask; -+ if (c & 4) -+ s4[len + (x >> 3)] |= mask; -+ if (c & 8) -+ s8[len + (x >> 3)] |= mask; -+ -+ if (++x >= 640) { -+ x = 0; -+ -+ if (y < 480) -+ len += 80; -+ ++y; -+ } -+ } -+ } -+ -+ grub_close(); -+ -+ graphics_set_palette(0, (background >> 16), (background >> 8) & 63, -+ background & 63); -+ graphics_set_palette(15, (foreground >> 16), (foreground >> 8) & 63, -+ foreground & 63); -+ graphics_set_palette(0x11, (border >> 16), (border >> 8) & 63, -+ border & 63); -+ -+ return 1; -+} -+ -+ -+/* Convert a character which is a hex digit to the appropriate integer */ -+int hex(int v) -+{ -+ if (v >= 'A' && v <= 'F') -+ return (v - 'A' + 10); -+ if (v >= 'a' && v <= 'f') -+ return (v - 'a' + 10); -+ return (v - '0'); -+} -+ -+ -+/* move the graphics cursor location to col, row */ -+static void graphics_setxy(int col, int row) { -+ if (col >= x0 && col < x1) { -+ fontx = col; -+ cursorX = col << 3; -+ } -+ if (row >= y0 && row < y1) { -+ fonty = row; -+ cursorY = row << 4; -+ } -+} -+ -+/* scroll the screen */ -+static void graphics_scroll(void) { -+ int i, j; -+ -+ /* we don't want to scroll recursively... that would be bad */ -+ if (no_scroll) -+ return; -+ no_scroll = 1; -+ -+ /* move everything up a line */ -+ for (j = y0 + 1; j < y1; j++) { -+ graphics_gotoxy(x0, j - 1); -+ for (i = x0; i < x1; i++) { -+ graphics_putchar(text[j * 80 + i]); -+ } -+ } -+ -+ /* last line should be blank */ -+ graphics_gotoxy(x0, y1 - 1); -+ for (i = x0; i < x1; i++) -+ graphics_putchar(' '); -+ graphics_setxy(x0, y1 - 1); -+ -+ no_scroll = 0; -+} -+ -+ -+void graphics_cursor(int set) { -+ unsigned char *pat, *mem, *ptr, chr[16 << 2]; -+ int i, ch, invert, offset; -+ -+ if (set && no_scroll) -+ return; -+ -+ offset = cursorY * 80 + fontx; -+ ch = text[fonty * 80 + fontx] & 0xff; -+ invert = (text[fonty * 80 + fontx] & 0xff00) != 0; -+ pat = font8x16 + (ch << 4); -+ -+ mem = (unsigned char*)VIDEOMEM + offset; -+ -+ if (!set) { -+ for (i = 0; i < 16; i++) { -+ unsigned char mask = pat[i]; -+ -+ if (!invert) { -+ chr[i ] = ((unsigned char*)VSHADOW1)[offset]; -+ chr[16 + i] = ((unsigned char*)VSHADOW2)[offset]; -+ chr[32 + i] = ((unsigned char*)VSHADOW4)[offset]; -+ chr[48 + i] = ((unsigned char*)VSHADOW8)[offset]; -+ -+ /* FIXME: if (shade) */ -+ if (1) { -+ if (ch == DISP_VERT || ch == DISP_LL || -+ ch == DISP_UR || ch == DISP_LR) { -+ unsigned char pmask = ~(pat[i] >> 1); -+ -+ chr[i ] &= pmask; -+ chr[16 + i] &= pmask; -+ chr[32 + i] &= pmask; -+ chr[48 + i] &= pmask; -+ } -+ if (i > 0 && ch != DISP_VERT) { -+ unsigned char pmask = ~(pat[i - 1] >> 1); -+ -+ chr[i ] &= pmask; -+ chr[16 + i] &= pmask; -+ chr[32 + i] &= pmask; -+ chr[48 + i] &= pmask; -+ if (ch == DISP_HORIZ || ch == DISP_UR || ch == DISP_LR) { -+ pmask = ~pat[i - 1]; -+ -+ chr[i ] &= pmask; -+ chr[16 + i] &= pmask; -+ chr[32 + i] &= pmask; -+ chr[48 + i] &= pmask; -+ } -+ } -+ } -+ chr[i ] |= mask; -+ chr[16 + i] |= mask; -+ chr[32 + i] |= mask; -+ chr[48 + i] |= mask; -+ -+ offset += 80; -+ } -+ else { -+ chr[i ] = ~mask; -+ chr[16 + i] = ~mask; -+ chr[32 + i] = ~mask; -+ chr[48 + i] = ~mask; -+ } -+ } -+ } -+ else { -+ MapMask(15); -+ ptr = mem; -+ for (i = 0; i < 16; i++, ptr += 80) { -+ cursorBuf[i] = pat[i]; -+ *ptr = ~pat[i]; -+ } -+ return; -+ } -+ -+ offset = 0; -+ for (i = 1; i < 16; i <<= 1, offset += 16) { -+ int j; -+ -+ MapMask(i); -+ ptr = mem; -+ for (j = 0; j < 16; j++, ptr += 80) -+ *ptr = chr[j + offset]; -+ } -+ -+ MapMask(15); -+} -+ -+#endif /* SUPPORT_GRAPHICS */ -diff --git a/stage2/graphics.h b/stage2/graphics.h -new file mode 100644 -index 0000000..a4cd9e8 ---- /dev/null -+++ b/stage2/graphics.h -@@ -0,0 +1,42 @@ -+/* graphics.h - graphics console interface */ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef GRAPHICS_H -+#define GRAPHICS_H -+ -+/* magic constant */ -+#define VIDEOMEM 0xA0000 -+ -+/* function prototypes */ -+char *graphics_get_splash(void); -+ -+int read_image(char *s); -+void graphics_cursor(int set); -+ -+/* function prototypes for asm functions */ -+void * graphics_get_font(); -+void graphics_set_palette(int idx, int red, int green, int blue); -+void set_int1c_handler(); -+void unset_int1c_handler(); -+ -+extern short cursorX, cursorY; -+extern char cursorBuf[16]; -+ -+#endif /* GRAPHICS_H */ -diff --git a/stage2/gunzip.c b/stage2/gunzip.c -index 8835089..45a2312 100644 ---- a/stage2/gunzip.c -+++ b/stage2/gunzip.c -@@ -141,7 +141,7 @@ static int gzip_filepos; - static int gzip_filemax; - static int gzip_fsmax; - static int saved_filepos; --static unsigned long gzip_crc; -+static unsigned int gzip_crc; - - /* internal extra variables for use of inflate code */ - static int block_type; -@@ -169,7 +169,14 @@ linalloc (int size) - static void - reset_linalloc (void) - { -+#ifdef PLATFORM_EFI -+ unsigned int top = (mbi.mem_upper << 10) + 0x100000; -+ if (top > GRUB_SCRATCH_MEM_SIZE) -+ top = GRUB_SCRATCH_MEM_SIZE; -+ linalloc_topaddr = RAW_ADDR (top); -+#else - linalloc_topaddr = RAW_ADDR ((mbi.mem_upper << 10) + 0x100000); -+#endif - } - - -@@ -253,7 +260,7 @@ bad_field (int len) - - typedef unsigned char uch; - typedef unsigned short ush; --typedef unsigned long ulg; -+typedef unsigned int ulg; - - /* - * Window Size -@@ -316,8 +323,8 @@ gunzip_test_header (void) - return 0; - } - -- gzip_crc = *((unsigned long *) buf); -- gzip_fsmax = gzip_filemax = *((unsigned long *) (buf + 4)); -+ gzip_crc = *((unsigned int *) buf); -+ gzip_fsmax = gzip_filemax = *((unsigned int *) (buf + 4)); - - initialize_tables (); - -diff --git a/stage2/iso9660.h b/stage2/iso9660.h -index 4a6a8cc..c311ecf 100644 ---- a/stage2/iso9660.h -+++ b/stage2/iso9660.h -@@ -73,11 +73,11 @@ typedef union { - - typedef struct __iso_16bit { - u_int16_t l, b; --} iso_16bit_t __attribute__ ((packed)); -+} iso_16bit_t; - - typedef struct __iso_32bit { - u_int32_t l, b; --} iso_32bit_t __attribute__ ((packed)); -+} iso_32bit_t; - - typedef u_int8_t iso_date_t[7]; - -diff --git a/stage2/mb_info.h b/stage2/mb_info.h -index 1e1e63b..3a8dcfb 100644 ---- a/stage2/mb_info.h -+++ b/stage2/mb_info.h -@@ -44,10 +44,10 @@ struct mod_list - - struct AddrRangeDesc - { -- unsigned long size; -+ unsigned int size; - unsigned long long BaseAddr; - unsigned long long Length; -- unsigned long Type; -+ unsigned int Type; - - /* unspecified optional padding... */ - } __attribute__ ((packed)); -diff --git a/stage2/pc_slice.h b/stage2/pc_slice.h -index a38d97f..2206e82 100644 ---- a/stage2/pc_slice.h -+++ b/stage2/pc_slice.h -@@ -38,50 +38,50 @@ - */ - - #define PC_MBR_CHECK_SIG(mbr_ptr) \ -- ( *( (unsigned short *) (((int) mbr_ptr) + PC_MBR_SIG_OFFSET) ) \ -+ ( *( (unsigned short *) (((unsigned long) mbr_ptr) + PC_MBR_SIG_OFFSET) ) \ - == PC_MBR_SIGNATURE ) - - #define PC_MBR_SIG(mbr_ptr) \ -- ( *( (unsigned short *) (((int) mbr_ptr) + PC_MBR_SIG_OFFSET) ) ) -+ ( *( (unsigned short *) (((unsigned long) mbr_ptr) + PC_MBR_SIG_OFFSET) ) ) - - #define PC_SLICE_FLAG(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET \ - + (part << 4)) ) ) - - #define PC_SLICE_HEAD(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 1 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 1 \ - + (part << 4)) ) ) - - #define PC_SLICE_SEC(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 2 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 2 \ - + (part << 4)) ) ) - - #define PC_SLICE_CYL(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 3 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 3 \ - + (part << 4)) ) ) - - #define PC_SLICE_TYPE(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 4 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 4 \ - + (part << 4)) ) ) - - #define PC_SLICE_EHEAD(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 5 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 5 \ - + (part << 4)) ) ) - - #define PC_SLICE_ESEC(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 6 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 6 \ - + (part << 4)) ) ) - - #define PC_SLICE_ECYL(mbr_ptr, part) \ -- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 7 \ -+ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 7 \ - + (part << 4)) ) ) - - #define PC_SLICE_START(mbr_ptr, part) \ -- ( *( (unsigned long *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 8 \ -+ ( *( (unsigned int *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 8 \ - + (part << 4)) ) ) - - #define PC_SLICE_LENGTH(mbr_ptr, part) \ -- ( *( (unsigned long *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 12 \ -+ ( *( (unsigned int *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 12 \ - + (part << 4)) ) ) - - -@@ -115,6 +115,8 @@ - #define PC_SLICE_TYPE_LINUX_EXTENDED 0x85 - #define PC_SLICE_TYPE_VSTAFS 0x9e - #define PC_SLICE_TYPE_DELL_UTIL 0xde -+#define PC_SLICE_TYPE_GPT 0xee -+#define PC_SLICE_TYPE_EFI 0xef - #define PC_SLICE_TYPE_LINUX_RAID 0xfd - - -@@ -129,7 +131,8 @@ - || _type == PC_SLICE_TYPE_FAT16_LBA \ - || _type == PC_SLICE_TYPE_FAT32 \ - || _type == PC_SLICE_TYPE_FAT32_LBA \ -- || _type == PC_SLICE_TYPE_DELL_UTIL; }) -+ || _type == PC_SLICE_TYPE_DELL_UTIL \ -+ || _type == PC_SLICE_TYPE_EFI; }) - - #define IS_PC_SLICE_TYPE_EXTENDED(type) \ - (((type) == PC_SLICE_TYPE_EXTENDED) \ -@@ -177,40 +180,40 @@ - */ - - #define BSD_LABEL_CHECK_MAG(l_ptr) \ -- ( *( (unsigned long *) (((int) l_ptr) + BSD_LABEL_MAG_OFFSET) ) \ -- == ( (unsigned long) BSD_LABEL_MAGIC ) ) -+ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_LABEL_MAG_OFFSET) ) \ -+ == ( (unsigned int) BSD_LABEL_MAGIC ) ) - - #define BSD_LABEL_MAG(l_ptr) \ -- ( *( (unsigned long *) (((int) l_ptr) + BSD_LABEL_MAG_OFFSET) ) ) -+ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_LABEL_MAG_OFFSET) ) ) - - #define BSD_LABEL_DTYPE(l_ptr) \ -- ( *( (unsigned short *) (((int) l_ptr) + BSD_LABEL_MAG_OFFSET + 4) ) ) -+ ( *( (unsigned short *) (((unsigned long) l_ptr) + BSD_LABEL_MAG_OFFSET + 4) ) ) - - #define BSD_LABEL_NPARTS(l_ptr) \ -- ( *( (unsigned short *) (((int) l_ptr) + BSD_LABEL_NPARTS_OFFSET) ) ) -+ ( *( (unsigned short *) (((unsigned long) l_ptr) + BSD_LABEL_NPARTS_OFFSET) ) ) - - #define BSD_PART_LENGTH(l_ptr, part) \ -- ( *( (unsigned long *) (((int) l_ptr) + BSD_PART_OFFSET \ -+ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_PART_OFFSET \ - + (part << 4)) ) ) - - #define BSD_PART_START(l_ptr, part) \ -- ( *( (unsigned long *) (((int) l_ptr) + BSD_PART_OFFSET + 4 \ -+ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 4 \ - + (part << 4)) ) ) - - #define BSD_PART_FRAG_SIZE(l_ptr, part) \ -- ( *( (unsigned long *) (((int) l_ptr) + BSD_PART_OFFSET + 8 \ -+ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 8 \ - + (part << 4)) ) ) - - #define BSD_PART_TYPE(l_ptr, part) \ -- ( *( (unsigned char *) (((int) l_ptr) + BSD_PART_OFFSET + 12 \ -+ ( *( (unsigned char *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 12 \ - + (part << 4)) ) ) - - #define BSD_PART_FRAGS_PER_BLOCK(l_ptr, part) \ -- ( *( (unsigned char *) (((int) l_ptr) + BSD_PART_OFFSET + 13 \ -+ ( *( (unsigned char *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 13 \ - + (part << 4)) ) ) - - #define BSD_PART_EXTRA(l_ptr, part) \ -- ( *( (unsigned short *) (((int) l_ptr) + BSD_PART_OFFSET + 14 \ -+ ( *( (unsigned short *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 14 \ - + (part << 4)) ) ) - - -diff --git a/stage2/serial.c b/stage2/serial.c -index 16c376f..37b9532 100644 ---- a/stage2/serial.c -+++ b/stage2/serial.c -@@ -37,7 +37,7 @@ static int keep_track = 1; - - /* Hardware-dependent definitions. */ - --#ifndef GRUB_UTIL -+#if ! defined (GRUB_UTIL) && ! defined (PLATFORM_EFI) - /* The structure for speed vs. divisor. */ - struct divisor - { -@@ -187,7 +187,7 @@ serial_hw_init (unsigned short port, unsigned int speed, - - return 1; - } --#endif /* ! GRUB_UTIL */ -+#endif /* ! defined (GRUB_UTIL) && ! defined (PLATFORM_EFI) */ - - - /* Generic definitions. */ -diff --git a/stage2/sha256crypt.c b/stage2/sha256crypt.c -new file mode 100644 -index 0000000..db168a2 ---- /dev/null -+++ b/stage2/sha256crypt.c -@@ -0,0 +1,723 @@ -+/* SHA256-based Unix crypt implementation. -+ Released into the Public Domain by Ulrich Drepper . -+ Adapted for grub by Miloslav Trmac . */ -+ -+#include -+#include -+ -+#include -+ -+typedef unsigned int uint32_t; -+typedef size_t uintptr_t; -+#define alloca(SIZE) (__builtin_alloca (SIZE)) -+#define MIN(A, B) ((A) < (B) ? (A) : (B)) -+#define MAX(A, B) ((A) > (B) ? (A) : (B)) -+ -+/* Structure to save state of computation between the single steps. */ -+struct sha256_ctx -+{ -+ uint32_t H[8]; -+ -+ uint32_t total[2]; -+ uint32_t buflen; -+ char buffer[128]; /* NB: always correctly aligned for uint32_t. */ -+}; -+ -+ -+#if 1 /* __BYTE_ORDER == __LITTLE_ENDIAN */ -+# define SWAP(n) \ -+ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) -+#else -+# define SWAP(n) (n) -+#endif -+ -+ -+/* This array contains the bytes used to pad the buffer to the next -+ 64-byte boundary. (FIPS 180-2:5.1.1) */ -+static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; -+ -+ -+/* Constants for SHA256 from FIPS 180-2:4.2.2. */ -+static const uint32_t K[64] = -+ { -+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, -+ 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, -+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, -+ 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, -+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, -+ 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, -+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, -+ 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, -+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, -+ 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, -+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, -+ 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, -+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, -+ 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, -+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, -+ 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 -+ }; -+ -+ -+/* Process LEN bytes of BUFFER, accumulating context into CTX. -+ It is assumed that LEN % 64 == 0. */ -+static void -+sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx) -+{ -+ const uint32_t *words = buffer; -+ size_t nwords = len / sizeof (uint32_t); -+ uint32_t a = ctx->H[0]; -+ uint32_t b = ctx->H[1]; -+ uint32_t c = ctx->H[2]; -+ uint32_t d = ctx->H[3]; -+ uint32_t e = ctx->H[4]; -+ uint32_t f = ctx->H[5]; -+ uint32_t g = ctx->H[6]; -+ uint32_t h = ctx->H[7]; -+ -+ /* First increment the byte count. FIPS 180-2 specifies the possible -+ length of the file up to 2^64 bits. Here we only compute the -+ number of bytes. Do a double word increment. */ -+ ctx->total[0] += len; -+ if (ctx->total[0] < len) -+ ++ctx->total[1]; -+ -+ /* Process all bytes in the buffer with 64 bytes in each round of -+ the loop. */ -+ while (nwords > 0) -+ { -+ uint32_t W[64]; -+ uint32_t a_save = a; -+ uint32_t b_save = b; -+ uint32_t c_save = c; -+ uint32_t d_save = d; -+ uint32_t e_save = e; -+ uint32_t f_save = f; -+ uint32_t g_save = g; -+ uint32_t h_save = h; -+ unsigned int t; -+ -+ /* Operators defined in FIPS 180-2:4.1.2. */ -+#define Ch(x, y, z) ((x & y) ^ (~x & z)) -+#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z)) -+#define S0(x) (CYCLIC (x, 2) ^ CYCLIC (x, 13) ^ CYCLIC (x, 22)) -+#define S1(x) (CYCLIC (x, 6) ^ CYCLIC (x, 11) ^ CYCLIC (x, 25)) -+#define R0(x) (CYCLIC (x, 7) ^ CYCLIC (x, 18) ^ (x >> 3)) -+#define R1(x) (CYCLIC (x, 17) ^ CYCLIC (x, 19) ^ (x >> 10)) -+ -+ /* It is unfortunate that C does not provide an operator for -+ cyclic rotation. Hope the C compiler is smart enough. */ -+#define CYCLIC(w, s) ((w >> s) | (w << (32 - s))) -+ -+ /* Compute the message schedule according to FIPS 180-2:6.2.2 step 2. */ -+ for (t = 0; t < 16; ++t) -+ { -+ W[t] = SWAP (*words); -+ ++words; -+ } -+ for (t = 16; t < 64; ++t) -+ W[t] = R1 (W[t - 2]) + W[t - 7] + R0 (W[t - 15]) + W[t - 16]; -+ -+ /* The actual computation according to FIPS 180-2:6.2.2 step 3. */ -+ for (t = 0; t < 64; ++t) -+ { -+ uint32_t T1 = h + S1 (e) + Ch (e, f, g) + K[t] + W[t]; -+ uint32_t T2 = S0 (a) + Maj (a, b, c); -+ h = g; -+ g = f; -+ f = e; -+ e = d + T1; -+ d = c; -+ c = b; -+ b = a; -+ a = T1 + T2; -+ } -+ -+ /* Add the starting values of the context according to FIPS 180-2:6.2.2 -+ step 4. */ -+ a += a_save; -+ b += b_save; -+ c += c_save; -+ d += d_save; -+ e += e_save; -+ f += f_save; -+ g += g_save; -+ h += h_save; -+ -+ /* Prepare for the next round. */ -+ nwords -= 16; -+ } -+ -+ /* Put checksum in context given as argument. */ -+ ctx->H[0] = a; -+ ctx->H[1] = b; -+ ctx->H[2] = c; -+ ctx->H[3] = d; -+ ctx->H[4] = e; -+ ctx->H[5] = f; -+ ctx->H[6] = g; -+ ctx->H[7] = h; -+} -+ -+ -+/* Initialize structure containing state of computation. -+ (FIPS 180-2:5.3.2) */ -+static void -+sha256_init_ctx (struct sha256_ctx *ctx) -+{ -+ ctx->H[0] = 0x6a09e667; -+ ctx->H[1] = 0xbb67ae85; -+ ctx->H[2] = 0x3c6ef372; -+ ctx->H[3] = 0xa54ff53a; -+ ctx->H[4] = 0x510e527f; -+ ctx->H[5] = 0x9b05688c; -+ ctx->H[6] = 0x1f83d9ab; -+ ctx->H[7] = 0x5be0cd19; -+ -+ ctx->total[0] = ctx->total[1] = 0; -+ ctx->buflen = 0; -+} -+ -+ -+/* Process the remaining bytes in the internal buffer and the usual -+ prolog according to the standard and write the result to RESBUF. -+ -+ IMPORTANT: On some systems it is required that RESBUF is correctly -+ aligned for a 32 bits value. */ -+static void * -+sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf) -+{ -+ /* Take yet unprocessed bytes into account. */ -+ uint32_t bytes = ctx->buflen; -+ size_t pad; -+ unsigned int i; -+ -+ /* Now count remaining bytes. */ -+ ctx->total[0] += bytes; -+ if (ctx->total[0] < bytes) -+ ++ctx->total[1]; -+ -+ pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes; -+ memcpy (&ctx->buffer[bytes], fillbuf, pad); -+ -+ /* Put the 64-bit file length in *bits* at the end of the buffer. */ -+ *(uint32_t *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3); -+ *(uint32_t *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) | -+ (ctx->total[0] >> 29)); -+ -+ /* Process last bytes. */ -+ sha256_process_block (ctx->buffer, bytes + pad + 8, ctx); -+ -+ /* Put result from CTX in first 32 bytes following RESBUF. */ -+ for (i = 0; i < 8; ++i) -+ ((uint32_t *) resbuf)[i] = SWAP (ctx->H[i]); -+ -+ return resbuf; -+} -+ -+ -+static void -+sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx) -+{ -+ /* When we already have some bits in our internal buffer concatenate -+ both inputs first. */ -+ if (ctx->buflen != 0) -+ { -+ size_t left_over = ctx->buflen; -+ size_t add = 128 - left_over > len ? len : 128 - left_over; -+ -+ memcpy (&ctx->buffer[left_over], buffer, add); -+ ctx->buflen += add; -+ -+ if (ctx->buflen > 64) -+ { -+ sha256_process_block (ctx->buffer, ctx->buflen & ~63, ctx); -+ -+ ctx->buflen &= 63; -+ /* The regions in the following copy operation cannot overlap. */ -+ memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~63], -+ ctx->buflen); -+ } -+ -+ buffer = (const char *) buffer + add; -+ len -= add; -+ } -+ -+ /* Process available complete blocks. */ -+ if (len >= 64) -+ { -+/* To check alignment gcc has an appropriate operator. Other -+ compilers don't. */ -+#if __GNUC__ >= 2 -+# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0) -+#else -+# define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint32_t) != 0) -+#endif -+ if (UNALIGNED_P (buffer)) -+ while (len > 64) -+ { -+ sha256_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); -+ buffer = (const char *) buffer + 64; -+ len -= 64; -+ } -+ else -+ { -+ sha256_process_block (buffer, len & ~63, ctx); -+ buffer = (const char *) buffer + (len & ~63); -+ len &= 63; -+ } -+ } -+ -+ /* Move remaining bytes into internal buffer. */ -+ if (len > 0) -+ { -+ size_t left_over = ctx->buflen; -+ -+ memcpy (&ctx->buffer[left_over], buffer, len); -+ left_over += len; -+ if (left_over >= 64) -+ { -+ sha256_process_block (ctx->buffer, 64, ctx); -+ left_over -= 64; -+ memcpy (ctx->buffer, &ctx->buffer[64], left_over); -+ } -+ ctx->buflen = left_over; -+ } -+} -+ -+ -+/* Define our magic string to mark salt for SHA256 "encryption" -+ replacement. */ -+static const char sha256_salt_prefix[] = "$5$"; -+ -+/* Prefix for optional rounds specification. */ -+static const char sha256_rounds_prefix[] = "rounds="; -+ -+/* Maximum salt string length. */ -+#define SALT_LEN_MAX 16 -+/* Default number of rounds if not explicitly specified. */ -+#define ROUNDS_DEFAULT 5000 -+/* Minimum number of rounds. */ -+#define ROUNDS_MIN 1000 -+/* Maximum number of rounds. */ -+#define ROUNDS_MAX 999999999 -+ -+/* Table with characters for base64 transformation. */ -+static const char b64t[64] = -+"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -+ -+ -+static char * -+sha256_crypt_r (const char *key, const char *salt, char *buffer, int buflen) -+{ -+ unsigned char alt_result[32] -+ __attribute__ ((__aligned__ (__alignof__ (uint32_t)))); -+ unsigned char temp_result[32] -+ __attribute__ ((__aligned__ (__alignof__ (uint32_t)))); -+ struct sha256_ctx ctx; -+ struct sha256_ctx alt_ctx; -+ size_t salt_len; -+ size_t key_len; -+ size_t cnt; -+ char *cp; -+ char *copied_key = NULL; -+ char *copied_salt = NULL; -+ char *p_bytes; -+ char *s_bytes; -+ /* Default number of rounds. */ -+ size_t rounds = ROUNDS_DEFAULT; -+ bool rounds_custom = false; -+ -+ /* Find beginning of salt string. The prefix should normally always -+ be present. Just in case it is not. */ -+ if (grub_memcmp (sha256_salt_prefix, salt, -+ sizeof (sha256_salt_prefix) - 1) == 0) -+ /* Skip salt prefix. */ -+ salt += sizeof (sha256_salt_prefix) - 1; -+ -+ if (grub_memcmp (salt, sha256_rounds_prefix, -+ sizeof (sha256_rounds_prefix) - 1) == 0) -+ { -+ const char *num = salt + sizeof (sha256_rounds_prefix) - 1; -+ char *endp = (char *)num; -+ int srounds = 0; -+ if (*endp == '0' && tolower (endp[1]) == 'x') -+ /* This would be interpreted as hexadecimal by safe_parse_maxint(). */ -+ endp++; -+ else -+ /* On error, endp and srounds is not changed. */ -+ safe_parse_maxint(&endp, &srounds); -+ if (*endp == '$') -+ { -+ salt = endp + 1; -+ rounds = MAX (ROUNDS_MIN, MIN (srounds, ROUNDS_MAX)); -+ rounds_custom = true; -+ } -+ } -+ -+ salt_len = MIN (strcspn (salt, "$"), SALT_LEN_MAX); -+ key_len = strlen (key); -+ -+ if ((key - (char *) 0) % __alignof__ (uint32_t) != 0) -+ { -+ char *tmp = (char *) alloca (key_len + __alignof__ (uint32_t)); -+ key = copied_key = -+ memcpy (tmp + __alignof__ (uint32_t) -+ - (tmp - (char *) 0) % __alignof__ (uint32_t), -+ key, key_len); -+ } -+ -+ if ((salt - (char *) 0) % __alignof__ (uint32_t) != 0) -+ { -+ char *tmp = (char *) alloca (salt_len + __alignof__ (uint32_t)); -+ salt = copied_salt = -+ memcpy (tmp + __alignof__ (uint32_t) -+ - (tmp - (char *) 0) % __alignof__ (uint32_t), -+ salt, salt_len); -+ } -+ -+ /* Prepare for the real work. */ -+ sha256_init_ctx (&ctx); -+ -+ /* Add the key string. */ -+ sha256_process_bytes (key, key_len, &ctx); -+ -+ /* The last part is the salt string. This must be at most 16 -+ characters and it ends at the first `$' character (for -+ compatibility with existing implementations). */ -+ sha256_process_bytes (salt, salt_len, &ctx); -+ -+ -+ /* Compute alternate SHA256 sum with input KEY, SALT, and KEY. The -+ final result will be added to the first context. */ -+ sha256_init_ctx (&alt_ctx); -+ -+ /* Add key. */ -+ sha256_process_bytes (key, key_len, &alt_ctx); -+ -+ /* Add salt. */ -+ sha256_process_bytes (salt, salt_len, &alt_ctx); -+ -+ /* Add key again. */ -+ sha256_process_bytes (key, key_len, &alt_ctx); -+ -+ /* Now get result of this (32 bytes) and add it to the other -+ context. */ -+ sha256_finish_ctx (&alt_ctx, alt_result); -+ -+ /* Add for any character in the key one byte of the alternate sum. */ -+ for (cnt = key_len; cnt > 32; cnt -= 32) -+ sha256_process_bytes (alt_result, 32, &ctx); -+ sha256_process_bytes (alt_result, cnt, &ctx); -+ -+ /* Take the binary representation of the length of the key and for every -+ 1 add the alternate sum, for every 0 the key. */ -+ for (cnt = key_len; cnt > 0; cnt >>= 1) -+ if ((cnt & 1) != 0) -+ sha256_process_bytes (alt_result, 32, &ctx); -+ else -+ sha256_process_bytes (key, key_len, &ctx); -+ -+ /* Create intermediate result. */ -+ sha256_finish_ctx (&ctx, alt_result); -+ -+ /* Start computation of P byte sequence. */ -+ sha256_init_ctx (&alt_ctx); -+ -+ /* For every character in the password add the entire password. */ -+ for (cnt = 0; cnt < key_len; ++cnt) -+ sha256_process_bytes (key, key_len, &alt_ctx); -+ -+ /* Finish the digest. */ -+ sha256_finish_ctx (&alt_ctx, temp_result); -+ -+ /* Create byte sequence P. */ -+ cp = p_bytes = alloca (key_len); -+ for (cnt = key_len; cnt >= 32; cnt -= 32) -+ { -+ memcpy (cp, temp_result, 32); -+ cp += 32; -+ } -+ memcpy (cp, temp_result, cnt); -+ -+ /* Start computation of S byte sequence. */ -+ sha256_init_ctx (&alt_ctx); -+ -+ /* For every character in the password add the entire password. */ -+ for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt) -+ sha256_process_bytes (salt, salt_len, &alt_ctx); -+ -+ /* Finish the digest. */ -+ sha256_finish_ctx (&alt_ctx, temp_result); -+ -+ /* Create byte sequence S. */ -+ cp = s_bytes = alloca (salt_len); -+ for (cnt = salt_len; cnt >= 32; cnt -= 32) -+ { -+ memcpy (cp, temp_result, 32); -+ cp += 32; -+ } -+ memcpy (cp, temp_result, cnt); -+ -+ /* Repeatedly run the collected hash value through SHA256 to burn -+ CPU cycles. */ -+ for (cnt = 0; cnt < rounds; ++cnt) -+ { -+ /* New context. */ -+ sha256_init_ctx (&ctx); -+ -+ /* Add key or last result. */ -+ if ((cnt & 1) != 0) -+ sha256_process_bytes (p_bytes, key_len, &ctx); -+ else -+ sha256_process_bytes (alt_result, 32, &ctx); -+ -+ /* Add salt for numbers not divisible by 3. */ -+ if (cnt % 3 != 0) -+ sha256_process_bytes (s_bytes, salt_len, &ctx); -+ -+ /* Add key for numbers not divisible by 7. */ -+ if (cnt % 7 != 0) -+ sha256_process_bytes (p_bytes, key_len, &ctx); -+ -+ /* Add key or last result. */ -+ if ((cnt & 1) != 0) -+ sha256_process_bytes (alt_result, 32, &ctx); -+ else -+ sha256_process_bytes (p_bytes, key_len, &ctx); -+ -+ /* Create intermediate result. */ -+ sha256_finish_ctx (&ctx, alt_result); -+ } -+ -+ /* Now we can construct the result string. It consists of three -+ parts. */ -+ cp = stpncpy (buffer, sha256_salt_prefix, MAX (0, buflen)); -+ buflen -= sizeof (sha256_salt_prefix) - 1; -+ -+ if (rounds_custom) -+ { -+ char sbuf[64]; -+ grub_sprintf (sbuf, "%s%llu$", sha256_rounds_prefix, -+ (unsigned long long)rounds); -+ size_t n = strlen (sbuf); -+ memcpy (cp, sbuf, MIN (MAX (0, buflen), n)); -+ cp += n; -+ buflen -= n; -+ } -+ -+ cp = stpncpy (cp, salt, MIN ((size_t) MAX (0, buflen), salt_len)); -+ buflen -= MIN ((size_t) MAX (0, buflen), salt_len); -+ -+ if (buflen > 0) -+ { -+ *cp++ = '$'; -+ --buflen; -+ } -+ -+#define b64_from_24bit(B2, B1, B0, N) \ -+ do { \ -+ unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0); \ -+ int n = (N); \ -+ while (n-- > 0 && buflen > 0) \ -+ { \ -+ *cp++ = b64t[w & 0x3f]; \ -+ --buflen; \ -+ w >>= 6; \ -+ } \ -+ } while (0) -+ -+ b64_from_24bit (alt_result[0], alt_result[10], alt_result[20], 4); -+ b64_from_24bit (alt_result[21], alt_result[1], alt_result[11], 4); -+ b64_from_24bit (alt_result[12], alt_result[22], alt_result[2], 4); -+ b64_from_24bit (alt_result[3], alt_result[13], alt_result[23], 4); -+ b64_from_24bit (alt_result[24], alt_result[4], alt_result[14], 4); -+ b64_from_24bit (alt_result[15], alt_result[25], alt_result[5], 4); -+ b64_from_24bit (alt_result[6], alt_result[16], alt_result[26], 4); -+ b64_from_24bit (alt_result[27], alt_result[7], alt_result[17], 4); -+ b64_from_24bit (alt_result[18], alt_result[28], alt_result[8], 4); -+ b64_from_24bit (alt_result[9], alt_result[19], alt_result[29], 4); -+ b64_from_24bit (0, alt_result[31], alt_result[30], 3); -+ if (buflen <= 0) -+ buffer = NULL; -+ else -+ *cp = '\0'; /* Terminate the string. */ -+ -+ /* Clear the buffer for the intermediate result so that people -+ attaching to processes or reading core dumps cannot get any -+ information. We do it in this way to clear correct_words[] -+ inside the SHA256 implementation as well. */ -+ sha256_init_ctx (&ctx); -+ sha256_finish_ctx (&ctx, alt_result); -+ memset (temp_result, '\0', sizeof (temp_result)); -+ memset (p_bytes, '\0', key_len); -+ memset (s_bytes, '\0', salt_len); -+ memset (&ctx, '\0', sizeof (ctx)); -+ memset (&alt_ctx, '\0', sizeof (alt_ctx)); -+ if (copied_key != NULL) -+ memset (copied_key, '\0', key_len); -+ if (copied_salt != NULL) -+ memset (copied_salt, '\0', salt_len); -+ -+ return buffer; -+} -+ -+ -+/* This entry point is equivalent to the `crypt' function in Unix -+ libcs. */ -+char * -+sha256_crypt (const char *key, const char *salt) -+{ -+ static char buffer[sizeof (sha256_salt_prefix) - 1 -+ + sizeof (sha256_rounds_prefix) + 9 + 1 -+ + 256 + 1 + 43 + 1]; /* 256 bytes for salt */ -+ int needed = (sizeof (sha256_salt_prefix) - 1 -+ + sizeof (sha256_rounds_prefix) + 9 + 1 -+ + strlen (salt) + 1 + 43 + 1); -+ -+ if (sizeof (buffer) < needed) -+ return NULL; -+ -+ return sha256_crypt_r (key, salt, buffer, sizeof (buffer)); -+} -+ -+ -+#ifdef TEST -+static const struct -+{ -+ const char *input; -+ const char result[32]; -+} tests[] = -+ { -+ /* Test vectors from FIPS 180-2: appendix B.1. */ -+ { "abc", -+ "\xba\x78\x16\xbf\x8f\x01\xcf\xea\x41\x41\x40\xde\x5d\xae\x22\x23" -+ "\xb0\x03\x61\xa3\x96\x17\x7a\x9c\xb4\x10\xff\x61\xf2\x00\x15\xad" }, -+ /* Test vectors from FIPS 180-2: appendix B.2. */ -+ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", -+ "\x24\x8d\x6a\x61\xd2\x06\x38\xb8\xe5\xc0\x26\x93\x0c\x3e\x60\x39" -+ "\xa3\x3c\xe4\x59\x64\xff\x21\x67\xf6\xec\xed\xd4\x19\xdb\x06\xc1" }, -+ /* Test vectors from the NESSIE project. */ -+ { "", -+ "\xe3\xb0\xc4\x42\x98\xfc\x1c\x14\x9a\xfb\xf4\xc8\x99\x6f\xb9\x24" -+ "\x27\xae\x41\xe4\x64\x9b\x93\x4c\xa4\x95\x99\x1b\x78\x52\xb8\x55" }, -+ { "a", -+ "\xca\x97\x81\x12\xca\x1b\xbd\xca\xfa\xc2\x31\xb3\x9a\x23\xdc\x4d" -+ "\xa7\x86\xef\xf8\x14\x7c\x4e\x72\xb9\x80\x77\x85\xaf\xee\x48\xbb" }, -+ { "message digest", -+ "\xf7\x84\x6f\x55\xcf\x23\xe1\x4e\xeb\xea\xb5\xb4\xe1\x55\x0c\xad" -+ "\x5b\x50\x9e\x33\x48\xfb\xc4\xef\xa3\xa1\x41\x3d\x39\x3c\xb6\x50" }, -+ { "abcdefghijklmnopqrstuvwxyz", -+ "\x71\xc4\x80\xdf\x93\xd6\xae\x2f\x1e\xfa\xd1\x44\x7c\x66\xc9\x52" -+ "\x5e\x31\x62\x18\xcf\x51\xfc\x8d\x9e\xd8\x32\xf2\xda\xf1\x8b\x73" }, -+ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", -+ "\x24\x8d\x6a\x61\xd2\x06\x38\xb8\xe5\xc0\x26\x93\x0c\x3e\x60\x39" -+ "\xa3\x3c\xe4\x59\x64\xff\x21\x67\xf6\xec\xed\xd4\x19\xdb\x06\xc1" }, -+ { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", -+ "\xdb\x4b\xfc\xbd\x4d\xa0\xcd\x85\xa6\x0c\x3c\x37\xd3\xfb\xd8\x80" -+ "\x5c\x77\xf1\x5f\xc6\xb1\xfd\xfe\x61\x4e\xe0\xa7\xc8\xfd\xb4\xc0" }, -+ { "123456789012345678901234567890123456789012345678901234567890" -+ "12345678901234567890", -+ "\xf3\x71\xbc\x4a\x31\x1f\x2b\x00\x9e\xef\x95\x2d\xd8\x3c\xa8\x0e" -+ "\x2b\x60\x02\x6c\x8e\x93\x55\x92\xd0\xf9\xc3\x08\x45\x3c\x81\x3e" } -+ }; -+#define ntests (sizeof (tests) / sizeof (tests[0])) -+ -+ -+static const struct -+{ -+ const char *salt; -+ const char *input; -+ const char *expected; -+} tests2[] = -+{ -+ { "$5$saltstring", "Hello world!", -+ "$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5" }, -+ { "$5$rounds=10000$saltstringsaltstring", "Hello world!", -+ "$5$rounds=10000$saltstringsaltst$3xv.VbSHBb41AL9AvLeujZkZRBAwqFMz2." -+ "opqey6IcA" }, -+ { "$5$rounds=5000$toolongsaltstring", "This is just a test", -+ "$5$rounds=5000$toolongsaltstrin$Un/5jzAHMgOGZ5.mWJpuVolil07guHPvOW8" -+ "mGRcvxa5" }, -+ { "$5$rounds=1400$anotherlongsaltstring", -+ "a very much longer text to encrypt. This one even stretches over more" -+ "than one line.", -+ "$5$rounds=1400$anotherlongsalts$Rx.j8H.h8HjEDGomFU8bDkXm3XIUnzyxf12" -+ "oP84Bnq1" }, -+ { "$5$rounds=77777$short", -+ "we have a short salt string but not a short password", -+ "$5$rounds=77777$short$JiO1O3ZpDAxGJeaDIuqCoEFysAe1mZNJRs3pw0KQRd/" }, -+ { "$5$rounds=123456$asaltof16chars..", "a short string", -+ "$5$rounds=123456$asaltof16chars..$gP3VQ/6X7UUEW3HkBn2w1/Ptq2jxPyzV/" -+ "cZKmF/wJvD" }, -+ { "$5$rounds=10$roundstoolow", "the minimum number is still observed", -+ "$5$rounds=1000$roundstoolow$yfvwcWrQ8l/K0DAWyuPMDNHpIVlTQebY9l/gL97" -+ "2bIC" }, -+}; -+#define ntests2 (sizeof (tests2) / sizeof (tests2[0])) -+ -+ -+int -+sha256_test (void) -+{ -+ struct sha256_ctx ctx; -+ char sum[32]; -+ int result = 0; -+ int cnt, i; -+ -+ for (cnt = 0; cnt < (int) ntests; ++cnt) -+ { -+ sha256_init_ctx (&ctx); -+ sha256_process_bytes (tests[cnt].input, strlen (tests[cnt].input), &ctx); -+ sha256_finish_ctx (&ctx, sum); -+ if (memcmp (tests[cnt].result, sum, 32) != 0) -+ { -+ printf ("test %d run %d failed\n", cnt, 1); -+ result = 1; -+ } -+ -+ sha256_init_ctx (&ctx); -+ for (i = 0; tests[cnt].input[i] != '\0'; ++i) -+ sha256_process_bytes (&tests[cnt].input[i], 1, &ctx); -+ sha256_finish_ctx (&ctx, sum); -+ if (memcmp (tests[cnt].result, sum, 32) != 0) -+ { -+ printf ("test %d run %d failed\n", cnt, 2); -+ result = 1; -+ } -+ } -+ -+ /* Test vector from FIPS 180-2: appendix B.3. */ -+ char buf[1000]; -+ memset (buf, 'a', sizeof (buf)); -+ sha256_init_ctx (&ctx); -+ for (i = 0; i < 1000; ++i) -+ sha256_process_bytes (buf, sizeof (buf), &ctx); -+ sha256_finish_ctx (&ctx, sum); -+ static const char expected[32] = -+ "\xcd\xc7\x6e\x5c\x99\x14\xfb\x92\x81\xa1\xc7\xe2\x84\xd7\x3e\x67" -+ "\xf1\x80\x9a\x48\xa4\x97\x20\x0e\x04\x6d\x39\xcc\xc7\x11\x2c\xd0"; -+ if (memcmp (expected, sum, 32) != 0) -+ { -+ printf ("test %d failed\n", cnt); -+ result = 1; -+ } -+ -+ for (cnt = 0; cnt < ntests2; ++cnt) -+ { -+ char *cp = sha256_crypt (tests2[cnt].input, tests2[cnt].salt); -+ -+ if (strcmp (cp, tests2[cnt].expected) != 0) -+ { -+ printf ("test %d: expected \"%s\", got \"%s\"\n", -+ cnt, tests2[cnt].expected, cp); -+ result = 1; -+ } -+ } -+ -+ if (result == 0) -+ printf ("all tests OK\n"); -+ -+ return result; -+} -+#endif -diff --git a/stage2/sha512crypt.c b/stage2/sha512crypt.c -new file mode 100644 -index 0000000..ff6cd26 ---- /dev/null -+++ b/stage2/sha512crypt.c -@@ -0,0 +1,795 @@ -+/* SHA512-based Unix crypt implementation. -+ Released into the Public Domain by Ulrich Drepper . -+ Adapted for grub by Miloslav Trmac . */ -+ -+#include -+#include -+ -+#include -+ -+typedef unsigned long long uint64_t; -+typedef size_t uintptr_t; -+#define alloca(SIZE) (__builtin_alloca (SIZE)) -+#define UINT64_C(X) X ## ULL -+#define MIN(a, b) ((a) < (b) ? (a) : (b)) -+#define MAX(a, b) ((a) > (b) ? (a) : (b)) -+ -+/* Structure to save state of computation between the single steps. */ -+struct sha512_ctx -+{ -+ uint64_t H[8]; -+ -+ uint64_t total[2]; -+ uint64_t buflen; -+ char buffer[256]; /* NB: always correctly aligned for uint64_t. */ -+}; -+ -+ -+#if 1 /* __BYTE_ORDER == __LITTLE_ENDIAN */ -+# define SWAP(n) \ -+ (((n) << 56) \ -+ | (((n) & 0xff00) << 40) \ -+ | (((n) & 0xff0000) << 24) \ -+ | (((n) & 0xff000000) << 8) \ -+ | (((n) >> 8) & 0xff000000) \ -+ | (((n) >> 24) & 0xff0000) \ -+ | (((n) >> 40) & 0xff00) \ -+ | ((n) >> 56)) -+#else -+# define SWAP(n) (n) -+#endif -+ -+ -+/* This array contains the bytes used to pad the buffer to the next -+ 64-byte boundary. (FIPS 180-2:5.1.2) */ -+static const unsigned char fillbuf[128] = { 0x80, 0 /* , 0, 0, ... */ }; -+ -+ -+/* Constants for SHA512 from FIPS 180-2:4.2.3. */ -+static const uint64_t K[80] = -+ { -+ UINT64_C (0x428a2f98d728ae22), UINT64_C (0x7137449123ef65cd), -+ UINT64_C (0xb5c0fbcfec4d3b2f), UINT64_C (0xe9b5dba58189dbbc), -+ UINT64_C (0x3956c25bf348b538), UINT64_C (0x59f111f1b605d019), -+ UINT64_C (0x923f82a4af194f9b), UINT64_C (0xab1c5ed5da6d8118), -+ UINT64_C (0xd807aa98a3030242), UINT64_C (0x12835b0145706fbe), -+ UINT64_C (0x243185be4ee4b28c), UINT64_C (0x550c7dc3d5ffb4e2), -+ UINT64_C (0x72be5d74f27b896f), UINT64_C (0x80deb1fe3b1696b1), -+ UINT64_C (0x9bdc06a725c71235), UINT64_C (0xc19bf174cf692694), -+ UINT64_C (0xe49b69c19ef14ad2), UINT64_C (0xefbe4786384f25e3), -+ UINT64_C (0x0fc19dc68b8cd5b5), UINT64_C (0x240ca1cc77ac9c65), -+ UINT64_C (0x2de92c6f592b0275), UINT64_C (0x4a7484aa6ea6e483), -+ UINT64_C (0x5cb0a9dcbd41fbd4), UINT64_C (0x76f988da831153b5), -+ UINT64_C (0x983e5152ee66dfab), UINT64_C (0xa831c66d2db43210), -+ UINT64_C (0xb00327c898fb213f), UINT64_C (0xbf597fc7beef0ee4), -+ UINT64_C (0xc6e00bf33da88fc2), UINT64_C (0xd5a79147930aa725), -+ UINT64_C (0x06ca6351e003826f), UINT64_C (0x142929670a0e6e70), -+ UINT64_C (0x27b70a8546d22ffc), UINT64_C (0x2e1b21385c26c926), -+ UINT64_C (0x4d2c6dfc5ac42aed), UINT64_C (0x53380d139d95b3df), -+ UINT64_C (0x650a73548baf63de), UINT64_C (0x766a0abb3c77b2a8), -+ UINT64_C (0x81c2c92e47edaee6), UINT64_C (0x92722c851482353b), -+ UINT64_C (0xa2bfe8a14cf10364), UINT64_C (0xa81a664bbc423001), -+ UINT64_C (0xc24b8b70d0f89791), UINT64_C (0xc76c51a30654be30), -+ UINT64_C (0xd192e819d6ef5218), UINT64_C (0xd69906245565a910), -+ UINT64_C (0xf40e35855771202a), UINT64_C (0x106aa07032bbd1b8), -+ UINT64_C (0x19a4c116b8d2d0c8), UINT64_C (0x1e376c085141ab53), -+ UINT64_C (0x2748774cdf8eeb99), UINT64_C (0x34b0bcb5e19b48a8), -+ UINT64_C (0x391c0cb3c5c95a63), UINT64_C (0x4ed8aa4ae3418acb), -+ UINT64_C (0x5b9cca4f7763e373), UINT64_C (0x682e6ff3d6b2b8a3), -+ UINT64_C (0x748f82ee5defb2fc), UINT64_C (0x78a5636f43172f60), -+ UINT64_C (0x84c87814a1f0ab72), UINT64_C (0x8cc702081a6439ec), -+ UINT64_C (0x90befffa23631e28), UINT64_C (0xa4506cebde82bde9), -+ UINT64_C (0xbef9a3f7b2c67915), UINT64_C (0xc67178f2e372532b), -+ UINT64_C (0xca273eceea26619c), UINT64_C (0xd186b8c721c0c207), -+ UINT64_C (0xeada7dd6cde0eb1e), UINT64_C (0xf57d4f7fee6ed178), -+ UINT64_C (0x06f067aa72176fba), UINT64_C (0x0a637dc5a2c898a6), -+ UINT64_C (0x113f9804bef90dae), UINT64_C (0x1b710b35131c471b), -+ UINT64_C (0x28db77f523047d84), UINT64_C (0x32caab7b40c72493), -+ UINT64_C (0x3c9ebe0a15c9bebc), UINT64_C (0x431d67c49c100d4c), -+ UINT64_C (0x4cc5d4becb3e42b6), UINT64_C (0x597f299cfc657e2a), -+ UINT64_C (0x5fcb6fab3ad6faec), UINT64_C (0x6c44198c4a475817) -+ }; -+ -+ -+/* Process LEN bytes of BUFFER, accumulating context into CTX. -+ It is assumed that LEN % 128 == 0. */ -+static void -+sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx) -+{ -+ const uint64_t *words = buffer; -+ size_t nwords = len / sizeof (uint64_t); -+ uint64_t a = ctx->H[0]; -+ uint64_t b = ctx->H[1]; -+ uint64_t c = ctx->H[2]; -+ uint64_t d = ctx->H[3]; -+ uint64_t e = ctx->H[4]; -+ uint64_t f = ctx->H[5]; -+ uint64_t g = ctx->H[6]; -+ uint64_t h = ctx->H[7]; -+ -+ /* First increment the byte count. FIPS 180-2 specifies the possible -+ length of the file up to 2^128 bits. Here we only compute the -+ number of bytes. Do a double word increment. */ -+ ctx->total[0] += len; -+ if (ctx->total[0] < len) -+ ++ctx->total[1]; -+ -+ /* Process all bytes in the buffer with 128 bytes in each round of -+ the loop. */ -+ while (nwords > 0) -+ { -+ uint64_t W[80]; -+ uint64_t a_save = a; -+ uint64_t b_save = b; -+ uint64_t c_save = c; -+ uint64_t d_save = d; -+ uint64_t e_save = e; -+ uint64_t f_save = f; -+ uint64_t g_save = g; -+ uint64_t h_save = h; -+ unsigned int t; -+ -+ /* Operators defined in FIPS 180-2:4.1.2. */ -+#define Ch(x, y, z) ((x & y) ^ (~x & z)) -+#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z)) -+#define S0(x) (CYCLIC (x, 28) ^ CYCLIC (x, 34) ^ CYCLIC (x, 39)) -+#define S1(x) (CYCLIC (x, 14) ^ CYCLIC (x, 18) ^ CYCLIC (x, 41)) -+#define R0(x) (CYCLIC (x, 1) ^ CYCLIC (x, 8) ^ (x >> 7)) -+#define R1(x) (CYCLIC (x, 19) ^ CYCLIC (x, 61) ^ (x >> 6)) -+ -+ /* It is unfortunate that C does not provide an operator for -+ cyclic rotation. Hope the C compiler is smart enough. */ -+#define CYCLIC(w, s) ((w >> s) | (w << (64 - s))) -+ -+ /* Compute the message schedule according to FIPS 180-2:6.3.2 step 2. */ -+ for (t = 0; t < 16; ++t) -+ { -+ W[t] = SWAP (*words); -+ ++words; -+ } -+ for (t = 16; t < 80; ++t) -+ W[t] = R1 (W[t - 2]) + W[t - 7] + R0 (W[t - 15]) + W[t - 16]; -+ -+ /* The actual computation according to FIPS 180-2:6.3.2 step 3. */ -+ for (t = 0; t < 80; ++t) -+ { -+ uint64_t T1 = h + S1 (e) + Ch (e, f, g) + K[t] + W[t]; -+ uint64_t T2 = S0 (a) + Maj (a, b, c); -+ h = g; -+ g = f; -+ f = e; -+ e = d + T1; -+ d = c; -+ c = b; -+ b = a; -+ a = T1 + T2; -+ } -+ -+ /* Add the starting values of the context according to FIPS 180-2:6.3.2 -+ step 4. */ -+ a += a_save; -+ b += b_save; -+ c += c_save; -+ d += d_save; -+ e += e_save; -+ f += f_save; -+ g += g_save; -+ h += h_save; -+ -+ /* Prepare for the next round. */ -+ nwords -= 16; -+ } -+ -+ /* Put checksum in context given as argument. */ -+ ctx->H[0] = a; -+ ctx->H[1] = b; -+ ctx->H[2] = c; -+ ctx->H[3] = d; -+ ctx->H[4] = e; -+ ctx->H[5] = f; -+ ctx->H[6] = g; -+ ctx->H[7] = h; -+} -+ -+ -+/* Initialize structure containing state of computation. -+ (FIPS 180-2:5.3.3) */ -+static void -+sha512_init_ctx (struct sha512_ctx *ctx) -+{ -+ ctx->H[0] = UINT64_C (0x6a09e667f3bcc908); -+ ctx->H[1] = UINT64_C (0xbb67ae8584caa73b); -+ ctx->H[2] = UINT64_C (0x3c6ef372fe94f82b); -+ ctx->H[3] = UINT64_C (0xa54ff53a5f1d36f1); -+ ctx->H[4] = UINT64_C (0x510e527fade682d1); -+ ctx->H[5] = UINT64_C (0x9b05688c2b3e6c1f); -+ ctx->H[6] = UINT64_C (0x1f83d9abfb41bd6b); -+ ctx->H[7] = UINT64_C (0x5be0cd19137e2179); -+ -+ ctx->total[0] = ctx->total[1] = 0; -+ ctx->buflen = 0; -+} -+ -+ -+/* Process the remaining bytes in the internal buffer and the usual -+ prolog according to the standard and write the result to RESBUF. -+ -+ IMPORTANT: On some systems it is required that RESBUF is correctly -+ aligned for a 32 bits value. */ -+static void * -+sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf) -+{ -+ /* Take yet unprocessed bytes into account. */ -+ uint64_t bytes = ctx->buflen; -+ size_t pad; -+ unsigned int i; -+ -+ /* Now count remaining bytes. */ -+ ctx->total[0] += bytes; -+ if (ctx->total[0] < bytes) -+ ++ctx->total[1]; -+ -+ pad = bytes >= 112 ? 128 + 112 - bytes : 112 - bytes; -+ memcpy (&ctx->buffer[bytes], fillbuf, pad); -+ -+ /* Put the 128-bit file length in *bits* at the end of the buffer. */ -+ *(uint64_t *) &ctx->buffer[bytes + pad + 8] = SWAP (ctx->total[0] << 3); -+ *(uint64_t *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) | -+ (ctx->total[0] >> 61)); -+ -+ /* Process last bytes. */ -+ sha512_process_block (ctx->buffer, bytes + pad + 16, ctx); -+ -+ /* Put result from CTX in first 64 bytes following RESBUF. */ -+ for (i = 0; i < 8; ++i) -+ ((uint64_t *) resbuf)[i] = SWAP (ctx->H[i]); -+ -+ return resbuf; -+} -+ -+ -+static void -+sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx) -+{ -+ /* When we already have some bits in our internal buffer concatenate -+ both inputs first. */ -+ if (ctx->buflen != 0) -+ { -+ size_t left_over = ctx->buflen; -+ size_t add = 256 - left_over > len ? len : 256 - left_over; -+ -+ memcpy (&ctx->buffer[left_over], buffer, add); -+ ctx->buflen += add; -+ -+ if (ctx->buflen > 128) -+ { -+ sha512_process_block (ctx->buffer, ctx->buflen & ~127, ctx); -+ -+ ctx->buflen &= 127; -+ /* The regions in the following copy operation cannot overlap. */ -+ memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~127], -+ ctx->buflen); -+ } -+ -+ buffer = (const char *) buffer + add; -+ len -= add; -+ } -+ -+ /* Process available complete blocks. */ -+ if (len >= 128) -+ { -+/* To check alignment gcc has an appropriate operator. Other -+ compilers don't. */ -+# if __GNUC__ >= 2 -+# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint64_t) != 0) -+# else -+# define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint64_t) != 0) -+# endif -+ if (UNALIGNED_P (buffer)) -+ while (len > 128) -+ { -+ sha512_process_block (memcpy (ctx->buffer, buffer, 128), 128, -+ ctx); -+ buffer = (const char *) buffer + 128; -+ len -= 128; -+ } -+ else -+ { -+ sha512_process_block (buffer, len & ~127, ctx); -+ buffer = (const char *) buffer + (len & ~127); -+ len &= 127; -+ } -+ } -+ -+ /* Move remaining bytes into internal buffer. */ -+ if (len > 0) -+ { -+ size_t left_over = ctx->buflen; -+ -+ memcpy (&ctx->buffer[left_over], buffer, len); -+ left_over += len; -+ if (left_over >= 128) -+ { -+ sha512_process_block (ctx->buffer, 128, ctx); -+ left_over -= 128; -+ memcpy (ctx->buffer, &ctx->buffer[128], left_over); -+ } -+ ctx->buflen = left_over; -+ } -+} -+ -+ -+/* Define our magic string to mark salt for SHA512 "encryption" -+ replacement. */ -+static const char sha512_salt_prefix[] = "$6$"; -+ -+/* Prefix for optional rounds specification. */ -+static const char sha512_rounds_prefix[] = "rounds="; -+ -+/* Maximum salt string length. */ -+#define SALT_LEN_MAX 16 -+/* Default number of rounds if not explicitly specified. */ -+#define ROUNDS_DEFAULT 5000 -+/* Minimum number of rounds. */ -+#define ROUNDS_MIN 1000 -+/* Maximum number of rounds. */ -+#define ROUNDS_MAX 999999999 -+ -+/* Table with characters for base64 transformation. */ -+static const char b64t[64] = -+"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -+ -+ -+static char * -+sha512_crypt_r (const char *key, const char *salt, char *buffer, int buflen) -+{ -+ unsigned char alt_result[64] -+ __attribute__ ((__aligned__ (__alignof__ (uint64_t)))); -+ unsigned char temp_result[64] -+ __attribute__ ((__aligned__ (__alignof__ (uint64_t)))); -+ struct sha512_ctx ctx; -+ struct sha512_ctx alt_ctx; -+ size_t salt_len; -+ size_t key_len; -+ size_t cnt; -+ char *cp; -+ char *copied_key = NULL; -+ char *copied_salt = NULL; -+ char *p_bytes; -+ char *s_bytes; -+ /* Default number of rounds. */ -+ size_t rounds = ROUNDS_DEFAULT; -+ bool rounds_custom = false; -+ -+ /* Find beginning of salt string. The prefix should normally always -+ be present. Just in case it is not. */ -+ if (grub_memcmp (sha512_salt_prefix, salt, -+ sizeof (sha512_salt_prefix) - 1) == 0) -+ /* Skip salt prefix. */ -+ salt += sizeof (sha512_salt_prefix) - 1; -+ -+ if (grub_memcmp (salt, sha512_rounds_prefix, -+ sizeof (sha512_rounds_prefix) - 1) == 0) -+ { -+ const char *num = salt + sizeof (sha512_rounds_prefix) - 1; -+ char *endp = (char *)num; -+ int srounds = 0; -+ if (*endp == '0' && tolower (endp[1]) == 'x') -+ /* This would be interpreted as hexadecimal by safe_parse_maxint(). */ -+ endp++; -+ else -+ /* On error, endp and srounds is not changed. */ -+ safe_parse_maxint(&endp, &srounds); -+ if (*endp == '$') -+ { -+ salt = endp + 1; -+ rounds = MAX (ROUNDS_MIN, MIN (srounds, ROUNDS_MAX)); -+ rounds_custom = true; -+ } -+ } -+ -+ salt_len = MIN (strcspn (salt, "$"), SALT_LEN_MAX); -+ key_len = strlen (key); -+ -+ if ((key - (char *) 0) % __alignof__ (uint64_t) != 0) -+ { -+ char *tmp = (char *) alloca (key_len + __alignof__ (uint64_t)); -+ key = copied_key = -+ memcpy (tmp + __alignof__ (uint64_t) -+ - (tmp - (char *) 0) % __alignof__ (uint64_t), -+ key, key_len); -+ } -+ -+ if ((salt - (char *) 0) % __alignof__ (uint64_t) != 0) -+ { -+ char *tmp = (char *) alloca (salt_len + __alignof__ (uint64_t)); -+ salt = copied_salt = -+ memcpy (tmp + __alignof__ (uint64_t) -+ - (tmp - (char *) 0) % __alignof__ (uint64_t), -+ salt, salt_len); -+ } -+ -+ /* Prepare for the real work. */ -+ sha512_init_ctx (&ctx); -+ -+ /* Add the key string. */ -+ sha512_process_bytes (key, key_len, &ctx); -+ -+ /* The last part is the salt string. This must be at most 16 -+ characters and it ends at the first `$' character (for -+ compatibility with existing implementations). */ -+ sha512_process_bytes (salt, salt_len, &ctx); -+ -+ -+ /* Compute alternate SHA512 sum with input KEY, SALT, and KEY. The -+ final result will be added to the first context. */ -+ sha512_init_ctx (&alt_ctx); -+ -+ /* Add key. */ -+ sha512_process_bytes (key, key_len, &alt_ctx); -+ -+ /* Add salt. */ -+ sha512_process_bytes (salt, salt_len, &alt_ctx); -+ -+ /* Add key again. */ -+ sha512_process_bytes (key, key_len, &alt_ctx); -+ -+ /* Now get result of this (64 bytes) and add it to the other -+ context. */ -+ sha512_finish_ctx (&alt_ctx, alt_result); -+ -+ /* Add for any character in the key one byte of the alternate sum. */ -+ for (cnt = key_len; cnt > 64; cnt -= 64) -+ sha512_process_bytes (alt_result, 64, &ctx); -+ sha512_process_bytes (alt_result, cnt, &ctx); -+ -+ /* Take the binary representation of the length of the key and for every -+ 1 add the alternate sum, for every 0 the key. */ -+ for (cnt = key_len; cnt > 0; cnt >>= 1) -+ if ((cnt & 1) != 0) -+ sha512_process_bytes (alt_result, 64, &ctx); -+ else -+ sha512_process_bytes (key, key_len, &ctx); -+ -+ /* Create intermediate result. */ -+ sha512_finish_ctx (&ctx, alt_result); -+ -+ /* Start computation of P byte sequence. */ -+ sha512_init_ctx (&alt_ctx); -+ -+ /* For every character in the password add the entire password. */ -+ for (cnt = 0; cnt < key_len; ++cnt) -+ sha512_process_bytes (key, key_len, &alt_ctx); -+ -+ /* Finish the digest. */ -+ sha512_finish_ctx (&alt_ctx, temp_result); -+ -+ /* Create byte sequence P. */ -+ cp = p_bytes = alloca (key_len); -+ for (cnt = key_len; cnt >= 64; cnt -= 64) -+ { -+ memcpy (cp, temp_result, 64); -+ cp += 64; -+ } -+ memcpy (cp, temp_result, cnt); -+ -+ /* Start computation of S byte sequence. */ -+ sha512_init_ctx (&alt_ctx); -+ -+ /* For every character in the password add the entire password. */ -+ for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt) -+ sha512_process_bytes (salt, salt_len, &alt_ctx); -+ -+ /* Finish the digest. */ -+ sha512_finish_ctx (&alt_ctx, temp_result); -+ -+ /* Create byte sequence S. */ -+ cp = s_bytes = alloca (salt_len); -+ for (cnt = salt_len; cnt >= 64; cnt -= 64) -+ { -+ memcpy (cp, temp_result, 64); -+ cp += 64; -+ } -+ memcpy (cp, temp_result, cnt); -+ -+ /* Repeatedly run the collected hash value through SHA512 to burn -+ CPU cycles. */ -+ for (cnt = 0; cnt < rounds; ++cnt) -+ { -+ /* New context. */ -+ sha512_init_ctx (&ctx); -+ -+ /* Add key or last result. */ -+ if ((cnt & 1) != 0) -+ sha512_process_bytes (p_bytes, key_len, &ctx); -+ else -+ sha512_process_bytes (alt_result, 64, &ctx); -+ -+ /* Add salt for numbers not divisible by 3. */ -+ if (cnt % 3 != 0) -+ sha512_process_bytes (s_bytes, salt_len, &ctx); -+ -+ /* Add key for numbers not divisible by 7. */ -+ if (cnt % 7 != 0) -+ sha512_process_bytes (p_bytes, key_len, &ctx); -+ -+ /* Add key or last result. */ -+ if ((cnt & 1) != 0) -+ sha512_process_bytes (alt_result, 64, &ctx); -+ else -+ sha512_process_bytes (p_bytes, key_len, &ctx); -+ -+ /* Create intermediate result. */ -+ sha512_finish_ctx (&ctx, alt_result); -+ } -+ -+ /* Now we can construct the result string. It consists of three -+ parts. */ -+ cp = stpncpy (buffer, sha512_salt_prefix, MAX (0, buflen)); -+ buflen -= sizeof (sha512_salt_prefix) - 1; -+ -+ if (rounds_custom) -+ { -+ char sbuf[64]; -+ grub_sprintf (sbuf, "%s%llu$", sha512_rounds_prefix, -+ (unsigned long long)rounds); -+ size_t n = strlen (sbuf); -+ memcpy (cp, sbuf, MIN (MAX (0, buflen), n)); -+ cp += n; -+ buflen -= n; -+ } -+ -+ cp = stpncpy (cp, salt, MIN ((size_t) MAX (0, buflen), salt_len)); -+ buflen -= MIN ((size_t) MAX (0, buflen), salt_len); -+ -+ if (buflen > 0) -+ { -+ *cp++ = '$'; -+ --buflen; -+ } -+ -+#define b64_from_24bit(B2, B1, B0, N) \ -+ do { \ -+ unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0); \ -+ int n = (N); \ -+ while (n-- > 0 && buflen > 0) \ -+ { \ -+ *cp++ = b64t[w & 0x3f]; \ -+ --buflen; \ -+ w >>= 6; \ -+ } \ -+ } while (0) -+ -+ b64_from_24bit (alt_result[0], alt_result[21], alt_result[42], 4); -+ b64_from_24bit (alt_result[22], alt_result[43], alt_result[1], 4); -+ b64_from_24bit (alt_result[44], alt_result[2], alt_result[23], 4); -+ b64_from_24bit (alt_result[3], alt_result[24], alt_result[45], 4); -+ b64_from_24bit (alt_result[25], alt_result[46], alt_result[4], 4); -+ b64_from_24bit (alt_result[47], alt_result[5], alt_result[26], 4); -+ b64_from_24bit (alt_result[6], alt_result[27], alt_result[48], 4); -+ b64_from_24bit (alt_result[28], alt_result[49], alt_result[7], 4); -+ b64_from_24bit (alt_result[50], alt_result[8], alt_result[29], 4); -+ b64_from_24bit (alt_result[9], alt_result[30], alt_result[51], 4); -+ b64_from_24bit (alt_result[31], alt_result[52], alt_result[10], 4); -+ b64_from_24bit (alt_result[53], alt_result[11], alt_result[32], 4); -+ b64_from_24bit (alt_result[12], alt_result[33], alt_result[54], 4); -+ b64_from_24bit (alt_result[34], alt_result[55], alt_result[13], 4); -+ b64_from_24bit (alt_result[56], alt_result[14], alt_result[35], 4); -+ b64_from_24bit (alt_result[15], alt_result[36], alt_result[57], 4); -+ b64_from_24bit (alt_result[37], alt_result[58], alt_result[16], 4); -+ b64_from_24bit (alt_result[59], alt_result[17], alt_result[38], 4); -+ b64_from_24bit (alt_result[18], alt_result[39], alt_result[60], 4); -+ b64_from_24bit (alt_result[40], alt_result[61], alt_result[19], 4); -+ b64_from_24bit (alt_result[62], alt_result[20], alt_result[41], 4); -+ b64_from_24bit (0, 0, alt_result[63], 2); -+ -+ if (buflen <= 0) -+ buffer = NULL; -+ else -+ *cp = '\0'; /* Terminate the string. */ -+ -+ /* Clear the buffer for the intermediate result so that people -+ attaching to processes or reading core dumps cannot get any -+ information. We do it in this way to clear correct_words[] -+ inside the SHA512 implementation as well. */ -+ sha512_init_ctx (&ctx); -+ sha512_finish_ctx (&ctx, alt_result); -+ memset (temp_result, '\0', sizeof (temp_result)); -+ memset (p_bytes, '\0', key_len); -+ memset (s_bytes, '\0', salt_len); -+ memset (&ctx, '\0', sizeof (ctx)); -+ memset (&alt_ctx, '\0', sizeof (alt_ctx)); -+ if (copied_key != NULL) -+ memset (copied_key, '\0', key_len); -+ if (copied_salt != NULL) -+ memset (copied_salt, '\0', salt_len); -+ -+ return buffer; -+} -+ -+ -+/* This entry point is equivalent to the `crypt' function in Unix -+ libcs. */ -+char * -+sha512_crypt (const char *key, const char *salt) -+{ -+ /* We don't want to have an arbitrary limit in the size of the -+ password. We can compute an upper bound for the size of the -+ result in advance and so we can prepare the buffer we pass to -+ `sha512_crypt_r'. */ -+ static char buffer[sizeof (sha512_salt_prefix) - 1 -+ + sizeof (sha512_rounds_prefix) + 9 + 1 -+ + 256 + 1 + 86 + 1]; /* 256 bytes for salt */ -+ int needed = (sizeof (sha512_salt_prefix) - 1 -+ + sizeof (sha512_rounds_prefix) + 9 + 1 -+ + strlen (salt) + 1 + 86 + 1); -+ -+ if (sizeof (buffer) < needed) -+ return NULL; -+ -+ return sha512_crypt_r (key, salt, buffer, sizeof (buffer)); -+} -+ -+ -+#ifdef TEST -+static const struct -+{ -+ const char *input; -+ const char result[64]; -+} tests[] = -+ { -+ /* Test vectors from FIPS 180-2: appendix C.1. */ -+ { "abc", -+ "\xdd\xaf\x35\xa1\x93\x61\x7a\xba\xcc\x41\x73\x49\xae\x20\x41\x31" -+ "\x12\xe6\xfa\x4e\x89\xa9\x7e\xa2\x0a\x9e\xee\xe6\x4b\x55\xd3\x9a" -+ "\x21\x92\x99\x2a\x27\x4f\xc1\xa8\x36\xba\x3c\x23\xa3\xfe\xeb\xbd" -+ "\x45\x4d\x44\x23\x64\x3c\xe8\x0e\x2a\x9a\xc9\x4f\xa5\x4c\xa4\x9f" }, -+ /* Test vectors from FIPS 180-2: appendix C.2. */ -+ { "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn" -+ "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu", -+ "\x8e\x95\x9b\x75\xda\xe3\x13\xda\x8c\xf4\xf7\x28\x14\xfc\x14\x3f" -+ "\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1\x72\x99\xae\xad\xb6\x88\x90\x18" -+ "\x50\x1d\x28\x9e\x49\x00\xf7\xe4\x33\x1b\x99\xde\xc4\xb5\x43\x3a" -+ "\xc7\xd3\x29\xee\xb6\xdd\x26\x54\x5e\x96\xe5\x5b\x87\x4b\xe9\x09" }, -+ /* Test vectors from the NESSIE project. */ -+ { "", -+ "\xcf\x83\xe1\x35\x7e\xef\xb8\xbd\xf1\x54\x28\x50\xd6\x6d\x80\x07" -+ "\xd6\x20\xe4\x05\x0b\x57\x15\xdc\x83\xf4\xa9\x21\xd3\x6c\xe9\xce" -+ "\x47\xd0\xd1\x3c\x5d\x85\xf2\xb0\xff\x83\x18\xd2\x87\x7e\xec\x2f" -+ "\x63\xb9\x31\xbd\x47\x41\x7a\x81\xa5\x38\x32\x7a\xf9\x27\xda\x3e" }, -+ { "a", -+ "\x1f\x40\xfc\x92\xda\x24\x16\x94\x75\x09\x79\xee\x6c\xf5\x82\xf2" -+ "\xd5\xd7\xd2\x8e\x18\x33\x5d\xe0\x5a\xbc\x54\xd0\x56\x0e\x0f\x53" -+ "\x02\x86\x0c\x65\x2b\xf0\x8d\x56\x02\x52\xaa\x5e\x74\x21\x05\x46" -+ "\xf3\x69\xfb\xbb\xce\x8c\x12\xcf\xc7\x95\x7b\x26\x52\xfe\x9a\x75" }, -+ { "message digest", -+ "\x10\x7d\xbf\x38\x9d\x9e\x9f\x71\xa3\xa9\x5f\x6c\x05\x5b\x92\x51" -+ "\xbc\x52\x68\xc2\xbe\x16\xd6\xc1\x34\x92\xea\x45\xb0\x19\x9f\x33" -+ "\x09\xe1\x64\x55\xab\x1e\x96\x11\x8e\x8a\x90\x5d\x55\x97\xb7\x20" -+ "\x38\xdd\xb3\x72\xa8\x98\x26\x04\x6d\xe6\x66\x87\xbb\x42\x0e\x7c" }, -+ { "abcdefghijklmnopqrstuvwxyz", -+ "\x4d\xbf\xf8\x6c\xc2\xca\x1b\xae\x1e\x16\x46\x8a\x05\xcb\x98\x81" -+ "\xc9\x7f\x17\x53\xbc\xe3\x61\x90\x34\x89\x8f\xaa\x1a\xab\xe4\x29" -+ "\x95\x5a\x1b\xf8\xec\x48\x3d\x74\x21\xfe\x3c\x16\x46\x61\x3a\x59" -+ "\xed\x54\x41\xfb\x0f\x32\x13\x89\xf7\x7f\x48\xa8\x79\xc7\xb1\xf1" }, -+ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", -+ "\x20\x4a\x8f\xc6\xdd\xa8\x2f\x0a\x0c\xed\x7b\xeb\x8e\x08\xa4\x16" -+ "\x57\xc1\x6e\xf4\x68\xb2\x28\xa8\x27\x9b\xe3\x31\xa7\x03\xc3\x35" -+ "\x96\xfd\x15\xc1\x3b\x1b\x07\xf9\xaa\x1d\x3b\xea\x57\x78\x9c\xa0" -+ "\x31\xad\x85\xc7\xa7\x1d\xd7\x03\x54\xec\x63\x12\x38\xca\x34\x45" }, -+ { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", -+ "\x1e\x07\xbe\x23\xc2\x6a\x86\xea\x37\xea\x81\x0c\x8e\xc7\x80\x93" -+ "\x52\x51\x5a\x97\x0e\x92\x53\xc2\x6f\x53\x6c\xfc\x7a\x99\x96\xc4" -+ "\x5c\x83\x70\x58\x3e\x0a\x78\xfa\x4a\x90\x04\x1d\x71\xa4\xce\xab" -+ "\x74\x23\xf1\x9c\x71\xb9\xd5\xa3\xe0\x12\x49\xf0\xbe\xbd\x58\x94" }, -+ { "123456789012345678901234567890123456789012345678901234567890" -+ "12345678901234567890", -+ "\x72\xec\x1e\xf1\x12\x4a\x45\xb0\x47\xe8\xb7\xc7\x5a\x93\x21\x95" -+ "\x13\x5b\xb6\x1d\xe2\x4e\xc0\xd1\x91\x40\x42\x24\x6e\x0a\xec\x3a" -+ "\x23\x54\xe0\x93\xd7\x6f\x30\x48\xb4\x56\x76\x43\x46\x90\x0c\xb1" -+ "\x30\xd2\xa4\xfd\x5d\xd1\x6a\xbb\x5e\x30\xbc\xb8\x50\xde\xe8\x43" } -+ }; -+#define ntests (sizeof (tests) / sizeof (tests[0])) -+ -+ -+static const struct -+{ -+ const char *salt; -+ const char *input; -+ const char *expected; -+} tests2[] = -+{ -+ { "$6$saltstring", "Hello world!", -+ "$6$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJu" -+ "esI68u4OTLiBFdcbYEdFCoEOfaS35inz1" }, -+ { "$6$rounds=10000$saltstringsaltstring", "Hello world!", -+ "$6$rounds=10000$saltstringsaltst$OW1/O6BYHV6BcXZu8QVeXbDWra3Oeqh0sb" -+ "HbbMCVNSnCM/UrjmM0Dp8vOuZeHBy/YTBmSK6H9qs/y3RnOaw5v." }, -+ { "$6$rounds=5000$toolongsaltstring", "This is just a test", -+ "$6$rounds=5000$toolongsaltstrin$lQ8jolhgVRVhY4b5pZKaysCLi0QBxGoNeKQ" -+ "zQ3glMhwllF7oGDZxUhx1yxdYcz/e1JSbq3y6JMxxl8audkUEm0" }, -+ { "$6$rounds=1400$anotherlongsaltstring", -+ "a very much longer text to encrypt. This one even stretches over more" -+ "than one line.", -+ "$6$rounds=1400$anotherlongsalts$POfYwTEok97VWcjxIiSOjiykti.o/pQs.wP" -+ "vMxQ6Fm7I6IoYN3CmLs66x9t0oSwbtEW7o7UmJEiDwGqd8p4ur1" }, -+ { "$6$rounds=77777$short", -+ "we have a short salt string but not a short password", -+ "$6$rounds=77777$short$WuQyW2YR.hBNpjjRhpYD/ifIw05xdfeEyQoMxIXbkvr0g" -+ "ge1a1x3yRULJ5CCaUeOxFmtlcGZelFl5CxtgfiAc0" }, -+ { "$6$rounds=123456$asaltof16chars..", "a short string", -+ "$6$rounds=123456$asaltof16chars..$BtCwjqMJGx5hrJhZywWvt0RLE8uZ4oPwc" -+ "elCjmw2kSYu.Ec6ycULevoBK25fs2xXgMNrCzIMVcgEJAstJeonj1" }, -+ { "$6$rounds=10$roundstoolow", "the minimum number is still observed", -+ "$6$rounds=1000$roundstoolow$kUMsbe306n21p9R.FRkW3IGn.S9NPN0x50YhH1x" -+ "hLsPuWGsUSklZt58jaTfF4ZEQpyUNGc0dqbpBYYBaHHrsX." }, -+}; -+#define ntests2 (sizeof (tests2) / sizeof (tests2[0])) -+ -+ -+int -+sha512_test (void) -+{ -+ struct sha512_ctx ctx; -+ char sum[64]; -+ int result = 0; -+ int cnt, i; -+ -+ for (cnt = 0; cnt < (int) ntests; ++cnt) -+ { -+ sha512_init_ctx (&ctx); -+ sha512_process_bytes (tests[cnt].input, strlen (tests[cnt].input), &ctx); -+ sha512_finish_ctx (&ctx, sum); -+ if (memcmp (tests[cnt].result, sum, 64) != 0) -+ { -+ printf ("test %d run %d failed\n", cnt, 1); -+ result = 1; -+ } -+ -+ sha512_init_ctx (&ctx); -+ for (i = 0; tests[cnt].input[i] != '\0'; ++i) -+ sha512_process_bytes (&tests[cnt].input[i], 1, &ctx); -+ sha512_finish_ctx (&ctx, sum); -+ if (memcmp (tests[cnt].result, sum, 64) != 0) -+ { -+ printf ("test %d run %d failed\n", cnt, 2); -+ result = 1; -+ } -+ } -+ -+ /* Test vector from FIPS 180-2: appendix C.3. */ -+ char buf[1000]; -+ memset (buf, 'a', sizeof (buf)); -+ sha512_init_ctx (&ctx); -+ for (i = 0; i < 1000; ++i) -+ sha512_process_bytes (buf, sizeof (buf), &ctx); -+ sha512_finish_ctx (&ctx, sum); -+ static const char expected[64] = -+ "\xe7\x18\x48\x3d\x0c\xe7\x69\x64\x4e\x2e\x42\xc7\xbc\x15\xb4\x63" -+ "\x8e\x1f\x98\xb1\x3b\x20\x44\x28\x56\x32\xa8\x03\xaf\xa9\x73\xeb" -+ "\xde\x0f\xf2\x44\x87\x7e\xa6\x0a\x4c\xb0\x43\x2c\xe5\x77\xc3\x1b" -+ "\xeb\x00\x9c\x5c\x2c\x49\xaa\x2e\x4e\xad\xb2\x17\xad\x8c\xc0\x9b"; -+ if (memcmp (expected, sum, 64) != 0) -+ { -+ printf ("test %d failed\n", cnt); -+ result = 1; -+ } -+ -+ for (cnt = 0; cnt < ntests2; ++cnt) -+ { -+ char *cp = sha512_crypt (tests2[cnt].input, tests2[cnt].salt); -+ -+ if (strcmp (cp, tests2[cnt].expected) != 0) -+ { -+ printf ("test %d: expected \"%s\", got \"%s\"\n", -+ cnt, tests2[cnt].expected, cp); -+ result = 1; -+ } -+ } -+ -+ if (result == 0) -+ printf ("all tests OK\n"); -+ -+ return result; -+} -+#endif -diff --git a/stage2/shared.h b/stage2/shared.h -index 77eef11..a82067b 100644 ---- a/stage2/shared.h -+++ b/stage2/shared.h -@@ -35,9 +35,10 @@ - #endif - - /* Maybe redirect memory requests through grub_scratch_mem. */ --#ifdef GRUB_UTIL --extern char *grub_scratch_mem; --# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem) -+#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) -+#define GRUB_SCRATCH_MEM_SIZE 0x400000 -+extern void *grub_scratch_mem; -+# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem) - # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4) - #else - # define RAW_ADDR(x) (x) -@@ -56,15 +57,15 @@ extern char *grub_scratch_mem; - #define NEW_HEAPSIZE 1500 - - /* 512-byte scratch area */ --#define SCRATCHADDR RAW_ADDR (0x77e00) --#define SCRATCHSEG RAW_SEG (0x77e0) -+#define SCRATCHADDR RAW_ADDR (0x77000) -+#define SCRATCHSEG RAW_SEG (0x7700) - - /* -- * This is the location of the raw device buffer. It is 31.5K -+ * This is the location of the raw device buffer. It is 28K - * in size. - */ - --#define BUFFERLEN 0x7e00 -+#define BUFFERLEN 0x7000 - #define BUFFERADDR RAW_ADDR (0x70000) - #define BUFFERSEG RAW_SEG (0x7000) - -@@ -79,6 +80,8 @@ extern char *grub_scratch_mem; - #define BIOSDISK_FLAG_LBA_EXTENSION 0x1 - #define BIOSDISK_FLAG_CDROM 0x2 - -+#define MAX_HD_NUM 128 -+ - /* - * This is the filesystem (not raw device) buffer. - * It is 32K in size, do not overrun! -@@ -127,7 +130,7 @@ extern char *grub_scratch_mem; - #define MENU_BUFLEN (0x8000 + PASSWORD_BUF - MENU_BUF) - - /* The size of the drive map. */ --#define DRIVE_MAP_SIZE 8 -+#define DRIVE_MAP_SIZE 128 - - /* The size of the key map. */ - #define KEY_MAP_SIZE 128 -@@ -160,16 +163,18 @@ extern char *grub_scratch_mem; - #define LINUX_VID_MODE_ASK 0xFFFD - - #define LINUX_CL_OFFSET 0x9000 --#define LINUX_CL_END_OFFSET 0x90FF --#define LINUX_SETUP_MOVE_SIZE 0x9100 -+#define LINUX_CL_END_OFFSET 0x97FF -+#define LINUX_SETUP_MOVE_SIZE 0x9800 - #define LINUX_CL_MAGIC 0xA33F - - /* - * General disk stuff - */ - -+#ifndef PLATFORM_EFI - #define SECTOR_SIZE 0x200 - #define SECTOR_BITS 9 -+#endif /* PLATFORM_EFI */ - #define BIOS_FLAG_FIXED_DISK 0x80 - - #define BOOTSEC_LOCATION RAW_ADDR (0x7C00) -@@ -200,6 +205,8 @@ extern char *grub_scratch_mem; - #define STAGE2_FORCE_LBA 0x11 - #define STAGE2_VER_STR_OFFS 0x12 - -+#define STAGE2_ONCEONLY_ENTRY 0x10000 -+ - /* Stage 2 identifiers */ - #define STAGE2_ID_STAGE2 0 - #define STAGE2_ID_FFS_STAGE1_5 1 -@@ -371,14 +378,24 @@ extern char *grub_scratch_mem; - #define tolower grub_tolower - #define strlen grub_strlen - #define strcpy grub_strcpy -+#define stpncpy grub_stpncpy -+#define strspn grub_strspn -+#define strcspn grub_strcspn -+#define strtok_r grub_strtok_r -+#define strchr grub_strchr -+#define strrchr grub_strrchr -+#define strnchr grub_strnchr -+#define strncpy grub_strncpy -+#define strncasecmp grub_strncasecmp - #endif /* WITHOUT_LIBC_STUBS */ - -- - #ifndef ASM_FILE - /* - * Below this should be ONLY defines and other constructs for C code. - */ - -+#include -+ - /* multiboot stuff */ - - #include "mb_header.h" -@@ -400,30 +417,33 @@ struct linux_kernel_header - unsigned short root_dev; /* Default root device number */ - unsigned short boot_flag; /* 0xAA55 magic number */ - unsigned short jump; /* Jump instruction */ -- unsigned long header; /* Magic signature "HdrS" */ -+ unsigned int header; /* Magic signature "HdrS" */ - unsigned short version; /* Boot protocol version supported */ -- unsigned long realmode_swtch; /* Boot loader hook */ -- unsigned long start_sys; /* Points to kernel version string */ -+ unsigned int realmode_swtch; /* Boot loader hook */ -+ unsigned int start_sys; /* Points to kernel version string */ - unsigned char type_of_loader; /* Boot loader identifier */ - unsigned char loadflags; /* Boot protocol option flags */ - unsigned short setup_move_size; /* Move to high memory size */ -- unsigned long code32_start; /* Boot loader hook */ -- unsigned long ramdisk_image; /* initrd load address */ -- unsigned long ramdisk_size; /* initrd size */ -- unsigned long bootsect_kludge; /* obsolete */ -+ unsigned int code32_start; /* Boot loader hook */ -+ unsigned int ramdisk_image; /* initrd load address */ -+ unsigned int ramdisk_size; /* initrd size */ -+ unsigned int bootsect_kludge; /* obsolete */ - unsigned short heap_end_ptr; /* Free memory after setup end */ - unsigned short pad1; /* Unused */ - char *cmd_line_ptr; /* Points to the kernel command line */ -- unsigned long initrd_addr_max; /* The highest address of initrd */ -+ unsigned int initrd_addr_max; /* The highest address of initrd */ -+ unsigned int kernel_alignment; /* Physical addr alignment required for kernel */ -+ unsigned int relocatable_kernel; /* Whether kernel is relocatable or not */ -+ unsigned int cmdline_size; /* Maximum size of the kernel command line */ - } __attribute__ ((packed)); - - /* Memory map address range descriptor used by GET_MMAP_ENTRY. */ - struct mmar_desc - { -- unsigned long desc_len; /* Size of this descriptor. */ -+ unsigned int desc_len; /* Size of this descriptor. */ - unsigned long long addr; /* Base address. */ - unsigned long long length; /* Length in bytes. */ -- unsigned long type; /* Type of address range. */ -+ unsigned int type; /* Type of address range. */ - } __attribute__ ((packed)); - - /* VBE controller information. */ -@@ -600,6 +620,7 @@ typedef enum - { - PASSWORD_PLAIN, - PASSWORD_MD5, -+ PASSWORD_ENCRYPTED, - PASSWORD_UNSUPPORTED - } - password_t; -@@ -627,8 +648,16 @@ extern void (*disk_read_func) (int, int, int); - #ifndef STAGE1_5 - /* The flag for debug mode. */ - extern int debug; -+extern int debug_graphics; - #endif /* STAGE1_5 */ - -+/* Verbose mode flag. */ -+extern int grub_verbose; -+#define verbose_printf(format...) \ -+ do { if (grub_verbose) printf(format); } while (0) -+#define grub_verbose_printf(format...) \ -+ do { if (grub_verbose) grub_printf(format); } while (0) -+ - extern unsigned long current_drive; - extern unsigned long current_partition; - -@@ -666,6 +695,8 @@ extern struct geometry buf_geom; - extern int filepos; - extern int filemax; - -+extern int silent_grub; -+ - /* - * Common BIOS/boot data. - */ -@@ -804,11 +835,17 @@ int getkey (void); - available. */ - int checkkey (void); - -+/* Return keyboard modifier status. */ -+int -+keystatus (void); -+ - /* Low-level disk I/O */ - int get_diskinfo (int drive, struct geometry *geometry); - int biosdisk (int subfunc, int drive, struct geometry *geometry, - int sector, int nsec, int segment); - void stop_floppy (void); -+int get_sector_size (int drive); -+int get_sector_bits (int drive); - - /* Command-line interface functions. */ - #ifndef STAGE1_5 -@@ -860,17 +897,25 @@ void init_builtins (void); - void init_config (void); - char *skip_to (int after_equal, char *cmdline); - struct builtin *find_command (char *command); --void print_cmdline_message (int forever); - void enter_cmdline (char *heap, int forever); - int run_script (char *script, char *heap); -+ -+/* the flags for the cmdline message */ -+#define CMDLINE_FOREVER_MODE 0x0 -+#define CMDLINE_NORMAL_MODE 0x1 -+#define CMDLINE_EDIT_MODE 0x2 -+ -+void print_cmdline_message (int type); - #endif - - /* C library replacement functions with identical semantics. */ --void grub_printf (const char *format,...); -+int grub_vsprintf (char *str, const char *fmt, va_list args); -+void grub_printf (char *format,...); - int grub_sprintf (char *buffer, const char *format, ...); - int grub_tolower (int c); - int grub_isspace (int c); - int grub_strncat (char *s1, const char *s2, int n); -+void grub_memcpy(void *dest, const void *src, int len); - void *grub_memmove (void *to, const void *from, int len); - void *grub_memset (void *start, int c, int len); - int grub_strncat (char *s1, const char *s2, int n); -@@ -879,9 +924,19 @@ int grub_memcmp (const char *s1, const char *s2, int n); - int grub_strcmp (const char *s1, const char *s2); - int grub_strlen (const char *str); - char *grub_strcpy (char *dest, const char *src); -+char *grub_stpncpy (char *dest, const char *src, int n); -+int grub_strspn(const char *s, const char *accept); -+int grub_strcspn(const char *s, const char *reject); -+char *grub_strtok_r(char *s, const char *delim, char **ptrptr); -+char *grub_strchr (const char *s, int c); -+char *grub_strrchr (const char *s, int c); -+char *grub_strnchr (const char *s, int c); -+int grub_strnlen (const char *s, int n); -+char *grub_strncpy (char *new, const char *s, int n); -+int grub_strncasecmp(const char *s0, const char *s1, int n); - - #ifndef GRUB_UTIL --typedef unsigned long grub_jmp_buf[6]; -+typedef unsigned long grub_jmp_buf[8]; - #else - /* In the grub shell, use the libc jmp_buf instead. */ - # include -@@ -904,10 +959,11 @@ extern grub_jmp_buf restart_cmdline_env; - /* misc */ - void init_page (void); - void print_error (void); --char *convert_to_ascii (char *buf, int c, ...); -+char *convert_to_ascii (char *buf, int c, unsigned int num); - int get_cmdline (char *prompt, char *cmdline, int maxlen, - int echo_char, int history); - int substring (const char *s1, const char *s2); -+int subcasestring (const char *s1, const char *s2); - int nul_terminate (char *str); - int get_based_digit (int c, int base); - int safe_parse_maxint (char **str_ptr, int *myint_ptr); -@@ -934,7 +990,9 @@ int next_partition (unsigned long drive, unsigned long dest, - unsigned long *partition, int *type, - unsigned long *start, unsigned long *len, - unsigned long *offset, int *entry, -- unsigned long *ext_offset, char *buf); -+ unsigned long *ext_offset, -+ unsigned long *gpt_offset, int *gpt_count, -+ int *gpt_size, char *buf); - - /* Sets device to the one represented by the SAVED_* parameters. */ - int make_saved_active (void); -@@ -962,6 +1020,8 @@ int dir (char *dirname); - - int set_bootdev (int hdbias); - -+char *get_fsys_type (void); -+ - /* Display statistics on the current active device. */ - void print_fsys_type (void); - -@@ -987,10 +1047,22 @@ int load_module (char *module, char *arg); - int load_initrd (char *initrd); - - int check_password(char *entered, char* expected, password_t type); -+ -+char *sha256_crypt (const char *key, const char *salt); -+char *sha512_crypt (const char *key, const char *salt); - #endif - - void init_bios_info (void); - -+#ifdef PLATFORM_EFI -+void grub_set_config_file (char *path_name); -+int grub_save_saved_default (int new_default); -+extern int check_device (const char *device); -+extern void assign_device_name (int drive, const char *device); -+#endif -+int grub_load_linux (char *kernel, char *arg); -+int grub_load_initrd (char *initrd); -+int grub_chainloader (char *filename); - #endif /* ASM_FILE */ - - #endif /* ! GRUB_SHARED_HEADER */ -diff --git a/stage2/smp-imps.h b/stage2/smp-imps.h -index c0fdce3..bae9b77 100644 ---- a/stage2/smp-imps.h -+++ b/stage2/smp-imps.h -@@ -196,7 +196,6 @@ struct imps_interrupt - - int imps_probe (void); - -- - /* - * Defines that use variables - */ -diff --git a/stage2/stage1_5.c b/stage2/stage1_5.c -index 5c45d4c..c2d9632 100644 ---- a/stage2/stage1_5.c -+++ b/stage2/stage1_5.c -@@ -30,7 +30,8 @@ disk_read_savesect_func (int sector, int offset, int length) - void - cmain (void) - { -- grub_printf ("\n\nGRUB loading, please wait...\n"); -+ if (0) -+ grub_printf ("\n\nGRUB loading, please wait...\n"); - - /* - * Here load the true second-stage boot-loader. -diff --git a/stage2/stage2.c b/stage2/stage2.c -index 4dbf6f5..cca4332 100644 ---- a/stage2/stage2.c -+++ b/stage2/stage2.c -@@ -22,6 +22,8 @@ - - grub_jmp_buf restart_env; - -+int silent_grub = 0; -+ - #if defined(PRESET_MENU_STRING) || defined(SUPPORT_DISKLESS) - - # if defined(PRESET_MENU_STRING) -@@ -233,6 +235,10 @@ run_menu (char *menu_entries, char *config_entries, int num_entries, - { - int c, time1, time2 = -1, first_entry = 0; - char *cur_entry = 0; -+ struct term_entry *prev_term = NULL; -+ -+ if (grub_verbose) -+ cls(); - - /* - * Main loop for menu UI. -@@ -254,18 +260,33 @@ restart: - interface. */ - if (grub_timeout < 0) - show_menu = 1; -- -+ - /* If SHOW_MENU is false, don't display the menu until ESC is pressed. */ - if (! show_menu) - { -+ /* Don't show the "Booting in blah seconds message" if the timeout is 0 */ -+ int print_message = grub_timeout != 0; -+ - /* Get current time. */ - while ((time1 = getrtsecs ()) == 0xFF) - ; - -+ if (print_message) -+ grub_printf("\rPress any key to enter the menu\n\n\n"); -+ - while (1) - { -- /* Check if ESC is pressed. */ -- if (checkkey () != -1 && ASCII_CHAR (getkey ()) == '\e') -+ /* Check if any key is pressed */ -+ if (checkkey () != -1) -+ { -+ grub_timeout = -1; -+ show_menu = 1; -+ getkey (); -+ break; -+ } -+ -+ /* See if a modifier key is held down. */ -+ if (keystatus () != 0) - { - grub_timeout = -1; - show_menu = 1; -@@ -287,8 +308,10 @@ restart: - grub_timeout--; - - /* Print a message. */ -- grub_printf ("\rPress `ESC' to enter the menu... %d ", -- grub_timeout); -+ if (print_message) -+ grub_printf ("\rBooting %s in %d seconds...", -+ get_entry(menu_entries, first_entry + entryno, 0), -+ grub_timeout); - } - } - } -@@ -319,7 +342,8 @@ restart: - if (config_entries) - printf ("\ - Press enter to boot the selected OS, \'e\' to edit the\n\ -- commands before booting, or \'c\' for a command-line."); -+ commands before booting, \'a\' to modify the kernel arguments\n\ -+ before booting, or \'c\' for a command-line."); - else - printf ("\ - Press \'b\' to boot, \'e\' to edit the selected command in the\n\ -@@ -514,7 +538,7 @@ restart: - if (c == 'O') - { - grub_memmove (cur_entry + 2, cur_entry, -- ((int) heap) - ((int) cur_entry)); -+ heap - cur_entry); - - cur_entry[0] = ' '; - cur_entry[1] = 0; -@@ -530,8 +554,8 @@ restart: - 0); - - grub_memmove (cur_entry, ptr, -- ((int) heap) - ((int) ptr)); -- heap -= (((int) ptr) - ((int) cur_entry)); -+ heap - ptr); -+ heap -= ptr - cur_entry; - - num_entries--; - -@@ -655,7 +679,7 @@ restart: - else - { - cls (); -- print_cmdline_message (0); -+ print_cmdline_message (CMDLINE_EDIT_MODE); - - new_heap = heap + NEW_HEAPSIZE + 1; - -@@ -681,7 +705,7 @@ restart: - - /* align rest of commands properly */ - grub_memmove (cur_entry + j, cur_entry + i, -- (int) heap - ((int) cur_entry + i)); -+ (unsigned long) heap - ((unsigned long) cur_entry + i)); - - /* copy command to correct area */ - grub_memmove (cur_entry, new_heap, j); -@@ -697,6 +721,98 @@ restart: - enter_cmdline (heap, 0); - goto restart; - } -+ if (config_entries && c == 'a') -+ { -+ int new_num_entries = 0, i = 0, j; -+ int needs_padding, amount; -+ char *new_heap; -+ char * entries; -+ char * entry_copy; -+ char * append_line; -+ char * start; -+ -+ entry_copy = new_heap = heap; -+ cur_entry = get_entry (config_entries, first_entry + entryno, -+ 1); -+ -+ do -+ { -+ while ((*(new_heap++) = cur_entry[i++]) != 0); -+ new_num_entries++; -+ } -+ while (config_entries && cur_entry[i]); -+ -+ /* this only needs to be done if config_entries is non-NULL, -+ but it doesn't hurt to do it always */ -+ *(new_heap++) = 0; -+ -+ new_heap = heap + NEW_HEAPSIZE + 1; -+ -+ entries = entry_copy; -+ while (*entries) -+ { -+ if ((strstr(entries, "kernel") == entries) && -+ isspace(entries[6])) -+ break; -+ -+ while (*entries) entries++; -+ entries++; -+ } -+ -+ if (!*entries) -+ goto restart; -+ -+ start = entries + 6; -+ -+ /* skip the white space */ -+ while (*start && isspace(*start)) start++; -+ /* skip the kernel name */ -+ while (*start && !isspace(*start)) start++; -+ -+ /* skip the white space */ -+ needs_padding = (!*start || !isspace(*start)); -+ while (*start && isspace(*start)) start++; -+ -+ append_line = new_heap; -+ grub_strcpy(append_line, start); -+ -+ cls(); -+ print_cmdline_message (CMDLINE_EDIT_MODE); -+ -+ if (get_cmdline(PACKAGE " append> ", -+ append_line, NEW_HEAPSIZE + 1, -+ 0, 1)) -+ goto restart; -+ -+ /* have new args; append_line points to the -+ new args and start points to the old -+ args */ -+ -+ i = grub_strlen(start); -+ j = grub_strlen(append_line); -+ -+ if (i > (j + needs_padding)) -+ amount = i; -+ else -+ amount = j + needs_padding; -+ -+ /* align rest of commands properly */ -+ memmove (start + j + needs_padding, start + i, -+ ((unsigned long) append_line) - ((unsigned long) start) - (amount)); -+ -+ if (needs_padding) -+ *start = ' '; -+ -+ /* copy command to correct area */ -+ memmove (start + needs_padding, append_line, j); -+ -+ /* set up this entry to boot */ -+ config_entries = NULL; -+ cur_entry = entry_copy; -+ heap = new_heap; -+ -+ break; -+ } - #ifdef GRUB_UTIL - if (c == 'q') - { -@@ -712,16 +828,31 @@ restart: - - boot_entry: - -- cls (); -- setcursor (1); -+ if (grub_verbose || show_menu) -+ { -+ cls (); -+ setcursor (1); -+ } -+ /* if our terminal needed initialization, we should shut it down -+ * before booting the kernel, but we want to save what it was so -+ * we can come back if needed */ -+ prev_term = current_term; -+ if (current_term->shutdown) -+ { -+ (*current_term->shutdown)(); -+ current_term = term_table; /* assumption: console is first */ -+ } -+ -+ if (silent_grub) -+ setcursor(0); - - while (1) - { - if (config_entries) -- printf (" Booting \'%s\'\n\n", -+ verbose_printf (" Booting \'%s\'\n\n", - get_entry (menu_entries, first_entry + entryno, 0)); - else -- printf (" Booting command-list\n\n"); -+ verbose_printf (" Booting command-list\n\n"); - - if (! cur_entry) - cur_entry = get_entry (config_entries, first_entry + entryno, 1); -@@ -748,6 +879,13 @@ restart: - break; - } - -+ /* if we get back here, we should go back to what our term was before */ -+ current_term = prev_term; -+ if (current_term->startup) -+ /* if our terminal fails to initialize, fall back to console since -+ * it should always work */ -+ if ((*current_term->startup)() == 0) -+ current_term = term_table; /* we know that console is first */ - show_menu = 1; - goto restart; - } -@@ -867,38 +1005,8 @@ cmain (void) - if (use_config_file) - #endif /* GRUB_UTIL */ - { -- char *default_file = (char *) DEFAULT_FILE_BUF; - int i; -- -- /* Get a saved default entry if possible. */ -- saved_entryno = 0; -- *default_file = 0; -- grub_strncat (default_file, config_file, DEFAULT_FILE_BUFLEN); -- for (i = grub_strlen(default_file); i >= 0; i--) -- if (default_file[i] == '/') -- { -- i++; -- break; -- } -- default_file[i] = 0; -- grub_strncat (default_file + i, "default", DEFAULT_FILE_BUFLEN - i); -- if (grub_open (default_file)) -- { -- char buf[10]; /* This is good enough. */ -- char *p = buf; -- int len; -- -- len = grub_read (buf, sizeof (buf)); -- if (len > 0) -- { -- buf[sizeof (buf) - 1] = 0; -- safe_parse_maxint (&p, &saved_entryno); -- } - -- grub_close (); -- } -- errnum = ERR_NONE; -- - do - { - /* STATE 0: Before any title command. -@@ -1050,11 +1158,16 @@ cmain (void) - while (is_preset); - } - -+ /* go ahead and make sure the terminal is setup */ -+ if (current_term->startup) -+ (*current_term->startup)(); -+ - if (! num_entries) - { - /* If no acceptable config file, goto command-line, starting - heap from where the config entries would have been stored - if there were any. */ -+ grub_verbose = 1; - enter_cmdline (config_entries, 1); - } - else -diff --git a/stage2/start.S b/stage2/start.S -index 9a7d504..7a6652f 100644 ---- a/stage2/start.S -+++ b/stage2/start.S -@@ -39,6 +39,9 @@ - - /* Print message string */ - #define MSG(x) movw $ABS(x), %si; call message -+ -+ /* Print verbose message string */ -+#define VMSG(x) - - .file "start.S" - -@@ -67,9 +70,9 @@ _start: - - /* print a notification message on the screen */ - pushw %si -- MSG(notification_string) -+ VMSG(notification_string) - popw %si -- -+ - /* this sets up for the first run through "bootloop" */ - movw $ABS(firstlist - BOOTSEC_LISTSIZE), %di - -@@ -291,9 +294,9 @@ copy_buffer: - movsb /* this runs the actual copy */ - - /* restore addressing regs and print a dot with correct DS -- (MSG modifies SI, which is saved, and unused AX and BX) */ -+ (VMSG modifies SI, which is saved, and unused AX and BX) */ - popw %ds -- MSG(notification_step) -+ VMSG(notification_step) - popa - - /* check if finished with this dataset */ -@@ -310,7 +313,7 @@ copy_buffer: - - bootit: - /* print a newline */ -- MSG(notification_done) -+ VMSG(notification_done) - popw %dx /* this makes sure %dl is our "boot" drive */ - #ifdef STAGE1_5 - ljmp $0, $0x2200 -diff --git a/stage2/term.h b/stage2/term.h -index 8261c7c..803de58 100644 ---- a/stage2/term.h -+++ b/stage2/term.h -@@ -54,18 +54,28 @@ typedef enum - /* Set when the terminal needs to be initialized. */ - #define TERM_NEED_INIT (1 << 16) - -+/* Bitmasks for modifier keys returned by term->keystatus(). */ -+#define TERM_STATUS_ALT (1 << 3) -+#define TERM_STATUS_CTRL (1 << 2) -+#define TERM_STATUS_LEFT_SHIFT (1 << 1) -+#define TERM_STATUS_RIGHT_SHIFT (1 << 0) -+ - struct term_entry - { - /* The name of a terminal. */ - const char *name; - /* The feature flags defined above. */ - unsigned long flags; -+ /* Default for maximum number of lines if not specified */ -+ unsigned short max_lines; - /* Put a character. */ - void (*putchar) (int c); - /* Check if any input character is available. */ - int (*checkkey) (void); - /* Get a character. */ - int (*getkey) (void); -+ /* Get keyboard modifier status. */ -+ int (*keystatus) (void); - /* Get the cursor position. The return value is ((X << 8) | Y). */ - int (*getxy) (void); - /* Go to the position (X, Y). */ -@@ -79,6 +89,11 @@ struct term_entry - void (*setcolor) (int normal_color, int highlight_color); - /* Turn on/off the cursor. */ - int (*setcursor) (int on); -+ -+ /* function to start a terminal */ -+ int (*startup) (void); -+ /* function to use to shutdown a terminal */ -+ void (*shutdown) (void); - }; - - /* This lists up available terminals. */ -@@ -96,6 +111,7 @@ void console_putchar (int c); - #ifndef STAGE1_5 - int console_checkkey (void); - int console_getkey (void); -+int console_keystatus (void); - int console_getxy (void); - void console_gotoxy (int x, int y); - void console_cls (void); -@@ -124,4 +140,23 @@ void hercules_setcolor (int normal_color, int highlight_color); - int hercules_setcursor (int on); - #endif - -+#ifdef SUPPORT_GRAPHICS -+extern int foreground, background, border, graphics_inited; -+ -+void graphics_set_splash(char *splashfile); -+int set_videomode (int mode); -+void graphics_putchar (int c); -+int graphics_getxy(void); -+void graphics_gotoxy(int x, int y); -+void graphics_cls(void); -+void graphics_setcolorstate (color_state state); -+void graphics_setcolor (int normal_color, int highlight_color); -+int graphics_setcursor (int on); -+int graphics_init(void); -+void graphics_end(void); -+ -+int hex(int v); -+void graphics_set_palette(int idx, int red, int green, int blue); -+#endif /* SUPPORT_GRAPHICS */ -+ - #endif /* ! GRUB_TERM_HEADER */ -diff --git a/stage2/tparm.c b/stage2/tparm.c -index ff78d53..408b284 100644 ---- a/stage2/tparm.c -+++ b/stage2/tparm.c -@@ -320,7 +320,7 @@ parse_format(const char *s, char *format, int *len) - #define isLOWER(c) ((c) >= 'a' && (c) <= 'z') - - static inline char * --tparam_internal(const char *string, int *dataptr) -+tparam_internal(const char *string, va_list args) - { - #define NUM_VARS 26 - char *p_is_s[9]; -@@ -461,9 +461,9 @@ tparam_internal(const char *string, int *dataptr) - * a char* and an int may not be the same size on the stack. - */ - if (p_is_s[i] != 0) { -- p_is_s[i] = (char *)(*(dataptr++)); -+ p_is_s[i] = va_arg (args, char *); - } else { -- param[i] = (int)(*(dataptr++)); -+ param[i] = va_arg (args, int); - } - } - -@@ -716,11 +716,11 @@ char * - grub_tparm(const char *string,...) - { - char *result; -- int *dataptr = (int *) &string; -+ va_list ap; - -- dataptr++; -- -- result = tparam_internal(string, dataptr); -+ va_start (ap, string); -+ result = tparam_internal(string, ap); -+ va_end(ap); - - return result; - } -diff --git a/test b/test -new file mode 100644 -index 0000000..b182379 ---- /dev/null -+++ b/test -@@ -0,0 +1 @@ -+fo of fo -diff --git a/util/.gitignore b/util/.gitignore -new file mode 100644 -index 0000000..6687356 ---- /dev/null -+++ b/util/.gitignore -@@ -0,0 +1,7 @@ -+Makefile.in -+Makefile -+.deps -+grub-image -+grub-install -+grub-md5-crypt -+grub-terminfo -diff --git a/util/Makefile.am b/util/Makefile.am -index 2e04711..fa545b1 100644 ---- a/util/Makefile.am -+++ b/util/Makefile.am -@@ -1,6 +1,7 @@ -+if !PLATFORM_EFI -+ - bin_PROGRAMS = mbchk --sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo \ -- grub-set-default -+sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo grub-crypt - noinst_SCRIPTS = grub-image mkbimage - - EXTRA_DIST = mkbimage -@@ -10,3 +11,9 @@ AM_CFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/docs - - mbchk_SOURCES = mbchk.c - mbchk_LDADD = ../lib/libcommon.a -+ -+else -+ -+sbin_SCRIPTS = grub-md5-crypt grub-terminfo grub-crypt -+ -+endif -diff --git a/util/Makefile.in b/util/Makefile.in -index e700cf7..aa5a12e 100644 ---- a/util/Makefile.in -+++ b/util/Makefile.in -@@ -1,8 +1,8 @@ --# Makefile.in generated by automake 1.9.4 from Makefile.am. -+# Makefile.in generated by automake 1.10 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,17 +15,11 @@ - @SET_MAKE@ - - --SOURCES = $(mbchk_SOURCES) -- --srcdir = @srcdir@ --top_srcdir = @top_srcdir@ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ --top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --INSTALL = @INSTALL@ - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c -@@ -43,17 +37,16 @@ bin_PROGRAMS = mbchk$(EXEEXT) - subdir = util - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/grub-image.in $(srcdir)/grub-install.in \ -- $(srcdir)/grub-md5-crypt.in $(srcdir)/grub-set-default.in \ -- $(srcdir)/grub-terminfo.in -+ $(srcdir)/grub-md5-crypt.in $(srcdir)/grub-terminfo.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -- $(top_srcdir)/configure.ac -+ $(top_srcdir)/configure.in - am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/config.h - CONFIG_CLEAN_FILES = grub-image grub-install grub-md5-crypt \ -- grub-terminfo grub-set-default -+ grub-terminfo - am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" - binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) - PROGRAMS = $(bin_PROGRAMS) -@@ -62,7 +55,7 @@ mbchk_OBJECTS = $(am_mbchk_OBJECTS) - mbchk_DEPENDENCIES = ../lib/libcommon.a - sbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) - SCRIPTS = $(noinst_SCRIPTS) $(sbin_SCRIPTS) --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -@@ -75,17 +68,14 @@ ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ --AMDEP_FALSE = @AMDEP_FALSE@ --AMDEP_TRUE = @AMDEP_TRUE@ - AMTAR = @AMTAR@ - AUTOCONF = @AUTOCONF@ - AUTOHEADER = @AUTOHEADER@ - AUTOMAKE = @AUTOMAKE@ - AWK = @AWK@ --BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ --BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ - CC = @CC@ - CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ - CCASFLAGS = @CCASFLAGS@ - CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ -@@ -94,18 +84,16 @@ CPPFLAGS = @CPPFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ --DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ - FSYS_CFLAGS = @FSYS_CFLAGS@ -+GREP = @GREP@ - GRUB_CFLAGS = @GRUB_CFLAGS@ - GRUB_LIBS = @GRUB_LIBS@ --HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ --HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ -+INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ -@@ -113,14 +101,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ --MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ --MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ - MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ - NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ --NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ --NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ - NET_CFLAGS = @NET_CFLAGS@ - NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ - OBJCOPY = @OBJCOPY@ -@@ -134,22 +120,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - RANLIB = @RANLIB@ --SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ --SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ --SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ --SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STAGE1_CFLAGS = @STAGE1_CFLAGS@ - STAGE2_CFLAGS = @STAGE2_CFLAGS@ - STRIP = @STRIP@ - VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ --ac_ct_RANLIB = @ac_ct_RANLIB@ --ac_ct_STRIP = @ac_ct_STRIP@ --am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ --am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -161,31 +142,40 @@ build_alias = @build_alias@ - build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ -+builddir = @builddir@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ - libdir = @libdir@ - libexecdir = @libexecdir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - mandir = @mandir@ - mkdir_p = @mkdir_p@ - oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ - prefix = @prefix@ - program_transform_name = @program_transform_name@ -+psdir = @psdir@ - sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ --sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo \ -- grub-set-default -- -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ -+sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo - noinst_SCRIPTS = grub-image mkbimage - EXTRA_DIST = mkbimage - -@@ -234,11 +224,9 @@ grub-md5-crypt: $(top_builddir)/config.status $(srcdir)/grub-md5-crypt.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - grub-terminfo: $(top_builddir)/config.status $(srcdir)/grub-terminfo.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ --grub-set-default: $(top_builddir)/config.status $(srcdir)/grub-set-default.in -- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) -- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" -+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ -@@ -261,10 +249,10 @@ clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - mbchk$(EXEEXT): $(mbchk_OBJECTS) $(mbchk_DEPENDENCIES) - @rm -f mbchk$(EXEEXT) -- $(LINK) $(mbchk_LDFLAGS) $(mbchk_OBJECTS) $(mbchk_LDADD) $(LIBS) -+ $(LINK) $(mbchk_OBJECTS) $(mbchk_LDADD) $(LIBS) - install-sbinSCRIPTS: $(sbin_SCRIPTS) - @$(NORMAL_INSTALL) -- test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" -+ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" - @list='$(sbin_SCRIPTS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f $$d$$p; then \ -@@ -291,19 +279,18 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbchk.Po@am__quote@ - - .c.o: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: --@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` --uninstall-info-am: - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -@@ -354,22 +341,21 @@ distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -- list='$(DISTFILES)'; for file in $$list; do \ -- case $$file in \ -- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -- esac; \ -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -- dir="/$$dir"; \ -- $(mkdir_p) "$(distdir)$$dir"; \ -- else \ -- dir=''; \ -- fi; \ - if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -@@ -385,7 +371,7 @@ check: check-am - all-am: Makefile $(PROGRAMS) $(SCRIPTS) - installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)"; do \ -- test -z "$$dir" || $(mkdir_p) "$$dir"; \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: install-am - install-exec: install-exec-am -@@ -433,12 +419,20 @@ info-am: - - install-data-am: - -+install-dvi: install-dvi-am -+ - install-exec-am: install-binPROGRAMS install-sbinSCRIPTS - -+install-html: install-html-am -+ - install-info: install-info-am - - install-man: - -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -458,20 +452,23 @@ ps: ps-am - - ps-am: - --uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ -- uninstall-sbinSCRIPTS -+uninstall-am: uninstall-binPROGRAMS uninstall-sbinSCRIPTS -+ -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ -- install-data install-data-am install-exec install-exec-am \ -- install-info install-info-am install-man install-sbinSCRIPTS \ -+ install-data install-data-am install-dvi install-dvi-am \ -+ install-exec install-exec-am install-html install-html-am \ -+ install-info install-info-am install-man install-pdf \ -+ install-pdf-am install-ps install-ps-am install-sbinSCRIPTS \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ -- uninstall-info-am uninstall-sbinSCRIPTS -+ uninstall-sbinSCRIPTS - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. -diff --git a/util/grub-crypt.in b/util/grub-crypt.in -new file mode 100644 -index 0000000..e8783c8 ---- /dev/null -+++ b/util/grub-crypt.in -@@ -0,0 +1,80 @@ -+#! /usr/bin/python -+ -+'''Generate encrypted passwords for GRUB.''' -+ -+import crypt -+import getopt -+import getpass -+import sys -+ -+def usage(): -+ '''Output usage message to stderr and exit.''' -+ print >> sys.stderr, 'Usage: grub-crypt [OPTION]...' -+ print >> sys.stderr, 'Try `$progname --help\' for more information.' -+ sys.exit(1) -+ -+def gen_salt(): -+ '''Generate a random salt.''' -+ ret = '' -+ with open('/dev/urandom', 'rb') as urandom: -+ while True: -+ byte = urandom.read(1) -+ if byte in ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' -+ './0123456789'): -+ ret += byte -+ if len(ret) == 16: -+ break -+ return ret -+ -+def main(): -+ '''Top level.''' -+ crypt_type = '$6$' # SHA-256 -+ try: -+ opts, args = getopt.getopt(sys.argv[1:], 'hv', -+ ('help', 'version', 'md5', 'sha-256', -+ 'sha-512')) -+ except getopt.GetoptError, err: -+ print >> sys.stderr, str(err) -+ usage() -+ if args: -+ print >> sys.stderr, 'Unexpected argument `%s\'' % (args[0],) -+ usage() -+ for (opt, _) in opts: -+ if opt in ('-h', '--help'): -+ print ( -+'''Usage: grub-crypt [OPTION]... -+Encrypt a password. -+ -+ -h, --help Print this message and exit -+ -v, --version Print the version information and exit -+ --md5 Use MD5 to encrypt the password -+ --sha-256 Use SHA-256 to encrypt the password -+ --sha-512 Use SHA-512 to encrypt the password (default) -+ -+Report bugs to . -+EOF''') -+ sys.exit(0) -+ elif opt in ('-v', '--version'): -+ print 'grub-crypt (GNU GRUB @VERSION@)' -+ sys.exit(0) -+ elif opt == '--md5': -+ crypt_type = '$1$' -+ elif opt == '--sha-256': -+ crypt_type = '$5$' -+ elif opt == '--sha-512': -+ crypt_type = '$6$' -+ else: -+ assert False, 'Unhandled option' -+ password = getpass.getpass('Password: ') -+ password2 = getpass.getpass('Retype password: ') -+ if not password: -+ print >> sys.stderr, 'Empty password is not permitted.' -+ sys.exit(1) -+ if password != password2: -+ print >> sys.stderr, 'Sorry, passwords do not match.' -+ sys.exit(1) -+ salt = crypt_type + gen_salt() -+ print crypt.crypt(password, salt) -+ -+if __name__ == '__main__': -+ main() -diff --git a/util/grub-install.in b/util/grub-install.in -index 2e598b0..12539b8 100644 ---- a/util/grub-install.in -+++ b/util/grub-install.in -@@ -21,34 +21,36 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ - sbindir=@sbindir@ --libdir=@libdir@ -+datadir=@datadir@ - PACKAGE=@PACKAGE@ - VERSION=@VERSION@ - host_cpu=@host_cpu@ - host_os=@host_os@ - host_vendor=@host_vendor@ --pkglibdir=${libdir}/${PACKAGE}/${host_cpu}-${host_vendor} -+pkgdatadir=${datadir}/${PACKAGE}/${host_cpu}-${host_vendor} - - grub_shell=${sbindir}/grub --grub_set_default=${sbindir}/grub-set-default --log_file=/tmp/grub-install.log.$$ --img_file=/tmp/grub-install.img.$$ -+mdadm=${sbindir}/mdadm -+log_file=${TMPDIR:-/tmp}/grub-install.log.$$ -+img_file=${TMPDIR:-/tmp}/grub-install.img.$$ - rootdir= - grub_prefix=/boot/grub - -+install_drives= - install_device= - no_floppy= - force_lba= - recheck=no - debug=no -+justcopy=no - - # look for secure tempfile creation wrappers on this platform - if test -x /bin/tempfile; then - mklog="/bin/tempfile --prefix=grub" - mkimg="/bin/tempfile --prefix=grub" - elif test -x /bin/mktemp; then -- mklog="/bin/mktemp /tmp/grub-install.log.XXXXXX" -- mkimg="/bin/mktemp /tmp/grub-install.img.XXXXXX" -+ mklog="/bin/mktemp ${TMPDIR:-/tmp}/grub-install.log.XXXXXX" -+ mkimg="/bin/mktemp ${TMPDIR:-/tmp}/grub-install.img.XXXXXX" - else - mklog="" - mkimg="" -@@ -70,6 +72,8 @@ Install GRUB on your drive. - --force-lba force GRUB to use LBA mode even for a buggy - BIOS - --recheck probe a device map even if it already exists -+ This flag is unreliable and its use is -+ strongly discouraged. - - INSTALL_DEVICE can be a GRUB device name or a system device filename. - -@@ -96,17 +100,28 @@ convert () { - # Break the device name into the disk part and the partition part. - case "$host_os" in - linux*) -- tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \ -+ tmp_disk=`echo "$1" | grep -v '/mapper/control$' | -+ grep -v '/mapper/[[:alnum:]]\+-[[:alnum:]]\+$' | uniq | -+ sed -e 's%\([shv]d[a-z]\)[0-9]*$%\1%' \ - -e 's%\(d[0-9]*\)p[0-9]*$%\1%' \ - -e 's%\(fd[0-9]*\)$%\1%' \ - -e 's%/part[0-9]*$%/disc%' \ -- -e 's%\(c[0-7]d[0-9]*\).*$%\1%'` -- tmp_part=`echo "$1" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' \ -+ -e 's%\(c[0-7]d[0-9]*\).*$%\1%' \ -+ -e 's%\(/mapper/[[:alpha:]]\+[[:digit:]]\+\)p[[:digit:]]\+$%\1%' \ -+ -e 's%\(/mapper/isw_[[:alpha:]_]\+[[:alpha:]]\+[[:digit:]]\+\)p[[:digit:]]\+$%\1%' \ -+ -e 's%\(/mapper/[[:alpha:]]\+_[[:alpha:]]\+\)[[:digit:]]\+$%\1%'` -+ tmp_part=`echo "$1" | grep -v '/mapper/control$' | -+ grep -v '/mapper/[[:alnum:]]\+-[[:alnum:]]\+$' | uniq | -+ sed -e 's%.*/[shv]d[a-z]\([0-9]*\)$%\1%' \ - -e 's%.*d[0-9]*p%%' \ - -e 's%.*/fd[0-9]*$%%' \ - -e 's%.*/floppy/[0-9]*$%%' \ - -e 's%.*/\(disc\|part\([0-9]*\)\)$%\2%' \ -- -e 's%.*c[0-7]d[0-9]*p%%'` -+ -e 's%.*c[0-7]d[0-9]*p%%' \ -+ -e 's%.*/mapper/[[:alpha:]]\+[[:digit:]]\+p\([[:digit:]]\+\)$%\1%' \ -+ -e 's%.*/mapper/isw_[[:alpha:]_]\+[[:alpha:]]\+[[:digit:]]\+p\([[:digit:]]\+\)$%\1%' \ -+ -e 's%.*/mapper/[[:alpha:]]\+_[[:alpha:]]\+\([[:digit:]]\+\)$%\1%' | -+ grep -v '.*/mapper/.*'` - ;; - gnu*) - tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'` -@@ -196,7 +211,7 @@ resolve_symlink () { - while test -L $tmp_fname; do - tmp_new_fname=`ls -al $tmp_fname | sed -n 's%.*-> \(.*\)%\1%p'` - if test -z "$tmp_new_fname"; then -- echo "Unrecognized ls output" 2>&1 -+ echo "Unrecognized ls output" 1>&2 - exit 1 - fi - -@@ -211,6 +226,80 @@ resolve_symlink () { - echo "$tmp_fname" - } - -+# Usage: is_raid1_device devicename -+# Returns 0 if devicename is a raid1 md device, 1 if it is not. -+is_raid1_device () { -+ case "$host_os" in -+ linux*) -+ level=`$mdadm --query --detail $1 2>/dev/null | \ -+ awk '/Raid Level :/ {print $4}'` -+ if [ "$level" = "raid1" ]; then -+ return 0 -+ fi -+ ;; -+ esac -+ return 1 -+} -+ -+# Usage: find_real_devs device -+# Returns space separated list of devices for linux if device is -+# a raid1 device. In all other cases, the provided value is returned. -+find_real_devs () { -+ source_device=$1 -+ case "$host_os" in -+ linux*) -+ if is_raid1_device $source_device ; then -+ list="" -+ for device in `$mdadm --query --detail "${source_device}" | \ -+ awk '/\/dev\/[^(md)]/ {print $7}'` ; do -+ list="$list $device" -+ done -+ echo $list -+ return 0 -+ fi -+ ;; -+ esac -+ echo $source_device -+ return 0 -+} -+ -+# Usage: stat_device file -+# Find major:minor of a device node. -+stat_device() { -+ majmin=`stat -c "%t:%T" "$1" 2>/dev/null` -+ if test -z "$majmin"; then -+ echo "Could not find device for $1" 1>&2 -+ exit 1 -+ fi -+ -+ echo "$majmin" -+} -+ -+# Usage: find_mapper_device file -+# Find a file in /dev/mapper with the same major:minor as the specified node. -+find_mapper_device() { -+ if [ -b "$1" ]; then -+ dev="$1" -+ else -+ mntpnt=`echo "$1" | sed 's,/,\\\\/,g'` -+ dev=`awk '($2 ~ /'$mntpnt'/) { print $1 }' /etc/mtab` -+ fi -+ if test -z "$dev"; then -+ echo "Could not find device for $1" 1>&2 -+ exit 1 -+ fi -+ -+ majmin=`stat_device $dev` -+ for x in /dev/mapper/* ; do -+ devmajmin=`stat_device "$x"` -+ if [ "$majmin" == "$devmajmin" ]; then -+ echo "$x" -+ return 0 -+ fi -+ done -+ return 1 -+} -+ - # Usage: find_device file - # Find block device on which the file resides. - find_device () { -@@ -219,15 +308,55 @@ find_device () { - tmp_fname=`df $1/ | sed -n 's%.*\(/dev/[^ ]*\).*%\1%p'` - - if test -z "$tmp_fname"; then -- echo "Could not find device for $1" 2>&1 -+ echo "Could not find device for $1" 1>&2 - exit 1 - fi - -- tmp_fname=`resolve_symlink $tmp_fname` -+ ret_fname=`resolve_symlink $tmp_fname` || exit 1 -+ tmp_fname=`find_mapper_device $ret_fname` -+ if test -n "$tmp_fname"; then -+ ret_fname="$tmp_fname" -+ fi -+ -+ echo "$ret_fname" -+ return 0 -+} -+ -+copy_images() { -+ # Copy the GRUB images to the GRUB directory. -+ for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do -+ rm -f $file || exit 1 -+ done -+ for file in \ -+ ${pkgdatadir}/stage1 ${pkgdatadir}/stage2 ${pkgdatadir}/*stage1_5; do -+ cp -f $file ${grubdir} 1>&2 || exit 1 -+ done -+} -+ -+ -+dump_boot_block () { -+ sync -+ $grub_shell --batch $no_floppy --device-map=$device_map <$log_file -+dump ${root_drive}${tmp} ${img_file} -+quit -+EOF -+} -+ -+ -+install_boot_block () { -+ # Before all invocations of the grub shell, call sync to make sure -+ # the raw device is in sync with any bufferring in filesystems. -+ sync - -- echo "$tmp_fname" -+ # Now perform the installation. -+ $grub_shell --batch $no_floppy --device-map=$device_map <>$log_file -+root $1 -+setup $force_lba --stage2=$grubdir/stage2 --prefix=$grub_prefix $2 -+quit -+EOF - } - -+ - # Check the arguments. - for option in "$@"; do - case "$option" in -@@ -247,6 +376,8 @@ for option in "$@"; do - force_lba="--force-lba" ;; - --recheck) - recheck=yes ;; -+ --just-copy) -+ justcopy=yes ;; - # This is an undocumented feature... - --debug) - debug=yes ;; -@@ -265,12 +396,6 @@ for option in "$@"; do - esac - done - --if test "x$install_device" = x; then -- echo "install_device not specified." 1>&2 -- usage -- exit 1 --fi -- - # If the debugging feature is enabled, print commands. - if test $debug = yes; then - set -x -@@ -293,6 +418,26 @@ esac - grubdir=${bootdir}/grub - device_map=${grubdir}/device.map - -+if [ "$recheck" == "yes" ]; then -+ if grep 'mapper' ${device_map} >/dev/null; then -+ echo 'grub-install does not support reprobing of device.map when' 1>&2 -+ echo 'using a device-mapper based boot device.' 1>&2 -+ exit 1 -+ fi -+fi -+ -+# if they just want the images copied, copy the images and then exit -+if test $justcopy = yes; then -+ copy_images -+ exit 0 -+fi -+ -+if test "x$install_device" = x; then -+ echo "install_device not specified." 1>&2 -+ usage -+ exit 1 -+fi -+ - # Check if GRUB is installed. - # This is necessary, because the user can specify "grub --read-only". - set $grub_shell dummy -@@ -303,17 +448,17 @@ else - exit 1 - fi - --if test -f "$pkglibdir/stage1"; then -+if test -f "$pkgdatadir/stage1"; then - : - else -- echo "${pkglibdir}/stage1: Not found." 1>&2 -+ echo "${pkgdatadir}/stage1: Not found." 1>&2 - exit 1 - fi - --if test -f "$pkglibdir/stage2"; then -+if test -f "$pkgdatadir/stage2"; then - : - else -- echo "${pkglibdir}/stage2: Not found." 1>&2 -+ echo "${pkgdatadir}/stage2: Not found." 1>&2 - exit 1 - fi - -@@ -324,9 +469,11 @@ fi - test -d "$bootdir" || mkdir "$bootdir" || exit 1 - test -d "$grubdir" || mkdir "$grubdir" || exit 1 - -+copy_images -+ - # If --recheck is specified, remove the device map, if present. - if test $recheck = yes; then -- rm -f $device_map -+ mv $device_map ${device_map}.backup - fi - - # Create the device map file if it is not present. -@@ -336,6 +483,10 @@ else - # Create a safe temporary file. - test -n "$mklog" && log_file=`$mklog` - -+ # Before all invocations of the grub shell, call sync to make sure -+ # the raw device is in sync with any bufferring in filesystems. -+ sync -+ - $grub_shell --batch $no_floppy --device-map=$device_map <$log_file - quit - EOF -@@ -351,34 +502,60 @@ fi - tmp=`sed -n '/^([fh]d[0-9]*)/s/\(^(.*)\).*/\1/p' $device_map \ - | sort | uniq -d | sed -n 1p` - if test -n "$tmp"; then -- echo "The drive $tmp is defined multiple times in the device map $device_map" 1>&2 -+ echo "The drive $tmp is defined multiple times in the new device map." 1>&2 -+ if test $recheck = yes; then -+ echo "Reverting to backed up copy." 1>&2 -+ mv ${device_map}.backup $device_map -+ fi -+ exit 1 -+fi -+ -+# Make sure device.map has at least one hd device -+grep -q "^(hd[0-9]\+)" $device_map -+if [ "x$?" != "x0" ]; then -+ echo "No suitable drive was found in the generated device map." 1>&2 -+ if test $recheck = yes; then -+ echo "Reverting to backed up copy." 1>&2 -+ mv ${device_map}.backup $device_map -+ fi - exit 1 - fi - - # Check for INSTALL_DEVICE. - case "$install_device" in - /dev/*) -- install_device=`resolve_symlink "$install_device"` -- install_drive=`convert "$install_device"` -- # I don't know why, but some shells wouldn't die if exit is -- # called in a function. -- if test "x$install_drive" = x; then -+ install_device=`resolve_symlink "$install_device"` || exit 1 -+ for install_drive in `find_real_devs $install_device` ; do -+ install_drive=`convert $install_drive` || exit 1 -+ if is_raid1_device $install_device; then -+ install_drive=`echo $install_drive | sed 's/,[0-9]*)/)/'` -+ fi -+ if [ "x$install_drive" = "x" ]; then -+ exit 1 -+ fi -+ install_drives="${install_drives} ${install_drive}" -+ done -+ unset install_drive -+ -+ if test "x$install_drives" = x ; then - exit 1 - fi ;; - \([hf]d[0-9]*\)) -- install_drive="$install_device" ;; -+ install_drives="$install_device" ;; - [hf]d[0-9]*) - # The GRUB format with no parenthesis. -- install_drive="($install_device)" ;; -+ install_drives="($install_device)" ;; - *) - echo "Format of install_device not recognized." 1>&2 - usage - exit 1 ;; - esac - -+unset install_device -+ - # Get the root drive. --root_device=`find_device ${rootdir}` --bootdir_device=`find_device ${bootdir}` -+root_device=`find_device ${rootdir}` || exit 1 -+bootdir_device=`find_device ${bootdir}` || exit 1 - - # Check if the boot directory is in the same device as the root directory. - if test "x$root_device" != "x$bootdir_device"; then -@@ -387,15 +564,8 @@ if test "x$root_device" != "x$bootdir_device"; then - grub_prefix="/grub" - fi - --# Convert the root device to a GRUB drive. --root_drive=`convert "$root_device"` --if test "x$root_drive" = x; then -- exit 1 --fi -- --# Check if the root directory exists in the same device as the grub --# directory. --grubdir_device=`find_device ${grubdir}` -+# Check if the root directory exists in the same device as the grub directory. -+grubdir_device=`find_device ${grubdir}` || exit 1 - - if test "x$grubdir_device" != "x$root_device"; then - # For now, cannot deal with this situation. -@@ -406,61 +576,71 @@ EOF - exit 1 - fi - --# Copy the GRUB images to the GRUB directory. --for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do -- rm -f $file || exit 1 --done --for file in \ -- ${pkglibdir}/stage1 ${pkglibdir}/stage2 ${pkglibdir}/*stage1_5; do -- cp -f $file ${grubdir} || exit 1 --done -- --# Make a default file. --${grub_set_default} --root-directory=${rootdir} default -- - # Make sure that GRUB reads the same images as the host OS. - test -n "$mkimg" && img_file=`$mkimg` - test -n "$mklog" && log_file=`$mklog` - -+# There's not a real root device, so just pick the first -+if is_raid1_device $root_device ; then -+ root_device=`find_real_devs $root_device | awk '{print $1}'` -+fi -+ -+# Convert the root deviceto a GRUB drive. -+root_drive=`convert "$root_device"` || exit 1 -+if [ "x$root_drive" = x ]; then -+ exit 1 -+fi -+ - for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do - count=5 - tmp=`echo $file | sed "s|^${grubdir}|${grub_prefix}|"` - while test $count -gt 0; do -- $grub_shell --batch $no_floppy --device-map=$device_map <$log_file --dump ${root_drive}${tmp} ${img_file} --quit --EOF -- if grep "Error [0-9]*: " $log_file >/dev/null; then -- : -- elif cmp $file $img_file >/dev/null; then -- break -- fi -- sleep 1 -- count=`expr $count - 1` -+ dump_boot_block $root_drive $img_file -+ if grep "Error [0-9]*: " $log_file >/dev/null; then -+ : -+ else -+ # Use sha1sum instead of cmp to avoid a dependency on diffutils. -+ sha1=`sha1sum $file | cut -d' ' -f 1` -+ sha2=`sha1sum $img_file | cut -d' ' -f 1` -+ if test -f $file -a -f $img_file -a "$sha1" = "$sha2"; then -+ break -+ fi -+ fi -+ sleep 1 -+ count=`expr $count - 1` - done - if test $count -eq 0; then -- echo "The file $file not read correctly." 1>&2 -- exit 1 -+ echo "The file $file not read correctly." 1>&2 -+ exit 1 - fi - done - - rm -f $img_file - rm -f $log_file - -+if ! test -e ${grubdir}/grub.conf ; then -+ test -e ${grubdir}/menu.lst && ln -s ./menu.lst ${grubdir}/grub.conf -+fi -+ - # Create a safe temporary file. - test -n "$mklog" && log_file=`$mklog` - --# Now perform the installation. --$grub_shell --batch $no_floppy --device-map=$device_map <$log_file --root $root_drive --setup $force_lba --stage2=$grubdir/stage2 --prefix=$grub_prefix $install_drive --quit --EOF -+for install_drive in $install_drives; do -+ # Convert the root deviceto a GRUB drive. -+ root_drive=`convert "$root_device"` || exit 1 -+ if [ "x$root_drive" = x ]; then -+ exit 1 -+ fi -+ install_boot_block $root_drive $install_drive -+done - --if grep "Error [0-9]*: " $log_file >/dev/null || test $debug = yes; then -+if grep "Error [0-9]*: " $log_file >/dev/null ; then - cat $log_file 1>&2 - exit 1 - fi -+if test $debug = yes; then -+ cat $log_file 1>&2 -+fi - - rm -f $log_file - diff --git a/grub-fedora-17.patch b/grub-fedora-17.patch new file mode 100644 index 0000000..b114750 --- /dev/null +++ b/grub-fedora-17.patch @@ -0,0 +1,47403 @@ +From: Peter Jones +Date: Thu 9 Feb 2012 13:50:00 -0500 +Subject: [PATCH] Changes from grub-0.97 to fedora-17 + +This patch is a bundle of the changes between grub-0.97 and fedora-17. +It can be reginerated from the git repository at: + +http://git.kernel.org/?p=boot/grub-fedora/grub-fedora.git;a=summary + +Using the command: + +git diff grub-0.97 fedora-17 + + .gitignore | 8 + ChangeLog | 48 + Makefile.am | 7 + Makefile.in | 175 + acinclude.m4 | 4 + aclocal.m4 | 555 +- + config.h.in | 5 + configure | 7639 ----------------------------------------- + configure.in | 113 + docs/.gitignore | 3 + docs/Makefile.am | 9 + docs/Makefile.in | 260 - + docs/grub-crypt.8 | 39 + docs/grub-install.8 | 2 + docs/grub.8 | 2 + docs/grub.info | 370 + + docs/grub.texi | 79 + docs/stamp-vti | 4 + docs/version.texi | 4 + efi/.gitignore | 7 + efi/Makefile.am | 76 + efi/byteswap.h | 37 + efi/dhcp.h | 133 + efi/efichainloader.c | 265 + + efi/eficon.c | 306 + + efi/eficore.c | 241 + + efi/efidisk.c | 783 ++++ + efi/efidp.c | 999 +++++ + efi/efigraph.c | 1501 ++++++++ + efi/efimain.c | 129 + efi/efimisc.c | 665 +++ + efi/efimm.c | 539 ++ + efi/efiserial.c | 265 + + efi/efitftp.c | 228 + + efi/efiuga.c | 982 +++++ + efi/font_8x16.c | 4638 ++++++++++++++++++++++++ + efi/graphics.c | 659 +++ + efi/graphics.h | 81 + efi/grub/.gitignore | 1 + efi/grub/efi/api.h | 1716 +++++++++ + efi/grub/efi/console_control.h | 59 + efi/grub/efi/efi.h | 85 + efi/grub/efi/eficall.h | 162 + efi/grub/efi/misc.h | 60 + efi/grub/efi/time.h | 31 + efi/grub/i386/linux.h | 226 + + efi/grub/i386/types.h | 32 + efi/grub/misc.h | 71 + efi/grub/symbol.h | 34 + efi/grub/types.h | 158 + efi/grub/x86_64/linux.h | 228 + + efi/grub/x86_64/types.h | 32 + efi/ia32/callwrap.S | 1 + efi/ia32/callwrap.c | 131 + efi/ia32/loader/bin_to_h.c | 29 + efi/ia32/loader/linux.c | 648 +++ + efi/ia32/loader/switch.S | 118 + efi/ia32/loader/switch.h | 19 + efi/ia32/reloc.c | 79 + efi/ia32/setjmp.S | 86 + efi/pxe.c | 456 ++ + efi/pxe.h | 237 + + efi/ugadebug.h | 201 + + efi/x86_64/callwrap.S | 274 + + efi/x86_64/crt0-efi.S | 63 + efi/x86_64/elf_efi.lds | 58 + efi/x86_64/loader/Makefile | 20 + efi/x86_64/loader/bin_to_h.c | 29 + efi/x86_64/loader/linux.c | 588 +++ + efi/x86_64/loader/switch.S | 92 + efi/x86_64/loader/switch.h | 25 + efi/x86_64/reloc.c | 79 + efi/x86_64/setjmp.S | 56 + efi/xpm.c | 231 + + efi/xpm.h | 36 + grub.spec | 438 ++ + grub/.gitignore | 2 + grub/Makefile.am | 2 + grub/Makefile.in | 117 + grub/asmstub.c | 194 - + grub/efitftp.c | 34 + grub/main.c | 2 + lib/.gitignore | 2 + lib/Makefile.in | 111 + lib/device.c | 360 + + netboot/.gitignore | 2 + netboot/Makefile.in | 359 - + netboot/etherboot.h | 34 + netboot/main.c | 6 + netboot/misc.c | 58 + netboot/osdep.h | 24 + stage1/.gitignore | 2 + stage1/Makefile.am | 15 + stage1/Makefile.in | 169 + stage1/stage1.S | 4 + stage2/.gitignore | 5 + stage2/Makefile.am | 77 + stage2/Makefile.in | 1729 +++++---- + stage2/asm.S | 284 + + stage2/boot.c | 114 + stage2/builtins.c | 1368 +++++-- + stage2/char_io.c | 609 ++- + stage2/cmdline.c | 19 + stage2/common.c | 16 + stage2/disk_io.c | 211 - + stage2/efistubs.c | 7 + stage2/efistubs.h | 8 + stage2/fat.h | 2 + stage2/filesys.h | 28 + stage2/fsys_ext2fs.c | 394 +- + stage2/fsys_fat.c | 41 + stage2/fsys_iso9660.c | 8 + stage2/fsys_jfs.c | 12 + stage2/fsys_minix.c | 10 + stage2/fsys_reiserfs.c | 44 + stage2/fsys_uefi.c | 196 + + stage2/fsys_vstafs.c | 28 + stage2/fsys_xfs.c | 22 + stage2/gpt.h | 69 + stage2/graphics.c | 573 +++ + stage2/graphics.h | 42 + stage2/gunzip.c | 15 + stage2/iso9660.h | 4 + stage2/mb_info.h | 4 + stage2/pc_slice.h | 51 + stage2/serial.c | 4 + stage2/sha256crypt.c | 723 +++ + stage2/sha512crypt.c | 795 ++++ + stage2/shared.h | 126 + stage2/smp-imps.h | 1 + stage2/stage1_5.c | 3 + stage2/stage2.c | 203 - + stage2/start.S | 13 + stage2/term.h | 35 + stage2/tparm.c | 14 + test | 1 + util/.gitignore | 7 + util/Makefile.am | 11 + util/Makefile.in | 131 + util/grub-crypt.in | 80 + util/grub-install.in | 334 + + 141 files changed, 28068 insertions(+), 10649 deletions(-) + +diff --git a/.gitignore b/.gitignore +new file mode 100644 +index 0000000..4e19579 +--- /dev/null ++++ b/.gitignore +@@ -0,0 +1,8 @@ ++Makefile.in ++Makefile ++configure ++autom4te.cache ++config.h ++config.log ++config.status ++stamp-h1 +diff --git a/ChangeLog b/ChangeLog +index 0f93033..9602fb9 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -772,6 +772,18 @@ + DATA_LEN is less than or equal to MULTIBOOT_SEARCH. + Reported by Neelkanth Natu . + ++2003-03-12 Leonid Lisovskiy ++ ++ * lib/device.c (get_drive_geometry): grub utility didn't work ++ due to uninitialized 'sector_size' struct geometry member. ++ * stage1/stage1.h (GRUB_NO_DRIVE): Constant moved from ++ stage2/shared.h and its value rolled back to 0xFF for backward ++ compatibility with original grub. ++ * stage1/stage1.S (boot_drive): Use GRUB_NO_DRIVE instead of ++ constant. ++ * stage2/bios.c (get_diskinfo): Workaround for BIOS'es that ++ has CD-ROM drive number = last harddisk + 1. ++ + 2003-03-10 Yoshinori K. Okuji + + From Andrew Walrond : +@@ -816,6 +828,42 @@ + thus corrupts the stack. This is why we specify the exactly + necessary size of 0x42 bytes. + ++2003-01-28 Leonid Lisovskiy ++ ++ ISO9660 support is added. ++ ++ * stage2/fsys_iso9660.c: New file - a lot of code stolen from ++ GRUB/98 0.5. ++ * stage2/iso9660.h: Likewise. ++ * stage2/start_torito.S: New file - El Torito boot sector. ++ * stage2/Makefile.am (noinst_HEADERS): iso9660.h added. ++ (libgrub_a_SOURCES): fsys_iso9660.c added. ++ (pkgdata_DATA): iso9660_stage1_5 added. ++ (noinst_PROGRAMS): iso9660_stage1_5.exec added. ++ * configure.in (--disable-iso9660): New option. ++ * stage2/builtins.c (setup_func): Add item for ISO9660 into ++ STAGE1_5_MAP. ++ * stage2/disk_io.c (rawread): Ability to read devices with ++ sector size other than 512 added. ++ (fsys_table): Added entry for ISO9660. ++ (check_and_print_mount): Don't print error when probing ++ partition. ++ (real_open_partition): Cleanup globals after probing. ++ * stage2/filesys.h [FSYS_ISO9660]: Add entries for ISO9660 ++ functions. ++ (NUM_FSYS): Added FSYS_ISO9660_NUM. ++ * stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro. ++ (GRUB_NO_DRIVE): New constant. ++ (struct geometry): New member 'sector_size'. ++ * stage2/bios.c (get_diskinfo): Request 1.xx version of ++ int13 extensions only since higher version request can ++ destroy El Torito emulation on some BIOS'es. ++ (get_cdinfo): New function - get El Torito emulation parameters. ++ * stage2/asm.S (biosdisk_int13_extensions): pass AX, instead ++ of AH for universality, save EBX,ECX,EDX registers content to ++ avoid data corruption in caller functions. ++ (get_diskinfo_int13_extensions): Removed. ++ + 2003-01-25 Yoshinori K. Okuji + + From Steven Dick : +diff --git a/Makefile.am b/Makefile.am +index 63a9a4f..9bde872 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,9 @@ + # Do not change this order if you don't know what you are doing. + AUTOMAKE_OPTIONS = 1.7 gnu +-SUBDIRS = netboot stage2 stage1 lib grub util docs ++SUBDIRS = netboot stage2 stage1 lib util docs ++if PLATFORM_EFI ++SUBDIRS += efi ++else ++SUBDIRS += grub ++endif + EXTRA_DIST = BUGS MAINTENANCE +diff --git a/Makefile.in b/Makefile.in +index 6652366..6cff007 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -13,15 +13,11 @@ + # PARTICULAR PURPOSE. + + @SET_MAKE@ +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = . + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -35,19 +31,19 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ ++subdir = . + DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + THANKS TODO compile config.guess config.sub depcomp install-sh \ + missing mkinstalldirs +-subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ +- configure.lineno configure.status.lineno ++ configure.lineno config.status.lineno + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = config.h + CONFIG_CLEAN_FILES = +@@ -55,10 +51,13 @@ SOURCES = + DIST_SOURCES = + RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ +- install-exec-recursive install-info-recursive \ +- install-recursive installcheck-recursive installdirs-recursive \ +- pdf-recursive ps-recursive uninstall-info-recursive \ +- uninstall-recursive ++ install-dvi-recursive install-exec-recursive \ ++ install-html-recursive install-info-recursive \ ++ install-pdf-recursive install-ps-recursive install-recursive \ ++ installcheck-recursive installdirs-recursive pdf-recursive \ ++ ps-recursive uninstall-recursive ++RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ ++ distclean-recursive maintainer-clean-recursive + ETAGS = etags + CTAGS = ctags + DIST_SUBDIRS = $(SUBDIRS) +@@ -74,17 +73,14 @@ GZIP_ENV = --best + distuninstallcheck_listfiles = find . -type f -print + distcleancheck_listfiles = find . -type f -print + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -93,18 +89,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -112,14 +106,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -133,22 +125,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -160,28 +147,39 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ + + # Do not change this order if you don't know what you are doing. + AUTOMAKE_OPTIONS = 1.7 gnu +@@ -228,7 +226,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ +- $(MAKE) stamp-h1; \ ++ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + + stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status +@@ -241,7 +239,6 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + + distclean-hdr: + -rm -f config.h stamp-h1 +-uninstall-info-am: + + # This directory's subdirectories are mostly independent; you can cd + # into them and run `make' without going through this Makefile. +@@ -250,7 +247,13 @@ uninstall-info-am: + # (which will cause the Makefiles to be regenerated when you run `make'); + # (2) otherwise, pass the desired values on the `make' command line. + $(RECURSIVE_TARGETS): +- @set fnord $$MAKEFLAGS; amf=$$2; \ ++ @failcom='exit 1'; \ ++ for f in x $$MAKEFLAGS; do \ ++ case $$f in \ ++ *=* | --[!k]*);; \ ++ *k*) failcom='fail=yes';; \ ++ esac; \ ++ done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ +@@ -262,15 +265,20 @@ $(RECURSIVE_TARGETS): + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +-mostlyclean-recursive clean-recursive distclean-recursive \ +-maintainer-clean-recursive: +- @set fnord $$MAKEFLAGS; amf=$$2; \ ++$(RECURSIVE_CLEAN_TARGETS): ++ @failcom='exit 1'; \ ++ for f in x $$MAKEFLAGS; do \ ++ case $$f in \ ++ *=* | --[!k]*);; \ ++ *k*) failcom='fail=yes';; \ ++ esac; \ ++ done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ +@@ -291,7 +299,7 @@ maintainer-clean-recursive: + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ || eval $$failcom; \ + done && test -z "$$fail" + tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ +@@ -365,24 +373,22 @@ distclean-tags: + + distdir: $(DISTFILES) + $(am__remove_distdir) +- mkdir $(distdir) +- $(mkdir_p) $(distdir)/util +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ test -d $(distdir) || mkdir $(distdir) ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -396,7 +402,7 @@ distdir: $(DISTFILES) + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ +- || $(mkdir_p) "$(distdir)/$$subdir" \ ++ || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ +@@ -404,6 +410,8 @@ distdir: $(DISTFILES) + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ ++ am__remove_distdir=: \ ++ am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ +@@ -411,7 +419,7 @@ distdir: $(DISTFILES) + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ++ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) + dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +@@ -486,7 +494,7 @@ distcheck: dist + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ +- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' ++ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' + distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ +@@ -555,12 +563,20 @@ info-am: + + install-data-am: + ++install-dvi: install-dvi-recursive ++ + install-exec-am: + ++install-html: install-html-recursive ++ + install-info: install-info-recursive + + install-man: + ++install-pdf: install-pdf-recursive ++ ++install-ps: install-ps-recursive ++ + installcheck-am: + + maintainer-clean: maintainer-clean-recursive +@@ -581,24 +597,25 @@ ps: ps-recursive + + ps-am: + +-uninstall-am: uninstall-info-am +- +-uninstall-info: uninstall-info-recursive +- +-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ +- check-am clean clean-generic clean-recursive ctags \ +- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ +- dist-tarZ dist-zip distcheck distclean distclean-generic \ +- distclean-hdr distclean-recursive distclean-tags \ +- distcleancheck distdir distuninstallcheck dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-exec install-exec-am install-info \ +- install-info-am install-man install-strip installcheck \ +- installcheck-am installdirs installdirs-am maintainer-clean \ +- maintainer-clean-generic maintainer-clean-recursive \ +- mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ +- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ +- uninstall-info-am ++uninstall-am: ++ ++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ ++ install-strip ++ ++.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ ++ all all-am am--refresh check check-am clean clean-generic \ ++ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ ++ dist-shar dist-tarZ dist-zip distcheck distclean \ ++ distclean-generic distclean-hdr distclean-tags distcleancheck \ ++ distdir distuninstallcheck dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ ++ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff --git a/acinclude.m4 b/acinclude.m4 +index 368839c..1cf1d67 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -44,6 +44,8 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE], + [AC_MSG_CHECKING([whether ${OBJCOPY} works for absolute addresses]) + AC_CACHE_VAL(grub_cv_prog_objcopy_absolute, + [cat > conftest.c <<\EOF ++void cmain(void); ++ + void + cmain (void) + { +@@ -57,7 +59,7 @@ else + fi + grub_cv_prog_objcopy_absolute=yes + for link_addr in 2000 8000 7C00; do +- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then : ++ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr -Wl,--build-id=none conftest.o -o conftest.exec]); then : + else + AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) + fi +diff --git a/aclocal.m4 b/aclocal.m4 +index aa691f6..9965d5d 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -1,7 +1,7 @@ +-# generated automatically by aclocal 1.9.4 -*- Autoconf -*- ++# generated automatically by aclocal 1.10 -*- Autoconf -*- + +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +-# Free Software Foundation, Inc. ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ++# 2005, 2006 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -11,55 +11,52 @@ + # even the implied warranty of MERCHANTABILITY or FITNESS FOR A + # PARTICULAR PURPOSE. + +-# -*- Autoconf -*- +-# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +-# Generated from amversion.in; do not edit by hand. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++m4_if(m4_PACKAGE_VERSION, [2.61],, ++[m4_fatal([this file was generated for autoconf 2.61. ++You have another version of autoconf. If you want to use that, ++you should regenerate the build system entirely.], [63])]) + +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + + # AM_AUTOMAKE_VERSION(VERSION) + # ---------------------------- + # Automake X.Y traces this macro to ensure aclocal.m4 has been + # generated from the m4 files accompanying Automake X.Y. +-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) ++# (This private macro should not be called outside this file.) ++AC_DEFUN([AM_AUTOMAKE_VERSION], ++[am__api_version='1.10' ++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to ++dnl require some minimum version. Point them to the right macro. ++m4_if([$1], [1.10], [], ++ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ++]) ++ ++# _AM_AUTOCONF_VERSION(VERSION) ++# ----------------------------- ++# aclocal traces this macro to find the Autoconf version. ++# This is a private macro too. Using m4_define simplifies ++# the logic in aclocal, which can simply ignore this definition. ++m4_define([_AM_AUTOCONF_VERSION], []) + + # AM_SET_CURRENT_AUTOMAKE_VERSION + # ------------------------------- +-# Call AM_AUTOMAKE_VERSION so it can be traced. ++# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +- [AM_AUTOMAKE_VERSION([1.9.4])]) ++[AM_AUTOMAKE_VERSION([1.10])dnl ++_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) + +-# AM_AUX_DIR_EXPAND ++# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +-# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets + # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +@@ -106,26 +103,16 @@ AC_PREREQ([2.50])dnl + am_aux_dir=`cd $ac_aux_dir && pwd` + ]) + +-# AM_CONDITIONAL -*- Autoconf -*- +- +-# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# AM_CONDITIONAL -*- Autoconf -*- + +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# serial 6 ++# serial 8 + + # AM_CONDITIONAL(NAME, SHELL-CONDITION) + # ------------------------------------- +@@ -134,8 +121,10 @@ AC_DEFUN([AM_CONDITIONAL], + [AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +-AC_SUBST([$1_TRUE]) +-AC_SUBST([$1_FALSE]) ++AC_SUBST([$1_TRUE])dnl ++AC_SUBST([$1_FALSE])dnl ++_AM_SUBST_NOTMAKE([$1_TRUE])dnl ++_AM_SUBST_NOTMAKE([$1_FALSE])dnl + if $2; then + $1_TRUE= + $1_FALSE='#' +@@ -149,26 +138,14 @@ AC_CONFIG_COMMANDS_PRE( + Usually this means the macro was only invoked conditionally.]]) + fi])]) + +-# serial 7 -*- Autoconf -*- +- +-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 ++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + # Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. +- ++# serial 9 + + # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be + # written in clear, in which case automake, when reading aclocal.m4, +@@ -177,7 +154,6 @@ fi])]) + # CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +- + # _AM_DEPENDENCIES(NAME) + # ---------------------- + # See how the compiler implements dependency checking. +@@ -197,6 +173,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl + ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], ++ [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +@@ -262,6 +239,7 @@ AC_CACHE_CHECK([dependency style of $depcc], + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && ++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +@@ -314,30 +292,20 @@ if test "x$enable_dependency_tracking" != xno; then + AMDEPBACKSLASH='\' + fi + AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +-AC_SUBST([AMDEPBACKSLASH]) ++AC_SUBST([AMDEPBACKSLASH])dnl ++_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl + ]) + +-# Generate code to set up dependency tracking. -*- Autoconf -*- +- +-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +-# Free Software Foundation, Inc. ++# Generate code to set up dependency tracking. -*- Autoconf -*- + +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-#serial 2 ++#serial 3 + + # _AM_OUTPUT_DEPENDENCY_COMMANDS + # ------------------------------ +@@ -350,8 +318,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. +- # So let's grep whole file. +- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ # Grep'ing the whole file is not good either: AIX grep has a line ++ # limit of 2048, but all sed's we know have understand at least 4000. ++ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue +@@ -396,30 +365,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) + ]) + +-# Do all the work for Automake. -*- Autoconf -*- ++# Do all the work for Automake. -*- Autoconf -*- + +-# This macro actually does too much some checks are only needed if +-# your package does certain things. But this isn't really a big deal. +- +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +-# Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ++# 2005, 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# serial 12 + +-# serial 11 ++# This macro actually does too much. Some checks are only needed if ++# your package does certain things. But this isn't really a big deal. + + # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) + # AM_INIT_AUTOMAKE([OPTIONS]) +@@ -433,16 +391,20 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], + # arguments mandatory, and then we can depend on a new Autoconf + # release and drop the old call support. + AC_DEFUN([AM_INIT_AUTOMAKE], +-[AC_PREREQ([2.58])dnl ++[AC_PREREQ([2.60])dnl + dnl Autoconf wants to disallow AM_ names. We explicitly allow + dnl the ones we care about. + m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl + AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl +-# test to see if srcdir already configured +-if test "`cd $srcdir && pwd`" != "`pwd`" && +- test -f $srcdir/config.status; then +- AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) ++if test "`cd $srcdir && pwd`" != "`pwd`"; then ++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output ++ # is not polluted with repeated "-I." ++ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl ++ # test to see if srcdir already configured ++ if test -f $srcdir/config.status; then ++ AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) ++ fi + fi + + # test whether we have cygpath +@@ -462,6 +424,9 @@ m4_ifval([$2], + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], + [_AM_SET_OPTIONS([$1])dnl ++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. ++m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, ++ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +@@ -497,6 +462,10 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl ++AC_PROVIDE_IFELSE([AC_PROG_OBJC], ++ [_AM_DEPENDENCIES(OBJC)], ++ [define([AC_PROG_OBJC], ++ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + ]) + ]) + +@@ -521,51 +490,27 @@ for _am_header in $config_headers :; do + done + echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + ++# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ + # AM_PROG_INSTALL_SH + # ------------------ + # Define $install_sh. +- +-# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. +- + AC_DEFUN([AM_PROG_INSTALL_SH], + [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +-install_sh=${install_sh-"$am_aux_dir/install-sh"} ++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} + AC_SUBST(install_sh)]) + +-# -*- Autoconf -*- +-# Copyright (C) 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# serial 1 ++# serial 2 + + # Check whether the underlying file-system supports filenames + # with a leading dot. For instance MS-DOS doesn't. +@@ -580,28 +525,17 @@ fi + rmdir .tst 2>/dev/null + AC_SUBST([am__leading_dot])]) + +-# Add --enable-maintainer-mode option to configure. ++# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- + # From Jim Meyering + +-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 ++# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 + # Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. +- +-# serial 3 ++# serial 4 + + AC_DEFUN([AM_MAINTAINER_MODE], + [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) +@@ -620,26 +554,15 @@ AC_DEFUN([AM_MAINTAINER_MODE], + + AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +-# Check to see how 'make' treats includes. -*- Autoconf -*- +- +-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. ++# Check to see how 'make' treats includes. -*- Autoconf -*- + +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# serial 2 ++# serial 3 + + # AM_MAKE_INCLUDE() + # ----------------- +@@ -683,27 +606,16 @@ AC_MSG_RESULT([$_am_result]) + rm -f confinc confmf + ]) + +-# -*- Autoconf -*- ++# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + ++# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. +- +-# serial 3 ++# serial 5 + + # AM_MISSING_PROG(NAME, PROGRAM) + # ------------------------------ +@@ -719,6 +631,7 @@ AC_SUBST($1)]) + # If it does, set am_missing_run to use it, otherwise, to nothing. + AC_DEFUN([AM_MISSING_HAS_RUN], + [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++AC_REQUIRE_AUX_FILE([missing])dnl + test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" + # Use eval to expand $SHELL + if eval "$MISSING --run true"; then +@@ -729,100 +642,41 @@ else + fi + ]) + ++# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ + # AM_PROG_MKDIR_P + # --------------- +-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +- +-# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. +- +-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +-# created by `make install' are always world readable, even if the +-# installer happens to have an overly restrictive umask (e.g. 077). +-# This was a mistake. There are at least two reasons why we must not +-# use `-m 0755': +-# - it causes special bits like SGID to be ignored, +-# - it may be too restrictive (some setups expect 775 directories). +-# +-# Do not use -m 0755 and let people choose whatever they expect by +-# setting umask. +-# +-# We cannot accept any implementation of `mkdir' that recognizes `-p'. +-# Some implementations (such as Solaris 8's) are not thread-safe: if a +-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +-# concurrently, both version can detect that a/ is missing, but only +-# one can create it and the other will error out. Consequently we +-# restrict ourselves to GNU make (using the --version option ensures +-# this.) ++# Check for `mkdir -p'. + AC_DEFUN([AM_PROG_MKDIR_P], +-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then +- # We used to keeping the `.' as first argument, in order to +- # allow $(mkdir_p) to be used without argument. As in +- # $(mkdir_p) $(somedir) +- # where $(somedir) is conditionally defined. However this is wrong +- # for two reasons: +- # 1. if the package is installed by a user who cannot write `.' +- # make install will fail, +- # 2. the above comment should most certainly read +- # $(mkdir_p) $(DESTDIR)$(somedir) +- # so it does not work when $(somedir) is undefined and +- # $(DESTDIR) is not. +- # To support the latter case, we have to write +- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), +- # so the `.' trick is pointless. +- mkdir_p='mkdir -p --' +-else +- # On NextStep and OpenStep, the `mkdir' command does not +- # recognize any option. It will interpret all options as +- # directories to create, and then abort because `.' already +- # exists. +- for d in ./-p ./--version; +- do +- test -d $d && rmdir $d +- done +- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. +- if test -f "$ac_aux_dir/mkinstalldirs"; then +- mkdir_p='$(mkinstalldirs)' +- else +- mkdir_p='$(install_sh) -d' +- fi +-fi +-AC_SUBST([mkdir_p])]) +- +-# Helper functions for option handling. -*- Autoconf -*- +- +-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. ++[AC_PREREQ([2.60])dnl ++AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, ++dnl while keeping a definition of mkdir_p for backward compatibility. ++dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. ++dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of ++dnl Makefile.ins that do not define MKDIR_P, so we do our own ++dnl adjustment using top_builddir (which is defined more often than ++dnl MKDIR_P). ++AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl ++case $mkdir_p in ++ [[\\/$]]* | ?:[[\\/]]*) ;; ++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; ++esac ++]) + +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# Helper functions for option handling. -*- Autoconf -*- + +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# serial 2 ++# serial 3 + + # _AM_MANGLE_OPTION(NAME) + # ----------------------- +@@ -847,28 +701,16 @@ AC_DEFUN([_AM_SET_OPTIONS], + AC_DEFUN([_AM_IF_OPTION], + [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +-# +-# Check to make sure that the build environment is sane. +-# +- +-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# Check to make sure that the build environment is sane. -*- Autoconf -*- + +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 ++# Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# serial 3 ++# serial 4 + + # AM_SANITY_CHECK + # --------------- +@@ -911,25 +753,14 @@ Check your system clock]) + fi + AC_MSG_RESULT(yes)]) + +-# AM_PROG_INSTALL_STRIP +- +-# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +- +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + ++# AM_PROG_INSTALL_STRIP ++# --------------------- + # One issue with vendor `install' (even GNU) is that you can't + # specify the program used to strip binaries. This is especially + # annoying in cross-compiling environments, where the build's strip +@@ -947,30 +778,30 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'. + if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) + fi +-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" ++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +-# Check how to create a tarball. -*- Autoconf -*- +- +-# Copyright (C) 2004 Free Software Foundation, Inc. +- +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2, or (at your option) +-# any later version. ++# Copyright (C) 2006 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# _AM_SUBST_NOTMAKE(VARIABLE) ++# --------------------------- ++# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. ++# This macro is traced by Automake. ++AC_DEFUN([_AM_SUBST_NOTMAKE]) + +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Check how to create a tarball. -*- Autoconf -*- + +-# serial 1 ++# Copyright (C) 2004, 2005 Free Software Foundation, Inc. ++# ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + ++# serial 2 + + # _AM_PROG_TAR(FORMAT) + # -------------------- +diff --git a/config.h.in b/config.h.in +index 68d7c8c..e2128e4 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -1,4 +1,4 @@ +-/* config.h.in. Generated from configure.ac by autoheader. */ ++/* config.h.in. Generated from configure.in by autoheader. */ + + /* Define if an absolute indirect call/jump must NOT be prefixed with `*' */ + #undef ABSOLUTE_WITHOUT_ASTERISK +@@ -96,6 +96,9 @@ + /* Define to the version of this package. */ + #undef PACKAGE_VERSION + ++/* Define if you run on EFI platform. */ ++#undef PLATFORM_EFI ++ + /* Define if there is user specified preset menu string */ + #undef PRESET_MENU_STRING + +diff --git a/configure b/configure +deleted file mode 100755 +index 537ab89..0000000 +--- a/configure ++++ /dev/null +@@ -1,7639 +0,0 @@ +-#! /bin/sh +-# Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.59 for GRUB 0.97. +-# +-# Report bugs to . +-# +-# Copyright (C) 2003 Free Software Foundation, Inc. +-# This configure script is free software; the Free Software Foundation +-# gives unlimited permission to copy, distribute and modify it. +-## --------------------- ## +-## M4sh Initialization. ## +-## --------------------- ## +- +-# Be Bourne compatible +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +- emulate sh +- NULLCMD=: +- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which +- # is contrary to our usage. Disable this feature. +- alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix +-fi +-DUALCASE=1; export DUALCASE # for MKS sh +- +-# Support unset when possible. +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- as_unset=unset +-else +- as_unset=false +-fi +- +- +-# Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH +-PS1='$ ' +-PS2='> ' +-PS4='+ ' +- +-# NLS nuisances. +-for as_var in \ +- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ +- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ +- LC_TELEPHONE LC_TIME +-do +- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then +- eval $as_var=C; export $as_var +- else +- $as_unset $as_var +- fi +-done +- +-# Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +- as_basename=basename +-else +- as_basename=false +-fi +- +- +-# Name of the executable. +-as_me=`$as_basename "$0" || +-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- +- +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits +- +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh +-fi +- +- +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done +- +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in +- /*) +- if ("$as_dir/$as_base" -c ' +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac +- +- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO +- # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. +- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | +- sed ' +- N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, +- t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, +- ' >$as_me.lineno && +- chmod +x $as_me.lineno || +- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 +- { (exit 1); exit 1; }; } +- +- # Don't try to exec as it changes $[0], causing all sort of problems +- # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno +- # Exit status is that of the last command. +- exit +-} +- +- +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +-esac +- +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-rm -f conf$$ conf$$.exe conf$$.file +-echo >conf$$.file +-if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links +- as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi +-elif ln conf$$.file conf$$ 2>/dev/null; then +- as_ln_s=ln +-else +- as_ln_s='cp -p' +-fi +-rm -f conf$$ conf$$.exe conf$$.file +- +-if mkdir -p . 2>/dev/null; then +- as_mkdir_p=: +-else +- test -d ./-p && rmdir ./-p +- as_mkdir_p=false +-fi +- +-as_executable_p="test -f" +- +-# Sed expression to map a string onto a valid CPP name. +-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +- +-# Sed expression to map a string onto a valid variable name. +-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +- +- +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH +- +- +-# Name of the host. +-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +-# so uname gets run too. +-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` +- +-exec 6>&1 +- +-# +-# Initializations. +-# +-ac_default_prefix=/usr/local +-ac_config_libobj_dir=. +-cross_compiling=no +-subdirs= +-MFLAGS= +-MAKEFLAGS= +-SHELL=${CONFIG_SHELL-/bin/sh} +- +-# Maximum number of lines to put in a shell here document. +-# This variable seems obsolete. It should probably be removed, and +-# only ac_max_sed_lines should be used. +-: ${ac_max_here_lines=38} +- +-# Identity of this package. +-PACKAGE_NAME='GRUB' +-PACKAGE_TARNAME='grub' +-PACKAGE_VERSION='0.97' +-PACKAGE_STRING='GRUB 0.97' +-PACKAGE_BUGREPORT='bug-grub@gnu.org' +- +-ac_unique_file="stage2/stage2.c" +-# Factoring default headers for most tests. +-ac_includes_default="\ +-#include +-#if HAVE_SYS_TYPES_H +-# include +-#endif +-#if HAVE_SYS_STAT_H +-# include +-#endif +-#if STDC_HEADERS +-# include +-# include +-#else +-# if HAVE_STDLIB_H +-# include +-# endif +-#endif +-#if HAVE_STRING_H +-# if !STDC_HEADERS && HAVE_MEMORY_H +-# include +-# endif +-# include +-#endif +-#if HAVE_STRINGS_H +-# include +-#endif +-#if HAVE_INTTYPES_H +-# include +-#else +-# if HAVE_STDINT_H +-# include +-# endif +-#endif +-#if HAVE_UNISTD_H +-# include +-#endif" +- +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT PERL CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CCAS RANLIB ac_ct_RANLIB STAGE1_CFLAGS STAGE2_CFLAGS GRUB_CFLAGS OBJCOPY ac_ct_OBJCOPY GRUB_LIBS CPP EGREP NETBOOT_SUPPORT_TRUE NETBOOT_SUPPORT_FALSE DISKLESS_SUPPORT_TRUE DISKLESS_SUPPORT_FALSE HERCULES_SUPPORT_TRUE HERCULES_SUPPORT_FALSE SERIAL_SUPPORT_TRUE SERIAL_SUPPORT_FALSE SERIAL_SPEED_SIMULATION_TRUE SERIAL_SPEED_SIMULATION_FALSE BUILD_EXAMPLE_KERNEL_TRUE BUILD_EXAMPLE_KERNEL_FALSE FSYS_CFLAGS NET_CFLAGS NET_EXTRAFLAGS NETBOOT_DRIVERS CCASFLAGS LIBOBJS LTLIBOBJS' +-ac_subst_files='' +- +-# Initialize some variables set by options. +-ac_init_help= +-ac_init_version=false +-# The variables have the same names as the options, with +-# dashes changed to underlines. +-cache_file=/dev/null +-exec_prefix=NONE +-no_create= +-no_recursion= +-prefix=NONE +-program_prefix=NONE +-program_suffix=NONE +-program_transform_name=s,x,x, +-silent= +-site= +-srcdir= +-verbose= +-x_includes=NONE +-x_libraries=NONE +- +-# Installation directory options. +-# These are left unexpanded so users can "make install exec_prefix=/foo" +-# and all the variables that are supposed to be based on exec_prefix +-# by default will actually change. +-# Use braces instead of parens because sh, perl, etc. also accept them. +-bindir='${exec_prefix}/bin' +-sbindir='${exec_prefix}/sbin' +-libexecdir='${exec_prefix}/libexec' +-datadir='${prefix}/share' +-sysconfdir='${prefix}/etc' +-sharedstatedir='${prefix}/com' +-localstatedir='${prefix}/var' +-libdir='${exec_prefix}/lib' +-includedir='${prefix}/include' +-oldincludedir='/usr/include' +-infodir='${prefix}/info' +-mandir='${prefix}/man' +- +-ac_prev= +-for ac_option +-do +- # If the previous option needs an argument, assign it. +- if test -n "$ac_prev"; then +- eval "$ac_prev=\$ac_option" +- ac_prev= +- continue +- fi +- +- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` +- +- # Accept the important Cygnus configure options, so we can diagnose typos. +- +- case $ac_option in +- +- -bindir | --bindir | --bindi | --bind | --bin | --bi) +- ac_prev=bindir ;; +- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) +- bindir=$ac_optarg ;; +- +- -build | --build | --buil | --bui | --bu) +- ac_prev=build_alias ;; +- -build=* | --build=* | --buil=* | --bui=* | --bu=*) +- build_alias=$ac_optarg ;; +- +- -cache-file | --cache-file | --cache-fil | --cache-fi \ +- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) +- ac_prev=cache_file ;; +- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ +- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) +- cache_file=$ac_optarg ;; +- +- --config-cache | -C) +- cache_file=config.cache ;; +- +- -datadir | --datadir | --datadi | --datad | --data | --dat | --da) +- ac_prev=datadir ;; +- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ +- | --da=*) +- datadir=$ac_optarg ;; +- +- -disable-* | --disable-*) +- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid feature name: $ac_feature" >&2 +- { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- eval "enable_$ac_feature=no" ;; +- +- -enable-* | --enable-*) +- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid feature name: $ac_feature" >&2 +- { (exit 1); exit 1; }; } +- ac_feature=`echo $ac_feature | sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "enable_$ac_feature='$ac_optarg'" ;; +- +- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ +- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ +- | --exec | --exe | --ex) +- ac_prev=exec_prefix ;; +- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ +- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ +- | --exec=* | --exe=* | --ex=*) +- exec_prefix=$ac_optarg ;; +- +- -gas | --gas | --ga | --g) +- # Obsolete; use --with-gas. +- with_gas=yes ;; +- +- -help | --help | --hel | --he | -h) +- ac_init_help=long ;; +- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) +- ac_init_help=recursive ;; +- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) +- ac_init_help=short ;; +- +- -host | --host | --hos | --ho) +- ac_prev=host_alias ;; +- -host=* | --host=* | --hos=* | --ho=*) +- host_alias=$ac_optarg ;; +- +- -includedir | --includedir | --includedi | --included | --include \ +- | --includ | --inclu | --incl | --inc) +- ac_prev=includedir ;; +- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ +- | --includ=* | --inclu=* | --incl=* | --inc=*) +- includedir=$ac_optarg ;; +- +- -infodir | --infodir | --infodi | --infod | --info | --inf) +- ac_prev=infodir ;; +- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) +- infodir=$ac_optarg ;; +- +- -libdir | --libdir | --libdi | --libd) +- ac_prev=libdir ;; +- -libdir=* | --libdir=* | --libdi=* | --libd=*) +- libdir=$ac_optarg ;; +- +- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ +- | --libexe | --libex | --libe) +- ac_prev=libexecdir ;; +- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ +- | --libexe=* | --libex=* | --libe=*) +- libexecdir=$ac_optarg ;; +- +- -localstatedir | --localstatedir | --localstatedi | --localstated \ +- | --localstate | --localstat | --localsta | --localst \ +- | --locals | --local | --loca | --loc | --lo) +- ac_prev=localstatedir ;; +- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ +- | --localstate=* | --localstat=* | --localsta=* | --localst=* \ +- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) +- localstatedir=$ac_optarg ;; +- +- -mandir | --mandir | --mandi | --mand | --man | --ma | --m) +- ac_prev=mandir ;; +- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) +- mandir=$ac_optarg ;; +- +- -nfp | --nfp | --nf) +- # Obsolete; use --without-fp. +- with_fp=no ;; +- +- -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +- | --no-cr | --no-c | -n) +- no_create=yes ;; +- +- -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) +- no_recursion=yes ;; +- +- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ +- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ +- | --oldin | --oldi | --old | --ol | --o) +- ac_prev=oldincludedir ;; +- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ +- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ +- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) +- oldincludedir=$ac_optarg ;; +- +- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) +- ac_prev=prefix ;; +- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) +- prefix=$ac_optarg ;; +- +- -program-prefix | --program-prefix | --program-prefi | --program-pref \ +- | --program-pre | --program-pr | --program-p) +- ac_prev=program_prefix ;; +- -program-prefix=* | --program-prefix=* | --program-prefi=* \ +- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) +- program_prefix=$ac_optarg ;; +- +- -program-suffix | --program-suffix | --program-suffi | --program-suff \ +- | --program-suf | --program-su | --program-s) +- ac_prev=program_suffix ;; +- -program-suffix=* | --program-suffix=* | --program-suffi=* \ +- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) +- program_suffix=$ac_optarg ;; +- +- -program-transform-name | --program-transform-name \ +- | --program-transform-nam | --program-transform-na \ +- | --program-transform-n | --program-transform- \ +- | --program-transform | --program-transfor \ +- | --program-transfo | --program-transf \ +- | --program-trans | --program-tran \ +- | --progr-tra | --program-tr | --program-t) +- ac_prev=program_transform_name ;; +- -program-transform-name=* | --program-transform-name=* \ +- | --program-transform-nam=* | --program-transform-na=* \ +- | --program-transform-n=* | --program-transform-=* \ +- | --program-transform=* | --program-transfor=* \ +- | --program-transfo=* | --program-transf=* \ +- | --program-trans=* | --program-tran=* \ +- | --progr-tra=* | --program-tr=* | --program-t=*) +- program_transform_name=$ac_optarg ;; +- +- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +- | -silent | --silent | --silen | --sile | --sil) +- silent=yes ;; +- +- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) +- ac_prev=sbindir ;; +- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +- | --sbi=* | --sb=*) +- sbindir=$ac_optarg ;; +- +- -sharedstatedir | --sharedstatedir | --sharedstatedi \ +- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ +- | --sharedst | --shareds | --shared | --share | --shar \ +- | --sha | --sh) +- ac_prev=sharedstatedir ;; +- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ +- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ +- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ +- | --sha=* | --sh=*) +- sharedstatedir=$ac_optarg ;; +- +- -site | --site | --sit) +- ac_prev=site ;; +- -site=* | --site=* | --sit=*) +- site=$ac_optarg ;; +- +- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) +- ac_prev=srcdir ;; +- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) +- srcdir=$ac_optarg ;; +- +- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ +- | --syscon | --sysco | --sysc | --sys | --sy) +- ac_prev=sysconfdir ;; +- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ +- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) +- sysconfdir=$ac_optarg ;; +- +- -target | --target | --targe | --targ | --tar | --ta | --t) +- ac_prev=target_alias ;; +- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) +- target_alias=$ac_optarg ;; +- +- -v | -verbose | --verbose | --verbos | --verbo | --verb) +- verbose=yes ;; +- +- -version | --version | --versio | --versi | --vers | -V) +- ac_init_version=: ;; +- +- -with-* | --with-*) +- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid package name: $ac_package" >&2 +- { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package| sed 's/-/_/g'` +- case $ac_option in +- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; +- *) ac_optarg=yes ;; +- esac +- eval "with_$ac_package='$ac_optarg'" ;; +- +- -without-* | --without-*) +- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` +- # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid package name: $ac_package" >&2 +- { (exit 1); exit 1; }; } +- ac_package=`echo $ac_package | sed 's/-/_/g'` +- eval "with_$ac_package=no" ;; +- +- --x) +- # Obsolete; use --with-x. +- with_x=yes ;; +- +- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ +- | --x-incl | --x-inc | --x-in | --x-i) +- ac_prev=x_includes ;; +- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ +- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) +- x_includes=$ac_optarg ;; +- +- -x-libraries | --x-libraries | --x-librarie | --x-librari \ +- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) +- ac_prev=x_libraries ;; +- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ +- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) +- x_libraries=$ac_optarg ;; +- +- -*) { echo "$as_me: error: unrecognized option: $ac_option +-Try \`$0 --help' for more information." >&2 +- { (exit 1); exit 1; }; } +- ;; +- +- *=*) +- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` +- # Reject names that are not valid shell variable names. +- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && +- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 +- { (exit 1); exit 1; }; } +- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` +- eval "$ac_envvar='$ac_optarg'" +- export $ac_envvar ;; +- +- *) +- # FIXME: should be removed in autoconf 3.0. +- echo "$as_me: WARNING: you should use --build, --host, --target" >&2 +- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && +- echo "$as_me: WARNING: invalid host type: $ac_option" >&2 +- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} +- ;; +- +- esac +-done +- +-if test -n "$ac_prev"; then +- ac_option=--`echo $ac_prev | sed 's/_/-/g'` +- { echo "$as_me: error: missing argument to $ac_option" >&2 +- { (exit 1); exit 1; }; } +-fi +- +-# Be sure to have absolute paths. +-for ac_var in exec_prefix prefix +-do +- eval ac_val=$`echo $ac_var` +- case $ac_val in +- [\\/$]* | ?:[\\/]* | NONE | '' ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# Be sure to have absolute paths. +-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ +- localstatedir libdir includedir oldincludedir infodir mandir +-do +- eval ac_val=$`echo $ac_var` +- case $ac_val in +- [\\/$]* | ?:[\\/]* ) ;; +- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# There might be people who depend on the old broken behavior: `$host' +-# used to hold the argument of --host etc. +-# FIXME: To remove some day. +-build=$build_alias +-host=$host_alias +-target=$target_alias +- +-# FIXME: To remove some day. +-if test "x$host_alias" != x; then +- if test "x$build_alias" = x; then +- cross_compiling=maybe +- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. +- If a cross compiler is detected then cross compile mode will be used." >&2 +- elif test "x$build_alias" != "x$host_alias"; then +- cross_compiling=yes +- fi +-fi +- +-ac_tool_prefix= +-test -n "$host_alias" && ac_tool_prefix=$host_alias- +- +-test "$silent" = yes && exec 6>/dev/null +- +- +-# Find the source files, if location was not specified. +-if test -z "$srcdir"; then +- ac_srcdir_defaulted=yes +- # Try the directory containing this script, then its parent. +- ac_confdir=`(dirname "$0") 2>/dev/null || +-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$0" : 'X\(//\)[^/]' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$0" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- srcdir=$ac_confdir +- if test ! -r $srcdir/$ac_unique_file; then +- srcdir=.. +- fi +-else +- ac_srcdir_defaulted=no +-fi +-if test ! -r $srcdir/$ac_unique_file; then +- if test "$ac_srcdir_defaulted" = yes; then +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 +- { (exit 1); exit 1; }; } +- else +- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 +- { (exit 1); exit 1; }; } +- fi +-fi +-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || +- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 +- { (exit 1); exit 1; }; } +-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +-ac_env_build_alias_set=${build_alias+set} +-ac_env_build_alias_value=$build_alias +-ac_cv_env_build_alias_set=${build_alias+set} +-ac_cv_env_build_alias_value=$build_alias +-ac_env_host_alias_set=${host_alias+set} +-ac_env_host_alias_value=$host_alias +-ac_cv_env_host_alias_set=${host_alias+set} +-ac_cv_env_host_alias_value=$host_alias +-ac_env_target_alias_set=${target_alias+set} +-ac_env_target_alias_value=$target_alias +-ac_cv_env_target_alias_set=${target_alias+set} +-ac_cv_env_target_alias_value=$target_alias +-ac_env_CC_set=${CC+set} +-ac_env_CC_value=$CC +-ac_cv_env_CC_set=${CC+set} +-ac_cv_env_CC_value=$CC +-ac_env_CFLAGS_set=${CFLAGS+set} +-ac_env_CFLAGS_value=$CFLAGS +-ac_cv_env_CFLAGS_set=${CFLAGS+set} +-ac_cv_env_CFLAGS_value=$CFLAGS +-ac_env_LDFLAGS_set=${LDFLAGS+set} +-ac_env_LDFLAGS_value=$LDFLAGS +-ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +-ac_cv_env_LDFLAGS_value=$LDFLAGS +-ac_env_CPPFLAGS_set=${CPPFLAGS+set} +-ac_env_CPPFLAGS_value=$CPPFLAGS +-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +-ac_cv_env_CPPFLAGS_value=$CPPFLAGS +-ac_env_CPP_set=${CPP+set} +-ac_env_CPP_value=$CPP +-ac_cv_env_CPP_set=${CPP+set} +-ac_cv_env_CPP_value=$CPP +- +-# +-# Report the --help message. +-# +-if test "$ac_init_help" = "long"; then +- # Omit some internal or obsolete options to make the list less imposing. +- # This message is too long to be a string in the A/UX 3.1 sh. +- cat <<_ACEOF +-\`configure' configures GRUB 0.97 to adapt to many kinds of systems. +- +-Usage: $0 [OPTION]... [VAR=VALUE]... +- +-To assign environment variables (e.g., CC, CFLAGS...), specify them as +-VAR=VALUE. See below for descriptions of some of the useful variables. +- +-Defaults for the options are specified in brackets. +- +-Configuration: +- -h, --help display this help and exit +- --help=short display options specific to this package +- --help=recursive display the short help of all the included packages +- -V, --version display version information and exit +- -q, --quiet, --silent do not print \`checking...' messages +- --cache-file=FILE cache test results in FILE [disabled] +- -C, --config-cache alias for \`--cache-file=config.cache' +- -n, --no-create do not create output files +- --srcdir=DIR find the sources in DIR [configure dir or \`..'] +- +-_ACEOF +- +- cat <<_ACEOF +-Installation directories: +- --prefix=PREFIX install architecture-independent files in PREFIX +- [$ac_default_prefix] +- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX +- [PREFIX] +- +-By default, \`make install' will install all the files in +-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +-an installation prefix other than \`$ac_default_prefix' using \`--prefix', +-for instance \`--prefix=\$HOME'. +- +-For better control, use the options below. +- +-Fine tuning of the installation directories: +- --bindir=DIR user executables [EPREFIX/bin] +- --sbindir=DIR system admin executables [EPREFIX/sbin] +- --libexecdir=DIR program executables [EPREFIX/libexec] +- --datadir=DIR read-only architecture-independent data [PREFIX/share] +- --sysconfdir=DIR read-only single-machine data [PREFIX/etc] +- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] +- --localstatedir=DIR modifiable single-machine data [PREFIX/var] +- --libdir=DIR object code libraries [EPREFIX/lib] +- --includedir=DIR C header files [PREFIX/include] +- --oldincludedir=DIR C header files for non-gcc [/usr/include] +- --infodir=DIR info documentation [PREFIX/info] +- --mandir=DIR man documentation [PREFIX/man] +-_ACEOF +- +- cat <<\_ACEOF +- +-Program names: +- --program-prefix=PREFIX prepend PREFIX to installed program names +- --program-suffix=SUFFIX append SUFFIX to installed program names +- --program-transform-name=PROGRAM run sed PROGRAM on installed program names +- +-System types: +- --build=BUILD configure for building on BUILD [guessed] +- --host=HOST cross-compile to build programs to run on HOST [BUILD] +-_ACEOF +-fi +- +-if test -n "$ac_init_help"; then +- case $ac_init_help in +- short | recursive ) echo "Configuration of GRUB 0.97:";; +- esac +- cat <<\_ACEOF +- +-Optional Features: +- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) +- --enable-FEATURE[=ARG] include FEATURE [ARG=yes] +- --enable-maintainer-mode enable make rules and dependencies not useful +- (and sometimes confusing) to the casual installer +- --disable-dependency-tracking speeds up one-time build +- --enable-dependency-tracking do not reject slow dependency extractors +- --disable-ext2fs disable ext2fs support in Stage 2 +- --disable-fat disable FAT support in Stage 2 +- --disable-ffs disable FFS support in Stage 2 +- --disable-ufs2 disable UFS2 support in Stage 2 +- --disable-minix disable Minix fs support in Stage 2 +- --disable-reiserfs disable ReiserFS support in Stage 2 +- --disable-vstafs disable VSTa FS support in Stage 2 +- --disable-jfs disable IBM JFS support in Stage 2 +- --disable-xfs disable SGI XFS support in Stage 2 +- --disable-iso9660 disable ISO9660 support in Stage 2 +- --disable-gunzip disable decompression in Stage 2 +- --disable-md5-password disable MD5 password support in Stage 2 +- --disable-packet-retransmission +- turn off packet retransmission +- --enable-pci-direct access PCI directly instead of using BIOS +- --enable-3c509 enable 3Com509 driver +- --enable-3c529 enable 3Com529 driver +- --enable-3c595 enable 3Com595 driver +- --enable-3c90x enable 3Com90x driver +- --enable-cs89x0 enable CS89x0 driver +- --enable-davicom enable Davicom driver +- --enable-depca enable DEPCA and EtherWORKS driver +- --enable-eepro enable Etherexpress Pro/10 driver +- --enable-eepro100 enable Etherexpress Pro/100 driver +- --enable-epic100 enable SMC 83c170 EPIC/100 driver +- --enable-3c507 enable 3Com507 driver +- --enable-exos205 enable EXOS205 driver +- --enable-ni5210 enable Racal-Interlan NI5210 driver +- --enable-lance enable Lance PCI PCNet/32 driver +- --enable-ne2100 enable Novell NE2100 driver +- --enable-ni6510 enable Racal-Interlan NI6510 driver +- --enable-natsemi enable NatSemi DP8381x driver +- --enable-ni5010 enable Racal-Interlan NI5010 driver +- --enable-3c503 enable 3Com503 driver +- --enable-ne enable NE1000/2000 ISA driver +- --enable-ns8390 enable NE2000 PCI driver +- --enable-wd enable WD8003/8013, SMC8216/8416 driver +- --enable-otulip enable old Tulip driver +- --enable-rtl8139 enable Realtek 8139 driver +- --enable-sis900 enable SIS 900 and SIS 7016 driver +- --enable-sk-g16 enable Schneider and Koch G16 driver +- --enable-smc9000 enable SMC9000 driver +- --enable-tiara enable Tiara driver +- --enable-tulip enable Tulip driver +- --enable-via-rhine enable Rhine-I/II driver +- --enable-w89c840 enable Winbond W89c840, Compex RL100-ATX driver +- --enable-3c503-shmem use 3c503 shared memory mode +- --enable-3c503-aui use AUI by default on 3c503 cards +- --enable-compex-rl2000-fix +- specify this if you have a Compex RL2000 PCI +- --enable-smc9000-scan=LIST +- probe for SMC9000 I/O addresses using LIST +- --enable-ne-scan=LIST probe for NE base address using LIST +- --enable-wd-default-mem=MEM +- set the default memory location for WD/SMC +- --enable-cs-scan=LIST probe for CS89x0 base address using LIST +- --enable-diskless enable diskless support +- --disable-hercules disable hercules terminal support +- --disable-serial disable serial terminal support +- --enable-serial-speed-simulation +- simulate the slowness of a serial device +- --enable-preset-menu=FILE +- preset a menu file FILE in Stage 2 +- --enable-example-kernel +- build the example Multiboot kernel +- --disable-auto-linux-mem-opt +- don't pass Linux mem= option automatically +- +-Optional Packages: +- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) +- --with-binutils=DIR search the directory DIR to find binutils +- --without-curses do not use curses +- +-Some influential environment variables: +- CC C compiler command +- CFLAGS C compiler flags +- LDFLAGS linker flags, e.g. -L if you have libraries in a +- nonstandard directory +- CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have +- headers in a nonstandard directory +- CPP C preprocessor +- +-Use these variables to override the choices made by `configure' or to help +-it to find libraries and programs with nonstandard names/locations. +- +-Report bugs to . +-_ACEOF +-fi +- +-if test "$ac_init_help" = "recursive"; then +- # If there are subdirs, report their specific --help. +- ac_popdir=`pwd` +- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue +- test -d $ac_dir || continue +- ac_builddir=. +- +-if test "$ac_dir" != .; then +- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi +- +-case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- cd $ac_dir +- # Check for guested configure; otherwise get Cygnus style configure. +- if test -f $ac_srcdir/configure.gnu; then +- echo +- $SHELL $ac_srcdir/configure.gnu --help=recursive +- elif test -f $ac_srcdir/configure; then +- echo +- $SHELL $ac_srcdir/configure --help=recursive +- elif test -f $ac_srcdir/configure.ac || +- test -f $ac_srcdir/configure.in; then +- echo +- $ac_configure --help +- else +- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 +- fi +- cd $ac_popdir +- done +-fi +- +-test -n "$ac_init_help" && exit 0 +-if $ac_init_version; then +- cat <<\_ACEOF +-GRUB configure 0.97 +-generated by GNU Autoconf 2.59 +- +-Copyright (C) 2003 Free Software Foundation, Inc. +-This configure script is free software; the Free Software Foundation +-gives unlimited permission to copy, distribute and modify it. +-_ACEOF +- exit 0 +-fi +-exec 5>config.log +-cat >&5 <<_ACEOF +-This file contains any messages produced by compilers while +-running configure, to aid debugging if configure makes a mistake. +- +-It was created by GRUB $as_me 0.97, which was +-generated by GNU Autoconf 2.59. Invocation command line was +- +- $ $0 $@ +- +-_ACEOF +-{ +-cat <<_ASUNAME +-## --------- ## +-## Platform. ## +-## --------- ## +- +-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +-uname -m = `(uname -m) 2>/dev/null || echo unknown` +-uname -r = `(uname -r) 2>/dev/null || echo unknown` +-uname -s = `(uname -s) 2>/dev/null || echo unknown` +-uname -v = `(uname -v) 2>/dev/null || echo unknown` +- +-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` +- +-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +-hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +- +-_ASUNAME +- +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- echo "PATH: $as_dir" +-done +- +-} >&5 +- +-cat >&5 <<_ACEOF +- +- +-## ----------- ## +-## Core tests. ## +-## ----------- ## +- +-_ACEOF +- +- +-# Keep a trace of the command line. +-# Strip out --no-create and --no-recursion so they do not pile up. +-# Strip out --silent because we don't want to record it for future runs. +-# Also quote any args containing shell meta-characters. +-# Make two passes to allow for proper duplicate-argument suppression. +-ac_configure_args= +-ac_configure_args0= +-ac_configure_args1= +-ac_sep= +-ac_must_keep_next=false +-for ac_pass in 1 2 +-do +- for ac_arg +- do +- case $ac_arg in +- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; +- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +- | -silent | --silent | --silen | --sile | --sil) +- continue ;; +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; +- esac +- case $ac_pass in +- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; +- 2) +- ac_configure_args1="$ac_configure_args1 '$ac_arg'" +- if test $ac_must_keep_next = true; then +- ac_must_keep_next=false # Got value, back to normal. +- else +- case $ac_arg in +- *=* | --config-cache | -C | -disable-* | --disable-* \ +- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ +- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ +- | -with-* | --with-* | -without-* | --without-* | --x) +- case "$ac_configure_args0 " in +- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; +- esac +- ;; +- -* ) ac_must_keep_next=true ;; +- esac +- fi +- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" +- # Get rid of the leading space. +- ac_sep=" " +- ;; +- esac +- done +-done +-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +- +-# When interrupted or exit'd, cleanup temporary files, and complete +-# config.log. We remove comments because anyway the quotes in there +-# would cause problems or look ugly. +-# WARNING: Be sure not to use single quotes in there, as some shells, +-# such as our DU 5.0 friend, will then `close' the trap. +-trap 'exit_status=$? +- # Save into config.log some information that might help in debugging. +- { +- echo +- +- cat <<\_ASBOX +-## ---------------- ## +-## Cache variables. ## +-## ---------------- ## +-_ASBOX +- echo +- # The following way of writing the cache mishandles newlines in values, +-{ +- (set) 2>&1 | +- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in +- *ac_space=\ *) +- sed -n \ +- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; +- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" +- ;; +- *) +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" +- ;; +- esac; +-} +- echo +- +- cat <<\_ASBOX +-## ----------------- ## +-## Output variables. ## +-## ----------------- ## +-_ASBOX +- echo +- for ac_var in $ac_subst_vars +- do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" +- done | sort +- echo +- +- if test -n "$ac_subst_files"; then +- cat <<\_ASBOX +-## ------------- ## +-## Output files. ## +-## ------------- ## +-_ASBOX +- echo +- for ac_var in $ac_subst_files +- do +- eval ac_val=$`echo $ac_var` +- echo "$ac_var='"'"'$ac_val'"'"'" +- done | sort +- echo +- fi +- +- if test -s confdefs.h; then +- cat <<\_ASBOX +-## ----------- ## +-## confdefs.h. ## +-## ----------- ## +-_ASBOX +- echo +- sed "/^$/d" confdefs.h | sort +- echo +- fi +- test "$ac_signal" != 0 && +- echo "$as_me: caught signal $ac_signal" +- echo "$as_me: exit $exit_status" +- } >&5 +- rm -f core *.core && +- rm -rf conftest* confdefs* conf$$* $ac_clean_files && +- exit $exit_status +- ' 0 +-for ac_signal in 1 2 13 15; do +- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +-done +-ac_signal=0 +- +-# confdefs.h avoids OS command line length limits that DEFS can exceed. +-rm -rf conftest* confdefs.h +-# AIX cpp loses on an empty file, so make sure it contains at least a newline. +-echo >confdefs.h +- +-# Predefined preprocessor variables. +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_NAME "$PACKAGE_NAME" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_VERSION "$PACKAGE_VERSION" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_STRING "$PACKAGE_STRING" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +-_ACEOF +- +- +-# Let the site file select an alternate cache file if it wants to. +-# Prefer explicitly selected file to automatically selected ones. +-if test -z "$CONFIG_SITE"; then +- if test "x$prefix" != xNONE; then +- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" +- else +- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +- fi +-fi +-for ac_site_file in $CONFIG_SITE; do +- if test -r "$ac_site_file"; then +- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +-echo "$as_me: loading site script $ac_site_file" >&6;} +- sed 's/^/| /' "$ac_site_file" >&5 +- . "$ac_site_file" +- fi +-done +- +-if test -r "$cache_file"; then +- # Some versions of bash will fail to source /dev/null (special +- # files actually), so we avoid doing that. +- if test -f "$cache_file"; then +- { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +-echo "$as_me: loading cache $cache_file" >&6;} +- case $cache_file in +- [\\/]* | ?:[\\/]* ) . $cache_file;; +- *) . ./$cache_file;; +- esac +- fi +-else +- { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +-echo "$as_me: creating cache $cache_file" >&6;} +- >$cache_file +-fi +- +-# Check that the precious variables saved in the cache have kept the same +-# value. +-ac_cache_corrupted=false +-for ac_var in `(set) 2>&1 | +- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +- eval ac_old_set=\$ac_cv_env_${ac_var}_set +- eval ac_new_set=\$ac_env_${ac_var}_set +- eval ac_old_val="\$ac_cv_env_${ac_var}_value" +- eval ac_new_val="\$ac_env_${ac_var}_value" +- case $ac_old_set,$ac_new_set in +- set,) +- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} +- ac_cache_corrupted=: ;; +- ,set) +- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} +- ac_cache_corrupted=: ;; +- ,);; +- *) +- if test "x$ac_old_val" != "x$ac_new_val"; then +- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} +- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +-echo "$as_me: former value: $ac_old_val" >&2;} +- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +-echo "$as_me: current value: $ac_new_val" >&2;} +- ac_cache_corrupted=: +- fi;; +- esac +- # Pass precious variables to config.status. +- if test "$ac_new_set" = set; then +- case $ac_new_val in +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; +- *) ac_arg=$ac_var=$ac_new_val ;; +- esac +- case " $ac_configure_args " in +- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. +- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; +- esac +- fi +-done +-if $ac_cache_corrupted; then +- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +-echo "$as_me: error: changes in the environment can compromise the build" >&2;} +- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ac_config_headers="$ac_config_headers config.h" +- +-am__api_version="1.9" +-ac_aux_dir= +-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do +- if test -f $ac_dir/install-sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install-sh -c" +- break +- elif test -f $ac_dir/install.sh; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/install.sh -c" +- break +- elif test -f $ac_dir/shtool; then +- ac_aux_dir=$ac_dir +- ac_install_sh="$ac_aux_dir/shtool install -c" +- break +- fi +-done +-if test -z "$ac_aux_dir"; then +- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} +- { (exit 1); exit 1; }; } +-fi +-ac_config_guess="$SHELL $ac_aux_dir/config.guess" +-ac_config_sub="$SHELL $ac_aux_dir/config.sub" +-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. +- +-# Find a good install program. We prefer a C program (faster), +-# so one script is as good as another. But avoid the broken or +-# incompatible versions: +-# SysV /etc/install, /usr/sbin/install +-# SunOS /usr/etc/install +-# IRIX /sbin/install +-# AIX /bin/install +-# AmigaOS /C/install, which installs bootblocks on floppy discs +-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +-# AFS /usr/afsws/bin/install, which mishandles nonexistent args +-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +-# OS/2's system install, which has a completely different semantic +-# ./install, which can be erroneously created by make from ./install.sh. +-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +-if test -z "$INSTALL"; then +-if test "${ac_cv_path_install+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- # Account for people who put trailing slashes in PATH elements. +-case $as_dir/ in +- ./ | .// | /cC/* | \ +- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ +- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ +- /usr/ucb/* ) ;; +- *) +- # OSF1 and SCO ODT 3.0 have their own names for install. +- # Don't use installbsd from OSF since it installs stuff as root +- # by default. +- for ac_prog in ginstall scoinst install; do +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then +- if test $ac_prog = install && +- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then +- # AIX install. It has an incompatible calling convention. +- : +- elif test $ac_prog = install && +- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then +- # program-specific install script used by HP pwplus--don't use. +- : +- else +- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" +- break 3 +- fi +- fi +- done +- done +- ;; +-esac +-done +- +- +-fi +- if test "${ac_cv_path_install+set}" = set; then +- INSTALL=$ac_cv_path_install +- else +- # As a last resort, use the slow shell script. We don't cache a +- # path for INSTALL within a source directory, because that will +- # break other packages using the cache if that directory is +- # removed, or if the path is relative. +- INSTALL=$ac_install_sh +- fi +-fi +-echo "$as_me:$LINENO: result: $INSTALL" >&5 +-echo "${ECHO_T}$INSTALL" >&6 +- +-# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +-# It thinks the first close brace ends the variable substitution. +-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' +- +-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' +- +-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' +- +-echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 +-# Just in case +-sleep 1 +-echo timestamp > conftest.file +-# Do `set' in a subshell so we don't clobber the current shell's +-# arguments. Must try -L first in case configure is actually a +-# symlink; some systems play weird games with the mod time of symlinks +-# (eg FreeBSD returns the mod time of the symlink's containing +-# directory). +-if ( +- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` +- if test "$*" = "X"; then +- # -L didn't work. +- set X `ls -t $srcdir/configure conftest.file` +- fi +- rm -f conftest.file +- if test "$*" != "X $srcdir/configure conftest.file" \ +- && test "$*" != "X conftest.file $srcdir/configure"; then +- +- # If neither matched, then we have a broken ls. This can happen +- # if, for instance, CONFIG_SHELL is bash and it inherits a +- # broken ls alias from the environment. This has actually +- # happened. Such a system could not be considered "sane". +- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +-alias in your environment" >&5 +-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +-alias in your environment" >&2;} +- { (exit 1); exit 1; }; } +- fi +- +- test "$2" = conftest.file +- ) +-then +- # Ok. +- : +-else +- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +-Check your system clock" >&5 +-echo "$as_me: error: newly created file is older than distributed files! +-Check your system clock" >&2;} +- { (exit 1); exit 1; }; } +-fi +-echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +-test "$program_prefix" != NONE && +- program_transform_name="s,^,$program_prefix,;$program_transform_name" +-# Use a double $ so make ignores it. +-test "$program_suffix" != NONE && +- program_transform_name="s,\$,$program_suffix,;$program_transform_name" +-# Double any \ or $. echo might interpret backslashes. +-# By default was `s,x,x', remove it if useless. +-cat <<\_ACEOF >conftest.sed +-s/[\\$]/&&/g;s/;s,x,x,$// +-_ACEOF +-program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +-rm conftest.sed +- +-# expand $ac_aux_dir to an absolute path +-am_aux_dir=`cd $ac_aux_dir && pwd` +- +-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +-# Use eval to expand $SHELL +-if eval "$MISSING --run true"; then +- am_missing_run="$MISSING --run " +-else +- am_missing_run= +- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +-fi +- +-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then +- # We used to keeping the `.' as first argument, in order to +- # allow $(mkdir_p) to be used without argument. As in +- # $(mkdir_p) $(somedir) +- # where $(somedir) is conditionally defined. However this is wrong +- # for two reasons: +- # 1. if the package is installed by a user who cannot write `.' +- # make install will fail, +- # 2. the above comment should most certainly read +- # $(mkdir_p) $(DESTDIR)$(somedir) +- # so it does not work when $(somedir) is undefined and +- # $(DESTDIR) is not. +- # To support the latter case, we have to write +- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), +- # so the `.' trick is pointless. +- mkdir_p='mkdir -p --' +-else +- # On NextStep and OpenStep, the `mkdir' command does not +- # recognize any option. It will interpret all options as +- # directories to create, and then abort because `.' already +- # exists. +- for d in ./-p ./--version; +- do +- test -d $d && rmdir $d +- done +- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. +- if test -f "$ac_aux_dir/mkinstalldirs"; then +- mkdir_p='$(mkinstalldirs)' +- else +- mkdir_p='$(install_sh) -d' +- fi +-fi +- +-for ac_prog in gawk mawk nawk awk +-do +- # Extract the first word of "$ac_prog", so it can be a program name with args. +-set dummy $ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_AWK+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$AWK"; then +- ac_cv_prog_AWK="$AWK" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_AWK="$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-AWK=$ac_cv_prog_AWK +-if test -n "$AWK"; then +- echo "$as_me:$LINENO: result: $AWK" >&5 +-echo "${ECHO_T}$AWK" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$AWK" && break +-done +- +-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.make <<\_ACEOF +-all: +- @echo 'ac_maketemp="$(MAKE)"' +-_ACEOF +-# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +-if test -n "$ac_maketemp"; then +- eval ac_cv_prog_make_${ac_make}_set=yes +-else +- eval ac_cv_prog_make_${ac_make}_set=no +-fi +-rm -f conftest.make +-fi +-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then +- echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- SET_MAKE= +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +- SET_MAKE="MAKE=${MAKE-make}" +-fi +- +-rm -rf .tst 2>/dev/null +-mkdir .tst 2>/dev/null +-if test -d .tst; then +- am__leading_dot=. +-else +- am__leading_dot=_ +-fi +-rmdir .tst 2>/dev/null +- +-# test to see if srcdir already configured +-if test "`cd $srcdir && pwd`" != "`pwd`" && +- test -f $srcdir/config.status; then +- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-# test whether we have cygpath +-if test -z "$CYGPATH_W"; then +- if (cygpath --version) >/dev/null 2>/dev/null; then +- CYGPATH_W='cygpath -w' +- else +- CYGPATH_W=echo +- fi +-fi +- +- +-# Define the identity of the package. +- PACKAGE='grub' +- VERSION='0.97' +- +- +-cat >>confdefs.h <<_ACEOF +-#define PACKAGE "$PACKAGE" +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define VERSION "$VERSION" +-_ACEOF +- +-# Some tools Automake needs. +- +-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} +- +- +-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} +- +- +-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} +- +- +-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} +- +- +-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +- +-install_sh=${install_sh-"$am_aux_dir/install-sh"} +- +-# Installed binaries are usually stripped using `strip' when the user +-# run `make install-strip'. However `strip' might not be the right +-# tool to use in cross-compilation environments, therefore Automake +-# will honor the `STRIP' environment variable to overrule this program. +-if test "$cross_compiling" != no; then +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +-set dummy ${ac_tool_prefix}strip; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_STRIP+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$STRIP"; then +- ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_STRIP="${ac_tool_prefix}strip" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-STRIP=$ac_cv_prog_STRIP +-if test -n "$STRIP"; then +- echo "$as_me:$LINENO: result: $STRIP" >&5 +-echo "${ECHO_T}$STRIP" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_STRIP"; then +- ac_ct_STRIP=$STRIP +- # Extract the first word of "strip", so it can be a program name with args. +-set dummy strip; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_STRIP"; then +- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_STRIP="strip" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +-fi +-fi +-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +-if test -n "$ac_ct_STRIP"; then +- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +-echo "${ECHO_T}$ac_ct_STRIP" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- STRIP=$ac_ct_STRIP +-else +- STRIP="$ac_cv_prog_STRIP" +-fi +- +-fi +-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +- +-# We need awk for the "check" target. The system "awk" is bad on +-# some platforms. +-# Always define AMTAR for backward compatibility. +- +-AMTAR=${AMTAR-"${am_missing_run}tar"} +- +-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +- +- +- +- +- +- +-# Make sure we can run config.sub. +-$ac_config_sub sun4 >/dev/null 2>&1 || +- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +-echo "$as_me: error: cannot run $ac_config_sub" >&2;} +- { (exit 1); exit 1; }; } +- +-echo "$as_me:$LINENO: checking build system type" >&5 +-echo $ECHO_N "checking build system type... $ECHO_C" >&6 +-if test "${ac_cv_build+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_build_alias=$build_alias +-test -z "$ac_cv_build_alias" && +- ac_cv_build_alias=`$ac_config_guess` +-test -z "$ac_cv_build_alias" && +- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +-echo "$as_me: error: cannot guess build type; you must specify one" >&2;} +- { (exit 1); exit 1; }; } +-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} +- { (exit 1); exit 1; }; } +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +-echo "${ECHO_T}$ac_cv_build" >&6 +-build=$ac_cv_build +-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +- +- +-echo "$as_me:$LINENO: checking host system type" >&5 +-echo $ECHO_N "checking host system type... $ECHO_C" >&6 +-if test "${ac_cv_host+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_host_alias=$host_alias +-test -z "$ac_cv_host_alias" && +- ac_cv_host_alias=$ac_cv_build_alias +-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || +- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} +- { (exit 1); exit 1; }; } +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +-echo "${ECHO_T}$ac_cv_host" >&6 +-host=$ac_cv_host +-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +- +- +- +-case "$host_cpu" in +-i[3456]86) host_cpu=i386 ;; +-x86_64) host_cpu=x86_64 ;; +-*) { { echo "$as_me:$LINENO: error: unsupported CPU type" >&5 +-echo "$as_me: error: unsupported CPU type" >&2;} +- { (exit 1); exit 1; }; } ;; +-esac +- +- +- +- +-# +-# Options +-# +- +-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 +- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +-if test "${enable_maintainer_mode+set}" = set; then +- enableval="$enable_maintainer_mode" +- USE_MAINTAINER_MODE=$enableval +-else +- USE_MAINTAINER_MODE=no +-fi; +- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 +- +- +-if test $USE_MAINTAINER_MODE = yes; then +- MAINTAINER_MODE_TRUE= +- MAINTAINER_MODE_FALSE='#' +-else +- MAINTAINER_MODE_TRUE='#' +- MAINTAINER_MODE_FALSE= +-fi +- +- MAINT=$MAINTAINER_MODE_TRUE +- +- +-if test "x$enable_maintainer_mode" = xyes; then +- # Extract the first word of "perl", so it can be a program name with args. +-set dummy perl; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_path_PERL+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- case $PERL in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_PERL="$PERL" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- ;; +-esac +-fi +-PERL=$ac_cv_path_PERL +- +-if test -n "$PERL"; then +- echo "$as_me:$LINENO: result: $PERL" >&5 +-echo "${ECHO_T}$PERL" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- if test -z "$PERL"; then +- { { echo "$as_me:$LINENO: error: perl not found" >&5 +-echo "$as_me: error: perl not found" >&2;} +- { (exit 1); exit 1; }; } +- fi +-fi +- +-# This should be checked before AC_PROG_CC +-if test "x$CFLAGS" = x; then +- default_CFLAGS=yes +-fi +- +-if test "x$host_cpu" = xx86_64; then +- CFLAGS="-m32 $CFLAGS" +-fi +- +-# +-# Programs +-# +- +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "gcc", so it can be a program name with args. +-set dummy gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "gcc", so it can be a program name with args. +-set dummy gcc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="gcc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +-set dummy ${ac_tool_prefix}cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="${ac_tool_prefix}cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_CC"; then +- ac_ct_CC=$CC +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- CC=$ac_ct_CC +-else +- CC="$ac_cv_prog_CC" +-fi +- +-fi +-if test -z "$CC"; then +- # Extract the first word of "cc", so it can be a program name with args. +-set dummy cc; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +- ac_prog_rejected=no +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then +- ac_prog_rejected=yes +- continue +- fi +- ac_cv_prog_CC="cc" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-if test $ac_prog_rejected = yes; then +- # We found a bogon in the path, so make sure we never use it. +- set dummy $ac_cv_prog_CC +- shift +- if test $# != 0; then +- # We chose a different compiler from the bogus one. +- # However, it has the same basename, so the bogon will be chosen +- # first if we set CC to just the basename; use the full file name. +- shift +- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" +- fi +-fi +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$CC"; then +- if test -n "$ac_tool_prefix"; then +- for ac_prog in cl +- do +- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +-set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$CC"; then +- ac_cv_prog_CC="$CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_CC="$ac_tool_prefix$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-CC=$ac_cv_prog_CC +-if test -n "$CC"; then +- echo "$as_me:$LINENO: result: $CC" >&5 +-echo "${ECHO_T}$CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$CC" && break +- done +-fi +-if test -z "$CC"; then +- ac_ct_CC=$CC +- for ac_prog in cl +-do +- # Extract the first word of "$ac_prog", so it can be a program name with args. +-set dummy $ac_prog; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_CC"; then +- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_CC="$ac_prog" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_CC=$ac_cv_prog_ac_ct_CC +-if test -n "$ac_ct_CC"; then +- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +-echo "${ECHO_T}$ac_ct_CC" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- test -n "$ac_ct_CC" && break +-done +- +- CC=$ac_ct_CC +-fi +- +-fi +- +- +-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +-See \`config.log' for more details." >&5 +-echo "$as_me: error: no acceptable C compiler found in \$PATH +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +- +-# Provide some information about the compiler. +-echo "$as_me:$LINENO:" \ +- "checking for C compiler version" >&5 +-ac_compiler=`set X $ac_compile; echo $2` +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +- (eval $ac_compiler --version &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 +- (eval $ac_compiler -v &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 +- (eval $ac_compiler -V &5) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } +- +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-ac_clean_files_save=$ac_clean_files +-ac_clean_files="$ac_clean_files a.out a.exe b.out" +-# Try to create an executable without -o first, disregard a.out. +-# It will help us diagnose broken compilers, and finding out an intuition +-# of exeext. +-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 +- (eval $ac_link_default) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- # Find the output, starting from the most likely. This scheme is +-# not robust to junk in `.', hence go to wildcards (a.*) only as a last +-# resort. +- +-# Be careful to initialize this variable, since it used to be cached. +-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +-ac_cv_exeext= +-# b.out is created by i960 compilers. +-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +-do +- test -f "$ac_file" || continue +- case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) +- ;; +- conftest.$ac_ext ) +- # This is the source file. +- ;; +- [ab].out ) +- # We found the default executable, but exeext='' is most +- # certainly right. +- break;; +- *.* ) +- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- # FIXME: I believe we export ac_cv_exeext for Libtool, +- # but it would be cool to find out if it's true. Does anybody +- # maintain Libtool? --akim. +- export ac_cv_exeext +- break;; +- * ) +- break;; +- esac +-done +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +-See \`config.log' for more details." >&5 +-echo "$as_me: error: C compiler cannot create executables +-See \`config.log' for more details." >&2;} +- { (exit 77); exit 77; }; } +-fi +- +-ac_exeext=$ac_cv_exeext +-echo "$as_me:$LINENO: result: $ac_file" >&5 +-echo "${ECHO_T}$ac_file" >&6 +- +-# Check the compiler produces executables we can run. If not, either +-# the compiler is broken, or we cross compile. +-echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +-# If not cross compiling, check that we can run a simple program. +-if test "$cross_compiling" != yes; then +- if { ac_try='./$ac_file' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- cross_compiling=no +- else +- if test "$cross_compiling" = maybe; then +- cross_compiling=yes +- else +- { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +-If you meant to cross compile, use \`--host'. +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot run C compiled programs. +-If you meant to cross compile, use \`--host'. +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +- fi +- fi +-fi +-echo "$as_me:$LINENO: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- +-rm -f a.out a.exe conftest$ac_cv_exeext b.out +-ac_clean_files=$ac_clean_files_save +-# Check the compiler produces executables we can run. If not, either +-# the compiler is broken, or we cross compile. +-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +-echo "$as_me:$LINENO: result: $cross_compiling" >&5 +-echo "${ECHO_T}$cross_compiling" >&6 +- +-echo "$as_me:$LINENO: checking for suffix of executables" >&5 +-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- # If both `conftest.exe' and `conftest' are `present' (well, observable) +-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +-# work properly (i.e., refer to `conftest.exe'), while it won't with +-# `rm'. +-for ac_file in conftest.exe conftest conftest.*; do +- test -f "$ac_file" || continue +- case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; +- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- export ac_cv_exeext +- break;; +- * ) break;; +- esac +-done +-else +- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-rm -f conftest$ac_cv_exeext +-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +-echo "${ECHO_T}$ac_cv_exeext" >&6 +- +-rm -f conftest.$ac_ext +-EXEEXT=$ac_cv_exeext +-ac_exeext=$EXEEXT +-echo "$as_me:$LINENO: checking for suffix of object files" >&5 +-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +-if test "${ac_cv_objext+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.o conftest.obj +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do +- case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; +- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` +- break;; +- esac +-done +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot compute suffix of object files: cannot compile +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-rm -f conftest.$ac_cv_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +-echo "${ECHO_T}$ac_cv_objext" >&6 +-OBJEXT=$ac_cv_objext +-ac_objext=$OBJEXT +-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +-if test "${ac_cv_c_compiler_gnu+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-#ifndef __GNUC__ +- choke me +-#endif +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_compiler_gnu=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_compiler_gnu=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-ac_cv_c_compiler_gnu=$ac_compiler_gnu +- +-fi +-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +-GCC=`test $ac_compiler_gnu = yes && echo yes` +-ac_test_CFLAGS=${CFLAGS+set} +-ac_save_CFLAGS=$CFLAGS +-CFLAGS="-g" +-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_g+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_g=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_prog_cc_g=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +-if test "$ac_test_CFLAGS" = set; then +- CFLAGS=$ac_save_CFLAGS +-elif test $ac_cv_prog_cc_g = yes; then +- if test "$GCC" = yes; then +- CFLAGS="-g -O2" +- else +- CFLAGS="-g" +- fi +-else +- if test "$GCC" = yes; then +- CFLAGS="-O2" +- else +- CFLAGS= +- fi +-fi +-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +-if test "${ac_cv_prog_cc_stdc+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_cv_prog_cc_stdc=no +-ac_save_CC=$CC +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#include +-#include +-#include +-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +-struct buf { int x; }; +-FILE * (*rcsopen) (struct buf *, struct stat *, int); +-static char *e (p, i) +- char **p; +- int i; +-{ +- return p[i]; +-} +-static char *f (char * (*g) (char **, int), char **p, ...) +-{ +- char *s; +- va_list v; +- va_start (v,p); +- s = g (p, va_arg (v,int)); +- va_end (v); +- return s; +-} +- +-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has +- function prototypes and stuff, but not '\xHH' hex character constants. +- These don't provoke an error unfortunately, instead are silently treated +- as 'x'. The following induces an error, until -std1 is added to get +- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an +- array size at least. It's necessary to write '\x00'==0 to get something +- that's true only with -std1. */ +-int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +- +-int test (int i, double x); +-struct s1 {int (*f) (int a);}; +-struct s2 {int (*f) (double a);}; +-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +-int argc; +-char **argv; +-int +-main () +-{ +-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; +- ; +- return 0; +-} +-_ACEOF +-# Don't try gcc -ansi; that turns off useful extensions and +-# breaks some systems' header files. +-# AIX -qlanglvl=ansi +-# Ultrix and OSF/1 -std1 +-# HP-UX 10.20 and later -Ae +-# HP-UX older versions -Aa -D_HPUX_SOURCE +-# SVR4 -Xc -D__EXTENSIONS__ +-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +-do +- CC="$ac_save_CC $ac_arg" +- rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_prog_cc_stdc=$ac_arg +-break +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext +-done +-rm -f conftest.$ac_ext conftest.$ac_objext +-CC=$ac_save_CC +- +-fi +- +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) +- echo "$as_me:$LINENO: result: none needed" >&5 +-echo "${ECHO_T}none needed" >&6 ;; +- *) +- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 +- CC="$CC $ac_cv_prog_cc_stdc" ;; +-esac +- +-# Some people use a C++ compiler to compile C. Since we use `exit', +-# in C++ we need to declare it. In case someone uses the same compiler +-# for both compiling C and C++ we need to have the C++ compiler decide +-# the declaration of exit, since it's the most demanding environment. +-cat >conftest.$ac_ext <<_ACEOF +-#ifndef __cplusplus +- choke me +-#endif +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- for ac_declaration in \ +- '' \ +- 'extern "C" void std::exit (int) throw (); using std::exit;' \ +- 'extern "C" void std::exit (int); using std::exit;' \ +- 'extern "C" void exit (int) throw ();' \ +- 'extern "C" void exit (int);' \ +- 'void exit (int);' +-do +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_declaration +-#include +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-continue +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_declaration +-int +-main () +-{ +-exit (42); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- break +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-done +-rm -f conftest* +-if test -n "$ac_declaration"; then +- echo '#ifdef __cplusplus' >>confdefs.h +- echo $ac_declaration >>confdefs.h +- echo '#endif' >>confdefs.h +-fi +- +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-DEPDIR="${am__leading_dot}deps" +- +- ac_config_commands="$ac_config_commands depfiles" +- +- +-am_make=${MAKE-make} +-cat > confinc << 'END' +-am__doit: +- @echo done +-.PHONY: am__doit +-END +-# If we don't find an include directive, just comment out the code. +-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +-am__include="#" +-am__quote= +-_am_result=none +-# First try GNU make style include. +-echo "include confinc" > confmf +-# We grep out `Entering directory' and `Leaving directory' +-# messages which can occur if `w' ends up in MAKEFLAGS. +-# In particular we don't look at `^make:' because GNU make might +-# be invoked under some other name (usually "gmake"), in which +-# case it prints its new name instead of `make'. +-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then +- am__include=include +- am__quote= +- _am_result=GNU +-fi +-# Now try BSD make style include. +-if test "$am__include" = "#"; then +- echo '.include "confinc"' > confmf +- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then +- am__include=.include +- am__quote="\"" +- _am_result=BSD +- fi +-fi +- +- +-echo "$as_me:$LINENO: result: $_am_result" >&5 +-echo "${ECHO_T}$_am_result" >&6 +-rm -f confinc confmf +- +-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +-if test "${enable_dependency_tracking+set}" = set; then +- enableval="$enable_dependency_tracking" +- +-fi; +-if test "x$enable_dependency_tracking" != xno; then +- am_depcomp="$ac_aux_dir/depcomp" +- AMDEPBACKSLASH='\' +-fi +- +- +-if test "x$enable_dependency_tracking" != xno; then +- AMDEP_TRUE= +- AMDEP_FALSE='#' +-else +- AMDEP_TRUE='#' +- AMDEP_FALSE= +-fi +- +- +- +- +-depcc="$CC" am_compiler_list= +- +-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +- # We make a subdir and do the tests there. Otherwise we can end up +- # making bogus files that we don't know about and never remove. For +- # instance it was reported that on HP-UX the gcc test will end up +- # making a dummy file named `D' -- because `-MD' means `put the output +- # in D'. +- mkdir conftest.dir +- # Copy depcomp to subdir because otherwise we won't find it if we're +- # using a relative directory. +- cp "$am_depcomp" conftest.dir +- cd conftest.dir +- # We will build objects and dependencies in a subdirectory because +- # it helps to detect inapplicable dependency modes. For instance +- # both Tru64's cc and ICC support -MD to output dependencies as a +- # side effect of compilation, but ICC will put the dependencies in +- # the current directory while Tru64 will put them in the object +- # directory. +- mkdir sub +- +- am_cv_CC_dependencies_compiler_type=none +- if test "$am_compiler_list" = ""; then +- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` +- fi +- for depmode in $am_compiler_list; do +- # Setup a source with many dependencies, because some compilers +- # like to wrap large dependency lists on column 80 (with \), and +- # we should not choose a depcomp mode which is confused by this. +- # +- # We need to recreate these files for each test, as the compiler may +- # overwrite some of them when testing with obscure command lines. +- # This happens at least with the AIX C compiler. +- : > sub/conftest.c +- for i in 1 2 3 4 5 6; do +- echo '#include "conftst'$i'.h"' >> sub/conftest.c +- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with +- # Solaris 8's {/usr,}/bin/sh. +- touch sub/conftst$i.h +- done +- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf +- +- case $depmode in +- nosideeffect) +- # after this tag, mechanisms are not by side-effect, so they'll +- # only be used when explicitly requested +- if test "x$enable_dependency_tracking" = xyes; then +- continue +- else +- break +- fi +- ;; +- none) break ;; +- esac +- # We check with `-c' and `-o' for the sake of the "dashmstdout" +- # mode. It turns out that the SunPro C++ compiler does not properly +- # handle `-M -o', and we need to detect this. +- if depmode=$depmode \ +- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ +- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ +- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ +- >/dev/null 2>conftest.err && +- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && +- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && +- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +- # icc doesn't choke on unknown options, it will just issue warnings +- # or remarks (even with -Werror). So we grep stderr for any message +- # that says an option was ignored or not supported. +- # When given -MP, icc 7.0 and 7.1 complain thusly: +- # icc: Command line warning: ignoring option '-M'; no argument required +- # The diagnosis changed in icc 8.0: +- # icc: Command line remark: option '-MP' not supported +- if (grep 'ignoring option' conftest.err || +- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else +- am_cv_CC_dependencies_compiler_type=$depmode +- break +- fi +- fi +- done +- +- cd .. +- rm -rf conftest.dir +-else +- am_cv_CC_dependencies_compiler_type=none +-fi +- +-fi +-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type +- +- +- +-if +- test "x$enable_dependency_tracking" != xno \ +- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then +- am__fastdepCC_TRUE= +- am__fastdepCC_FALSE='#' +-else +- am__fastdepCC_TRUE='#' +- am__fastdepCC_FALSE= +-fi +- +- +-# We need this for older versions of Autoconf. +- +-depcc="$CC" am_compiler_list= +- +-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +- # We make a subdir and do the tests there. Otherwise we can end up +- # making bogus files that we don't know about and never remove. For +- # instance it was reported that on HP-UX the gcc test will end up +- # making a dummy file named `D' -- because `-MD' means `put the output +- # in D'. +- mkdir conftest.dir +- # Copy depcomp to subdir because otherwise we won't find it if we're +- # using a relative directory. +- cp "$am_depcomp" conftest.dir +- cd conftest.dir +- # We will build objects and dependencies in a subdirectory because +- # it helps to detect inapplicable dependency modes. For instance +- # both Tru64's cc and ICC support -MD to output dependencies as a +- # side effect of compilation, but ICC will put the dependencies in +- # the current directory while Tru64 will put them in the object +- # directory. +- mkdir sub +- +- am_cv_CC_dependencies_compiler_type=none +- if test "$am_compiler_list" = ""; then +- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` +- fi +- for depmode in $am_compiler_list; do +- # Setup a source with many dependencies, because some compilers +- # like to wrap large dependency lists on column 80 (with \), and +- # we should not choose a depcomp mode which is confused by this. +- # +- # We need to recreate these files for each test, as the compiler may +- # overwrite some of them when testing with obscure command lines. +- # This happens at least with the AIX C compiler. +- : > sub/conftest.c +- for i in 1 2 3 4 5 6; do +- echo '#include "conftst'$i'.h"' >> sub/conftest.c +- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with +- # Solaris 8's {/usr,}/bin/sh. +- touch sub/conftst$i.h +- done +- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf +- +- case $depmode in +- nosideeffect) +- # after this tag, mechanisms are not by side-effect, so they'll +- # only be used when explicitly requested +- if test "x$enable_dependency_tracking" = xyes; then +- continue +- else +- break +- fi +- ;; +- none) break ;; +- esac +- # We check with `-c' and `-o' for the sake of the "dashmstdout" +- # mode. It turns out that the SunPro C++ compiler does not properly +- # handle `-M -o', and we need to detect this. +- if depmode=$depmode \ +- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ +- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ +- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ +- >/dev/null 2>conftest.err && +- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && +- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && +- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then +- # icc doesn't choke on unknown options, it will just issue warnings +- # or remarks (even with -Werror). So we grep stderr for any message +- # that says an option was ignored or not supported. +- # When given -MP, icc 7.0 and 7.1 complain thusly: +- # icc: Command line warning: ignoring option '-M'; no argument required +- # The diagnosis changed in icc 8.0: +- # icc: Command line remark: option '-MP' not supported +- if (grep 'ignoring option' conftest.err || +- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else +- am_cv_CC_dependencies_compiler_type=$depmode +- break +- fi +- fi +- done +- +- cd .. +- rm -rf conftest.dir +-else +- am_cv_CC_dependencies_compiler_type=none +-fi +- +-fi +-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type +- +- +- +-if +- test "x$enable_dependency_tracking" != xno \ +- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then +- am__fastdepCC_TRUE= +- am__fastdepCC_FALSE='#' +-else +- am__fastdepCC_TRUE='#' +- am__fastdepCC_FALSE= +-fi +- +- +- +-CCAS="$CC" +- +- +- +-# Check whether --with-binutils or --without-binutils was given. +-if test "${with_binutils+set}" = set; then +- withval="$with_binutils" +- +-fi; +- +-if test "x$with_binutils" != x; then +- # Extract the first word of "ranlib", so it can be a program name with args. +-set dummy ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_path_RANLIB+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- case $RANLIB in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_RANLIB="$RANLIB" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-as_dummy=""$with_binutils:$PATH"" +-for as_dir in $as_dummy +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_RANLIB="$as_dir/$ac_word$ac_exec_ext" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- test -z "$ac_cv_path_RANLIB" && ac_cv_path_RANLIB=":" +- ;; +-esac +-fi +-RANLIB=$ac_cv_path_RANLIB +- +-if test -n "$RANLIB"; then +- echo "$as_me:$LINENO: result: $RANLIB" >&5 +-echo "${ECHO_T}$RANLIB" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-else +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +-set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_RANLIB+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$RANLIB"; then +- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-RANLIB=$ac_cv_prog_RANLIB +-if test -n "$RANLIB"; then +- echo "$as_me:$LINENO: result: $RANLIB" >&5 +-echo "${ECHO_T}$RANLIB" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_RANLIB"; then +- ac_ct_RANLIB=$RANLIB +- # Extract the first word of "ranlib", so it can be a program name with args. +-set dummy ranlib; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_RANLIB"; then +- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_RANLIB="ranlib" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +-fi +-fi +-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +-if test -n "$ac_ct_RANLIB"; then +- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +-echo "${ECHO_T}$ac_ct_RANLIB" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- RANLIB=$ac_ct_RANLIB +-else +- RANLIB="$ac_cv_prog_RANLIB" +-fi +- +-fi +- +-# optimization flags +-if test "x$ac_cv_c_compiler_gnu" = xyes; then +- if test "x$default_CFLAGS" = xyes; then +- # Autoconf may set CFLAGS to -O2 and/or -g. So eliminate them. +- CFLAGS="`echo $CFLAGS | sed -e 's/-g//g' -e 's/-O[0-9]//g'` -g" +- # If the user specify the directory for binutils, add the option `-B'. +- if test "x$with_binutils" != x; then +- CFLAGS="-B$with_binutils/ $CFLAGS" +- fi +- STAGE1_CFLAGS="-O2" +- GRUB_CFLAGS="-O2" +- +-echo "$as_me:$LINENO: checking whether optimization for size works" >&5 +-echo $ECHO_N "checking whether optimization for size works... $ECHO_C" >&6 +-if test "${size_flag+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- +- saved_CFLAGS=$CFLAGS +- CFLAGS="-Os -g" +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- size_flag=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-size_flag=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- CFLAGS=$saved_CFLAGS +- +-fi +-echo "$as_me:$LINENO: result: $size_flag" >&5 +-echo "${ECHO_T}$size_flag" >&6 +- if test "x$size_flag" = xyes; then +- STAGE2_CFLAGS="-Os" +- else +- STAGE2_CFLAGS="-O2 -fno-strength-reduce -fno-unroll-loops" +- fi +- # OpenBSD has a GCC extension for protecting applications from +- # stack smashing attacks, but GRUB doesn't want this feature. +- echo "$as_me:$LINENO: checking whether gcc has -fno-stack-protector" >&5 +-echo $ECHO_N "checking whether gcc has -fno-stack-protector... $ECHO_C" >&6 +-if test "${no_stack_protector_flag+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- +- saved_CFLAGS=$CFLAGS +- CFLAGS="-fno-stack-protector" +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- no_stack_protector_flag=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-no_stack_protector_flag=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- CFLAGS=$saved_CFLAGS +- +-fi +-echo "$as_me:$LINENO: result: $no_stack_protector_flag" >&5 +-echo "${ECHO_T}$no_stack_protector_flag" >&6 +- if test "x$no_stack_protector_flag" = xyes; then +- STAGE2_CFLAGS="$STAGE2_CFLAGS -fno-stack-protector" +- fi +- fi +-fi +- +- +- +- +- +-# Enforce coding standards. +-CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused -Wshadow" +-CPPFLAGS="$CPPFLAGS -Wpointer-arith" +- +-echo "$as_me:$LINENO: checking whether -Wundef works" >&5 +-echo $ECHO_N "checking whether -Wundef works... $ECHO_C" >&6 +-if test "${undef_flag+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- +- saved_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-Wundef" +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- undef_flag=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-undef_flag=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- CPPFLAGS="$saved_CPPFLAGS" +- +-fi +-echo "$as_me:$LINENO: result: $undef_flag" >&5 +-echo "${ECHO_T}$undef_flag" >&6 +- +-# The options `-falign-*' are supported by gcc 3.0 or later. +-# Probably it is sufficient to only check for -falign-loops. +-echo "$as_me:$LINENO: checking whether -falign-loops works" >&5 +-echo $ECHO_N "checking whether -falign-loops works... $ECHO_C" >&6 +-if test "${falign_loop_flag+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- +- saved_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-falign-loops=1" +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- falign_loop_flag=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-falign_loop_flag=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- CPPFLAGS="$saved_CPPFLAGS" +- +-fi +-echo "$as_me:$LINENO: result: $falign_loop_flag" >&5 +-echo "${ECHO_T}$falign_loop_flag" >&6 +- +-# Force no alignment to save space. +-if test "x$falign_loop_flag" = xyes; then +- CPPFLAGS="$CPPFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1" +-else +- CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1" +-fi +- +-if test "x$undef_flag" = xyes; then +- CPPFLAGS="$CPPFLAGS -Wundef" +-fi +- +-if test "x$with_binutils" != x; then +- # Extract the first word of "objcopy", so it can be a program name with args. +-set dummy objcopy; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_path_OBJCOPY+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- case $OBJCOPY in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_OBJCOPY="$OBJCOPY" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-as_dummy=""$with_binutils:$PATH"" +-for as_dir in $as_dummy +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_OBJCOPY="$as_dir/$ac_word$ac_exec_ext" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +- ;; +-esac +-fi +-OBJCOPY=$ac_cv_path_OBJCOPY +- +-if test -n "$OBJCOPY"; then +- echo "$as_me:$LINENO: result: $OBJCOPY" >&5 +-echo "${ECHO_T}$OBJCOPY" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-else +- if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args. +-set dummy ${ac_tool_prefix}objcopy; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_OBJCOPY+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$OBJCOPY"; then +- ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_OBJCOPY="${ac_tool_prefix}objcopy" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-OBJCOPY=$ac_cv_prog_OBJCOPY +-if test -n "$OBJCOPY"; then +- echo "$as_me:$LINENO: result: $OBJCOPY" >&5 +-echo "${ECHO_T}$OBJCOPY" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +-fi +-if test -z "$ac_cv_prog_OBJCOPY"; then +- ac_ct_OBJCOPY=$OBJCOPY +- # Extract the first word of "objcopy", so it can be a program name with args. +-set dummy objcopy; ac_word=$2 +-echo "$as_me:$LINENO: checking for $ac_word" >&5 +-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +-if test "${ac_cv_prog_ac_ct_OBJCOPY+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if test -n "$ac_ct_OBJCOPY"; then +- ac_cv_prog_ac_ct_OBJCOPY="$ac_ct_OBJCOPY" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_ac_ct_OBJCOPY="objcopy" +- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +- +-fi +-fi +-ac_ct_OBJCOPY=$ac_cv_prog_ac_ct_OBJCOPY +-if test -n "$ac_ct_OBJCOPY"; then +- echo "$as_me:$LINENO: result: $ac_ct_OBJCOPY" >&5 +-echo "${ECHO_T}$ac_ct_OBJCOPY" >&6 +-else +- echo "$as_me:$LINENO: result: no" >&5 +-echo "${ECHO_T}no" >&6 +-fi +- +- OBJCOPY=$ac_ct_OBJCOPY +-else +- OBJCOPY="$ac_cv_prog_OBJCOPY" +-fi +- +-fi +- +-# Defined in acinclude.m4. +- +-echo "$as_me:$LINENO: checking if C symbols get an underscore after compilation" >&5 +-echo $ECHO_N "checking if C symbols get an underscore after compilation... $ECHO_C" >&6 +-if test "${grub_cv_asm_uscore+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat > conftest.c <<\EOF +-int +-func (int *list) +-{ +- *list = 0; +- return *list; +-} +-EOF +- +-if { ac_try='${CC-cc} ${CFLAGS} -S conftest.c' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && test -s conftest.s; then +- true +-else +- { { echo "$as_me:$LINENO: error: ${CC-cc} failed to produce assembly code" >&5 +-echo "$as_me: error: ${CC-cc} failed to produce assembly code" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-if grep _func conftest.s >/dev/null 2>&1; then +- grub_cv_asm_uscore=yes +-else +- grub_cv_asm_uscore=no +-fi +- +-rm -f conftest* +-fi +- +- +-if test "x$grub_cv_asm_uscore" = xyes; then +- +-cat >>confdefs.h <<_ACEOF +-#define HAVE_ASM_USCORE $grub_cv_asm_uscore +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_asm_uscore" >&5 +-echo "${ECHO_T}$grub_cv_asm_uscore" >&6 +- +-echo "$as_me:$LINENO: checking whether ${OBJCOPY} works for absolute addresses" >&5 +-echo $ECHO_N "checking whether ${OBJCOPY} works for absolute addresses... $ECHO_C" >&6 +-if test "${grub_cv_prog_objcopy_absolute+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat > conftest.c <<\EOF +-void +-cmain (void) +-{ +- *((int *) 0x1000) = 2; +-} +-EOF +- +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && test -s conftest.o; then : +-else +- { { echo "$as_me:$LINENO: error: ${CC-cc} cannot compile C source code" >&5 +-echo "$as_me: error: ${CC-cc} cannot compile C source code" >&2;} +- { (exit 1); exit 1; }; } +-fi +-grub_cv_prog_objcopy_absolute=yes +-for link_addr in 2000 8000 7C00; do +- if { ac_try='${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then : +- else +- { { echo "$as_me:$LINENO: error: ${CC-cc} cannot link at address $link_addr" >&5 +-echo "$as_me: error: ${CC-cc} cannot link at address $link_addr" >&2;} +- { (exit 1); exit 1; }; } +- fi +- if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then : +- else +- { { echo "$as_me:$LINENO: error: ${OBJCOPY-objcopy} cannot create binary files" >&5 +-echo "$as_me: error: ${OBJCOPY-objcopy} cannot create binary files" >&2;} +- { (exit 1); exit 1; }; } +- fi +- if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- mv -f conftest conftest.old +- else +- grub_cv_prog_objcopy_absolute=no +- break +- fi +-done +-rm -f conftest* +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_prog_objcopy_absolute" >&5 +-echo "${ECHO_T}$grub_cv_prog_objcopy_absolute" >&6 +-if test "x$grub_cv_prog_objcopy_absolute" != xyes; then +- { { echo "$as_me:$LINENO: error: GRUB requires a working absolute objcopy; upgrade your binutils" >&5 +-echo "$as_me: error: GRUB requires a working absolute objcopy; upgrade your binutils" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +- +-echo "$as_me:$LINENO: checking whether addr32 must be in the same line as the instruction" >&5 +-echo $ECHO_N "checking whether addr32 must be in the same line as the instruction... $ECHO_C" >&6 +-if test "${grub_cv_asm_prefix_requirement+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat > conftest.s <<\EOF +- .code16 +-l1: addr32 movb %al, l1 +-EOF +- +-if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && test -s conftest.o; then +- grub_cv_asm_prefix_requirement=yes +-else +- grub_cv_asm_prefix_requirement=no +-fi +- +-rm -f conftest* +-fi +- +- +-if test "x$grub_cv_asm_prefix_requirement" = xyes; then +- grub_tmp_addr32="addr32" +- grub_tmp_data32="data32" +-else +- grub_tmp_addr32="addr32;" +- grub_tmp_data32="data32;" +-fi +- +- +-cat >>confdefs.h <<_ACEOF +-#define ADDR32 $grub_tmp_addr32 +-_ACEOF +- +- +-cat >>confdefs.h <<_ACEOF +-#define DATA32 $grub_tmp_data32 +-_ACEOF +- +- +-echo "$as_me:$LINENO: result: $grub_cv_asm_prefix_requirement" >&5 +-echo "${ECHO_T}$grub_cv_asm_prefix_requirement" >&6 +- +- +- +-echo "$as_me:$LINENO: checking for .code16 addr32 assembler support" >&5 +-echo $ECHO_N "checking for .code16 addr32 assembler support... $ECHO_C" >&6 +-if test "${grub_cv_asm_addr32+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat > conftest.s.in <<\EOF +- .code16 +-l1: @ADDR32@ movb %al, l1 +-EOF +- +-if test "x$grub_cv_asm_prefix_requirement" = xyes; then +- sed -e s/@ADDR32@/addr32/ < conftest.s.in > conftest.s +-else +- sed -e s/@ADDR32@/addr32\;/ < conftest.s.in > conftest.s +-fi +- +-if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && test -s conftest.o; then +- grub_cv_asm_addr32=yes +-else +- grub_cv_asm_addr32=no +-fi +- +-rm -f conftest* +-fi +- +- +-echo "$as_me:$LINENO: result: $grub_cv_asm_addr32" >&5 +-echo "${ECHO_T}$grub_cv_asm_addr32" >&6 +-if test "x$grub_cv_asm_addr32" != xyes; then +- { { echo "$as_me:$LINENO: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils" >&5 +-echo "$as_me: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +- +-echo "$as_me:$LINENO: checking whether an absolute indirect call/jump must not be prefixed with an asterisk" >&5 +-echo $ECHO_N "checking whether an absolute indirect call/jump must not be prefixed with an asterisk... $ECHO_C" >&6 +-if test "${grub_cv_asm_absolute_without_asterisk+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat > conftest.s <<\EOF +- lcall *(offset) +-offset: +- .long 0 +- .word 0 +-EOF +- +-if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && test -s conftest.o; then +- grub_cv_asm_absolute_without_asterisk=no +-else +- grub_cv_asm_absolute_without_asterisk=yes +-fi +- +-rm -f conftest* +-fi +- +- +-if test "x$grub_cv_asm_absolute_without_asterisk" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define ABSOLUTE_WITHOUT_ASTERISK 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_asm_absolute_without_asterisk" >&5 +-echo "${ECHO_T}$grub_cv_asm_absolute_without_asterisk" >&6 +- +- +-echo "$as_me:$LINENO: checking if start is defined by the compiler" >&5 +-echo $ECHO_N "checking if start is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_start_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl start") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_start_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_start_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_start_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_START_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_start_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_start_symbol" >&6 +- +- +-echo "$as_me:$LINENO: checking if _start is defined by the compiler" >&5 +-echo $ECHO_N "checking if _start is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_uscore_start_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl _start") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_uscore_start_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_uscore_start_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_uscore_start_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_USCORE_START_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_uscore_start_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_uscore_start_symbol" >&6 +- +-if test "x$grub_cv_check_start_symbol" != "xyes" \ +- -a "x$grub_cv_check_uscore_start_symbol" != "xyes"; then +- { { echo "$as_me:$LINENO: error: Neither start nor _start is defined" >&5 +-echo "$as_me: error: Neither start nor _start is defined" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +- +-echo "$as_me:$LINENO: checking if __bss_start is defined by the compiler" >&5 +-echo $ECHO_N "checking if __bss_start is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_uscore_uscore_bss_start_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl __bss_start") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_uscore_uscore_bss_start_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_uscore_uscore_bss_start_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_USCORE_USCORE_BSS_START_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_uscore_uscore_bss_start_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_uscore_uscore_bss_start_symbol" >&6 +- +- +-echo "$as_me:$LINENO: checking if _edata is defined by the compiler" >&5 +-echo $ECHO_N "checking if _edata is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_uscore_edata_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl _edata") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_uscore_edata_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_uscore_edata_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_uscore_edata_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_USCORE_EDATA_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_uscore_edata_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_uscore_edata_symbol" >&6 +- +- +-echo "$as_me:$LINENO: checking if edata is defined by the compiler" >&5 +-echo $ECHO_N "checking if edata is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_edata_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl edata") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_edata_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_edata_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_edata_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_EDATA_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_edata_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_edata_symbol" >&6 +- +-if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" != "xyes" \ +- -a "x$grub_cv_check_uscore_edata_symbol" != "xyes" \ +- -a "x$grub_cv_check_edata_symbol" != "xyes"; then +- { { echo "$as_me:$LINENO: error: None of __bss_start, _edata, edata defined" >&5 +-echo "$as_me: error: None of __bss_start, _edata, edata defined" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +- +-echo "$as_me:$LINENO: checking if end is defined by the compiler" >&5 +-echo $ECHO_N "checking if end is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_end_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl end") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_end_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_end_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_end_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_END_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_end_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_end_symbol" >&6 +- +- +-echo "$as_me:$LINENO: checking if _end is defined by the compiler" >&5 +-echo $ECHO_N "checking if _end is defined by the compiler... $ECHO_C" >&6 +-if test "${grub_cv_check_uscore_end_symbol+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm ("incl _end") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- grub_cv_check_uscore_end_symbol=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-grub_cv_check_uscore_end_symbol=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-fi +- +- +-if test "x$grub_cv_check_uscore_end_symbol" = xyes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_USCORE_END_SYMBOL 1 +-_ACEOF +- +-fi +- +-echo "$as_me:$LINENO: result: $grub_cv_check_uscore_end_symbol" >&5 +-echo "${ECHO_T}$grub_cv_check_uscore_end_symbol" >&6 +- +-if test "x$grub_cv_check_end_symbol" != "xyes" \ +- -a "x$grub_cv_check_uscore_end_symbol" != "xyes"; then +- { { echo "$as_me:$LINENO: error: Neither end nor _end is defined" >&5 +-echo "$as_me: error: Neither end nor _end is defined" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-# Check for curses libraries. +- +-# Check whether --with-curses or --without-curses was given. +-if test "${with_curses+set}" = set; then +- withval="$with_curses" +- +-fi; +- +-# Get the filename or the whole disk and open it. +-# Known to work on NetBSD. +-echo "$as_me:$LINENO: checking for opendisk in -lutil" >&5 +-echo $ECHO_N "checking for opendisk in -lutil... $ECHO_C" >&6 +-if test "${ac_cv_lib_util_opendisk+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lutil $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char opendisk (); +-int +-main () +-{ +-opendisk (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_util_opendisk=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_lib_util_opendisk=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_util_opendisk" >&5 +-echo "${ECHO_T}$ac_cv_lib_util_opendisk" >&6 +-if test $ac_cv_lib_util_opendisk = yes; then +- GRUB_LIBS="$GRUB_LIBS -lutil" +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_OPENDISK 1 +-_ACEOF +- +-fi +- +- +-# Unless the user specify --without-curses, check for curses. +-if test "x$with_curses" != "xno"; then +- echo "$as_me:$LINENO: checking for wgetch in -lncurses" >&5 +-echo $ECHO_N "checking for wgetch in -lncurses... $ECHO_C" >&6 +-if test "${ac_cv_lib_ncurses_wgetch+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lncurses $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char wgetch (); +-int +-main () +-{ +-wgetch (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_ncurses_wgetch=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_lib_ncurses_wgetch=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_wgetch" >&5 +-echo "${ECHO_T}$ac_cv_lib_ncurses_wgetch" >&6 +-if test $ac_cv_lib_ncurses_wgetch = yes; then +- GRUB_LIBS="$GRUB_LIBS -lncurses" +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_LIBCURSES 1 +-_ACEOF +- +-else +- echo "$as_me:$LINENO: checking for wgetch in -lcurses" >&5 +-echo $ECHO_N "checking for wgetch in -lcurses... $ECHO_C" >&6 +-if test "${ac_cv_lib_curses_wgetch+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lcurses $LIBS" +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-/* Override any gcc2 internal prototype to avoid an error. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char wgetch (); +-int +-main () +-{ +-wgetch (); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_lib_curses_wgetch=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_lib_curses_wgetch=no +-fi +-rm -f conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-echo "$as_me:$LINENO: result: $ac_cv_lib_curses_wgetch" >&5 +-echo "${ECHO_T}$ac_cv_lib_curses_wgetch" >&6 +-if test $ac_cv_lib_curses_wgetch = yes; then +- GRUB_LIBS="$GRUB_LIBS -lcurses" +- +-cat >>confdefs.h <<\_ACEOF +-#define HAVE_LIBCURSES 1 +-_ACEOF +- +-fi +- +-fi +- +-fi +- +- +- +-# Check for headers. +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +-# On Suns, sometimes $CPP names a directory. +-if test -n "$CPP" && test -d "$CPP"; then +- CPP= +-fi +-if test -z "$CPP"; then +- if test "${ac_cv_prog_CPP+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- # Double quotes because CPP needs to be expanded +- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" +- do +- ac_preproc_ok=false +-for ac_c_preproc_warn_flag in '' yes +-do +- # Use a header file that comes with gcc, so configuring glibc +- # with a fresh cross-compiler works. +- # Prefer to if __STDC__ is defined, since +- # exists even on freestanding compilers. +- # On the NeXT, cc -E runs the code through the compiler's parser, +- # not just through cpp. "Syntax error" is here to catch this case. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- Syntax error +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Broken: fails on valid input. +-continue +-fi +-rm -f conftest.err conftest.$ac_ext +- +- # OK, works on sane cases. Now check whether non-existent headers +- # can be detected and how. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- # Broken: success on invalid input. +-continue +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Passes both tests. +-ac_preproc_ok=: +-break +-fi +-rm -f conftest.err conftest.$ac_ext +- +-done +-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +-rm -f conftest.err conftest.$ac_ext +-if $ac_preproc_ok; then +- break +-fi +- +- done +- ac_cv_prog_CPP=$CPP +- +-fi +- CPP=$ac_cv_prog_CPP +-else +- ac_cv_prog_CPP=$CPP +-fi +-echo "$as_me:$LINENO: result: $CPP" >&5 +-echo "${ECHO_T}$CPP" >&6 +-ac_preproc_ok=false +-for ac_c_preproc_warn_flag in '' yes +-do +- # Use a header file that comes with gcc, so configuring glibc +- # with a fresh cross-compiler works. +- # Prefer to if __STDC__ is defined, since +- # exists even on freestanding compilers. +- # On the NeXT, cc -E runs the code through the compiler's parser, +- # not just through cpp. "Syntax error" is here to catch this case. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#ifdef __STDC__ +-# include +-#else +-# include +-#endif +- Syntax error +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- : +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Broken: fails on valid input. +-continue +-fi +-rm -f conftest.err conftest.$ac_ext +- +- # OK, works on sane cases. Now check whether non-existent headers +- # can be detected and how. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- # Broken: success on invalid input. +-continue +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- # Passes both tests. +-ac_preproc_ok=: +-break +-fi +-rm -f conftest.err conftest.$ac_ext +- +-done +-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +-rm -f conftest.err conftest.$ac_ext +-if $ac_preproc_ok; then +- : +-else +- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +-See \`config.log' for more details." >&5 +-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +-See \`config.log' for more details." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +-echo "$as_me:$LINENO: checking for egrep" >&5 +-echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +-if test "${ac_cv_prog_egrep+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- if echo a | (grep -E '(a|b)') >/dev/null 2>&1 +- then ac_cv_prog_egrep='grep -E' +- else ac_cv_prog_egrep='egrep' +- fi +-fi +-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +-echo "${ECHO_T}$ac_cv_prog_egrep" >&6 +- EGREP=$ac_cv_prog_egrep +- +- +-echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +-if test "${ac_cv_header_stdc+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#include +-#include +-#include +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_cv_header_stdc=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_cv_header_stdc=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +- +-if test $ac_cv_header_stdc = yes; then +- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "memchr" >/dev/null 2>&1; then +- : +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* +- +-fi +- +-if test $ac_cv_header_stdc = yes; then +- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +- +-_ACEOF +-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "free" >/dev/null 2>&1; then +- : +-else +- ac_cv_header_stdc=no +-fi +-rm -f conftest* +- +-fi +- +-if test $ac_cv_header_stdc = yes; then +- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. +- if test "$cross_compiling" = yes; then +- : +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#if ((' ' & 0x0FF) == 0x020) +-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +-#else +-# define ISLOWER(c) \ +- (('a' <= (c) && (c) <= 'i') \ +- || ('j' <= (c) && (c) <= 'r') \ +- || ('s' <= (c) && (c) <= 'z')) +-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +-#endif +- +-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +-int +-main () +-{ +- int i; +- for (i = 0; i < 256; i++) +- if (XOR (islower (i), ISLOWER (i)) +- || toupper (i) != TOUPPER (i)) +- exit(2); +- exit (0); +-} +-_ACEOF +-rm -f conftest$ac_exeext +-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- : +-else +- echo "$as_me: program exited with status $ac_status" >&5 +-echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-( exit $ac_status ) +-ac_cv_header_stdc=no +-fi +-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +-fi +-fi +-fi +-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +-echo "${ECHO_T}$ac_cv_header_stdc" >&6 +-if test $ac_cv_header_stdc = yes; then +- +-cat >>confdefs.h <<\_ACEOF +-#define STDC_HEADERS 1 +-_ACEOF +- +-fi +- +-# On IRIX 5.3, sys/types and inttypes.h are conflicting. +- +- +- +- +- +- +- +- +- +-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ +- inttypes.h stdint.h unistd.h +-do +-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +-echo "$as_me:$LINENO: checking for $ac_header" >&5 +-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +- +-#include <$ac_header> +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- eval "$as_ac_Header=yes" +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-eval "$as_ac_Header=no" +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-fi +-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +-if test `eval echo '${'$as_ac_Header'}'` = yes; then +- cat >>confdefs.h <<_ACEOF +-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +- +-done +- +- +- +- +- +- +- +-for ac_header in string.h strings.h ncurses/curses.h ncurses.h curses.h +-do +-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo "$as_me:$LINENO: checking for $ac_header" >&5 +-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-fi +-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +-else +- # Is the header compilable? +-echo "$as_me:$LINENO: checking $ac_header usability" >&5 +-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-$ac_includes_default +-#include <$ac_header> +-_ACEOF +-rm -f conftest.$ac_objext +-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +- (eval $ac_compile) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && +- { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- ac_header_compiler=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +-ac_header_compiler=no +-fi +-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +-echo "${ECHO_T}$ac_header_compiler" >&6 +- +-# Is the header present? +-echo "$as_me:$LINENO: checking $ac_header presence" >&5 +-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include <$ac_header> +-_ACEOF +-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then +- ac_header_preproc=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- ac_header_preproc=no +-fi +-rm -f conftest.err conftest.$ac_ext +-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +-echo "${ECHO_T}$ac_header_preproc" >&6 +- +-# So? What about this header? +-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in +- yes:no: ) +- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} +- ac_header_preproc=yes +- ;; +- no:yes:* ) +- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} +- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} +- ( +- cat <<\_ASBOX +-## ------------------------------- ## +-## Report this to bug-grub@gnu.org ## +-## ------------------------------- ## +-_ASBOX +- ) | +- sed "s/^/$as_me: WARNING: /" >&2 +- ;; +-esac +-echo "$as_me:$LINENO: checking for $ac_header" >&5 +-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$as_ac_Header+set}\" = set"; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- eval "$as_ac_Header=\$ac_header_preproc" +-fi +-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +- +-fi +-if test `eval echo '${'$as_ac_Header'}'` = yes; then +- cat >>confdefs.h <<_ACEOF +-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +-_ACEOF +- +-fi +- +-done +- +- +-# Check for user options. +- +-# filesystems support. +-# Check whether --enable-ext2fs or --disable-ext2fs was given. +-if test "${enable_ext2fs+set}" = set; then +- enableval="$enable_ext2fs" +- +-fi; +- +-if test x"$enable_ext2fs" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_EXT2FS=1" +-fi +- +-# Check whether --enable-fat or --disable-fat was given. +-if test "${enable_fat+set}" = set; then +- enableval="$enable_fat" +- +-fi; +- +-if test x"$enable_fat" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FAT=1" +-fi +- +-# Check whether --enable-ffs or --disable-ffs was given. +-if test "${enable_ffs+set}" = set; then +- enableval="$enable_ffs" +- +-fi; +- +-if test x"$enable_ffs" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_FFS=1" +-fi +- +-# Check whether --enable-ufs2 or --disable-ufs2 was given. +-if test "${enable_ufs2+set}" = set; then +- enableval="$enable_ufs2" +- +-fi; +- +-if test x"$enable_ufs2" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_UFS2=1" +-fi +- +-# Check whether --enable-minix or --disable-minix was given. +-if test "${enable_minix+set}" = set; then +- enableval="$enable_minix" +- +-fi; +- +-if test x"$enable_minix" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_MINIX=1" +-fi +- +-# Check whether --enable-reiserfs or --disable-reiserfs was given. +-if test "${enable_reiserfs+set}" = set; then +- enableval="$enable_reiserfs" +- +-fi; +- +-if test x"$enable_reiserfs" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1" +-fi +- +-# Check whether --enable-vstafs or --disable-vstafs was given. +-if test "${enable_vstafs+set}" = set; then +- enableval="$enable_vstafs" +- +-fi; +- +-if test x"$enable_vstafs" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_VSTAFS=1" +-fi +- +-# Check whether --enable-jfs or --disable-jfs was given. +-if test "${enable_jfs+set}" = set; then +- enableval="$enable_jfs" +- +-fi; +- +-if test x"$enable_jfs" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_JFS=1" +-fi +- +-# Check whether --enable-xfs or --disable-xfs was given. +-if test "${enable_xfs+set}" = set; then +- enableval="$enable_xfs" +- +-fi; +- +-if test x"$enable_xfs" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_XFS=1" +-fi +- +-# Check whether --enable-iso9660 or --disable-iso9660 was given. +-if test "${enable_iso9660+set}" = set; then +- enableval="$enable_iso9660" +- +-fi; +- +-if test x"$enable_iso9660" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_ISO9660=1" +-fi +- +- +-# Check whether --enable-gunzip or --disable-gunzip was given. +-if test "${enable_gunzip+set}" = set; then +- enableval="$enable_gunzip" +- +-fi; +- +-if test x"$enable_gunzip" = xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DNO_DECOMPRESSION=1" +-fi +- +-# Check whether --enable-md5-password or --disable-md5-password was given. +-if test "${enable_md5_password+set}" = set; then +- enableval="$enable_md5_password" +- +-fi; +-if test "x$enable_md5_password" != xno; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DUSE_MD5_PASSWORDS=1" +-fi +- +-# Check whether --enable-packet-retransmission or --disable-packet-retransmission was given. +-if test "${enable_packet_retransmission+set}" = set; then +- enableval="$enable_packet_retransmission" +- +-fi; +-if test "x$enable_packet_retransmission" != xno; then +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONGESTED=1" +-fi +- +-# Check whether --enable-pci-direct or --disable-pci-direct was given. +-if test "${enable_pci_direct+set}" = set; then +- enableval="$enable_pci_direct" +- +-fi; +-if test "x$enable_pci_direct" = xyes; then +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCONFIG_PCI_DIRECT=1" +-fi +- +-# Check whether --enable-3c509 or --disable-3c509 was given. +-if test "${enable_3c509+set}" = set; then +- enableval="$enable_3c509" +- +-fi; +-if test "x$enable_3c509" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C509" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c509.o" +-fi +- +-# Check whether --enable-3c529 or --disable-3c529 was given. +-if test "${enable_3c529+set}" = set; then +- enableval="$enable_3c529" +- +-fi; +-if test "x$enable_3c529" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C529=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c529.o" +-fi +- +-# Check whether --enable-3c595 or --disable-3c595 was given. +-if test "${enable_3c595+set}" = set; then +- enableval="$enable_3c595" +- +-fi; +-if test "x$enable_3c595" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C595=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c595.o" +-fi +- +-# Check whether --enable-3c90x or --disable-3c90x was given. +-if test "${enable_3c90x+set}" = set; then +- enableval="$enable_3c90x" +- +-fi; +-if test "x$enable_3c90x" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C90X=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c90x.o" +-fi +- +-# Check whether --enable-cs89x0 or --disable-cs89x0 was given. +-if test "${enable_cs89x0+set}" = set; then +- enableval="$enable_cs89x0" +- +-fi; +-if test "x$enable_cs89x0" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_CS89X0=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS cs89x0.o" +-fi +- +-# Check whether --enable-davicom or --disable-davicom was given. +-if test "${enable_davicom+set}" = set; then +- enableval="$enable_davicom" +- +-fi; +-if test "x$enable_davicom" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DAVICOM=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS davicom.o" +-fi +- +-# Check whether --enable-depca or --disable-depca was given. +-if test "${enable_depca+set}" = set; then +- enableval="$enable_depca" +- +-fi; +-if test "x$enable_depca" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_DEPCA=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS depca.o" +-fi +- +-# Check whether --enable-eepro or --disable-eepro was given. +-if test "${enable_eepro+set}" = set; then +- enableval="$enable_eepro" +- +-fi; +-if test "x$enable_eepro" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro.o" +-fi +- +-# Check whether --enable-eepro100 or --disable-eepro100 was given. +-if test "${enable_eepro100+set}" = set; then +- enableval="$enable_eepro100" +- +-fi; +-if test "x$enable_eepro100" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EEPRO100=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS eepro100.o" +-fi +- +-# Check whether --enable-epic100 or --disable-epic100 was given. +-if test "${enable_epic100+set}" = set; then +- enableval="$enable_epic100" +- +-fi; +-if test "x$enable_epic100" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EPIC100=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS epic100.o" +-fi +- +-# Check whether --enable-3c507 or --disable-3c507 was given. +-if test "${enable_3c507+set}" = set; then +- enableval="$enable_3c507" +- +-fi; +-if test "x$enable_3c507" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C507=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c507.o" +-fi +- +-# Check whether --enable-exos205 or --disable-exos205 was given. +-if test "${enable_exos205+set}" = set; then +- enableval="$enable_exos205" +- +-fi; +-if test "x$enable_exos205" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_EXOS205=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS exos205.o" +-fi +- +-# Check whether --enable-ni5210 or --disable-ni5210 was given. +-if test "${enable_ni5210+set}" = set; then +- enableval="$enable_ni5210" +- +-fi; +-if test "x$enable_ni5210" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5210=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5210.o" +-fi +- +-# Check whether --enable-lance or --disable-lance was given. +-if test "${enable_lance+set}" = set; then +- enableval="$enable_lance" +- +-fi; +-if test "x$enable_lance" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_LANCE=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS lance.o" +-fi +- +-# Check whether --enable-ne2100 or --disable-ne2100 was given. +-if test "${enable_ne2100+set}" = set; then +- enableval="$enable_ne2100" +- +-fi; +-if test "x$enable_ne2100" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE2100=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne2100.o" +-fi +- +-# Check whether --enable-ni6510 or --disable-ni6510 was given. +-if test "${enable_ni6510+set}" = set; then +- enableval="$enable_ni6510" +- +-fi; +-if test "x$enable_ni6510" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI6510=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni6510.o" +-fi +- +-# Check whether --enable-natsemi or --disable-natsemi was given. +-if test "${enable_natsemi+set}" = set; then +- enableval="$enable_natsemi" +- +-fi; +-if test "x$enable_natsemi" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NATSEMI=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS natsemi.o" +-fi +- +-# Check whether --enable-ni5010 or --disable-ni5010 was given. +-if test "${enable_ni5010+set}" = set; then +- enableval="$enable_ni5010" +- +-fi; +-if test "x$enable_ni5010" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NI5010=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ni5010.o" +-fi +- +-# Check whether --enable-3c503 or --disable-3c503 was given. +-if test "${enable_3c503+set}" = set; then +- enableval="$enable_3c503" +- +-fi; +-if test "x$enable_3c503" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_3C503=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS 3c503.o" +-fi +- +-# Check whether --enable-ne or --disable-ne was given. +-if test "${enable_ne+set}" = set; then +- enableval="$enable_ne" +- +-fi; +-if test "x$enable_ne" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NE=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ne.o" +-fi +- +-# Check whether --enable-ns8390 or --disable-ns8390 was given. +-if test "${enable_ns8390+set}" = set; then +- enableval="$enable_ns8390" +- +-fi; +-if test "x$enable_ns8390" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_NS8390=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS ns8390.o" +-fi +- +-# Check whether --enable-wd or --disable-wd was given. +-if test "${enable_wd+set}" = set; then +- enableval="$enable_wd" +- +-fi; +-if test "x$enable_wd" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_WD=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS wd.o" +-fi +- +-# Check whether --enable-otulip or --disable-otulip was given. +-if test "${enable_otulip+set}" = set; then +- enableval="$enable_otulip" +- +-fi; +-if test "x$enable_otulip" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_OTULIP=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS otulip.o" +-fi +- +-# Check whether --enable-rtl8139 or --disable-rtl8139 was given. +-if test "${enable_rtl8139+set}" = set; then +- enableval="$enable_rtl8139" +- +-fi; +-if test "x$enable_rtl8139" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_RTL8139=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS rtl8139.o" +-fi +- +-# Check whether --enable-sis900 or --disable-sis900 was given. +-if test "${enable_sis900+set}" = set; then +- enableval="$enable_sis900" +- +-fi; +-if test "x$enable_sis900" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SIS900=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS sis900.o" +-fi +- +-# Check whether --enable-sk-g16 or --disable-sk-g16 was given. +-if test "${enable_sk_g16+set}" = set; then +- enableval="$enable_sk_g16" +- +-fi; +-if test "x$enable_sk_g16" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SK_G16=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS sk_g16.o" +-fi +- +-# Check whether --enable-smc9000 or --disable-smc9000 was given. +-if test "${enable_smc9000+set}" = set; then +- enableval="$enable_smc9000" +- +-fi; +-if test "x$enable_smc9000" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_SMC9000=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS smc9000.o" +-fi +- +-# Check whether --enable-tiara or --disable-tiara was given. +-if test "${enable_tiara+set}" = set; then +- enableval="$enable_tiara" +- +-fi; +-if test "x$enable_tiara" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TIARA=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS tiara.o" +-fi +- +-# Check whether --enable-tulip or --disable-tulip was given. +-if test "${enable_tulip+set}" = set; then +- enableval="$enable_tulip" +- +-fi; +-if test "x$enable_tulip" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_TULIP=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS tulip.o" +-fi +- +-# Check whether --enable-via-rhine or --disable-via-rhine was given. +-if test "${enable_via_rhine+set}" = set; then +- enableval="$enable_via_rhine" +- +-fi; +-if test "x$enable_via_rhine" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_VIA_RHINE=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS via_rhine.o" +-fi +- +-# Check whether --enable-w89c840 or --disable-w89c840 was given. +-if test "${enable_w89c840+set}" = set; then +- enableval="$enable_w89c840" +- +-fi; +-if test "x$enable_w89c840" = xyes; then +- NET_CFLAGS="$NET_CFLAGS -DINCLUDE_W89C840=1" +- NETBOOT_DRIVERS="$NETBOOT_DRIVERS w89c840.o" +-fi +- +- +- +-if test "x$NET_CFLAGS" != x; then +- NETBOOT_SUPPORT_TRUE= +- NETBOOT_SUPPORT_FALSE='#' +-else +- NETBOOT_SUPPORT_TRUE='#' +- NETBOOT_SUPPORT_FALSE= +-fi +- +-if test "x$NET_CFLAGS" != x; then +- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_TFTP=1" +-fi +- +-# Check whether --enable-3c503-shmem or --disable-3c503-shmem was given. +-if test "${enable_3c503_shmem+set}" = set; then +- enableval="$enable_3c503_shmem" +- +-fi; +-if test "x$enable_3c503_shmem" = xyes; then +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_SHMEM=1" +-fi +- +-# Check whether --enable-3c503-aui or --disable-3c503-aui was given. +-if test "${enable_3c503_aui+set}" = set; then +- enableval="$enable_3c503_aui" +- +-fi; +-if test "x$enable_3c503_aui" = xyes; then +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DT503_AUI=1" +-fi +- +-# Check whether --enable-compex-rl2000-fix or --disable-compex-rl2000-fix was given. +-if test "${enable_compex_rl2000_fix+set}" = set; then +- enableval="$enable_compex_rl2000_fix" +- +-fi; +-if test "x$enable_compex_rl2000_fix" = xyes; then +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCOMPEX_RL2000_FIX=1" +-fi +- +-# Check whether --enable-smc9000-scan or --disable-smc9000-scan was given. +-if test "${enable_smc9000_scan+set}" = set; then +- enableval="$enable_smc9000_scan" +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DSMC9000_SCAN=$enable_smc9000_scan" +-fi; +- +-# Check whether --enable-ne-scan or --disable-ne-scan was given. +-if test "${enable_ne_scan+set}" = set; then +- enableval="$enable_ne_scan" +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=$enable_ne_scan" +-else +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DNE_SCAN=0x280,0x300,0x320,0x340" +-fi; +- +-# Check whether --enable-wd-default-mem or --disable-wd-default-mem was given. +-if test "${enable_wd_default_mem+set}" = set; then +- enableval="$enable_wd_default_mem" +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=$enable_wd_default_mem" +-else +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DWD_DEFAULT_MEM=0xCC000" +-fi; +- +-# Check whether --enable-cs-scan or --disable-cs-scan was given. +-if test "${enable_cs_scan+set}" = set; then +- enableval="$enable_cs_scan" +- NET_EXTRAFLAGS="$NET_EXTRAFLAGS -DCS_SCAN=$enable_cs_scan" +-fi; +- +-# Check whether --enable-diskless or --disable-diskless was given. +-if test "${enable_diskless+set}" = set; then +- enableval="$enable_diskless" +- +-fi; +- +- +-if test "x$enable_diskless" = xyes; then +- DISKLESS_SUPPORT_TRUE= +- DISKLESS_SUPPORT_FALSE='#' +-else +- DISKLESS_SUPPORT_TRUE='#' +- DISKLESS_SUPPORT_FALSE= +-fi +- +- +-# Check whether --enable-hercules or --disable-hercules was given. +-if test "${enable_hercules+set}" = set; then +- enableval="$enable_hercules" +- +-fi; +- +- +-if test "x$enable_hercules" != xno; then +- HERCULES_SUPPORT_TRUE= +- HERCULES_SUPPORT_FALSE='#' +-else +- HERCULES_SUPPORT_TRUE='#' +- HERCULES_SUPPORT_FALSE= +-fi +- +- +-# Check whether --enable-serial or --disable-serial was given. +-if test "${enable_serial+set}" = set; then +- enableval="$enable_serial" +- +-fi; +- +- +-if test "x$enable_serial" != xno; then +- SERIAL_SUPPORT_TRUE= +- SERIAL_SUPPORT_FALSE='#' +-else +- SERIAL_SUPPORT_TRUE='#' +- SERIAL_SUPPORT_FALSE= +-fi +- +- +-# Check whether --enable-serial-speed-simulation or --disable-serial-speed-simulation was given. +-if test "${enable_serial_speed_simulation+set}" = set; then +- enableval="$enable_serial_speed_simulation" +- +-fi; +- +- +-if test "x$enable_serial_speed_simulation" = xyes; then +- SERIAL_SPEED_SIMULATION_TRUE= +- SERIAL_SPEED_SIMULATION_FALSE='#' +-else +- SERIAL_SPEED_SIMULATION_TRUE='#' +- SERIAL_SPEED_SIMULATION_FALSE= +-fi +- +- +-# Sanity check. +-if test "x$enable_diskless" = xyes; then +- if test "x$NET_CFLAGS" = x; then +- { { echo "$as_me:$LINENO: error: You must enable at least one network driver" >&5 +-echo "$as_me: error: You must enable at least one network driver" >&2;} +- { (exit 1); exit 1; }; } +- fi +-fi +- +-# Check whether --enable-preset-menu or --disable-preset-menu was given. +-if test "${enable_preset_menu+set}" = set; then +- enableval="$enable_preset_menu" +- +-fi; +-if test "x$enable_preset_menu" = x; then +- : +-else +- if test -r $enable_preset_menu; then +- +-# Because early versions of GNU sed 3.x are too buggy, use a C program +-# instead of shell commands. *sigh* +-cat >conftest.c <<\EOF +-#include +- +-int +-main (void) +-{ +- int c; +- +- while ((c = getchar ()) != EOF) +- { +- switch (c) +- { +- case '\n': +- fputs ("\\n", stdout); +- break; +- case '\r': +- fputs ("\\r", stdout); +- break; +- case '\\': +- fputs ("\\\\", stdout); +- break; +- case '"': +- fputs ("\\\"", stdout); +- break; +- default: +- putchar (c); +- } +- } +- +- return 0; +-} +-EOF +- +-if { ac_try='${CC-cc} ${CFLAGS} conftest.c -o conftest' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } && test -s conftest; then +- grub_tmp_value=`./conftest < "$enable_preset_menu"` +-else +- { { echo "$as_me:$LINENO: error: ${CC-cc} failed to produce an executable file" >&5 +-echo "$as_me: error: ${CC-cc} failed to produce an executable file" >&2;} +- { (exit 1); exit 1; }; } +-fi +- +- +-cat >>confdefs.h <<_ACEOF +-#define PRESET_MENU_STRING "$grub_tmp_value" +-_ACEOF +- +-rm -f conftest* +- +- else +- { { echo "$as_me:$LINENO: error: Cannot read the preset menu file $enable_preset_menu" >&5 +-echo "$as_me: error: Cannot read the preset menu file $enable_preset_menu" >&2;} +- { (exit 1); exit 1; }; } +- fi +-fi +- +-# Check whether --enable-example-kernel or --disable-example-kernel was given. +-if test "${enable_example_kernel+set}" = set; then +- enableval="$enable_example_kernel" +- +-fi; +- +- +-if test "x$enable_example_kernel" = xyes; then +- BUILD_EXAMPLE_KERNEL_TRUE= +- BUILD_EXAMPLE_KERNEL_FALSE='#' +-else +- BUILD_EXAMPLE_KERNEL_TRUE='#' +- BUILD_EXAMPLE_KERNEL_FALSE= +-fi +- +- +-# Check whether --enable-auto-linux-mem-opt or --disable-auto-linux-mem-opt was given. +-if test "${enable_auto_linux_mem_opt+set}" = set; then +- enableval="$enable_auto_linux_mem_opt" +- +-fi; +-if test "x$enable_auto_linux_mem_opt" = xno; then +- : +-else +- +-cat >>confdefs.h <<\_ACEOF +-#define AUTO_LINUX_MEM_OPT 1 +-_ACEOF +- +-fi +- +- +- +- +- +- +-CCASFLAGS='$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)' +- +- +- +- ac_config_files="$ac_config_files Makefile stage1/Makefile stage2/Makefile docs/Makefile lib/Makefile util/Makefile grub/Makefile netboot/Makefile util/grub-image util/grub-install util/grub-md5-crypt util/grub-terminfo util/grub-set-default" +- +-cat >confcache <<\_ACEOF +-# This file is a shell script that caches the results of configure +-# tests run on this system so they can be shared between configure +-# scripts and configure runs, see configure's option --config-cache. +-# It is not useful on other systems. If it contains results you don't +-# want to keep, you may remove or edit it. +-# +-# config.status only pays attention to the cache file if you give it +-# the --recheck option to rerun configure. +-# +-# `ac_cv_env_foo' variables (set or unset) will be overridden when +-# loading this file, other *unset* `ac_cv_foo' will be assigned the +-# following values. +- +-_ACEOF +- +-# The following way of writing the cache mishandles newlines in values, +-# but we know of no workaround that is simple, portable, and efficient. +-# So, don't put newlines in cache variables' values. +-# Ultrix sh set writes to stderr and can't be redirected directly, +-# and sets the high bit in the cache file unless we assign to the vars. +-{ +- (set) 2>&1 | +- case `(ac_space=' '; set | grep ac_space) 2>&1` in +- *ac_space=\ *) +- # `set' does not quote correctly, so add quotes (double-quote +- # substitution turns \\\\ into \\, and sed turns \\ into \). +- sed -n \ +- "s/'/'\\\\''/g; +- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" +- ;; +- *) +- # `set' quotes correctly as required by POSIX, so do not add quotes. +- sed -n \ +- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" +- ;; +- esac; +-} | +- sed ' +- t clear +- : clear +- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ +- t end +- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ +- : end' >>confcache +-if diff $cache_file confcache >/dev/null 2>&1; then :; else +- if test -w $cache_file; then +- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" +- cat confcache >$cache_file +- else +- echo "not updating unwritable cache $cache_file" +- fi +-fi +-rm -f confcache +- +-test "x$prefix" = xNONE && prefix=$ac_default_prefix +-# Let make expand exec_prefix. +-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +- +-# VPATH may cause trouble with some makes, so we remove $(srcdir), +-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +-# trailing colons and then remove the whole line if VPATH becomes empty +-# (actually we leave an empty line to preserve line numbers). +-if test "x$srcdir" = x.; then +- ac_vpsub='/^[ ]*VPATH[ ]*=/{ +-s/:*\$(srcdir):*/:/; +-s/:*\${srcdir}:*/:/; +-s/:*@srcdir@:*/:/; +-s/^\([^=]*=[ ]*\):*/\1/; +-s/:*$//; +-s/^[^=]*=[ ]*$//; +-}' +-fi +- +-DEFS=-DHAVE_CONFIG_H +- +-ac_libobjs= +-ac_ltlibobjs= +-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue +- # 1. Remove the extension, and $U if already installed. +- ac_i=`echo "$ac_i" | +- sed 's/\$U\././;s/\.o$//;s/\.obj$//'` +- # 2. Add them. +- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" +- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +-done +-LIBOBJS=$ac_libobjs +- +-LTLIBOBJS=$ac_ltlibobjs +- +- +-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"AMDEP\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${NETBOOT_SUPPORT_TRUE}" && test -z "${NETBOOT_SUPPORT_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"NETBOOT_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"NETBOOT_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${DISKLESS_SUPPORT_TRUE}" && test -z "${DISKLESS_SUPPORT_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"DISKLESS_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"DISKLESS_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${HERCULES_SUPPORT_TRUE}" && test -z "${HERCULES_SUPPORT_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"HERCULES_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"HERCULES_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${SERIAL_SUPPORT_TRUE}" && test -z "${SERIAL_SUPPORT_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"SERIAL_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"SERIAL_SUPPORT\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${SERIAL_SPEED_SIMULATION_TRUE}" && test -z "${SERIAL_SPEED_SIMULATION_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"SERIAL_SPEED_SIMULATION\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"SERIAL_SPEED_SIMULATION\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +-if test -z "${BUILD_EXAMPLE_KERNEL_TRUE}" && test -z "${BUILD_EXAMPLE_KERNEL_FALSE}"; then +- { { echo "$as_me:$LINENO: error: conditional \"BUILD_EXAMPLE_KERNEL\" was never defined. +-Usually this means the macro was only invoked conditionally." >&5 +-echo "$as_me: error: conditional \"BUILD_EXAMPLE_KERNEL\" was never defined. +-Usually this means the macro was only invoked conditionally." >&2;} +- { (exit 1); exit 1; }; } +-fi +- +-: ${CONFIG_STATUS=./config.status} +-ac_clean_files_save=$ac_clean_files +-ac_clean_files="$ac_clean_files $CONFIG_STATUS" +-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +-echo "$as_me: creating $CONFIG_STATUS" >&6;} +-cat >$CONFIG_STATUS <<_ACEOF +-#! $SHELL +-# Generated by $as_me. +-# Run this file to recreate the current configuration. +-# Compiler output produced by configure, useful for debugging +-# configure, is in config.log if it exists. +- +-debug=false +-ac_cs_recheck=false +-ac_cs_silent=false +-SHELL=\${CONFIG_SHELL-$SHELL} +-_ACEOF +- +-cat >>$CONFIG_STATUS <<\_ACEOF +-## --------------------- ## +-## M4sh Initialization. ## +-## --------------------- ## +- +-# Be Bourne compatible +-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +- emulate sh +- NULLCMD=: +- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which +- # is contrary to our usage. Disable this feature. +- alias -g '${1+"$@"}'='"$@"' +-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then +- set -o posix +-fi +-DUALCASE=1; export DUALCASE # for MKS sh +- +-# Support unset when possible. +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- as_unset=unset +-else +- as_unset=false +-fi +- +- +-# Work around bugs in pre-3.0 UWIN ksh. +-$as_unset ENV MAIL MAILPATH +-PS1='$ ' +-PS2='> ' +-PS4='+ ' +- +-# NLS nuisances. +-for as_var in \ +- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ +- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ +- LC_TELEPHONE LC_TIME +-do +- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then +- eval $as_var=C; export $as_var +- else +- $as_unset $as_var +- fi +-done +- +-# Required to use basename. +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +- as_basename=basename +-else +- as_basename=false +-fi +- +- +-# Name of the executable. +-as_me=`$as_basename "$0" || +-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)$' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X/"$0" | +- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } +- /^X\/\(\/\/\)$/{ s//\1/; q; } +- /^X\/\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- +- +-# PATH needs CR, and LINENO needs CR and PATH. +-# Avoid depending upon Character Ranges. +-as_cr_letters='abcdefghijklmnopqrstuvwxyz' +-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-as_cr_Letters=$as_cr_letters$as_cr_LETTERS +-as_cr_digits='0123456789' +-as_cr_alnum=$as_cr_Letters$as_cr_digits +- +-# The user is always right. +-if test "${PATH_SEPARATOR+set}" != set; then +- echo "#! /bin/sh" >conf$$.sh +- echo "exit 0" >>conf$$.sh +- chmod +x conf$$.sh +- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then +- PATH_SEPARATOR=';' +- else +- PATH_SEPARATOR=: +- fi +- rm -f conf$$.sh +-fi +- +- +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" || { +- # Find who we are. Look in the path if we contain no path at all +- # relative or not. +- case $0 in +- *[\\/]* ) as_myself=$0 ;; +- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +-done +- +- ;; +- esac +- # We did not find ourselves, most probably we were run as `sh COMMAND' +- # in which case we are not to be found in the path. +- if test "x$as_myself" = x; then +- as_myself=$0 +- fi +- if test ! -f "$as_myself"; then +- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} +- { (exit 1); exit 1; }; } +- fi +- case $CONFIG_SHELL in +- '') +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for as_base in sh bash ksh sh5; do +- case $as_dir in +- /*) +- if ("$as_dir/$as_base" -c ' +- as_lineno_1=$LINENO +- as_lineno_2=$LINENO +- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` +- test "x$as_lineno_1" != "x$as_lineno_2" && +- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then +- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } +- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } +- CONFIG_SHELL=$as_dir/$as_base +- export CONFIG_SHELL +- exec "$CONFIG_SHELL" "$0" ${1+"$@"} +- fi;; +- esac +- done +-done +-;; +- esac +- +- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO +- # uniformly replaced by the line number. The first 'sed' inserts a +- # line-number line before each line; the second 'sed' does the real +- # work. The second script uses 'N' to pair each line-number line +- # with the numbered line, and appends trailing '-' during +- # substitution so that $LINENO is not a special case at line end. +- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the +- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) +- sed '=' <$as_myself | +- sed ' +- N +- s,$,-, +- : loop +- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, +- t loop +- s,-$,, +- s,^['$as_cr_digits']*\n,, +- ' >$as_me.lineno && +- chmod +x $as_me.lineno || +- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} +- { (exit 1); exit 1; }; } +- +- # Don't try to exec as it changes $[0], causing all sort of problems +- # (the dirname of $[0] is not the place where we might find the +- # original and so on. Autoconf is especially sensible to this). +- . ./$as_me.lineno +- # Exit status is that of the last command. +- exit +-} +- +- +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +-esac +- +-if expr a : '\(a\)' >/dev/null 2>&1; then +- as_expr=expr +-else +- as_expr=false +-fi +- +-rm -f conf$$ conf$$.exe conf$$.file +-echo >conf$$.file +-if ln -s conf$$.file conf$$ 2>/dev/null; then +- # We could just check for DJGPP; but this test a) works b) is more generic +- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). +- if test -f conf$$.exe; then +- # Don't use ln at all; we don't have any links +- as_ln_s='cp -p' +- else +- as_ln_s='ln -s' +- fi +-elif ln conf$$.file conf$$ 2>/dev/null; then +- as_ln_s=ln +-else +- as_ln_s='cp -p' +-fi +-rm -f conf$$ conf$$.exe conf$$.file +- +-if mkdir -p . 2>/dev/null; then +- as_mkdir_p=: +-else +- test -d ./-p && rmdir ./-p +- as_mkdir_p=false +-fi +- +-as_executable_p="test -f" +- +-# Sed expression to map a string onto a valid CPP name. +-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +- +-# Sed expression to map a string onto a valid variable name. +-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +- +- +-# IFS +-# We need space, tab and new line, in precisely that order. +-as_nl=' +-' +-IFS=" $as_nl" +- +-# CDPATH. +-$as_unset CDPATH +- +-exec 6>&1 +- +-# Open the log real soon, to keep \$[0] and so on meaningful, and to +-# report actual input values of CONFIG_FILES etc. instead of their +-# values after options handling. Logging --version etc. is OK. +-exec 5>>config.log +-{ +- echo +- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +-## Running $as_me. ## +-_ASBOX +-} >&5 +-cat >&5 <<_CSEOF +- +-This file was extended by GRUB $as_me 0.97, which was +-generated by GNU Autoconf 2.59. Invocation command line was +- +- CONFIG_FILES = $CONFIG_FILES +- CONFIG_HEADERS = $CONFIG_HEADERS +- CONFIG_LINKS = $CONFIG_LINKS +- CONFIG_COMMANDS = $CONFIG_COMMANDS +- $ $0 $@ +- +-_CSEOF +-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +-echo >&5 +-_ACEOF +- +-# Files that config.status was made for. +-if test -n "$ac_config_files"; then +- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_headers"; then +- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_links"; then +- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +-fi +- +-if test -n "$ac_config_commands"; then +- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +-fi +- +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-ac_cs_usage="\ +-\`$as_me' instantiates files from templates according to the +-current configuration. +- +-Usage: $0 [OPTIONS] [FILE]... +- +- -h, --help print this help, then exit +- -V, --version print version number, then exit +- -q, --quiet do not print progress messages +- -d, --debug don't remove temporary files +- --recheck update $as_me by reconfiguring in the same conditions +- --file=FILE[:TEMPLATE] +- instantiate the configuration file FILE +- --header=FILE[:TEMPLATE] +- instantiate the configuration header FILE +- +-Configuration files: +-$config_files +- +-Configuration headers: +-$config_headers +- +-Configuration commands: +-$config_commands +- +-Report bugs to ." +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +-ac_cs_version="\\ +-GRUB config.status 0.97 +-configured by $0, generated by GNU Autoconf 2.59, +- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +- +-Copyright (C) 2003 Free Software Foundation, Inc. +-This config.status script is free software; the Free Software Foundation +-gives unlimited permission to copy, distribute and modify it." +-srcdir=$srcdir +-INSTALL="$INSTALL" +-_ACEOF +- +-cat >>$CONFIG_STATUS <<\_ACEOF +-# If no file are specified by the user, then we need to provide default +-# value. By we need to know if files were specified by the user. +-ac_need_defaults=: +-while test $# != 0 +-do +- case $1 in +- --*=*) +- ac_option=`expr "x$1" : 'x\([^=]*\)='` +- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` +- ac_shift=: +- ;; +- -*) +- ac_option=$1 +- ac_optarg=$2 +- ac_shift=shift +- ;; +- *) # This is not an option, so the user has probably given explicit +- # arguments. +- ac_option=$1 +- ac_need_defaults=false;; +- esac +- +- case $ac_option in +- # Handling of the options. +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) +- ac_cs_recheck=: ;; +- --version | --vers* | -V ) +- echo "$ac_cs_version"; exit 0 ;; +- --he | --h) +- # Conflict between --help and --header +- { { echo "$as_me:$LINENO: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: ambiguous option: $1 +-Try \`$0 --help' for more information." >&2;} +- { (exit 1); exit 1; }; };; +- --help | --hel | -h ) +- echo "$ac_cs_usage"; exit 0 ;; +- --debug | --d* | -d ) +- debug=: ;; +- --file | --fil | --fi | --f ) +- $ac_shift +- CONFIG_FILES="$CONFIG_FILES $ac_optarg" +- ac_need_defaults=false;; +- --header | --heade | --head | --hea ) +- $ac_shift +- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" +- ac_need_defaults=false;; +- -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +- | -silent | --silent | --silen | --sile | --sil | --si | --s) +- ac_cs_silent=: ;; +- +- # This is an error. +- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&5 +-echo "$as_me: error: unrecognized option: $1 +-Try \`$0 --help' for more information." >&2;} +- { (exit 1); exit 1; }; } ;; +- +- *) ac_config_targets="$ac_config_targets $1" ;; +- +- esac +- shift +-done +- +-ac_configure_extra_args= +- +-if $ac_cs_silent; then +- exec 6>/dev/null +- ac_configure_extra_args="$ac_configure_extra_args --silent" +-fi +- +-_ACEOF +-cat >>$CONFIG_STATUS <<_ACEOF +-if \$ac_cs_recheck; then +- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 +- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +-fi +- +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +-# +-# INIT-COMMANDS section. +-# +- +-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +- +-_ACEOF +- +- +- +-cat >>$CONFIG_STATUS <<\_ACEOF +-for ac_config_target in $ac_config_targets +-do +- case "$ac_config_target" in +- # Handling of arguments. +- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; +- "stage1/Makefile" ) CONFIG_FILES="$CONFIG_FILES stage1/Makefile" ;; +- "stage2/Makefile" ) CONFIG_FILES="$CONFIG_FILES stage2/Makefile" ;; +- "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; +- "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; +- "util/Makefile" ) CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; +- "grub/Makefile" ) CONFIG_FILES="$CONFIG_FILES grub/Makefile" ;; +- "netboot/Makefile" ) CONFIG_FILES="$CONFIG_FILES netboot/Makefile" ;; +- "util/grub-image" ) CONFIG_FILES="$CONFIG_FILES util/grub-image" ;; +- "util/grub-install" ) CONFIG_FILES="$CONFIG_FILES util/grub-install" ;; +- "util/grub-md5-crypt" ) CONFIG_FILES="$CONFIG_FILES util/grub-md5-crypt" ;; +- "util/grub-terminfo" ) CONFIG_FILES="$CONFIG_FILES util/grub-terminfo" ;; +- "util/grub-set-default" ) CONFIG_FILES="$CONFIG_FILES util/grub-set-default" ;; +- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; +- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; +- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +-echo "$as_me: error: invalid argument: $ac_config_target" >&2;} +- { (exit 1); exit 1; }; };; +- esac +-done +- +-# If the user did not use the arguments to specify the items to instantiate, +-# then the envvar interface is used. Set only those that are not. +-# We use the long form for the default assignment because of an extremely +-# bizarre bug on SunOS 4.1.3. +-if $ac_need_defaults; then +- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +-fi +- +-# Have a temporary directory for convenience. Make it in the build tree +-# simply because there is no reason to put it here, and in addition, +-# creating and moving files from /tmp can sometimes cause problems. +-# Create a temporary directory, and hook for its removal unless debugging. +-$debug || +-{ +- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 +- trap '{ (exit 1); exit 1; }' 1 2 13 15 +-} +- +-# Create a (secure) tmp directory for tmp files. +- +-{ +- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && +- test -n "$tmp" && test -d "$tmp" +-} || +-{ +- tmp=./confstat$$-$RANDOM +- (umask 077 && mkdir $tmp) +-} || +-{ +- echo "$me: cannot create a temporary directory in ." >&2 +- { (exit 1); exit 1; } +-} +- +-_ACEOF +- +-cat >>$CONFIG_STATUS <<_ACEOF +- +-# +-# CONFIG_FILES section. +-# +- +-# No need to generate the scripts if there are no CONFIG_FILES. +-# This happens for instance when ./config.status config.h +-if test -n "\$CONFIG_FILES"; then +- # Protect against being on the right side of a sed subst in config.status. +- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; +- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +-s,@SHELL@,$SHELL,;t t +-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +-s,@exec_prefix@,$exec_prefix,;t t +-s,@prefix@,$prefix,;t t +-s,@program_transform_name@,$program_transform_name,;t t +-s,@bindir@,$bindir,;t t +-s,@sbindir@,$sbindir,;t t +-s,@libexecdir@,$libexecdir,;t t +-s,@datadir@,$datadir,;t t +-s,@sysconfdir@,$sysconfdir,;t t +-s,@sharedstatedir@,$sharedstatedir,;t t +-s,@localstatedir@,$localstatedir,;t t +-s,@libdir@,$libdir,;t t +-s,@includedir@,$includedir,;t t +-s,@oldincludedir@,$oldincludedir,;t t +-s,@infodir@,$infodir,;t t +-s,@mandir@,$mandir,;t t +-s,@build_alias@,$build_alias,;t t +-s,@host_alias@,$host_alias,;t t +-s,@target_alias@,$target_alias,;t t +-s,@DEFS@,$DEFS,;t t +-s,@ECHO_C@,$ECHO_C,;t t +-s,@ECHO_N@,$ECHO_N,;t t +-s,@ECHO_T@,$ECHO_T,;t t +-s,@LIBS@,$LIBS,;t t +-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +-s,@INSTALL_DATA@,$INSTALL_DATA,;t t +-s,@CYGPATH_W@,$CYGPATH_W,;t t +-s,@PACKAGE@,$PACKAGE,;t t +-s,@VERSION@,$VERSION,;t t +-s,@ACLOCAL@,$ACLOCAL,;t t +-s,@AUTOCONF@,$AUTOCONF,;t t +-s,@AUTOMAKE@,$AUTOMAKE,;t t +-s,@AUTOHEADER@,$AUTOHEADER,;t t +-s,@MAKEINFO@,$MAKEINFO,;t t +-s,@install_sh@,$install_sh,;t t +-s,@STRIP@,$STRIP,;t t +-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +-s,@mkdir_p@,$mkdir_p,;t t +-s,@AWK@,$AWK,;t t +-s,@SET_MAKE@,$SET_MAKE,;t t +-s,@am__leading_dot@,$am__leading_dot,;t t +-s,@AMTAR@,$AMTAR,;t t +-s,@am__tar@,$am__tar,;t t +-s,@am__untar@,$am__untar,;t t +-s,@build@,$build,;t t +-s,@build_cpu@,$build_cpu,;t t +-s,@build_vendor@,$build_vendor,;t t +-s,@build_os@,$build_os,;t t +-s,@host@,$host,;t t +-s,@host_cpu@,$host_cpu,;t t +-s,@host_vendor@,$host_vendor,;t t +-s,@host_os@,$host_os,;t t +-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t +-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t +-s,@MAINT@,$MAINT,;t t +-s,@PERL@,$PERL,;t t +-s,@CC@,$CC,;t t +-s,@ac_ct_CC@,$ac_ct_CC,;t t +-s,@CFLAGS@,$CFLAGS,;t t +-s,@LDFLAGS@,$LDFLAGS,;t t +-s,@CPPFLAGS@,$CPPFLAGS,;t t +-s,@EXEEXT@,$EXEEXT,;t t +-s,@OBJEXT@,$OBJEXT,;t t +-s,@DEPDIR@,$DEPDIR,;t t +-s,@am__include@,$am__include,;t t +-s,@am__quote@,$am__quote,;t t +-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +-s,@CCDEPMODE@,$CCDEPMODE,;t t +-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +-s,@CCAS@,$CCAS,;t t +-s,@RANLIB@,$RANLIB,;t t +-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +-s,@STAGE1_CFLAGS@,$STAGE1_CFLAGS,;t t +-s,@STAGE2_CFLAGS@,$STAGE2_CFLAGS,;t t +-s,@GRUB_CFLAGS@,$GRUB_CFLAGS,;t t +-s,@OBJCOPY@,$OBJCOPY,;t t +-s,@ac_ct_OBJCOPY@,$ac_ct_OBJCOPY,;t t +-s,@GRUB_LIBS@,$GRUB_LIBS,;t t +-s,@CPP@,$CPP,;t t +-s,@EGREP@,$EGREP,;t t +-s,@NETBOOT_SUPPORT_TRUE@,$NETBOOT_SUPPORT_TRUE,;t t +-s,@NETBOOT_SUPPORT_FALSE@,$NETBOOT_SUPPORT_FALSE,;t t +-s,@DISKLESS_SUPPORT_TRUE@,$DISKLESS_SUPPORT_TRUE,;t t +-s,@DISKLESS_SUPPORT_FALSE@,$DISKLESS_SUPPORT_FALSE,;t t +-s,@HERCULES_SUPPORT_TRUE@,$HERCULES_SUPPORT_TRUE,;t t +-s,@HERCULES_SUPPORT_FALSE@,$HERCULES_SUPPORT_FALSE,;t t +-s,@SERIAL_SUPPORT_TRUE@,$SERIAL_SUPPORT_TRUE,;t t +-s,@SERIAL_SUPPORT_FALSE@,$SERIAL_SUPPORT_FALSE,;t t +-s,@SERIAL_SPEED_SIMULATION_TRUE@,$SERIAL_SPEED_SIMULATION_TRUE,;t t +-s,@SERIAL_SPEED_SIMULATION_FALSE@,$SERIAL_SPEED_SIMULATION_FALSE,;t t +-s,@BUILD_EXAMPLE_KERNEL_TRUE@,$BUILD_EXAMPLE_KERNEL_TRUE,;t t +-s,@BUILD_EXAMPLE_KERNEL_FALSE@,$BUILD_EXAMPLE_KERNEL_FALSE,;t t +-s,@FSYS_CFLAGS@,$FSYS_CFLAGS,;t t +-s,@NET_CFLAGS@,$NET_CFLAGS,;t t +-s,@NET_EXTRAFLAGS@,$NET_EXTRAFLAGS,;t t +-s,@NETBOOT_DRIVERS@,$NETBOOT_DRIVERS,;t t +-s,@CCASFLAGS@,$CCASFLAGS,;t t +-s,@LIBOBJS@,$LIBOBJS,;t t +-s,@LTLIBOBJS@,$LTLIBOBJS,;t t +-CEOF +- +-_ACEOF +- +- cat >>$CONFIG_STATUS <<\_ACEOF +- # Split the substitutions into bite-sized pieces for seds with +- # small command number limits, like on Digital OSF/1 and HP-UX. +- ac_max_sed_lines=48 +- ac_sed_frag=1 # Number of current file. +- ac_beg=1 # First line for current file. +- ac_end=$ac_max_sed_lines # Line after last line for current file. +- ac_more_lines=: +- ac_sed_cmds= +- while $ac_more_lines; do +- if test $ac_beg -gt 1; then +- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- else +- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag +- fi +- if test ! -s $tmp/subs.frag; then +- ac_more_lines=false +- else +- # The purpose of the label and of the branching condition is to +- # speed up the sed processing (if there are no `@' at all, there +- # is no need to browse any of the substitutions). +- # These are the two extra sed commands mentioned above. +- (echo ':t +- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" +- else +- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" +- fi +- ac_sed_frag=`expr $ac_sed_frag + 1` +- ac_beg=$ac_end +- ac_end=`expr $ac_end + $ac_max_sed_lines` +- fi +- done +- if test -z "$ac_sed_cmds"; then +- ac_sed_cmds=cat +- fi +-fi # test -n "$CONFIG_FILES" +- +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue +- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". +- case $ac_file in +- - | *:- | *:-:* ) # input from stdin +- cat >$tmp/stdin +- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- * ) ac_file_in=$ac_file.in ;; +- esac +- +- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. +- ac_dir=`(dirname "$ac_file") 2>/dev/null || +-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_file" : 'X\(//\)[^/]' \| \ +- X"$ac_file" : 'X\(//\)$' \| \ +- X"$ac_file" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" +- as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || +-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$as_dir" : 'X\(//\)[^/]' \| \ +- X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} +- { (exit 1); exit 1; }; }; } +- +- ac_builddir=. +- +-if test "$ac_dir" != .; then +- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi +- +-case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- +- case $INSTALL in +- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; +- *) ac_INSTALL=$ac_top_builddir$INSTALL ;; +- esac +- +- if test x"$ac_file" != x-; then +- { echo "$as_me:$LINENO: creating $ac_file" >&5 +-echo "$as_me: creating $ac_file" >&6;} +- rm -f "$ac_file" +- fi +- # Let's still pretend it is `configure' which instantiates (i.e., don't +- # use $as_me), people would be surprised to read: +- # /* config.h. Generated by config.status. */ +- if test x"$ac_file" = x-; then +- configure_input= +- else +- configure_input="$ac_file. " +- fi +- configure_input=$configure_input"Generated from `echo $ac_file_in | +- sed 's,.*/,,'` by configure." +- +- # First look for the input files in the build tree, otherwise in the +- # src tree. +- ac_file_inputs=`IFS=: +- for f in $ac_file_in; do +- case $f in +- -) echo $tmp/stdin ;; +- [\\/$]*) +- # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- echo "$f";; +- *) # Relative +- if test -f "$f"; then +- # Build tree +- echo "$f" +- elif test -f "$srcdir/$f"; then +- # Source tree +- echo "$srcdir/$f" +- else +- # /dev/null tree +- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- fi;; +- esac +- done` || { (exit 1); exit 1; } +-_ACEOF +-cat >>$CONFIG_STATUS <<_ACEOF +- sed "$ac_vpsub +-$extrasub +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +-:t +-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +-s,@configure_input@,$configure_input,;t t +-s,@srcdir@,$ac_srcdir,;t t +-s,@abs_srcdir@,$ac_abs_srcdir,;t t +-s,@top_srcdir@,$ac_top_srcdir,;t t +-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +-s,@builddir@,$ac_builddir,;t t +-s,@abs_builddir@,$ac_abs_builddir,;t t +-s,@top_builddir@,$ac_top_builddir,;t t +-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +-s,@INSTALL@,$ac_INSTALL,;t t +-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out +- rm -f $tmp/stdin +- if test x"$ac_file" != x-; then +- mv $tmp/out $ac_file +- else +- cat $tmp/out +- rm -f $tmp/out +- fi +- +-done +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-# +-# CONFIG_HEADER section. +-# +- +-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +-# NAME is the cpp macro being defined and VALUE is the value it is being given. +-# +-# ac_d sets the value in "#define NAME VALUE" lines. +-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +-ac_dB='[ ].*$,\1#\2' +-ac_dC=' ' +-ac_dD=',;t' +-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +-ac_uB='$,\1#\2define\3' +-ac_uC=' ' +-ac_uD=',;t' +- +-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue +- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". +- case $ac_file in +- - | *:- | *:-:* ) # input from stdin +- cat >$tmp/stdin +- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; +- * ) ac_file_in=$ac_file.in ;; +- esac +- +- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +-echo "$as_me: creating $ac_file" >&6;} +- +- # First look for the input files in the build tree, otherwise in the +- # src tree. +- ac_file_inputs=`IFS=: +- for f in $ac_file_in; do +- case $f in +- -) echo $tmp/stdin ;; +- [\\/$]*) +- # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- # Do quote $f, to prevent DOS paths from being IFS'd. +- echo "$f";; +- *) # Relative +- if test -f "$f"; then +- # Build tree +- echo "$f" +- elif test -f "$srcdir/$f"; then +- # Source tree +- echo "$srcdir/$f" +- else +- # /dev/null tree +- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +-echo "$as_me: error: cannot find input file: $f" >&2;} +- { (exit 1); exit 1; }; } +- fi;; +- esac +- done` || { (exit 1); exit 1; } +- # Remove the trailing spaces. +- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in +- +-_ACEOF +- +-# Transform confdefs.h into two sed scripts, `conftest.defines' and +-# `conftest.undefs', that substitutes the proper values into +-# config.h.in to produce config.h. The first handles `#define' +-# templates, and the second `#undef' templates. +-# And first: Protect against being on the right side of a sed subst in +-# config.status. Protect against being in an unquoted here document +-# in config.status. +-rm -f conftest.defines conftest.undefs +-# Using a here document instead of a string reduces the quoting nightmare. +-# Putting comments in sed scripts is not portable. +-# +-# `end' is used to avoid that the second main sed command (meant for +-# 0-ary CPP macros) applies to n-ary macro definitions. +-# See the Autoconf documentation for `clear'. +-cat >confdef2sed.sed <<\_ACEOF +-s/[\\&,]/\\&/g +-s,[\\$`],\\&,g +-t clear +-: clear +-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +-t end +-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +-: end +-_ACEOF +-# If some macros were called several times there might be several times +-# the same #defines, which is useless. Nevertheless, we may not want to +-# sort them, since we want the *last* AC-DEFINE to be honored. +-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +-rm -f confdef2sed.sed +- +-# This sed command replaces #undef with comments. This is necessary, for +-# example, in the case of _POSIX_SOURCE, which is predefined and required +-# on some systems where configure will not decide to define it. +-cat >>conftest.undefs <<\_ACEOF +-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +-_ACEOF +- +-# Break up conftest.defines because some shells have a limit on the size +-# of here documents, and old seds have small limits too (100 cmds). +-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +-echo ' :' >>$CONFIG_STATUS +-rm -f conftest.tail +-while grep . conftest.defines >/dev/null +-do +- # Write a limited-size here document to $tmp/defines.sed. +- echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS +- # Speed up: don't consider the non `#define' lines. +- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS +- # Work around the forget-to-reset-the-flag bug. +- echo 't clr' >>$CONFIG_STATUS +- echo ': clr' >>$CONFIG_STATUS +- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS +- echo 'CEOF +- sed -f $tmp/defines.sed $tmp/in >$tmp/out +- rm -f $tmp/in +- mv $tmp/out $tmp/in +-' >>$CONFIG_STATUS +- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail +- rm -f conftest.defines +- mv conftest.tail conftest.defines +-done +-rm -f conftest.defines +-echo ' fi # grep' >>$CONFIG_STATUS +-echo >>$CONFIG_STATUS +- +-# Break up conftest.undefs because some shells have a limit on the size +-# of here documents, and old seds have small limits too (100 cmds). +-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +-rm -f conftest.tail +-while grep . conftest.undefs >/dev/null +-do +- # Write a limited-size here document to $tmp/undefs.sed. +- echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS +- # Speed up: don't consider the non `#undef' +- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS +- # Work around the forget-to-reset-the-flag bug. +- echo 't clr' >>$CONFIG_STATUS +- echo ': clr' >>$CONFIG_STATUS +- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS +- echo 'CEOF +- sed -f $tmp/undefs.sed $tmp/in >$tmp/out +- rm -f $tmp/in +- mv $tmp/out $tmp/in +-' >>$CONFIG_STATUS +- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail +- rm -f conftest.undefs +- mv conftest.tail conftest.undefs +-done +-rm -f conftest.undefs +- +-cat >>$CONFIG_STATUS <<\_ACEOF +- # Let's still pretend it is `configure' which instantiates (i.e., don't +- # use $as_me), people would be surprised to read: +- # /* config.h. Generated by config.status. */ +- if test x"$ac_file" = x-; then +- echo "/* Generated by configure. */" >$tmp/config.h +- else +- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h +- fi +- cat $tmp/in >>$tmp/config.h +- rm -f $tmp/in +- if test x"$ac_file" != x-; then +- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then +- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +-echo "$as_me: $ac_file is unchanged" >&6;} +- else +- ac_dir=`(dirname "$ac_file") 2>/dev/null || +-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_file" : 'X\(//\)[^/]' \| \ +- X"$ac_file" : 'X\(//\)$' \| \ +- X"$ac_file" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" +- as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || +-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$as_dir" : 'X\(//\)[^/]' \| \ +- X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} +- { (exit 1); exit 1; }; }; } +- +- rm -f $ac_file +- mv $tmp/config.h $ac_file +- fi +- else +- cat $tmp/config.h +- rm -f $tmp/config.h +- fi +-# Compute $ac_file's index in $config_headers. +-_am_stamp_count=1 +-for _am_header in $config_headers :; do +- case $_am_header in +- $ac_file | $ac_file:* ) +- break ;; +- * ) +- _am_stamp_count=`expr $_am_stamp_count + 1` ;; +- esac +-done +-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X$ac_file : 'X\(//\)[^/]' \| \ +- X$ac_file : 'X\(//\)$' \| \ +- X$ac_file : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X$ac_file | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'`/stamp-h$_am_stamp_count +-done +-_ACEOF +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-# +-# CONFIG_COMMANDS section. +-# +-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue +- ac_dest=`echo "$ac_file" | sed 's,:.*,,'` +- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` +- ac_dir=`(dirname "$ac_dest") 2>/dev/null || +-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$ac_dest" : 'X\(//\)[^/]' \| \ +- X"$ac_dest" : 'X\(//\)$' \| \ +- X"$ac_dest" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$ac_dest" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p "$ac_dir" +- else +- as_dir="$ac_dir" +- as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || +-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$as_dir" : 'X\(//\)[^/]' \| \ +- X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} +- { (exit 1); exit 1; }; }; } +- +- ac_builddir=. +- +-if test "$ac_dir" != .; then +- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` +- # A "../" for each directory in $ac_dir_suffix. +- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +-else +- ac_dir_suffix= ac_top_builddir= +-fi +- +-case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_srcdir=. +- if test -z "$ac_top_builddir"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; +- *) # Relative path. +- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_top_builddir$srcdir ;; +-esac +- +-# Do not use `cd foo && pwd` to compute absolute paths, because +-# the directories may not exist. +-case `pwd` in +-.) ac_abs_builddir="$ac_dir";; +-*) +- case "$ac_dir" in +- .) ac_abs_builddir=`pwd`;; +- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; +- *) ac_abs_builddir=`pwd`/"$ac_dir";; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_builddir=${ac_top_builddir}.;; +-*) +- case ${ac_top_builddir}. in +- .) ac_abs_top_builddir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; +- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_srcdir=$ac_srcdir;; +-*) +- case $ac_srcdir in +- .) ac_abs_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; +- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; +- esac;; +-esac +-case $ac_abs_builddir in +-.) ac_abs_top_srcdir=$ac_top_srcdir;; +-*) +- case $ac_top_srcdir in +- .) ac_abs_top_srcdir=$ac_abs_builddir;; +- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; +- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; +- esac;; +-esac +- +- +- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +-echo "$as_me: executing $ac_dest commands" >&6;} +- case $ac_dest in +- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do +- # Strip MF so we end up with the name of the file. +- mf=`echo "$mf" | sed -e 's/:.*$//'` +- # Check whether this is an Automake generated Makefile or not. +- # We used to match only the files named `Makefile.in', but +- # some people rename them; so instead we look at the file content. +- # Grep'ing the first line is not enough: some people post-process +- # each Makefile.in and add a new line on top of each file to say so. +- # So let's grep whole file. +- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then +- dirpart=`(dirname "$mf") 2>/dev/null || +-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$mf" : 'X\(//\)[^/]' \| \ +- X"$mf" : 'X\(//\)$' \| \ +- X"$mf" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$mf" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- else +- continue +- fi +- # Extract the definition of DEPDIR, am__include, and am__quote +- # from the Makefile without running `make'. +- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` +- test -z "$DEPDIR" && continue +- am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "am__include" && continue +- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` +- # When using ansi2knr, U may be empty or an underscore; expand it +- U=`sed -n 's/^U = //p' < "$mf"` +- # Find all dependency output files, they are included files with +- # $(DEPDIR) in their names. We invoke sed twice because it is the +- # simplest approach to changing $(DEPDIR) to its actual value in the +- # expansion. +- for file in `sed -n " +- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ +- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do +- # Make sure the directory exists. +- test -f "$dirpart/$file" && continue +- fdir=`(dirname "$file") 2>/dev/null || +-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$file" : 'X\(//\)[^/]' \| \ +- X"$file" : 'X\(//\)$' \| \ +- X"$file" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$file" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- { if $as_mkdir_p; then +- mkdir -p $dirpart/$fdir +- else +- as_dir=$dirpart/$fdir +- as_dirs= +- while test ! -d "$as_dir"; do +- as_dirs="$as_dir $as_dirs" +- as_dir=`(dirname "$as_dir") 2>/dev/null || +-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$as_dir" : 'X\(//\)[^/]' \| \ +- X"$as_dir" : 'X\(//\)$' \| \ +- X"$as_dir" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +-echo X"$as_dir" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } +- /^X\(\/\/\)[^/].*/{ s//\1/; q; } +- /^X\(\/\/\)$/{ s//\1/; q; } +- /^X\(\/\).*/{ s//\1/; q; } +- s/.*/./; q'` +- done +- test ! -n "$as_dirs" || mkdir $as_dirs +- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} +- { (exit 1); exit 1; }; }; } +- +- # echo "creating $dirpart/$file" +- echo '# dummy' > "$dirpart/$file" +- done +-done +- ;; +- esac +-done +-_ACEOF +- +-cat >>$CONFIG_STATUS <<\_ACEOF +- +-{ (exit 0); exit 0; } +-_ACEOF +-chmod +x $CONFIG_STATUS +-ac_clean_files=$ac_clean_files_save +- +- +-# configure is writing to config.log, and then calls config.status. +-# config.status does its own redirection, appending to config.log. +-# Unfortunately, on DOS this fails, as config.log is still kept open +-# by configure, so config.status won't be able to write to it; its +-# output is simply discarded. So we exec the FD to /dev/null, +-# effectively closing config.log, so it can be properly (re)opened and +-# appended to by config.status. When coming back to configure, we +-# need to make the FD available again. +-if test "$no_create" != yes; then +- ac_cs_success=: +- ac_config_status_args= +- test "$silent" = yes && +- ac_config_status_args="$ac_config_status_args --quiet" +- exec 5>/dev/null +- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false +- exec 5>>config.log +- # Use ||, not &&, to avoid exiting from the if with $? = 1, which +- # would make configure fail if this is the last instruction. +- $ac_cs_success || { (exit 1); exit 1; } +-fi +- +diff --git a/configure.ac b/configure.in +similarity index 86% +rename from configure.ac +rename to configure.in +index bb9e1d9..e9745e6 100644 +--- a/configure.ac ++++ b/configure.in +@@ -29,6 +29,65 @@ esac + AC_SUBST(host_cpu) + AC_SUBST(host_vendor) + ++# Specify the platform (such as firmware). ++AC_ARG_WITH([platform], ++ AS_HELP_STRING([--with-platform=PLATFORM], ++ [select the host platform [[guessed]]])) ++ ++# Guess the platform if not specified. ++if test "x$with_platform" = x; then ++ case "$host_cpu"-"$host_vendor" in ++ i386-*) platform=pc ;; ++ x86_64-*) platform=pc ;; ++ *) AC_MSG_ERROR([unsupported machine type $host_cpu-$host_vendor]) ;; ++ esac ++else ++ platform="$with_platform" ++fi ++ ++# Sanity check. ++case "$host_cpu"-"$platform" in ++ i386-pc) ;; ++ i386-efi) ;; ++ x86_64-pc) ;; ++ x86_64-efi) ;; ++ *) AC_MSG_ERROR([unsupported machine type "$host_cpu"-"$platform"]) ;; ++esac ++ ++if test "x$platform" = xefi; then ++ case "$host_cpu" in ++ i386) EFI_ARCH=ia32 ;; ++ x86_64) EFI_ARCH=x86_64 ;; ++ *) AC_MSG_ERROR([unsupported machine type "$host_cpu"]) ;; ++ esac ++ AC_SUBST(EFI_ARCH) ++fi ++ ++gnuefi_path=${libdir}/gnuefi ++gnuefi_crt0=${gnuefi_path}/crt0-efi-${EFI_ARCH}.o ++if ! test -f $gnuefi_crt0 ; then ++ gnuefi_crt0=crt0-efi.o ++fi ++GNUEFI_CRT0=${gnuefi_crt0} ++AC_SUBST(GNUEFI_CRT0) ++gnuefi_lds=${gnuefi_path}/elf_${EFI_ARCH}_efi.lds ++if ! test -f $gnuefi_lds ; then ++ gnuefi_lds=${EFI_ARCH}/elf_efi.lds ++fi ++GNUEFI_LDS=${gnuefi_lds} ++AC_SUBST(GNUEFI_LDS) ++LIBGNUEFI=${libdir}/libgnuefi.a ++AC_SUBST(LIBGNUEFI) ++LIBEFI=${libdir}/libefi.a ++AC_SUBST(LIBEFI) ++ ++AC_SUBST(platform) ++AM_CONDITIONAL(PLATFORM_EFI, test "x$platform" = xefi) ++ ++if test "x$platform" = xefi; then ++ AC_DEFINE(PLATFORM_EFI, 1, [Define if you run on EFI platform.]) ++fi ++ + # + # Options + # +@@ -46,7 +105,7 @@ if test "x$CFLAGS" = x; then + default_CFLAGS=yes + fi + +-if test "x$host_cpu" = xx86_64; then ++if test "x$platform" = xpc -a "x$host_cpu" = xx86_64; then + CFLAGS="-m32 $CFLAGS" + fi + +@@ -63,6 +122,8 @@ dnl Because recent automake complains about AS, set it here. + CCAS="$CC" + AC_SUBST(CCAS) + ++_AM_DEPENDENCIES(CCAS) ++ + AC_ARG_WITH(binutils, + [ --with-binutils=DIR search the directory DIR to find binutils]) + +@@ -114,6 +175,20 @@ if test "x$ac_cv_prog_gcc" = xyes; then + fi + fi + fi ++STAGE2_CFLAGS="$STAGE2_CFLAGS -isystem `$CC -print-file-name=include`" ++ ++LIBGCC=$(gcc $CFLAGS -static-libgcc -print-libgcc-file-name) ++AC_SUBST(LIBGCC) ++ ++LOADER_LDFLAGS="-Wl,--build-id=none ${LIBGCC}" ++AC_SUBST(LOADER_LDFLAGS) ++ ++if test "x$platform" = xefi; then ++ STAGE2_CFLAGS="$STAGE2_CFLAGS -fpic -fshort-wchar -fno-strict-aliasing -fno-merge-constants" ++ if test "x$EFI_ARCH" = xx86_64; then ++ STAGE2_CFLAGS="$STAGE2_CFLAGS -DEFI_FUNCTION_WRAPPER" ++ fi ++fi + + AC_SUBST(STAGE1_CFLAGS) + AC_SUBST(STAGE2_CFLAGS) +@@ -159,9 +234,12 @@ fi + + # Defined in acinclude.m4. + grub_ASM_USCORE +-grub_PROG_OBJCOPY_ABSOLUTE +-if test "x$grub_cv_prog_objcopy_absolute" != xyes; then +- AC_MSG_ERROR([GRUB requires a working absolute objcopy; upgrade your binutils]) ++ ++if test "x$platform" != xefi; then ++ grub_PROG_OBJCOPY_ABSOLUTE ++ if test "x$grub_cv_prog_objcopy_absolute" != xyes; then ++ AC_MSG_ERROR([GRUB requires a working absolute objcopy; upgrade your binutils]) ++ fi + fi + + grub_ASM_PREFIX_REQUIREMENT +@@ -207,9 +285,9 @@ AC_CHECK_LIB(util, opendisk, [GRUB_LIBS="$GRUB_LIBS -lutil" + + # Unless the user specify --without-curses, check for curses. + if test "x$with_curses" != "xno"; then +- AC_CHECK_LIB(ncurses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lncurses" ++ AC_CHECK_LIB(ncurses, wgetch, [GRUB_LIBS="$GRUB_LIBS -Wl,-Bstatic -lncurses -ltinfo -Wl,-Bdynamic" + AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])], +- [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lcurses" ++ [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -Wl,-Bstatic -lcurses -Wl,-Bdynamic" + AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])])]) + fi + +@@ -595,9 +673,18 @@ AC_ARG_ENABLE(diskless, + [ --enable-diskless enable diskless support]) + AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes) + ++dnl Graphical splashscreen support ++AC_ARG_ENABLE(graphics, ++ [ --disable-graphics disable graphics terminal support]) ++AM_CONDITIONAL(GRAPHICS_SUPPORT, test "x$enable_graphics" != xno) ++ + dnl Hercules terminal +-AC_ARG_ENABLE(hercules, +- [ --disable-hercules disable hercules terminal support]) ++if test "x$platform" = xefi; then ++ enable_hercules=no ++else ++ AC_ARG_ENABLE(hercules, ++ [ --disable-hercules disable hercules terminal support]) ++fi + AM_CONDITIONAL(HERCULES_SUPPORT, test "x$enable_hercules" != xno) + + dnl Serial terminal +@@ -662,9 +749,13 @@ AC_SUBST(CCASFLAGS) + + + dnl Output. ++if test "x$platform" = xefi; then ++ AC_CONFIG_FILES([efi/Makefile]) ++ AC_CONFIG_LINKS([efi/grub/cpu:efi/grub/$host_cpu]) ++fi + AC_CONFIG_FILES([Makefile stage1/Makefile stage2/Makefile \ + docs/Makefile lib/Makefile util/Makefile \ +- grub/Makefile netboot/Makefile util/grub-image \ +- util/grub-install util/grub-md5-crypt \ +- util/grub-terminfo util/grub-set-default]) ++ grub/Makefile netboot/Makefile util/grub-crypt \ ++ util/grub-image util/grub-install util/grub-md5-crypt \ ++ util/grub-terminfo]) + AC_OUTPUT +diff --git a/docs/.gitignore b/docs/.gitignore +new file mode 100644 +index 0000000..e440faf +--- /dev/null ++++ b/docs/.gitignore +@@ -0,0 +1,3 @@ ++Makefile.in ++Makefile ++.deps +diff --git a/docs/Makefile.am b/docs/Makefile.am +index db99e2d..fe6b22b 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -2,7 +2,8 @@ info_TEXINFOS = grub.texi multiboot.texi + grub_TEXINFOS = internals.texi + EXAMPLES = boot.S kernel.c multiboot.h + multiboot_TEXINFOS = boot.S.texi kernel.c.texi multiboot.h.texi +-man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8 grub-terminfo.8 ++man_MANS = grub.8 mbchk.1 grub-crypt.8 grub-install.8 grub-md5-crypt.8 \ ++ grub-terminfo.8 + HELP2MAN = help2man + SRC2TEXI = src2texi + noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI) +@@ -51,6 +52,12 @@ $(srcdir)/mbchk.1: ../util/mbchk $(srcdir)/$(HELP2MAN) + --name="check the format of a Multiboot kernel" \ + --section=1 --output=$@ $< + ++$(srcdir)/grub-crypt.8: ../util/grub-crypt $(srcdir)/$(HELP2MAN) ++ chmod 755 $< ++ $(PERL) $(srcdir)/$(HELP2MAN) \ ++ --name="Encrypt a password" \ ++ --section=8 --output=$@ $< ++ + $(srcdir)/grub-md5-crypt.8: ../util/grub-md5-crypt $(srcdir)/$(HELP2MAN) + chmod 755 $< + $(PERL) $(srcdir)/$(HELP2MAN) \ +diff --git a/docs/Makefile.in b/docs/Makefile.in +index 3e2de4b..f350fcd 100644 +--- a/docs/Makefile.in ++++ b/docs/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -15,17 +15,11 @@ + @SET_MAKE@ + + +-SOURCES = $(kernel_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -48,7 +42,7 @@ DIST_COMMON = $(grub_TEXINFOS) $(multiboot_TEXINFOS) \ + texinfo.tex + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +@@ -60,11 +54,14 @@ am__objects_1 = boot.$(OBJEXT) kernel-kernel.$(OBJEXT) + @BUILD_EXAMPLE_KERNEL_TRUE@am_kernel_OBJECTS = $(am__objects_1) + kernel_OBJECTS = $(am_kernel_OBJECTS) + kernel_LDADD = $(LDADD) ++kernel_LINK = $(CCLD) $(kernel_CFLAGS) $(CFLAGS) $(kernel_LDFLAGS) \ ++ $(LDFLAGS) -o $@ + SCRIPTS = $(noinst_SCRIPTS) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles +-CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +@@ -85,6 +82,12 @@ AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) + DVIPS = dvips + am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \ + "$(DESTDIR)$(man8dir)" ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; ++am__vpath_adj = case $$p in \ ++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ ++ *) f=$$p;; \ ++ esac; ++am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; + man1dir = $(mandir)/man1 + man8dir = $(mandir)/man8 + NROFF = nroff +@@ -93,17 +96,14 @@ ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -112,18 +112,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -131,14 +129,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -152,22 +148,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -179,28 +170,39 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ + info_TEXINFOS = grub.texi multiboot.texi + grub_TEXINFOS = internals.texi + EXAMPLES = boot.S kernel.c multiboot.h +@@ -256,7 +258,7 @@ clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + kernel$(EXEEXT): $(kernel_OBJECTS) $(kernel_DEPENDENCIES) + @rm -f kernel$(EXEEXT) +- $(LINK) $(kernel_LDFLAGS) $(kernel_OBJECTS) $(kernel_LDADD) $(LIBS) ++ $(kernel_LINK) $(kernel_OBJECTS) $(kernel_LDADD) $(LIBS) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) +@@ -264,38 +266,47 @@ mostlyclean-compile: + distclean-compile: + -rm -f *.tab.c + ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/boot.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kernel-kernel.Po@am__quote@ + + .S.o: +- $(CCASCOMPILE) -c $< ++@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< + + .S.obj: +- $(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` ++@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + + .c.o: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + + kernel-kernel.o: kernel.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.o -MD -MP -MF "$(DEPDIR)/kernel-kernel.Tpo" -c -o kernel-kernel.o `test -f 'kernel.c' || echo '$(srcdir)/'`kernel.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/kernel-kernel.Tpo" "$(DEPDIR)/kernel-kernel.Po"; else rm -f "$(DEPDIR)/kernel-kernel.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.o -MD -MP -MF $(DEPDIR)/kernel-kernel.Tpo -c -o kernel-kernel.o `test -f 'kernel.c' || echo '$(srcdir)/'`kernel.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kernel-kernel.Tpo $(DEPDIR)/kernel-kernel.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='kernel.c' object='kernel-kernel.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-kernel.o `test -f 'kernel.c' || echo '$(srcdir)/'`kernel.c + + kernel-kernel.obj: kernel.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.obj -MD -MP -MF "$(DEPDIR)/kernel-kernel.Tpo" -c -o kernel-kernel.obj `if test -f 'kernel.c'; then $(CYGPATH_W) 'kernel.c'; else $(CYGPATH_W) '$(srcdir)/kernel.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/kernel-kernel.Tpo" "$(DEPDIR)/kernel-kernel.Po"; else rm -f "$(DEPDIR)/kernel-kernel.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -MT kernel-kernel.obj -MD -MP -MF $(DEPDIR)/kernel-kernel.Tpo -c -o kernel-kernel.obj `if test -f 'kernel.c'; then $(CYGPATH_W) 'kernel.c'; else $(CYGPATH_W) '$(srcdir)/kernel.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kernel-kernel.Tpo $(DEPDIR)/kernel-kernel.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='kernel.c' object='kernel-kernel.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-kernel.obj `if test -f 'kernel.c'; then $(CYGPATH_W) 'kernel.c'; else $(CYGPATH_W) '$(srcdir)/kernel.c'; fi` +@@ -304,9 +315,11 @@ kernel-kernel.obj: kernel.c + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ +- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ +- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ +- done; \ ++ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ ++ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ ++ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ ++ done; \ ++ else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ +@@ -371,11 +384,29 @@ multiboot.dvi: multiboot.texi $(multiboot_TEXINFOS) + multiboot.pdf: multiboot.texi $(multiboot_TEXINFOS) + multiboot.html: multiboot.texi $(multiboot_TEXINFOS) + .dvi.ps: ++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) -o $@ $< + ++uninstall-dvi-am: ++ @$(NORMAL_UNINSTALL) ++ @list='$(DVIS)'; for p in $$list; do \ ++ f=$(am__strip_dir) \ ++ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ ++ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ ++ done ++ ++uninstall-html-am: ++ @$(NORMAL_UNINSTALL) ++ @list='$(HTMLS)'; for p in $$list; do \ ++ f=$(am__strip_dir) \ ++ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ ++ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ ++ done ++ + uninstall-info-am: +- $(PRE_UNINSTALL) +- @if (install-info --version && \ ++ @$(PRE_UNINSTALL) ++ @if test -d '$(DESTDIR)$(infodir)' && \ ++ (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ +@@ -389,12 +420,28 @@ uninstall-info-am: + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ +- (if cd "$(DESTDIR)$(infodir)"; then \ +- echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ ++ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ ++ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ + else :; fi); \ + done + ++uninstall-pdf-am: ++ @$(NORMAL_UNINSTALL) ++ @list='$(PDFS)'; for p in $$list; do \ ++ f=$(am__strip_dir) \ ++ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ ++ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ ++ done ++ ++uninstall-ps-am: ++ @$(NORMAL_UNINSTALL) ++ @list='$(PSS)'; for p in $$list; do \ ++ f=$(am__strip_dir) \ ++ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ ++ rm -f "$(DESTDIR)$(psdir)/$$f"; \ ++ done ++ + dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ +@@ -403,10 +450,13 @@ dist-info: $(INFO_DEPS) + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ +- for file in $$d/$$base*; do \ +- relfile=`expr "$$file" : "$$d/\(.*\)"`; \ +- test -f $(distdir)/$$relfile || \ +- cp -p $$file $(distdir)/$$relfile; \ ++ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ ++ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ ++ if test -f $$file; then \ ++ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ ++ test -f $(distdir)/$$relfile || \ ++ cp -p $$file $(distdir)/$$relfile; \ ++ else :; fi; \ + done; \ + done + +@@ -426,7 +476,7 @@ maintainer-clean-aminfo: + done + install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) +- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" ++ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ +@@ -471,7 +521,7 @@ uninstall-man1: + done + install-man8: $(man8_MANS) $(man_MANS) + @$(NORMAL_INSTALL) +- test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" ++ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)" + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ +@@ -564,22 +614,21 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -598,7 +647,7 @@ check: check-am + all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS) + installdirs: + for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \ +- test -z "$$dir" || $(mkdir_p) "$$dir"; \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: install-am + install-exec: install-exec-am +@@ -649,13 +698,42 @@ info-am: $(INFO_DEPS) + + install-data-am: install-info-am install-man + ++install-dvi: install-dvi-am ++ ++install-dvi-am: $(DVIS) ++ @$(NORMAL_INSTALL) ++ test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" ++ @list='$(DVIS)'; for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ f=$(am__strip_dir) \ ++ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \ ++ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \ ++ done + install-exec-am: + ++install-html: install-html-am ++ ++install-html-am: $(HTMLS) ++ @$(NORMAL_INSTALL) ++ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" ++ @list='$(HTMLS)'; for p in $$list; do \ ++ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ f=$(am__strip_dir) \ ++ if test -d "$$d$$p"; then \ ++ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ ++ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ ++ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ ++ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \ ++ else \ ++ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ ++ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ ++ fi; \ ++ done + install-info: install-info-am + + install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) +- test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" ++ test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ +@@ -685,6 +763,28 @@ install-info-am: $(INFO_DEPS) + else : ; fi + install-man: install-man1 install-man8 + ++install-pdf: install-pdf-am ++ ++install-pdf-am: $(PDFS) ++ @$(NORMAL_INSTALL) ++ test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" ++ @list='$(PDFS)'; for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ f=$(am__strip_dir) \ ++ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ ++ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ ++ done ++install-ps: install-ps-am ++ ++install-ps-am: $(PSS) ++ @$(NORMAL_INSTALL) ++ test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" ++ @list='$(PSS)'; for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ f=$(am__strip_dir) \ ++ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \ ++ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \ ++ done + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -706,23 +806,29 @@ ps: ps-am + + ps-am: $(PSS) + +-uninstall-am: uninstall-info-am uninstall-man ++uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ ++ uninstall-man uninstall-pdf-am uninstall-ps-am + + uninstall-man: uninstall-man1 uninstall-man8 + ++.MAKE: install-am install-strip ++ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstPROGRAMS ctags dist-info distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-exec install-exec-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-man1 \ +- install-man8 install-strip installcheck installcheck-am \ ++ install-man8 install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-vti mostlyclean \ + mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ + mostlyclean-vti pdf pdf-am ps ps-am tags uninstall \ +- uninstall-am uninstall-info-am uninstall-man uninstall-man1 \ +- uninstall-man8 ++ uninstall-am uninstall-dvi-am uninstall-html-am \ ++ uninstall-info-am uninstall-man uninstall-man1 uninstall-man8 \ ++ uninstall-pdf-am uninstall-ps-am + + + @BUILD_EXAMPLE_KERNEL_TRUE@boot.o: multiboot.h +diff --git a/docs/grub-crypt.8 b/docs/grub-crypt.8 +new file mode 100644 +index 0000000..eb132d7 +--- /dev/null ++++ b/docs/grub-crypt.8 +@@ -0,0 +1,39 @@ ++.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23. ++.TH GRUB-CRYPT "1" "January 2010" "grub-crypt (GNU GRUB 0.97)" FSF ++.SH NAME ++grub-crypt \- manual page for grub-crypt (GNU GRUB 0.97) ++.SH SYNOPSIS ++.B grub-crypt ++[\fIOPTION\fR]... ++.SH DESCRIPTION ++Encrypt a password. ++.TP ++\fB\-h\fR, \fB\-\-help\fR ++Print this message and exit ++.TP ++\fB\-v\fR, \fB\-\-version\fR ++Print the version information and exit ++.TP ++\fB\-\-md5\fR ++Use MD5 to encrypt the password ++.TP ++\fB\-\-sha\-256\fR ++Use SHA-256 to encrypt the password ++.TP ++\fB\-\-sha\-512\fR ++Use SHA-512 to encrypt the password (default) ++.SH "REPORTING BUGS" ++Report bugs to . ++EOF ++.SH "SEE ALSO" ++The full documentation for ++.B grub-crypt ++is maintained as a Texinfo manual. If the ++.B info ++and ++.B grub-crypt ++programs are properly installed at your site, the command ++.IP ++.B info grub-crypt ++.PP ++should give you access to the complete manual. +diff --git a/docs/grub-install.8 b/docs/grub-install.8 +index ac588a3..accff22 100644 +--- a/docs/grub-install.8 ++++ b/docs/grub-install.8 +@@ -30,6 +30,8 @@ BIOS + .TP + \fB\-\-recheck\fR + probe a device map even if it already exists ++ ++This option is unreliable and its use is strongly discouraged. + .PP + INSTALL_DEVICE can be a GRUB device name or a system device filename. + .PP +diff --git a/docs/grub.8 b/docs/grub.8 +index 92149f7..7a087d6 100644 +--- a/docs/grub.8 ++++ b/docs/grub.8 +@@ -15,7 +15,7 @@ turn on batch mode for non-interactive use + specify stage2 boot_drive [default=0x0] + .TP + \fB\-\-config\-file\fR=\fIFILE\fR +-specify stage2 config_file [default=/boot/grub/menu.lst] ++specify stage2 config_file [default=/boot/grub/grub.conf] + .TP + \fB\-\-device\-map\fR=\fIFILE\fR + use the device map file FILE +diff --git a/docs/grub.info b/docs/grub.info +index f48783c..7692f31 100644 +--- a/docs/grub.info ++++ b/docs/grub.info +@@ -1,5 +1,4 @@ +-This is ../../docs/grub.info, produced by makeinfo version 4.8 from +-../../docs/grub.texi. ++This is grub.info, produced by makeinfo version 4.9 from grub.texi. + + INFO-DIR-SECTION Kernel + START-INFO-DIR-ENTRY +@@ -1147,7 +1146,7 @@ your OS. There's a solution to that - GRUB provides a menu interface + (*note Menu interface::) from which you can select an item (using arrow + keys) that will do everything to boot an OS. + +- To enable the menu, you need a configuration file, `menu.lst' under ++ To enable the menu, you need a configuration file, `grub.conf' under + the boot directory. We'll analyze an example file. + + The file first contains some general settings, the menu interface +@@ -1693,12 +1692,12 @@ There are two ways to specify files, by "absolute file name" and by + + An absolute file name resembles a Unix absolute file name, using `/' + for the directory separator (not `\' as in DOS). One example is +-`(hd0,0)/boot/grub/menu.lst'. This means the file `/boot/grub/menu.lst' +-in the first partition of the first hard disk. If you omit the device +-name in an absolute file name, GRUB uses GRUB's "root device" +-implicitly. So if you set the root device to, say, `(hd1,0)' by the +-command `root' (*note root::), then `/boot/kernel' is the same as +-`(hd1,0)/boot/kernel'. ++`(hd0,0)/boot/grub/grub.conf'. This means the file ++`/boot/grub/grub.conf' in the first partition of the first hard disk. ++If you omit the device name in an absolute file name, GRUB uses GRUB's ++"root device" implicitly. So if you set the root device to, say, ++`(hd1,0)' by the command `root' (*note root::), then `/boot/kernel' is ++the same as `(hd1,0)/boot/kernel'. + +  + File: grub.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem +@@ -2023,6 +2022,7 @@ Commands usable anywhere in the menu and in the command-line. + * rarp:: Initialize a network device via RARP + * serial:: Set up a serial device + * setkey:: Configure the key map ++* splashimage:: Use a splash image + * terminal:: Choose a terminal + * terminfo:: Define escape sequences for a terminal + * tftpserver:: Specify a TFTP server +@@ -2258,7 +2258,7 @@ File: grub.info, Node: serial, Next: setkey, Prev: rarp, Up: General command + support. See also *Note Serial terminal::. + +  +-File: grub.info, Node: setkey, Next: terminal, Prev: serial, Up: General commands ++File: grub.info, Node: setkey, Next: splashimage, Prev: serial, Up: General commands + + 13.2.13 setkey + -------------- +@@ -2384,9 +2384,20 @@ File: grub.info, Node: setkey, Next: terminal, Prev: serial, Up: General com + ` ' + +  +-File: grub.info, Node: terminal, Next: terminfo, Prev: setkey, Up: General commands ++File: grub.info, Node: splashimage, Next: terminal, Prev: setkey, Up: General commands + +-13.2.14 terminal ++13.2.14 splashimage ++------------------- ++ ++ -- Command: splashimage file ++ Select an image to use as the background image. This should be ++ specified using normal GRUB device naming syntax. The format of ++ the file is a gzipped xpm which is 640x480 with a 14 color palette. ++ ++ ++File: grub.info, Node: terminal, Next: terminfo, Prev: splashimage, Up: General commands ++ ++13.2.15 terminal + ---------------- + + -- Command: terminal [`--dumb'] [`--no-echo'] [`--no-edit'] +@@ -2421,7 +2432,7 @@ File: grub.info, Node: terminal, Next: terminfo, Prev: setkey, Up: General c +  + File: grub.info, Node: terminfo, Next: tftpserver, Prev: terminal, Up: General commands + +-13.2.15 terminfo ++13.2.16 terminfo + ---------------- + + -- Command: terminfo `--name=name' `--cursor-address=seq' +@@ -2439,7 +2450,7 @@ File: grub.info, Node: terminfo, Next: tftpserver, Prev: terminal, Up: Gener +  + File: grub.info, Node: tftpserver, Next: unhide, Prev: terminfo, Up: General commands + +-13.2.16 tftpserver ++13.2.17 tftpserver + ------------------ + + -- Command: tftpserver ipaddr +@@ -2454,7 +2465,7 @@ File: grub.info, Node: tftpserver, Next: unhide, Prev: terminfo, Up: General +  + File: grub.info, Node: unhide, Prev: tftpserver, Up: General commands + +-13.2.17 unhide ++13.2.18 unhide + -------------- + + -- Command: unhide partition +@@ -3405,9 +3416,9 @@ calls with UNIX system calls and libc functions. + grub shell just ignores this option. + + `--config-file=FILE' +- Read the configuration file FILE instead of `/boot/grub/menu.lst'. +- The format is the same as the normal GRUB syntax. See *Note +- Filesystem::, for more information. ++ Read the configuration file FILE instead of ++ `/boot/grub/grub.conf'. The format is the same as the normal GRUB ++ syntax. See *Note Filesystem::, for more information. + + `--boot-drive=DRIVE' + Set the stage2 BOOT_DRIVE to DRIVE. This argument should be an +@@ -3551,8 +3562,9 @@ name. + + `--recheck' + Recheck the device map, even if `/boot/grub/device.map' already +- exists. You should use this option whenever you add/remove a disk +- into/from your computer. ++ exists. ++ ++ This option is unreliable and its use is strongly discouraged. + +  + File: grub.info, Node: Invoking grub-md5-crypt, Next: Invoking grub-terminfo, Prev: Invoking grub-install, Up: Top +@@ -4279,6 +4291,7 @@ Index + * serial: serial. (line 9) + * setkey: setkey. (line 7) + * setup: setup. (line 8) ++* splashimage: splashimage. (line 7) + * terminal: terminal. (line 9) + * terminfo: terminfo. (line 9) + * testload: testload. (line 7) +@@ -4293,163 +4306,164 @@ Index + +  + Tag Table: +-Node: Top1487 +-Node: Introduction3266 +-Node: Overview3643 +-Node: Overview-Footnotes5865 +-Ref: Overview-Footnote-15926 +-Node: History6087 +-Node: Features7208 +-Node: Features-Footnotes12976 +-Ref: Features-Footnote-113037 +-Node: Role of a boot loader13182 +-Node: Role of a boot loader-Footnotes14520 +-Ref: Role of a boot loader-Footnote-114607 +-Node: Naming convention14686 +-Node: Installation17621 +-Node: Creating a GRUB boot floppy19363 +-Node: Installing GRUB natively20181 +-Node: Installing GRUB natively-Footnotes22461 +-Ref: Installing GRUB natively-Footnote-122554 +-Node: Installing GRUB using grub-install22739 +-Node: Making a GRUB bootable CD-ROM25685 +-Node: Making a GRUB bootable CD-ROM-Footnotes27730 +-Ref: Making a GRUB bootable CD-ROM-Footnote-127833 +-Node: Booting27908 +-Node: General boot methods28363 +-Node: Loading an operating system directly29104 +-Node: Chain-loading30408 +-Node: Chain-loading-Footnotes31718 +-Ref: Chain-loading-Footnote-131789 +-Node: OS-specific notes31861 +-Node: GNU/Hurd32237 +-Node: GNU/Linux32856 +-Node: FreeBSD34104 +-Node: NetBSD34617 +-Node: OpenBSD35275 +-Node: DOS/Windows35475 +-Node: SCO UnixWare37301 +-Node: QNX37719 +-Node: Making your system robust37969 +-Node: Booting once-only39294 +-Node: Booting fallback systems41219 +-Node: Configuration44066 +-Node: Network48495 +-Node: General usage of network support48989 +-Node: General usage of network support-Footnotes50850 +-Ref: General usage of network support-Footnote-150959 +-Node: Diskless51027 +-Node: Serial terminal53211 +-Node: Preset Menu55444 +-Node: Security57812 +-Node: Images60620 +-Node: Filesystem63131 +-Node: Device syntax63814 +-Node: File name syntax65308 +-Node: Block list syntax66051 +-Node: Interface66784 +-Node: Command-line interface67661 +-Node: Command-line interface-Footnotes69602 +-Ref: Command-line interface-Footnote-169691 +-Node: Menu interface69786 +-Node: Menu entry editor70796 +-Node: Hidden menu interface71875 +-Node: Commands72452 +-Node: Menu-specific commands73029 +-Node: default74200 +-Node: fallback74678 +-Node: hiddenmenu75229 +-Node: timeout75717 +-Node: title75995 +-Node: General commands76266 +-Node: bootp77579 +-Node: color78058 +-Node: device79532 +-Node: dhcp80104 +-Node: hide80689 +-Node: ifconfig81066 +-Node: pager81642 +-Node: partnew81976 +-Node: parttype82412 +-Node: password82779 +-Node: rarp83598 +-Node: serial83899 +-Node: setkey85172 +-Node: terminal87341 +-Node: terminfo88878 +-Node: tftpserver89565 +-Node: unhide90111 +-Node: Command-line and menu entry commands90486 +-Node: blocklist93017 +-Node: boot93259 +-Node: cat93580 +-Node: chainloader93884 +-Node: cmp94500 +-Node: configfile95051 +-Node: debug95265 +-Node: displayapm95649 +-Node: displaymem95860 +-Node: embed96562 +-Node: embed-Footnotes97096 +-Ref: embed-Footnote-197151 +-Node: find97208 +-Node: fstest97588 +-Node: geometry98273 +-Node: halt98885 +-Node: help99212 +-Node: impsprobe99833 +-Node: initrd100232 +-Node: install100571 +-Node: install-Footnotes103415 +-Ref: install-Footnote-1103474 +-Node: ioprobe103571 +-Node: kernel103896 +-Node: lock105016 +-Node: makeactive105591 +-Node: map105903 +-Node: md5crypt106470 +-Node: module106817 +-Node: modulenounzip107394 +-Node: pause107687 +-Node: quit108101 +-Node: reboot108377 +-Node: read108558 +-Node: root108800 +-Node: rootnoverify109677 +-Node: savedefault110232 +-Node: setup111208 +-Node: testload112274 +-Node: testvbe112884 +-Node: uppermem113255 +-Node: vbeprobe113837 +-Node: Troubleshooting114220 +-Node: Stage1 errors114758 +-Node: Stage1.5 errors116135 +-Node: Stage2 errors116573 +-Node: Invoking the grub shell124033 +-Node: Basic usage124786 +-Node: Installation under UNIX127073 +-Node: Device map128748 +-Node: Invoking grub-install129896 +-Node: Invoking grub-md5-crypt131484 +-Node: Invoking grub-terminfo132133 +-Node: Invoking grub-set-default132899 +-Node: Invoking mbchk134700 +-Node: Obtaining and Building GRUB135214 +-Node: Reporting bugs136631 +-Node: Future139435 +-Node: Internals139926 +-Node: Memory map141149 +-Node: Embedded data142627 +-Node: Filesystem interface144644 +-Node: Command interface148077 +-Node: Bootstrap tricks149392 +-Node: I/O ports detection151541 +-Node: Memory detection151813 +-Node: Low-level disk I/O152105 +-Node: MBR152374 +-Node: Partition table152571 +-Node: Submitting patches152844 +-Node: Index154332 ++Node: Top1465 ++Node: Introduction3244 ++Node: Overview3621 ++Node: Overview-Footnotes5843 ++Ref: Overview-Footnote-15904 ++Node: History6065 ++Node: Features7186 ++Node: Features-Footnotes12954 ++Ref: Features-Footnote-113015 ++Node: Role of a boot loader13160 ++Node: Role of a boot loader-Footnotes14498 ++Ref: Role of a boot loader-Footnote-114585 ++Node: Naming convention14664 ++Node: Installation17599 ++Node: Creating a GRUB boot floppy19341 ++Node: Installing GRUB natively20159 ++Node: Installing GRUB natively-Footnotes22439 ++Ref: Installing GRUB natively-Footnote-122532 ++Node: Installing GRUB using grub-install22717 ++Node: Making a GRUB bootable CD-ROM25663 ++Node: Making a GRUB bootable CD-ROM-Footnotes27708 ++Ref: Making a GRUB bootable CD-ROM-Footnote-127811 ++Node: Booting27886 ++Node: General boot methods28341 ++Node: Loading an operating system directly29082 ++Node: Chain-loading30386 ++Node: Chain-loading-Footnotes31696 ++Ref: Chain-loading-Footnote-131767 ++Node: OS-specific notes31839 ++Node: GNU/Hurd32215 ++Node: GNU/Linux32834 ++Node: FreeBSD34082 ++Node: NetBSD34595 ++Node: OpenBSD35253 ++Node: DOS/Windows35453 ++Node: SCO UnixWare37279 ++Node: QNX37697 ++Node: Making your system robust37947 ++Node: Booting once-only39272 ++Node: Booting fallback systems41197 ++Node: Configuration44044 ++Node: Network48474 ++Node: General usage of network support48968 ++Node: General usage of network support-Footnotes50829 ++Ref: General usage of network support-Footnote-150938 ++Node: Diskless51006 ++Node: Serial terminal53190 ++Node: Preset Menu55423 ++Node: Security57791 ++Node: Images60599 ++Node: Filesystem63110 ++Node: Device syntax63793 ++Node: File name syntax65287 ++Node: Block list syntax66032 ++Node: Interface66765 ++Node: Command-line interface67642 ++Node: Command-line interface-Footnotes69583 ++Ref: Command-line interface-Footnote-169672 ++Node: Menu interface69767 ++Node: Menu entry editor70777 ++Node: Hidden menu interface71856 ++Node: Commands72433 ++Node: Menu-specific commands73010 ++Node: default74181 ++Node: fallback74659 ++Node: hiddenmenu75210 ++Node: timeout75698 ++Node: title75976 ++Node: General commands76247 ++Node: bootp77611 ++Node: color78090 ++Node: device79564 ++Node: dhcp80136 ++Node: hide80721 ++Node: ifconfig81098 ++Node: pager81674 ++Node: partnew82008 ++Node: parttype82444 ++Node: password82811 ++Node: rarp83630 ++Node: serial83931 ++Node: setkey85204 ++Node: splashimage87376 ++Node: terminal87754 ++Node: terminfo89296 ++Node: tftpserver89983 ++Node: unhide90529 ++Node: Command-line and menu entry commands90904 ++Node: blocklist93435 ++Node: boot93677 ++Node: cat93998 ++Node: chainloader94302 ++Node: cmp94918 ++Node: configfile95469 ++Node: debug95683 ++Node: displayapm96067 ++Node: displaymem96278 ++Node: embed96980 ++Node: embed-Footnotes97514 ++Ref: embed-Footnote-197569 ++Node: find97626 ++Node: fstest98006 ++Node: geometry98691 ++Node: halt99303 ++Node: help99630 ++Node: impsprobe100251 ++Node: initrd100650 ++Node: install100989 ++Node: install-Footnotes103833 ++Ref: install-Footnote-1103892 ++Node: ioprobe103989 ++Node: kernel104314 ++Node: lock105434 ++Node: makeactive106009 ++Node: map106321 ++Node: md5crypt106888 ++Node: module107235 ++Node: modulenounzip107812 ++Node: pause108105 ++Node: quit108519 ++Node: reboot108795 ++Node: read108976 ++Node: root109218 ++Node: rootnoverify110095 ++Node: savedefault110650 ++Node: setup111626 ++Node: testload112692 ++Node: testvbe113302 ++Node: uppermem113673 ++Node: vbeprobe114255 ++Node: Troubleshooting114638 ++Node: Stage1 errors115176 ++Node: Stage1.5 errors116553 ++Node: Stage2 errors116991 ++Node: Invoking the grub shell124451 ++Node: Basic usage125204 ++Node: Installation under UNIX127492 ++Node: Device map129167 ++Node: Invoking grub-install130315 ++Node: Invoking grub-md5-crypt131884 ++Node: Invoking grub-terminfo132533 ++Node: Invoking grub-set-default133299 ++Node: Invoking mbchk135100 ++Node: Obtaining and Building GRUB135614 ++Node: Reporting bugs137031 ++Node: Future139835 ++Node: Internals140326 ++Node: Memory map141549 ++Node: Embedded data143027 ++Node: Filesystem interface145044 ++Node: Command interface148477 ++Node: Bootstrap tricks149792 ++Node: I/O ports detection151941 ++Node: Memory detection152213 ++Node: Low-level disk I/O152505 ++Node: MBR152774 ++Node: Partition table152971 ++Node: Submitting patches153244 ++Node: Index154732 +  + End Tag Table +diff --git a/docs/grub.texi b/docs/grub.texi +index 51d330a..5fd324d 100644 +--- a/docs/grub.texi ++++ b/docs/grub.texi +@@ -21,6 +21,7 @@ + @dircategory Kernel + @direntry + * GRUB: (grub). The GRand Unified Bootloader ++* grub-crypt: (grub)Invoking grub-crypt. Encrypt a password + * grub-install: (grub)Invoking grub-install. Install GRUB on your drive + * grub-md5-crypt: (grub)Invoking grub-md5-crypt. Encrypt a password + in MD5 format +@@ -115,8 +116,9 @@ This edition documents version @value{VERSION}. + * Commands:: The list of available builtin commands + * Troubleshooting:: Error messages produced by GRUB + * Invoking the grub shell:: How to use the grub shell ++* Invoking grub-crypt:: How to generate an encrypted password + * Invoking grub-install:: How to use the GRUB installer +-* Invoking grub-md5-crypt:: How to generate a cryptic password ++* Invoking grub-md5-crypt:: How to generate an MD5-encrypted password + * Invoking grub-terminfo:: How to generate a terminfo command + * Invoking grub-set-default:: How to set a default boot entry + * Invoking mbchk:: How to use the Multiboot checker +@@ -1265,7 +1267,7 @@ OS. There's a solution to that - GRUB provides a menu interface + keys) that will do everything to boot an OS. + + To enable the menu, you need a configuration file, +-@file{menu.lst} under the boot directory. We'll analyze an example ++@file{grub.conf} under the boot directory. We'll analyze an example + file. + + The file first contains some general settings, the menu interface +@@ -1685,27 +1687,17 @@ run the command @command{password} in your configuration file + (@pxref{password}), like this: + + @example +-password --md5 PASSWORD ++password --encrypted PASSWORD + @end example + + If this is specified, GRUB disallows any interactive control, until you + press the key @key{p} and enter a correct password. The option +-@option{--md5} tells GRUB that @samp{PASSWORD} is in MD5 format. If it ++@option{--encrypted} tells GRUB that @samp{PASSWORD} is encrypted format. If it + is omitted, GRUB assumes the @samp{PASSWORD} is in clear text. + +-You can encrypt your password with the command @command{md5crypt} +-(@pxref{md5crypt}). For example, run the grub shell (@pxref{Invoking the +-grub shell}), and enter your password: +- +-@example +-@group +-grub> md5crypt +-Password: ********** +-Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb. +-@end group +-@end example +- +-Then, cut and paste the encrypted password to your configuration file. ++You can encrypt your password with the program @command{grub-crypt} ++(@pxref{Invoking grub-crypt}). Then, cut and paste the encrypted password to ++your configuration file. + + Also, you can specify an optional argument to @command{password}. See + this example: +@@ -1882,8 +1874,8 @@ There are two ways to specify files, by @dfn{absolute file name} and by + + An absolute file name resembles a Unix absolute file name, using + @samp{/} for the directory separator (not @samp{\} as in DOS). One +-example is @samp{(hd0,0)/boot/grub/menu.lst}. This means the file +-@file{/boot/grub/menu.lst} in the first partition of the first hard ++example is @samp{(hd0,0)/boot/grub/grub.conf}. This means the file ++@file{/boot/grub/grub.conf} in the first partition of the first hard + disk. If you omit the device name in an absolute file name, GRUB uses + GRUB's @dfn{root device} implicitly. So if you set the root device to, + say, @samp{(hd1,0)} by the command @command{root} (@pxref{root}), then +@@ -2199,6 +2191,7 @@ Commands usable anywhere in the menu and in the command-line. + * rarp:: Initialize a network device via RARP + * serial:: Set up a serial device + * setkey:: Configure the key map ++* splashimage:: Use a splash image + * terminal:: Choose a terminal + * terminfo:: Define escape sequences for a terminal + * tftpserver:: Specify a TFTP server +@@ -2398,7 +2391,7 @@ is the new partition type and must be a number in the range 0-0xff. + @node password + @subsection password + +-@deffn Command password [@option{--md5}] passwd [new-config-file] ++@deffn Command password [@option{--md5}] [@option{--encrypted}] passwd [new-config-file] + If used in the first section of a menu file, disable all interactive + editing control (menu entry editor and command-line) and entries + protected by the command @command{lock}. If the password @var{passwd} is +@@ -2408,7 +2401,9 @@ specified. Otherwise, GRUB will just unlock the privileged instructions. + You can also use this command in the script section, in which case it + will ask for the password, before continuing. The option + @option{--md5} tells GRUB that @var{passwd} is encrypted with +-@command{md5crypt} (@pxref{md5crypt}). ++@command{md5crypt} (@pxref{md5crypt}), the option @option{--encrypted} ++tells GRUB that @var{passwd} is using one of the crypt formats (GRUB currently ++supports MD5, SHA-256 and SHA-512 encryption). + @end deffn + + +@@ -2578,6 +2573,16 @@ character each of the symbols corresponds: + @end deffn + + ++@node splashimage ++@subsection splashimage ++ ++@deffn Command splashimage file ++Select an image to use as the background image. This should be ++specified using normal GRUB device naming syntax. The format of the ++file is a gzipped xpm which is 640x480 with a 14 color palette. ++@end deffn ++ ++ + @node terminal + @subsection terminal + +@@ -3542,7 +3547,7 @@ ignores this option. + + @item --config-file=@var{file} + Read the configuration file @var{file} instead of +-@file{/boot/grub/menu.lst}. The format is the same as the normal GRUB ++@file{/boot/grub/grub.conf}. The format is the same as the normal GRUB + syntax. See @ref{Filesystem}, for more information. + + @item --boot-drive=@var{drive} +@@ -3653,6 +3658,31 @@ comments in the file if needed, as the grub shell assumes that a line is + just a comment if the first character is @samp{#}. + + ++@node Invoking grub-crypt ++@chapter Invoking grub-crypt ++ ++The program @command{grub-crypt} encrypts a password in one of the specified ++formats. Passwords encrypted by this program can be used with the ++command @command{password} (@pxref{password}). ++ ++@command{grub-crypt} accepts the following options: ++ ++@table @option ++@item --help ++Print a summary of the command-line options and exit. ++ ++@item --version ++Print the version information and exit. ++ ++@item --md5 ++Use MD5 for password encryption. ++@item --sha-256 ++Use SHA-256 for password encryption. ++@item --sha-512 ++Use SHA-512 for password encryption. This is the default. ++@end table ++ ++ + @node Invoking grub-install + @chapter Invoking grub-install + +@@ -3702,8 +3732,9 @@ Use @var{file} as the grub shell. You can append arbitrary options to + + @item --recheck + Recheck the device map, even if @file{/boot/grub/device.map} already +-exists. You should use this option whenever you add/remove a disk +-into/from your computer. ++exists. ++ ++This option is unreliable and its use is strongly discouraged. + @end table + + +diff --git a/docs/stamp-vti b/docs/stamp-vti +index b97de24..eb5144d 100644 +--- a/docs/stamp-vti ++++ b/docs/stamp-vti +@@ -1,4 +1,4 @@ +-@set UPDATED 8 May 2005 +-@set UPDATED-MONTH May 2005 ++@set UPDATED 7 August 2007 ++@set UPDATED-MONTH August 2007 + @set EDITION 0.97 + @set VERSION 0.97 +diff --git a/docs/version.texi b/docs/version.texi +index b97de24..eb5144d 100644 +--- a/docs/version.texi ++++ b/docs/version.texi +@@ -1,4 +1,4 @@ +-@set UPDATED 8 May 2005 +-@set UPDATED-MONTH May 2005 ++@set UPDATED 7 August 2007 ++@set UPDATED-MONTH August 2007 + @set EDITION 0.97 + @set VERSION 0.97 +diff --git a/efi/.gitignore b/efi/.gitignore +new file mode 100644 +index 0000000..a0e4294 +--- /dev/null ++++ b/efi/.gitignore +@@ -0,0 +1,7 @@ ++.deps ++Makefile.in ++Makefile ++*.a ++*.o ++*.so ++*.efi +diff --git a/efi/Makefile.am b/efi/Makefile.am +new file mode 100644 +index 0000000..1d5bd15 +--- /dev/null ++++ b/efi/Makefile.am +@@ -0,0 +1,76 @@ ++ ++pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++ ++if PLATFORM_EFI ++ ++if NETBOOT_SUPPORT ++NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 ++else ++NETBOOT_FLAGS = ++endif ++ ++if SERIAL_SUPPORT ++SERIAL_FLAGS = -DSUPPORT_SERIAL=1 ++else ++SERIAL_FLAGS = ++endif ++ ++if HERCULES_SUPPORT ++HERCULES_FLAGS = -DSUPPORT_HERCULES=1 ++else ++HERCULES_FLAGS = ++endif ++ ++if GRAPHICS_SUPPORT ++GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 ++else ++GRAPHICS_FLAGS = ++endif ++ ++GRUBEFI_FORMAT = efi-app-$(EFI_ARCH) ++GRUBSO_LD_SCRIPT = @GNUEFI_LDS@ ++GRUBSO_LD_FLAGS = -T $(GRUBSO_LD_SCRIPT) -nostdlib -shared -Bsymbolic ++ ++GRUBSO_OBJS = efimain.o ++GRUBSO_LIBS = @GNUEFI_CRT0@ $(top_srcdir)/stage2/libstage2.a \ ++ libgrubefi.a @LIBGCC@ ++ ++if NETBOOT_SUPPORT ++GRUBSO_LIBS += $(top_srcdir)/netboot/libdrivers.a ++endif ++ ++pkgdata_DATA = grub.efi ++ ++grub.efi: grub.so ++ $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \ ++ -j .rela -j .reloc --target=$(GRUBEFI_FORMAT) $^ $@ ++ ++grub.so: $(GRUBSO_OBJS) $(GRUBSO_LIBS) @LIBGNUEFI@ ++ $(LD) -o $@ $(GRUBSO_LD_FLAGS) $^ ++ echo '-------------- unresolved symbols ---------------------' ++ ! nm $@ | grep -iw u ++ echo '-------------------------------------------------------' ++ ++crt0-efi.o: $(EFI_ARCH)/crt0-efi.S ++ $(CC) -o $@ -c $(libgrubefi_a_CFLAGS) $^ ++ ++efimain.o: efimain.c ++ $(CC) -o $@ -c $(libgrubefi_a_CFLAGS) $^ ++ ++clean-local: ++ -rm -rf grub.so grub.efi ++ ++RELOC_FLAGS = $(STAGE2_CFLAGS) -I$(top_srcdir)/stage1 \ ++ -I$(top_srcdir)/lib -I. -I$(top_srcdir) -I$(top_srcdir)/stage2 \ ++ -fno-builtin $(NETBOOT_FLAGS) $(SERIAL_FLAGS) \ ++ $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) ++ ++noinst_LIBRARIES = libgrubefi.a ++libgrubefi_a_SOURCES = $(EFI_ARCH)/callwrap.S eficore.c efimm.c efimisc.c \ ++ eficon.c efidisk.c graphics.c efigraph.c efiuga.c efidp.c \ ++ font_8x16.c efiserial.c $(EFI_ARCH)/loader/linux.c efichainloader.c \ ++ xpm.c pxe.c efitftp.c ++libgrubefi_a_CFLAGS = $(RELOC_FLAGS) -nostdinc ++ ++endif +diff --git a/efi/byteswap.h b/efi/byteswap.h +new file mode 100644 +index 0000000..5a057c4 +--- /dev/null ++++ b/efi/byteswap.h +@@ -0,0 +1,37 @@ ++#ifndef BYTESWAP_H ++#define BYTESWAP_H 1 ++ ++#if defined(__i386__) ++#define LITTLE_ENDIAN 1 ++#elif defined(__x86_64__) ++#define LITTLE_ENDIAN 1 ++#else ++#error endian not defined ++#endif ++ ++#define bswap_16(x) \ ++ ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)) ++ ++#define bswap_32(x) \ ++ ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \ ++ (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) ++ ++static inline grub_efi_uint16_t htons(grub_efi_uint16_t hostshort) ++{ ++#ifdef LITTLE_ENDIAN ++ return bswap_16(hostshort); ++#else ++ return hostshort; ++#endif ++} ++ ++static inline grub_efi_uint32_t htonl(grub_efi_uint32_t hostshort) ++{ ++#ifdef LITTLE_ENDIAN ++ return bswap_32(hostshort); ++#else ++ return hostshort; ++#endif ++} ++ ++#endif /* BYTESWAP_H */ +diff --git a/efi/dhcp.h b/efi/dhcp.h +new file mode 100644 +index 0000000..a82a522 +--- /dev/null ++++ b/efi/dhcp.h +@@ -0,0 +1,133 @@ ++#ifndef DHCP_H ++#define DHCP_H 1 ++ ++#include "pxe.h" ++ ++#define EFI_DHCP4_PROTOCOL_GUID \ ++{ 0x8a219718, 0x4ef5, 0x4761, {0x91,0xc8,0xc0,0xf0,0x4b,0xda,0x9e,0x56} } ++static grub_efi_guid_t DHCP4Protocol = EFI_DHCP4_PROTOCOL_GUID; ++ ++#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID \ ++{ 0x9d9a39d8, 0xbd42, 0x4a73, {0xa4,0xd5,0x8e,0xe9,0x4b,0xe1,0x13,0x80} } ++static grub_efi_guid_t DHCP4SbProtocol = EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID; ++ ++#define EFI_PXE_DHCP4_PROTOCOL_GUID \ ++{ 0x03c4e624, 0xac28, 0x11d3, {0x9a,0x2d,0x00,0x90,0x29,0x3f,0xc1,0x4d} } ++static grub_efi_guid_t PxeDHCP4Protocol = EFI_PXE_DHCP4_PROTOCOL_GUID; ++ ++ ++typedef EFI_STATUS (*EFI_DHCP4_GET_MODE_DATA)(); ++typedef EFI_STATUS (*EFI_DHCP4_CONFIGURE)(); ++typedef EFI_STATUS (*EFI_DHCP4_START)(); ++typedef EFI_STATUS (*EFI_DHCP4_RENEW_REBIND)(); ++typedef EFI_STATUS (*EFI_DHCP4_RELEASE)(); ++typedef EFI_STATUS (*EFI_DHCP4_STOP)(); ++typedef EFI_STATUS (*EFI_DHCP4_BUILD)(); ++typedef EFI_STATUS (*EFI_DHCP4_TRANSMIT_RECIEVE)(); ++typedef EFI_STATUS (*EFI_DHCP4_PARSE)(); ++ ++typedef struct _EFI_DHCP4_PROTOCOL { ++ EFI_DHCP4_GET_MODE_DATA GetModeData; ++ EFI_DHCP4_CONFIGURE Configure; ++ EFI_DHCP4_START Start; ++ EFI_DHCP4_RENEW_REBIND RenewRebind; ++ EFI_DHCP4_RELEASE Release; ++ EFI_DHCP4_STOP Stop; ++ EFI_DHCP4_BUILD Build; ++ EFI_DHCP4_TRANSMIT_RECIEVE TransmitReceive; ++ EFI_DHCP4_PARSE Parse; ++} EFI_DHCP4_PROTOCOL; ++ ++typedef enum { ++ Dhcp4Stopped, ++ Dhcp4Init, ++ Dhcp4Selecting, ++ Dhcp4Requesting, ++ Dhcp4Bound, ++ Dhcp4Renewing, ++ Dhcp4Rebinding, ++ Dhcp4InitReboot, ++ Dhcp4Rebooting, ++} EFI_DHCP4_STATE; ++ ++typedef enum { ++ Dhcp4SendDiscover = 0x1, ++ Dhcp4RcvdOffer, ++ Dhcp4SelectOffer, ++ Dhcp4SendRequest, ++ Dhcp4RcvdAck, ++ Dhcp4RcvdNak, ++ Dhcp4SendDecline, ++ Dhcp4BoundCompleted, ++ Dhcp4EnterRenewing, ++ Dhcp4EnterRebinding, ++ Dhcp4AddressLost, ++ Dhcp4Fail, ++} EFI_DHCP4_EVENT; ++ ++typedef struct { ++ grub_efi_uint8_t OpCode; ++ grub_efi_uint8_t HwType; ++ grub_efi_uint8_t HwAddrLen; ++ grub_efi_uint8_t Hops; ++ grub_efi_uint32_t xid; ++ grub_efi_uint16_t Seconds; ++ grub_efi_uint16_t reserved; ++ EFI_IPv4_ADDRESS ClientAddr; ++ EFI_IPv4_ADDRESS YourAddr; ++ EFI_IPv4_ADDRESS ServerAddr; ++ EFI_IPv4_ADDRESS GatewayAddr; ++ grub_efi_uint8_t ClientHwAddr[16]; ++ char ServerName[64]; ++ char BootFileName[128]; ++} EFI_DHCP4_HEADER; ++ ++typedef struct { ++ grub_efi_uint32_t Size; ++ grub_efi_uint32_t Length; ++ struct { ++ EFI_DHCP4_HEADER Header; ++ grub_efi_uint32_t Magik; ++ grub_efi_uint8_t option[]; ++ } Dhcp4; ++} EFI_DHCP4_PACKET; ++ ++typedef struct { ++ grub_efi_uint8_t OpCode; ++ grub_efi_uint8_t Length; ++ grub_efi_uint8_t Data[1]; ++} EFI_DHCP4_PACKET_OPTION; ++ ++typedef EFI_STATUS (*EFI_DHCP4_CALLBACK) ( ++ EFI_DHCP4_PROTOCOL *This, ++ void *Context, ++ EFI_DHCP4_STATE CurrentState, ++ EFI_DHCP4_EVENT Dhcp4Event, ++ EFI_DHCP4_PACKET *Packet, ++ EFI_DHCP4_PACKET **NewPacket); ++ ++typedef struct { ++ grub_efi_uint32_t DiscoverTryCount; ++ grub_efi_uint32_t *DiscoverTimeout; ++ grub_efi_uint32_t RequestTryCount; ++ grub_efi_uint32_t *RequestTimeout; ++ EFI_IPv4_ADDRESS ClientAddress; ++ EFI_DHCP4_CALLBACK Dhcp4Callback; ++ void *CallbackContext; ++ grub_efi_uint32_t OptionCount; ++ EFI_DHCP4_PACKET_OPTION **OptionList; ++} EFI_DHCP4_CONFIG_DATA; ++ ++typedef struct { ++ EFI_DHCP4_STATE State; ++ EFI_DHCP4_CONFIG_DATA ConfigData; ++ EFI_IPv4_ADDRESS ClientAddress; ++ EFI_MAC_ADDRESS ClientMacAddress; ++ EFI_IPv4_ADDRESS ServerAddress; ++ EFI_IPv4_ADDRESS RouterAddress; ++ EFI_IPv4_ADDRESS SubnetMask; ++ grub_efi_uint32_t LeaseTime; ++ EFI_DHCP4_PACKET *ReplyPacket; ++} EFI_DHCP4_MODE_DATA; ++ ++#endif /* DHCP_H */ +diff --git a/efi/efichainloader.c b/efi/efichainloader.c +new file mode 100644 +index 0000000..016636c +--- /dev/null ++++ b/efi/efichainloader.c +@@ -0,0 +1,265 @@ ++/* efichainloader.c - boot another boot loader */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2004,2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#define grub_file_size() filemax ++ ++static grub_efi_physical_address_t address; ++static grub_efi_uintn_t pages; ++static grub_efi_device_path_t *file_path; ++static grub_efi_handle_t image_handle; ++ ++static int ++grub_chainloader_unload (void) ++{ ++ grub_efi_boot_services_t *b; ++ ++ b = grub_efi_system_table->boot_services; ++ Call_Service_1 (b->unload_image, image_handle); ++ Call_Service_2 (b->free_pages, address, pages); ++ grub_free (file_path); ++ ++ return 0; ++} ++ ++static int ++grub_chainloader_boot (void) ++{ ++ grub_efi_boot_services_t *b; ++ grub_efi_status_t status; ++ grub_efi_uintn_t exit_data_size = 0; ++ grub_efi_char16_t *exit_data = NULL; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_3 (b->start_image, image_handle, ++ &exit_data_size, &exit_data); ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ if (exit_data) ++ { ++ char *buf; ++ ++ buf = grub_malloc (exit_data_size * 4 + 1); ++ if (buf) ++ { ++ *grub_utf16_to_utf8 ((grub_uint8_t *) buf, ++ exit_data, exit_data_size) = 0; ++ ++ grub_printf (buf); ++ grub_free (buf); ++ } ++ else ++ grub_printf ("unknown error\n"); ++ } ++ errnum = ERR_UNRECOGNIZED; ++ } ++ ++ if (exit_data) ++ Call_Service_1 (b->free_pool, exit_data); ++ ++ grub_chainloader_unload (); ++ ++ return 0; ++} ++ ++static void ++copy_file_path (grub_efi_file_path_device_path_t *fp, ++ const char *str, grub_efi_uint16_t len) ++{ ++ grub_efi_char16_t *p; ++ grub_efi_uint16_t size; ++ ++ fp->header.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE; ++ fp->header.subtype = GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE; ++ size = len * sizeof (grub_efi_char16_t) + sizeof (*fp); ++ fp->header.length[0] = (grub_efi_uint8_t) (size & 0xff); ++ fp->header.length[1] = (grub_efi_uint8_t) (size >> 8); ++ for (p = fp->path_name; len > 0; len--, p++, str++) ++ { ++ *p = (grub_efi_char16_t) (*str == '/' ? '\\' : *str); ++ } ++} ++ ++static grub_efi_device_path_t * ++make_file_path (const char *filename) ++{ ++ char *dir_start; ++ char *dir_end; ++ grub_size_t size; ++ grub_efi_device_path_t *d; ++ ++ dir_start = grub_strchr (filename, ')'); ++ if (! dir_start) ++ dir_start = (char *) filename; ++ else ++ dir_start++; ++ ++ dir_end = grub_strrchr (dir_start, '/'); ++ if (! dir_end) ++ { ++ errnum = ERR_BAD_FILENAME; ++ grub_printf ("invalid EFI file path"); ++ return 0; ++ } ++ ++ size = 0; ++ file_path = grub_malloc ((grub_strlen (dir_start) + 1) ++ * sizeof (grub_efi_char16_t) ++ + sizeof (grub_efi_file_path_device_path_t) * 2); ++ if (! file_path) ++ return 0; ++ ++ /* Fill the file path for the directory. */ ++ d = (grub_efi_device_path_t *) file_path; ++ ++ if (dir_end - dir_start) ++ { ++ copy_file_path ((grub_efi_file_path_device_path_t *) d, ++ dir_start, dir_end - dir_start); ++ d = GRUB_EFI_NEXT_DEVICE_PATH (d); ++ /* Fill the file path for the file. */ ++ copy_file_path ((grub_efi_file_path_device_path_t *) d, ++ dir_end + 1, grub_strlen (dir_end + 1)); ++ } ++ else ++ { ++ /* Fill the file path for the file. */ ++ copy_file_path ((grub_efi_file_path_device_path_t *) d, ++ dir_end, grub_strlen (dir_end)); ++ } ++ ++ /* Fill the end of device path nodes. */ ++ d = GRUB_EFI_NEXT_DEVICE_PATH (d); ++ d->type = GRUB_EFI_END_DEVICE_PATH_TYPE; ++ d->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; ++ d->length[0] = sizeof (*d); ++ d->length[1] = 0; ++ ++ return file_path; ++} ++ ++int ++grub_chainloader (char *filename) ++{ ++ grub_ssize_t size; ++ grub_efi_status_t status; ++ grub_efi_boot_services_t *b; ++ grub_efi_handle_t dev_handle = 0; ++ grub_efi_loaded_image_t *loaded_image; ++ ++ /* Initialize some global variables. */ ++ address = 0xffffffff; ++ image_handle = 0; ++ ++ b = grub_efi_system_table->boot_services; ++ ++ if (! grub_open (filename)) ++ goto fail1; ++ ++ dev_handle = grub_efidisk_get_current_bdev_handle (); ++ if (! dev_handle) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("not a valid root device\n"); ++ goto fail; ++ } ++ ++ file_path = make_file_path (filename); ++ if (! file_path) ++ goto fail; ++ ++ grub_printf ("file path: "); ++ grub_efi_print_device_path (file_path); ++ ++ size = grub_file_size (); ++ pages = (((grub_efi_uintn_t) size + ((1 << 12) - 1)) >> 12); ++ ++ status = Call_Service_4 (b->allocate_pages, GRUB_EFI_ALLOCATE_ANY_PAGES, ++ GRUB_EFI_LOADER_CODE, pages, &address); ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("cannot allocate %u pages", pages); ++ goto fail; ++ } ++ ++ if (grub_read ((void *) ((grub_addr_t) address), size) != size) ++ { ++ if (errnum == ERR_NONE) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("too small"); ++ } ++ goto fail; ++ } ++ ++ status = Call_Service_6 (b->load_image, 0, grub_efi_image_handle, file_path, ++ (void *) ((grub_addr_t) address), size, ++ &image_handle); ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ if (status == GRUB_EFI_OUT_OF_RESOURCES) ++ grub_printf ("out of resources"); ++ else ++ grub_printf ("cannot load image"); ++ ++ goto fail; ++ } ++ ++ /* LoadImage does not set a device handler when the image is ++ loaded from memory, so it is necessary to set it explicitly here. ++ This is a mess. */ ++ loaded_image = grub_efi_get_loaded_image (image_handle); ++ if (! loaded_image) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("no loaded image available"); ++ goto fail; ++ } ++ loaded_image->device_handle = dev_handle; ++ ++ grub_close (); ++ return KERNEL_TYPE_CHAINLOADER; ++ ++ fail: ++ grub_close (); ++ fail1: ++ if (address) ++ b->free_pages (address, pages); ++ ++ return KERNEL_TYPE_NONE; ++} ++ ++/* calls for direct boot-loader chaining */ ++void ++chain_stage1 (unsigned long segment, unsigned long offset, ++ unsigned long part_table_addr) ++{ ++ grub_chainloader_boot (); ++ for (;;); ++} +diff --git a/efi/eficon.c b/efi/eficon.c +new file mode 100644 +index 0000000..037f050 +--- /dev/null ++++ b/efi/eficon.c +@@ -0,0 +1,306 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++static int ++grub_console_standard_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_YELLOW, ++ GRUB_EFI_BACKGROUND_BLACK); ++static int ++grub_console_normal_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_LIGHTGRAY, ++ GRUB_EFI_BACKGROUND_BLACK); ++static int ++grub_console_highlight_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_BLACK, ++ GRUB_EFI_BACKGROUND_LIGHTGRAY); ++ ++static int read_key = -1; ++ ++void ++console_putchar (int c) ++{ ++ grub_efi_char16_t str[2]; ++ grub_efi_simple_text_output_interface_t *o; ++ ++ o = grub_efi_system_table->con_out; ++ ++ switch (c) ++ { ++ case DISP_LEFT: ++ c = '<'; ++ break; ++ ++ case DISP_UP: ++ c = '^'; ++ break; ++ ++ case DISP_RIGHT: ++ c = '>'; ++ break; ++ ++ case DISP_DOWN: ++ c = 'v'; ++ break; ++ ++ case DISP_HORIZ: ++ c = '-'; ++ break; ++ ++ case DISP_VERT: ++ c = '|'; ++ break; ++ ++ case DISP_UL: ++ case DISP_UR: ++ case DISP_LL: ++ case DISP_LR: ++ c = '+'; ++ break; ++ } ++ ++ /* For now, do not try to use a surrogate pair. */ ++ if (c > 0xffff) ++ c = '?'; ++ ++ str[0] = (grub_efi_char16_t) (c & 0xffff); ++ str[1] = 0; ++ ++ /* Should this test be cached? */ ++ if (c > 0x7f && Call_Service_2 (o->test_string, o, str) != GRUB_EFI_SUCCESS) ++ return; ++ ++ Call_Service_2 (o->output_string, o, str); ++} ++ ++int ++console_checkkey (void) ++{ ++ grub_efi_simple_input_interface_t *i; ++ grub_efi_input_key_t key; ++ grub_efi_status_t status; ++ ++ if (read_key >= 0) ++ return 1; ++ ++ i = grub_efi_system_table->con_in; ++ status = Call_Service_2 (i->read_key_stroke ,i, &key); ++#if 0 ++ switch (status) ++ { ++ case GRUB_EFI_SUCCESS: ++ { ++ int xy; ++ ++ xy = console_getxy (); ++ console_gotoxy (0, 0); ++ grub_printf ("scan_code=%x,unicode_char=%x ", ++ (unsigned) key.scan_code, ++ (unsigned) key.unicode_char); ++ console_gotoxy (xy >> 8, xy & 0xff); ++ } ++ break; ++ ++ case GRUB_EFI_NOT_READY: ++ grub_printf ("not ready "); ++ break; ++ ++ default: ++ grub_printf ("device error "); ++ break; ++ } ++#endif ++ ++ if (status == GRUB_EFI_SUCCESS) ++ { ++ switch (key.scan_code) ++ { ++ case 0x00: ++ read_key = key.unicode_char; ++ break; ++ case 0x01: ++ read_key = 16; ++ break; ++ case 0x02: ++ read_key = 14; ++ break; ++ case 0x03: ++ read_key = 6; ++ break; ++ case 0x04: ++ read_key = 2; ++ break; ++ case 0x05: ++ read_key = 1; ++ break; ++ case 0x06: ++ read_key = 5; ++ break; ++ case 0x07: ++ break; ++ case 0x08: ++ read_key = 4; ++ break; ++ case 0x09: ++ break; ++ case 0x0a: ++ break; ++ case 0x17: ++ read_key = '\e'; ++ break; ++ default: ++ break; ++ } ++ } ++ ++ return read_key; ++} ++ ++int ++console_getkey (void) ++{ ++ grub_efi_simple_input_interface_t *i; ++ grub_efi_boot_services_t *b; ++ grub_efi_uintn_t index; ++ grub_efi_status_t status; ++ int key; ++ ++ if (read_key >= 0) ++ { ++ key = read_key; ++ read_key = -1; ++ return key; ++ } ++ ++ i = grub_efi_system_table->con_in; ++ b = grub_efi_system_table->boot_services; ++ ++ do ++ { ++ status = Call_Service_3 (b->wait_for_event , 1, &(i->wait_for_key), &index); ++ if (status != GRUB_EFI_SUCCESS) ++ return -1; ++ ++ console_checkkey (); ++ } ++ while (read_key < 0); ++ ++ key = read_key; ++ read_key = -1; ++ return key; ++} ++ ++int ++console_keystatus (void) ++{ ++ /* Doesn't look like EFI can support this... */ ++ return 0; ++} ++ ++int ++console_getxy (void) ++{ ++ grub_efi_simple_text_output_interface_t *o; ++ ++ o = grub_efi_system_table->con_out; ++ return ((o->mode->cursor_column << 8) | o->mode->cursor_row); ++} ++ ++void ++console_gotoxy (int x, int y) ++{ ++ grub_efi_simple_text_output_interface_t *o; ++ ++ o = grub_efi_system_table->con_out; ++ Call_Service_3 (o->set_cursor_position , o, x, y); ++} ++ ++void ++console_cls (void) ++{ ++ grub_efi_simple_text_output_interface_t *o; ++ grub_efi_int32_t orig_attr; ++ ++ o = grub_efi_system_table->con_out; ++ orig_attr = o->mode->attribute; ++ Call_Service_2 (o->set_attributes, o, GRUB_EFI_BACKGROUND_BLACK); ++ Call_Service_1 (o->clear_screen , o); ++ Call_Service_2 (o->set_attributes , o, orig_attr); ++} ++ ++void ++console_setcolorstate (color_state state) ++{ ++ grub_efi_simple_text_output_interface_t *o; ++ ++ o = grub_efi_system_table->con_out; ++ ++ switch (state) { ++ case COLOR_STATE_STANDARD: ++ Call_Service_2 (o->set_attributes, o, grub_console_standard_color); ++ break; ++ case COLOR_STATE_NORMAL: ++ Call_Service_2 (o->set_attributes, o, grub_console_normal_color); ++ break; ++ case COLOR_STATE_HIGHLIGHT: ++ Call_Service_2 (o->set_attributes, o, grub_console_highlight_color); ++ break; ++ default: ++ break; ++ } ++} ++ ++void ++console_setcolor (int normal_color, int highlight_color) ++{ ++ grub_console_normal_color = normal_color; ++ grub_console_highlight_color = highlight_color; ++} ++ ++int ++console_setcursor (int on) ++{ ++ grub_efi_simple_text_output_interface_t *o; ++ ++ o = grub_efi_system_table->con_out; ++ Call_Service_2 (o->enable_cursor, o, on); ++ return on; ++} ++ ++void ++grub_console_init (void) ++{ ++ /* FIXME: it is necessary to consider the case where no console control ++ is present but the default is already in text mode. */ ++ if (! grub_efi_set_text_mode (1)) ++ { ++ grub_printf ("cannot set text mode"); ++ return; ++ } ++} ++ ++void ++grub_console_fini (void) ++{ ++} +diff --git a/efi/eficore.c b/efi/eficore.c +new file mode 100644 +index 0000000..8abea7d +--- /dev/null ++++ b/efi/eficore.c +@@ -0,0 +1,241 @@ ++/* eficore.c - generic EFI support */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++/* The handle of GRUB itself. Filled in by the startup code. */ ++grub_efi_handle_t grub_efi_image_handle; ++ ++/* The pointer to a system table. Filled in by the startup code. */ ++grub_efi_system_table_t *grub_efi_system_table; ++ ++static grub_efi_guid_t console_control_guid = GRUB_EFI_CONSOLE_CONTROL_GUID; ++static grub_efi_guid_t loaded_image_guid = GRUB_EFI_LOADED_IMAGE_GUID; ++static grub_efi_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID; ++ ++/* temporary, until we're using gnu-efi's include files --pjones */ ++extern int setjmp(grub_jmp_buf env); ++int grub_setjmp(grub_jmp_buf env) ++{ ++ return setjmp(env); ++} ++ ++extern void longjmp(grub_jmp_buf env, int val); ++void grub_longjmp(grub_jmp_buf env, int val) ++{ ++ longjmp(env, val); ++} ++ ++grub_efi_status_t ++grub_efi_locate_device_path (grub_efi_guid_t *protocol, ++ grub_efi_device_path_t **dp, ++ grub_efi_handle_t *handle) ++{ ++ return Call_Service_3( ++ grub_efi_system_table->boot_services->locate_device_path, ++ protocol, dp, handle); ++} ++ ++grub_efi_status_t ++grub_efi_locate_handle_buffer (grub_efi_locate_search_type_t search_type, ++ grub_efi_guid_t *protocol, ++ void *search_key, ++ grub_efi_uintn_t *no_handles, ++ grub_efi_handle_t **buffer) ++{ ++ return Call_Service_5( ++ grub_efi_system_table->boot_services->locate_handle_buffer, ++ search_type, protocol, search_key, no_handles, buffer); ++} ++ ++void * ++grub_efi_locate_protocol (grub_efi_guid_t *protocol, void *registration) ++{ ++ void *interface; ++ grub_efi_status_t status; ++ ++ status = Call_Service_3 (grub_efi_system_table->boot_services->locate_protocol, ++ protocol, ++ registration, ++ &interface); ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ return interface; ++} ++ ++/* Return the array of handles which meet the requirement. If successful, ++ the number of handles is stored in NUM_HANDLES. The array is allocated ++ from the heap. */ ++grub_efi_handle_t * ++grub_efi_locate_handle (grub_efi_locate_search_type_t search_type, ++ grub_efi_guid_t *protocol, ++ void *search_key, ++ grub_efi_uintn_t *num_handles) ++{ ++ grub_efi_boot_services_t *b; ++ grub_efi_status_t status; ++ grub_efi_handle_t *buffer; ++ grub_efi_uintn_t buffer_size = 8 * sizeof (grub_efi_handle_t); ++ ++ buffer = grub_malloc (buffer_size); ++ if (! buffer) ++ return 0; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_5 (b->locate_handle, search_type, protocol, ++ search_key, &buffer_size, buffer); ++ if (status == GRUB_EFI_BUFFER_TOO_SMALL) ++ { ++ grub_free (buffer); ++ buffer = grub_malloc (buffer_size); ++ if (! buffer) ++ return 0; ++ ++ status = Call_Service_5 (b->locate_handle, search_type, protocol, ++ search_key, &buffer_size, buffer); ++ } ++ ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ grub_free (buffer); ++ return 0; ++ } ++ ++ *num_handles = buffer_size / sizeof (grub_efi_handle_t); ++ return buffer; ++} ++ ++void * ++grub_efi_open_protocol (grub_efi_handle_t handle, ++ grub_efi_guid_t *protocol, ++ grub_efi_uint32_t attributes) ++{ ++ grub_efi_boot_services_t *b; ++ grub_efi_status_t status; ++ void *interface; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_6 ( b->open_protocol, ++ handle, ++ protocol, ++ &interface, ++ grub_efi_image_handle, ++ 0, ++ attributes); ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ return interface; ++} ++ ++int ++grub_efi_set_text_mode (int on) ++{ ++ grub_efi_console_control_protocol_t *c; ++ grub_efi_screen_mode_t mode, new_mode; ++ ++ c = grub_efi_locate_protocol (&console_control_guid, 0); ++ if (! c) ++ /* No console control protocol instance available, assume it is ++ already in text mode. */ ++ return 1; ++ ++ if (Call_Service_4 (c->get_mode , c, &mode, 0, 0) != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ new_mode = on ? GRUB_EFI_SCREEN_TEXT : GRUB_EFI_SCREEN_GRAPHICS; ++ if (mode != new_mode) ++ if (Call_Service_2 (c->set_mode , c, new_mode) != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ return 1; ++} ++ ++void ++grub_efi_stall (grub_efi_uintn_t microseconds) ++{ ++ Call_Service_1 (grub_efi_system_table->boot_services->stall , microseconds); ++} ++ ++grub_efi_loaded_image_t * ++grub_efi_get_loaded_image (grub_efi_handle_t image_handle) ++{ ++ return grub_efi_open_protocol (image_handle, ++ &loaded_image_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++} ++ ++void ++grub_exit (void) ++{ ++ grub_efi_fini (); ++ Call_Service_4(grub_efi_system_table->boot_services->exit, ++ grub_efi_image_handle, ++ GRUB_EFI_SUCCESS, ++ 0, ++ 0 ); ++ for (;;); ++} ++ ++int ++grub_efi_exit_boot_services (grub_efi_uintn_t map_key) ++{ ++ grub_efi_boot_services_t *b; ++ grub_efi_status_t status; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_2 (b->exit_boot_services , ++ grub_efi_image_handle, ++ map_key); ++ return status == GRUB_EFI_SUCCESS; ++} ++ ++grub_uint32_t ++grub_get_rtc (void) ++{ ++ grub_efi_time_t time; ++ grub_efi_runtime_services_t *r; ++ ++ r = grub_efi_system_table->runtime_services; ++ if (Call_Service_2(r->get_time , &time, 0) != GRUB_EFI_SUCCESS) ++ /* What is possible in this case? */ ++ return 0; ++ ++ return (((time.minute * 60 + time.second) * 1000 ++ + time.nanosecond / 1000000) ++ * GRUB_TICKS_PER_SECOND / 1000); ++} ++ ++grub_efi_device_path_t * ++grub_efi_get_device_path (grub_efi_handle_t handle) ++{ ++ return grub_efi_open_protocol (handle, &device_path_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++} ++ +diff --git a/efi/efidisk.c b/efi/efidisk.c +new file mode 100644 +index 0000000..3f69798 +--- /dev/null ++++ b/efi/efidisk.c +@@ -0,0 +1,783 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++struct grub_efidisk_data ++{ ++ grub_efi_handle_t handle; ++ grub_efi_device_path_t *device_path; ++ grub_efi_device_path_t *last_device_path; ++ grub_efi_block_io_t *block_io; ++ grub_efi_disk_io_t *disk_io; ++ struct grub_efidisk_data *next; ++}; ++ ++/* GUIDs. */ ++static grub_efi_guid_t disk_io_guid = GRUB_EFI_DISK_IO_GUID; ++static grub_efi_guid_t block_io_guid = GRUB_EFI_BLOCK_IO_GUID; ++static grub_efi_guid_t device_path_from_text_guid = GRUB_EFI_DEVICE_PATH_FROM_TEXT_GUID; ++ ++static struct grub_efidisk_data *fd_devices; ++static struct grub_efidisk_data *hd_devices; ++static struct grub_efidisk_data *cd_devices; ++ ++static int get_device_sector_bits(struct grub_efidisk_data *device); ++static int get_device_sector_size(struct grub_efidisk_data *device); ++static struct grub_efidisk_data *get_device_from_drive (int drive); ++ ++static struct grub_efidisk_data * ++make_devices (void) ++{ ++ grub_efi_uintn_t num_handles; ++ grub_efi_handle_t *handles; ++ grub_efi_handle_t *handle; ++ struct grub_efidisk_data *devices = 0; ++ ++ /* Find handles which support the disk io interface. */ ++ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, &disk_io_guid, ++ 0, &num_handles); ++ if (! handles) ++ return 0; ++ ++ /* Make a linked list of devices. */ ++ for (handle = handles; num_handles--; handle++) ++ { ++ grub_efi_device_path_t *dp; ++ grub_efi_device_path_t *ldp; ++ struct grub_efidisk_data *d; ++ grub_efi_block_io_t *bio; ++ grub_efi_disk_io_t *dio; ++ ++ dp = grub_efi_get_device_path (*handle); ++ if (! dp) ++ continue; ++ ++ ldp = find_last_device_path (dp); ++ if (! ldp) ++ /* This is empty. Why? */ ++ continue; ++ ++ bio = grub_efi_open_protocol (*handle, &block_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ dio = grub_efi_open_protocol (*handle, &disk_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ if (! bio || ! dio) ++ /* This should not happen... Why? */ ++ continue; ++ ++ d = grub_malloc (sizeof (*d)); ++ if (! d) ++ { ++ /* Uggh. */ ++ grub_free (handles); ++ return 0; ++ } ++ ++ d->handle = *handle; ++ d->device_path = dp; ++ d->last_device_path = ldp; ++ d->block_io = bio; ++ d->disk_io = dio; ++ d->next = devices; ++ devices = d; ++ } ++ ++ grub_free (handles); ++ ++ return devices; ++} ++ ++static int ++iterate_child_devices (struct grub_efidisk_data *devices, ++ struct grub_efidisk_data *d, ++ int (*hook) (struct grub_efidisk_data *child)) ++{ ++ struct grub_efidisk_data *p; ++ ++ for (p = devices; p; p = p->next) ++ { ++ grub_efi_device_path_t *dp, *ldp; ++ ++ dp = duplicate_device_path (p->device_path); ++ if (! dp) ++ return 0; ++ ++ ldp = find_last_device_path (dp); ++ ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE; ++ ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; ++ ldp->length[0] = sizeof (*ldp); ++ ldp->length[1] = 0; ++ ++ if (compare_device_paths (dp, d->device_path) == 0) ++ if (hook (p)) ++ { ++ grub_free (dp); ++ return 1; ++ } ++ ++ grub_free (dp); ++ } ++ ++ return 0; ++} ++ ++/* Add a device into a list of devices in an ascending order. */ ++static void ++add_device (struct grub_efidisk_data **devices, struct grub_efidisk_data *d) ++{ ++ struct grub_efidisk_data **p; ++ struct grub_efidisk_data *n; ++ ++ for (p = devices; *p; p = &((*p)->next)) ++ { ++ int ret; ++ ++ ret = compare_device_paths (find_last_device_path ((*p)->device_path), ++ find_last_device_path (d->device_path)); ++ if (ret == 0) ++ ret = compare_device_paths ((*p)->device_path, ++ d->device_path); ++ if (ret == 0) ++ return; ++ else if (ret > 0) ++ break; ++ } ++ ++ n = grub_malloc (sizeof (*n)); ++ if (! n) ++ return; ++ ++ grub_memcpy (n, d, sizeof (*n)); ++ n->next = (*p); ++ (*p) = n; ++} ++ ++/* Name the devices. */ ++static void ++name_devices (struct grub_efidisk_data *devices) ++{ ++ struct grub_efidisk_data *d; ++ ++ /* Let's see what can be added more. */ ++ for (d = devices; d; d = d->next) ++ { ++ grub_efi_device_path_t *dp; ++ grub_efi_block_io_media_t *m; ++ ++ dp = d->last_device_path; ++ if (! dp) ++ continue; ++ ++ m = d->block_io->media; ++ if (GRUB_EFI_DEVICE_PATH_TYPE(dp) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE) ++ { ++ /* XXX FIXME this won't work if we see write-protected disks with ++ * 4k sectors */ ++ if (m->read_only && m->block_size > 0x200) ++ { ++ add_device (&cd_devices, d); ++ } else ++ { ++ add_device (&hd_devices, d); ++ } ++ } ++ if (GRUB_EFI_DEVICE_PATH_TYPE(dp) == GRUB_EFI_ACPI_DEVICE_PATH_TYPE) ++ { ++ add_device (&fd_devices, d); ++ } ++ } ++} ++ ++static void ++free_devices (struct grub_efidisk_data *devices) ++{ ++ struct grub_efidisk_data *p, *q; ++ ++ for (p = devices; p; p = q) ++ { ++ q = p->next; ++ grub_free (p); ++ } ++} ++ ++/* Enumerate all disks to name devices. */ ++static void ++enumerate_disks (void) ++{ ++ struct grub_efidisk_data *devices; ++ ++ devices = make_devices (); ++ if (! devices) ++ return; ++ ++ name_devices (devices); ++ free_devices (devices); ++} ++ ++static struct grub_efidisk_data * ++get_device (struct grub_efidisk_data *devices, int num) ++{ ++ struct grub_efidisk_data *d; ++ ++ for (d = devices; d && num; d = d->next, num--) ++ ; ++ ++ if (num == 0) ++ return d; ++ ++ return 0; ++} ++ ++static int ++grub_efidisk_read (struct grub_efidisk_data *d, grub_disk_addr_t sector, ++ grub_size_t size, char *buf) ++{ ++ /* For now, use the disk io interface rather than the block io's. */ ++ grub_efi_disk_io_t *dio; ++ grub_efi_block_io_t *bio; ++ grub_efi_status_t status; ++ grub_efi_uint64_t sector_size = get_device_sector_size(d); ++ ++ dio = d->disk_io; ++ bio = d->block_io; ++ ++ status = Call_Service_5 (dio->read, ++ dio, bio->media->media_id, ++ sector * sector_size, ++ size * sector_size, ++ buf); ++ if (status != GRUB_EFI_SUCCESS) ++ return -1; ++ ++ return 0; ++} ++ ++static int ++grub_efidisk_write (struct grub_efidisk_data *d, grub_disk_addr_t sector, ++ grub_size_t size, const char *buf) ++{ ++ /* For now, use the disk io interface rather than the block io's. */ ++ grub_efi_disk_io_t *dio; ++ grub_efi_block_io_t *bio; ++ grub_efi_status_t status; ++ grub_efi_uint64_t sector_size = get_device_sector_size(d); ++ ++ dio = d->disk_io; ++ bio = d->block_io; ++ ++ grub_dprintf ("efidisk", ++ "writing 0x%x sectors at the sector 0x%x to ??\n", ++ (unsigned) size, (unsigned int) sector); ++ ++ status = Call_Service_5 (dio->write , ++ dio, bio->media->media_id, ++ sector * sector_size, ++ size * sector_size, ++ (void *) buf); ++ if (status != GRUB_EFI_SUCCESS) ++ return -1; ++ ++ return 0; ++} ++ ++void ++grub_efidisk_init (void) ++{ ++ enumerate_disks (); ++} ++ ++void ++grub_efidisk_fini (void) ++{ ++ free_devices (fd_devices); ++ free_devices (hd_devices); ++ free_devices (cd_devices); ++} ++ ++static int ++get_device_sector_size(struct grub_efidisk_data *device) ++{ ++ return device->block_io->media->block_size; ++} ++ ++int ++get_sector_size(int drive) ++{ ++ struct grub_efidisk_data *device = get_device_from_drive(drive); ++ return get_device_sector_size(device); ++} ++ ++/* ++ * ffz = Find First Zero in word. Undefined if no zero exists, ++ * so code should check against ~0UL first.. ++ */ ++static __inline__ unsigned int ++ffz (unsigned int word) ++{ ++ __asm__ ("bsfl %1,%0" ++: "=r" (word) ++: "r" (~word)); ++ return word; ++} ++#define log2(n) ffz(~(n)) ++ ++static int ++get_device_sector_bits(struct grub_efidisk_data *device) ++{ ++ int sector_size = get_device_sector_size(device); ++ return log2(sector_size); ++} ++ ++int ++get_sector_bits(int drive) ++{ ++ int sector_size = get_sector_size(drive); ++ return log2(sector_size); ++} ++ ++static struct grub_efidisk_data * ++get_device_from_drive (int drive) ++{ ++#ifdef SUPPORT_NETBOOT ++ /* Not supported */ ++ if (drive == NETWORK_DRIVE) ++ return NULL; ++#endif ++ if (drive == GRUB_INVALID_DRIVE) ++ return NULL; ++ if (drive == cdrom_drive) ++ return get_device (cd_devices, 0); ++ /* Hard disk */ ++ if (drive & 0x80) ++ return get_device (hd_devices, drive - 0x80); ++ /* Floppy disk */ ++ else ++ return get_device (fd_devices, drive); ++} ++ ++/* Low-level disk I/O. Our stubbed version just returns a file ++ descriptor, not the actual geometry. */ ++int ++get_diskinfo (int drive, struct geometry *geometry) ++{ ++ struct grub_efidisk_data *d; ++ ++ d = get_device_from_drive (drive); ++ if (!d) ++ return -1; ++ geometry->total_sectors = d->block_io->media->last_block+1; ++ geometry->sector_size = d->block_io->media->block_size; ++ geometry->flags = BIOSDISK_FLAG_LBA_EXTENSION; ++ geometry->sectors = 63; ++ if (geometry->total_sectors / 63 < 255) ++ geometry->heads = 1; ++ else ++ geometry->heads = 255; ++ geometry->cylinders = geometry->total_sectors / 63 / geometry->heads; ++ return 0; ++} ++ ++int ++biosdisk (int subfunc, int drive, struct geometry *geometry, ++ int sector, int nsec, int segment) ++{ ++ char *buf; ++ struct grub_efidisk_data *d; ++ int ret; ++ ++ d = get_device_from_drive (drive); ++ if (!d) ++ return -1; ++ buf = (char *) ((unsigned long) segment << 4); ++ switch (subfunc) ++ { ++ case BIOSDISK_READ: ++ ret = grub_efidisk_read (d, sector, nsec, buf); ++ break; ++ case BIOSDISK_WRITE: ++ ret = grub_efidisk_write (d, sector, nsec, buf); ++ break; ++ default: ++ return -1; ++ } ++ ++ return 0; ++} ++ ++/* Some utility functions to map GRUB devices with EFI devices. */ ++grub_efi_handle_t ++grub_efidisk_get_current_bdev_handle (void) ++{ ++ struct grub_efidisk_data *d; ++ ++ d = get_device_from_drive (current_drive); ++ if (d == NULL) ++ return NULL; ++ ++ if (current_drive == GRUB_INVALID_DRIVE) ++ return NULL; ++ ++ if (current_drive == cdrom_drive) ++ return d->handle; ++ ++ if (! (current_drive & 0x80)) ++ return d->handle; ++ /* If this is the whole disk, just return its own data. */ ++ else if (current_partition == 0xFFFFFF) ++ return d->handle; ++ /* Otherwise, we must query the corresponding device to the firmware. */ ++ else ++ { ++ struct grub_efidisk_data *devices; ++ grub_efi_handle_t handle = 0; ++ auto int find_partition (struct grub_efidisk_data *c); ++ ++ int find_partition (struct grub_efidisk_data *c) ++ { ++ grub_efi_hard_drive_device_path_t hd; ++ ++ grub_memcpy (&hd, c->last_device_path, sizeof (hd)); ++ ++ if ((GRUB_EFI_DEVICE_PATH_TYPE (c->last_device_path) ++ == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE) ++ && (GRUB_EFI_DEVICE_PATH_SUBTYPE (c->last_device_path) ++ == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE) ++ && (part_start == hd.partition_start)) ++ { ++ handle = c->handle; ++ return 1; ++ } ++ ++ return 0; ++ } ++ ++ devices = make_devices (); ++ iterate_child_devices (devices, d, find_partition); ++ free_devices (devices); ++ ++ if (handle != 0) ++ return handle; ++ } ++ ++ return 0; ++} ++ ++int ++grub_get_drive_partition_from_bdev_handle (grub_efi_handle_t handle, ++ unsigned long *drive, ++ unsigned long *partition) ++{ ++ grub_efi_device_path_t *dp, *dp1; ++ struct grub_efidisk_data *d, *devices; ++ int drv; ++ unsigned long part; ++ grub_efi_hard_drive_device_path_t hd; ++ int found; ++ int part_type, part_entry; ++ unsigned long partition_start, partition_len, part_offset, part_extoffset; ++ unsigned long gpt_offset; ++ int gpt_count, gpt_size; ++ auto int find_bdev (struct grub_efidisk_data *c); ++ ++ int find_bdev (struct grub_efidisk_data *c) ++ { ++ if (! compare_device_paths (c->device_path, dp)) ++ { ++ grub_memcpy (&hd, c->last_device_path, sizeof (hd)); ++ found = 1; ++ return 1; ++ } ++ return 0; ++ } ++ ++ dp = grub_efi_get_device_path (handle); ++ if (! dp) ++ return 0; ++ ++ dp1 = dp; ++ while (1) ++ { ++ grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (dp1); ++ grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE(dp1); ++ ++ if (type == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE && ++ subtype == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE) ++ { ++ dp1->type = GRUB_EFI_END_DEVICE_PATH_TYPE; ++ dp1->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; ++ dp1->length[0] = 4; ++ dp1->length[1] = 0; ++ } ++ ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp1)) ++ break; ++ ++ dp1 = GRUB_EFI_NEXT_DEVICE_PATH(dp1); ++ } ++ ++ drv = 0; ++ for (d = fd_devices; d; d = d->next, drv++) ++ { ++ if (! compare_device_paths (d->device_path, dp)) ++ { ++ *partition = 0xFFFFFF; ++ *drive = drv; ++ return 1; ++ } ++ } ++ ++ drv = cdrom_drive; ++ if (cd_devices && ! compare_device_paths (cd_devices->device_path, dp)) ++ { ++ *partition = 0xFFFFFF; ++ *drive = drv; ++ return 1; ++ } ++ ++ drv = 0x80; ++ for (d = hd_devices; d; d = d->next, drv++) ++ { ++ if (! compare_device_paths (d->device_path, dp)) ++ { ++ *partition = 0xFFFFFF; ++ *drive = drv; ++ return 1; ++ } ++ } ++ ++ devices = make_devices (); ++ ++ drv = 0x80; ++ found = 0; ++ for (d = hd_devices; d; d = d->next, drv++) ++ { ++ iterate_child_devices (devices, d, find_bdev); ++ if (found) ++ break; ++ } ++ ++ free_devices (devices); ++ ++ if (! found) ++ return 0; ++ ++ char buf[get_sector_size(drv)]; ++ part = 0xFFFFFF; ++ while (next_partition (drv, 0, &part, &part_type, ++ &partition_start, &partition_len, ++ &part_offset, &part_entry, ++ &part_extoffset, &gpt_offset, &gpt_count, ++ &gpt_size, buf)) ++ { ++ if (part_type ++ && partition_start == hd.partition_start) ++ { ++ *drive = drv; ++ *partition = part; ++ return 1; ++ } ++ } ++ ++ return 0; ++} ++ ++int ++check_device (const char *device) ++{ ++ grub_efi_device_path_t *dp; ++ ++ dp = device_path_from_utf8(device); ++ if (dp == NULL) ++ return 0; ++ ++ grub_free(dp); ++ return 1; ++} ++ ++static void ++swap_devices (struct grub_efidisk_data *d0, ++ struct grub_efidisk_data *d1) ++{ ++ struct grub_efidisk_data tmp; ++ ++ if (!d0 || !d1) ++ return; ++ ++ memcpy(&tmp, d1, sizeof(*d1)); ++ ++ memcpy(&d0->handle, &d1->handle, sizeof(d1->handle)); ++ d0->device_path = d1->device_path; ++ d0->last_device_path = d1->last_device_path; ++ d0->block_io = d1->block_io; ++ d0->disk_io = d1->disk_io; ++ ++ memcpy(d1->handle, tmp.handle, sizeof(tmp.handle)); ++ d1->device_path = tmp.device_path; ++ d1->last_device_path = tmp.last_device_path; ++ d1->block_io = tmp.block_io; ++ d1->disk_io = tmp.disk_io; ++} ++ ++static int ++compare_hd_device_paths(grub_efi_hard_drive_device_path_t *hd0, ++ grub_efi_hard_drive_device_path_t *hd1) ++{ ++ grub_efi_uint64_t x; ++ int sigsize; ++ ++ if ((x = hd1->partition_number - hd0->partition_number)) ++ return x; ++ ++ if ((x = hd1->partition_start - hd0->partition_start)) ++ return x; ++ ++ ++ if ((x = hd1->partition_size - hd0->partition_size)) ++ return x; ++ ++ if ((x = hd1->signature_type - hd0->signature_type)) ++ return x; ++ ++ switch (hd0->signature_type) ++ { ++ case 1: ++ sigsize = 4; ++ break; ++ case 2: ++ sigsize = 16; ++ break; ++ default: ++ sigsize = 0; ++ break; ++ } ++ x = grub_memcmp((char *)hd0->partition_signature, ++ (char *)hd1->partition_signature, sigsize); ++ return x; ++} ++ ++static grub_efi_device_path_t * ++get_parent_of_disk(grub_efi_device_path_t *hd) ++{ ++ grub_efi_uintn_t num_handles; ++ grub_efi_handle_t *handles; ++ grub_efi_handle_t *handle; ++ grub_efi_device_path_t *ret; ++ ++ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, ++ &simple_file_system_guid, ++ 0, &num_handles); ++ for (handle = handles; num_handles--; handle++) ++ { ++ grub_efi_device_path_t *fsdp, *hddp; ++ ++ fsdp = grub_efi_get_device_path (*handle); ++ if (!fsdp) ++ continue; ++ hddp = find_last_device_path(fsdp); ++ ++ if (compare_hd_device_paths((grub_efi_hard_drive_device_path_t *)hddp, ++ (grub_efi_hard_drive_device_path_t *)hd) == 0) ++ { ++ grub_efi_device_path_t *p; ++ ret = duplicate_device_path((grub_efi_device_path_t *)fsdp); ++ if (!ret) ++ return NULL; ++ for (p = ret; ; p = GRUB_EFI_NEXT_DEVICE_PATH(p)) ++ { ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH(p)) ++ break; ++ if ((GRUB_EFI_DEVICE_PATH_TYPE(p) == ++ GRUB_EFI_MEDIA_DEVICE_PATH_TYPE) ++ && (GRUB_EFI_DEVICE_PATH_SUBTYPE(p) == ++ GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)) ++ { ++ p->type = GRUB_EFI_END_DEVICE_PATH_TYPE; ++ p->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; ++ p->length[0] = 4; ++ p->length[1] = 0; ++ break; ++ } ++ } ++ return ret; ++ } ++ } ++ return NULL; ++} ++ ++void ++assign_device_name (int drive, const char *device) ++{ ++ grub_efi_device_path_t *dp0, *dp1; ++ struct grub_efidisk_data *devices; ++ struct grub_efidisk_data *d, *d0 = NULL, *d1 = NULL; ++ int n = -1; ++ ++ dp0 = device_path_from_utf8(device); ++ if (!dp0) ++ return; ++ ++ dp1 = get_parent_of_disk(dp0); ++ grub_free(dp0); ++ if (!dp1) ++ return; ++ ++ if (drive & 0x80) ++ { ++ drive -= 0x80; ++ devices = hd_devices; ++ } ++ else ++ { ++ devices = cd_devices; ++ drive -= 0x100; ++ } ++ ++ for (d = devices; d; d = d->next) ++ { ++ if (!d->device_path) ++ continue; ++ ++ if (++n == drive) ++ d0 = d; ++ ++ int x; ++ if (!(x = compare_device_paths(dp1, d->device_path))) ++ d1 = d; ++ ++ if (d0 && d1) ++ { ++ /* if they're the same node, that just means it's already at ++ * the right position. */ ++ if (d0 != d1) ++ { ++ swap_devices(d0, d1); ++ grub_free(dp1); ++ return; ++ } ++ } ++ } ++ grub_free(dp1); ++} +diff --git a/efi/efidp.c b/efi/efidp.c +new file mode 100644 +index 0000000..d8ca03d +--- /dev/null ++++ b/efi/efidp.c +@@ -0,0 +1,999 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2010 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++/* Duplicate a device path. */ ++grub_efi_device_path_t * ++duplicate_device_path (const grub_efi_device_path_t *dp) ++{ ++ grub_efi_device_path_t *p; ++ grub_size_t total_size = 0; ++ ++ for (p = (grub_efi_device_path_t *) dp; ++ ; ++ p = GRUB_EFI_NEXT_DEVICE_PATH (p)) ++ { ++ total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p); ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p)) ++ break; ++ } ++ ++ p = grub_malloc (total_size); ++ if (! p) ++ return 0; ++ ++ grub_memcpy (p, dp, total_size); ++ return p; ++} ++ ++/* Return the device path node right before the end node. */ ++grub_efi_device_path_t * ++find_last_device_path (const grub_efi_device_path_t *dp) ++{ ++ grub_efi_device_path_t *next, *p; ++ ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp)) ++ return 0; ++ ++ for (p = (grub_efi_device_path_t *) dp, next = GRUB_EFI_NEXT_DEVICE_PATH (p); ++ ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next); ++ p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next)) ++ ; ++ ++ return p; ++} ++ ++/* Return the parent device path node. Must be freed */ ++grub_efi_device_path_t * ++find_parent_device_path (const grub_efi_device_path_t *dp) ++{ ++ grub_efi_device_path_t *final, *dup; ++ ++ dup = duplicate_device_path(dp); ++ final = find_last_device_path(dup); ++ ++ final->type = GRUB_EFI_END_DEVICE_PATH_TYPE; ++ final->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE; ++ ++ return dup; ++} ++ ++/* Compare device paths. */ ++int ++compare_device_paths (const grub_efi_device_path_t *dp1, ++ const grub_efi_device_path_t *dp2) ++{ ++ if (! dp1 || ! dp2) ++ /* Return non-zero. */ ++ return 1; ++ ++ while (1) ++ { ++ grub_efi_uint8_t type1, type2; ++ grub_efi_uint8_t subtype1, subtype2; ++ grub_efi_uint16_t len1, len2; ++ int ret; ++ ++ type1 = GRUB_EFI_DEVICE_PATH_TYPE (dp1); ++ type2 = GRUB_EFI_DEVICE_PATH_TYPE (dp2); ++ ++ if (type1 != type2) ++ return (int) type2 - (int) type1; ++ ++ subtype1 = GRUB_EFI_DEVICE_PATH_SUBTYPE (dp1); ++ subtype2 = GRUB_EFI_DEVICE_PATH_SUBTYPE (dp2); ++ ++ if (subtype1 != subtype2) ++ return (int) subtype1 - (int) subtype2; ++ ++ len1 = GRUB_EFI_DEVICE_PATH_LENGTH (dp1); ++ len2 = GRUB_EFI_DEVICE_PATH_LENGTH (dp2); ++ ++ if (len1 != len2) ++ return (int) len1 - (int) len2; ++ ++ ret = grub_memcmp ((char *)dp1, (char *)dp2, len1); ++ if (ret != 0) ++ return ret; ++ ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp1)) ++ break; ++ ++ dp1 = (grub_efi_device_path_t *) ((char *) dp1 + len1); ++ dp2 = (grub_efi_device_path_t *) ((char *) dp2 + len2); ++ } ++ ++ return 0; ++} ++ ++/* Print the chain of Device Path nodes. This is mainly for debugging. */ ++void ++grub_efi_print_device_path (grub_efi_device_path_t *dp) ++{ ++ while (1) ++ { ++ grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (dp); ++ grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE (dp); ++ grub_efi_uint16_t len = GRUB_EFI_DEVICE_PATH_LENGTH (dp); ++ ++ switch (type) ++ { ++ case GRUB_EFI_END_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE: ++ grub_printf ("/EndEntire\n"); ++ //grub_putchar ('\n'); ++ break; ++ case GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE: ++ grub_printf ("/EndThis\n"); ++ //grub_putchar ('\n'); ++ break; ++ default: ++ grub_printf ("/EndUnknown(%x)\n", (unsigned) subtype); ++ break; ++ } ++ break; ++ ++ case GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_pci_device_path_t pci; ++ grub_memcpy (&pci, dp, len); ++ grub_printf ("/PCI(%x,%x)", ++ (unsigned) pci.function, (unsigned) pci.device); ++ } ++ break; ++ case GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_pccard_device_path_t pccard; ++ grub_memcpy (&pccard, dp, len); ++ grub_printf ("/PCCARD(%x)", ++ (unsigned) pccard.function); ++ } ++ break; ++ case GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_memory_mapped_device_path_t mmapped; ++ grub_memcpy (&mmapped, dp, len); ++ grub_printf ("/MMap(%x,%llx,%llx)", ++ (unsigned) mmapped.memory_type, ++ mmapped.start_address, ++ mmapped.end_address); ++ } ++ break; ++ case GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_vendor_device_path_t vendor; ++ grub_memcpy (&vendor, dp, sizeof (vendor)); ++ grub_printf ("/Vendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", ++ (unsigned) vendor.vendor_guid.data1, ++ (unsigned) vendor.vendor_guid.data2, ++ (unsigned) vendor.vendor_guid.data3, ++ (unsigned) vendor.vendor_guid.data4[0], ++ (unsigned) vendor.vendor_guid.data4[1], ++ (unsigned) vendor.vendor_guid.data4[2], ++ (unsigned) vendor.vendor_guid.data4[3], ++ (unsigned) vendor.vendor_guid.data4[4], ++ (unsigned) vendor.vendor_guid.data4[5], ++ (unsigned) vendor.vendor_guid.data4[6], ++ (unsigned) vendor.vendor_guid.data4[7]); ++ } ++ break; ++ case GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_controller_device_path_t controller; ++ grub_memcpy (&controller, dp, len); ++ grub_printf ("/Ctrl(%x)", ++ (unsigned) controller.controller_number); ++ } ++ break; ++ default: ++ grub_printf ("/UnknownHW(%x)", (unsigned) subtype); ++ break; ++ } ++ break; ++ ++ case GRUB_EFI_ACPI_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_acpi_device_path_t acpi; ++ grub_memcpy (&acpi, dp, len); ++ grub_printf ("/ACPI(%x,%x)", ++ (unsigned) acpi.hid, ++ (unsigned) acpi.uid); ++ } ++ break; ++ case GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_expanded_acpi_device_path_t eacpi; ++ grub_memcpy (&eacpi, dp, sizeof (eacpi)); ++ grub_printf ("/ACPI("); ++ ++ if (GRUB_EFI_EXPANDED_ACPI_HIDSTR (dp)[0] == '\0') ++ grub_printf ("%x,", (unsigned) eacpi.hid); ++ else ++ grub_printf ("%s,", GRUB_EFI_EXPANDED_ACPI_HIDSTR (dp)); ++ ++ if (GRUB_EFI_EXPANDED_ACPI_UIDSTR (dp)[0] == '\0') ++ grub_printf ("%x,", (unsigned) eacpi.uid); ++ else ++ grub_printf ("%s,", GRUB_EFI_EXPANDED_ACPI_UIDSTR (dp)); ++ ++ if (GRUB_EFI_EXPANDED_ACPI_CIDSTR (dp)[0] == '\0') ++ grub_printf ("%x)", (unsigned) eacpi.cid); ++ else ++ grub_printf ("%s)", GRUB_EFI_EXPANDED_ACPI_CIDSTR (dp)); ++ } ++ break; ++ default: ++ grub_printf ("/UnknownACPI(%x)", (unsigned) subtype); ++ break; ++ } ++ break; ++ ++ case GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_atapi_device_path_t atapi; ++ grub_memcpy (&atapi, dp, len); ++ grub_printf ("/ATAPI(%x,%x,%x)", ++ (unsigned) atapi.primary_secondary, ++ (unsigned) atapi.slave_master, ++ (unsigned) atapi.lun); ++ } ++ break; ++ case GRUB_EFI_SCSI_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_scsi_device_path_t scsi; ++ grub_memcpy (&scsi, dp, len); ++ grub_printf ("/SCSI(%x,%x)", ++ (unsigned) scsi.pun, ++ (unsigned) scsi.lun); ++ } ++ break; ++ case GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_fibre_channel_device_path_t fc; ++ grub_memcpy (&fc, dp, len); ++ grub_printf ("/FibreChannel(%llx,%llx)", ++ fc.wwn, fc.lun); ++ } ++ break; ++ case GRUB_EFI_1394_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_1394_device_path_t firewire; ++ grub_memcpy (&firewire, dp, len); ++ grub_printf ("/1394(%llx)", firewire.guid); ++ } ++ break; ++ case GRUB_EFI_USB_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_usb_device_path_t usb; ++ grub_memcpy (&usb, dp, len); ++ grub_printf ("/USB(%x,%x)", ++ (unsigned) usb.parent_port_number, ++ (unsigned) usb.interface); ++ } ++ break; ++ case GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_usb_class_device_path_t usb_class; ++ grub_memcpy (&usb_class, dp, len); ++ grub_printf ("/USBClass(%x,%x,%x,%x,%x)", ++ (unsigned) usb_class.vendor_id, ++ (unsigned) usb_class.product_id, ++ (unsigned) usb_class.device_class, ++ (unsigned) usb_class.device_subclass, ++ (unsigned) usb_class.device_protocol); ++ } ++ break; ++ case GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_i2o_device_path_t i2o; ++ grub_memcpy (&i2o, dp, len); ++ grub_printf ("/I2O(%x)", (unsigned) i2o.tid); ++ } ++ break; ++ case GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_mac_address_device_path_t mac; ++ grub_memcpy (&mac, dp, len); ++ grub_printf ("/MacAddr(%x:%x:%x:%x:%x:%x,%x)", ++ (unsigned) mac.mac_address[0], ++ (unsigned) mac.mac_address[1], ++ (unsigned) mac.mac_address[2], ++ (unsigned) mac.mac_address[3], ++ (unsigned) mac.mac_address[4], ++ (unsigned) mac.mac_address[5], ++ (unsigned) mac.if_type); ++ } ++ break; ++ case GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_ipv4_device_path_t ipv4; ++ grub_memcpy (&ipv4, dp, len); ++ grub_printf ("/IPv4(%u.%u.%u.%u,%u.%u.%u.%u,%u,%u,%x,%x)", ++ (unsigned) ipv4.local_ip_address[0], ++ (unsigned) ipv4.local_ip_address[1], ++ (unsigned) ipv4.local_ip_address[2], ++ (unsigned) ipv4.local_ip_address[3], ++ (unsigned) ipv4.remote_ip_address[0], ++ (unsigned) ipv4.remote_ip_address[1], ++ (unsigned) ipv4.remote_ip_address[2], ++ (unsigned) ipv4.remote_ip_address[3], ++ (unsigned) ipv4.local_port, ++ (unsigned) ipv4.remote_port, ++ (unsigned) ipv4.protocol, ++ (unsigned) ipv4.static_ip_address); ++ } ++ break; ++ case GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_ipv6_device_path_t ipv6; ++ grub_memcpy (&ipv6, dp, len); ++ grub_printf ("/IPv6(%x:%x:%x:%x:%x:%x:%x:%x,%x:%x:%x:%x:%x:%x:%x:%x,%u,%u,%x,%x)", ++ (unsigned) ipv6.local_ip_address[0], ++ (unsigned) ipv6.local_ip_address[1], ++ (unsigned) ipv6.local_ip_address[2], ++ (unsigned) ipv6.local_ip_address[3], ++ (unsigned) ipv6.local_ip_address[4], ++ (unsigned) ipv6.local_ip_address[5], ++ (unsigned) ipv6.local_ip_address[6], ++ (unsigned) ipv6.local_ip_address[7], ++ (unsigned) ipv6.remote_ip_address[0], ++ (unsigned) ipv6.remote_ip_address[1], ++ (unsigned) ipv6.remote_ip_address[2], ++ (unsigned) ipv6.remote_ip_address[3], ++ (unsigned) ipv6.remote_ip_address[4], ++ (unsigned) ipv6.remote_ip_address[5], ++ (unsigned) ipv6.remote_ip_address[6], ++ (unsigned) ipv6.remote_ip_address[7], ++ (unsigned) ipv6.local_port, ++ (unsigned) ipv6.remote_port, ++ (unsigned) ipv6.protocol, ++ (unsigned) ipv6.static_ip_address); ++ } ++ break; ++ case GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_infiniband_device_path_t ib; ++ grub_memcpy (&ib, dp, len); ++ grub_printf ("/InfiniBand(%x,%llx,%llx,%llx)", ++ (unsigned) ib.port_gid[0], /* XXX */ ++ ib.remote_id, ++ ib.target_port_id, ++ ib.device_id); ++ } ++ break; ++ case GRUB_EFI_UART_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_uart_device_path_t uart; ++ grub_memcpy (&uart, dp, len); ++ grub_printf ("/UART(%llu,%u,%x,%x)", ++ uart.baud_rate, ++ uart.data_bits, ++ uart.parity, ++ uart.stop_bits); ++ } ++ break; ++ case GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_vendor_messaging_device_path_t vendor; ++ grub_memcpy (&vendor, dp, sizeof (vendor)); ++ grub_printf ("/Vendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", ++ (unsigned) vendor.vendor_guid.data1, ++ (unsigned) vendor.vendor_guid.data2, ++ (unsigned) vendor.vendor_guid.data3, ++ (unsigned) vendor.vendor_guid.data4[0], ++ (unsigned) vendor.vendor_guid.data4[1], ++ (unsigned) vendor.vendor_guid.data4[2], ++ (unsigned) vendor.vendor_guid.data4[3], ++ (unsigned) vendor.vendor_guid.data4[4], ++ (unsigned) vendor.vendor_guid.data4[5], ++ (unsigned) vendor.vendor_guid.data4[6], ++ (unsigned) vendor.vendor_guid.data4[7]); ++ } ++ break; ++ default: ++ grub_printf ("/UnknownMessaging(%x)", (unsigned) subtype); ++ break; ++ } ++ break; ++ ++ case GRUB_EFI_MEDIA_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_hard_drive_device_path_t hd; ++ grub_memcpy (&hd, dp, len); ++ grub_printf ("/HD(%u,%llx,%llx,%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x)", ++ hd.partition_number, ++ hd.partition_start, ++ hd.partition_size, ++ (unsigned) hd.partition_signature[3], ++ (unsigned) hd.partition_signature[2], ++ (unsigned) hd.partition_signature[1], ++ (unsigned) hd.partition_signature[0], ++ (unsigned) hd.partition_signature[5], ++ (unsigned) hd.partition_signature[4], ++ (unsigned) hd.partition_signature[7], ++ (unsigned) hd.partition_signature[6], ++ (unsigned) hd.partition_signature[9], ++ (unsigned) hd.partition_signature[8], ++ (unsigned) hd.partition_signature[10], ++ (unsigned) hd.partition_signature[11], ++ (unsigned) hd.partition_signature[12], ++ (unsigned) hd.partition_signature[13], ++ (unsigned) hd.partition_signature[14], ++ (unsigned) hd.partition_signature[15]); ++ } ++ break; ++ case GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_cdrom_device_path_t cd; ++ grub_memcpy (&cd, dp, len); ++ grub_printf ("/CD(%u,%llx,%llx)", ++ cd.boot_entry, ++ cd.partition_start, ++ cd.partition_size); ++ } ++ break; ++ case GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_vendor_media_device_path_t vendor; ++ grub_memcpy (&vendor, dp, sizeof (vendor)); ++ grub_printf ("/Vendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", ++ (unsigned) vendor.vendor_guid.data1, ++ (unsigned) vendor.vendor_guid.data2, ++ (unsigned) vendor.vendor_guid.data3, ++ (unsigned) vendor.vendor_guid.data4[0], ++ (unsigned) vendor.vendor_guid.data4[1], ++ (unsigned) vendor.vendor_guid.data4[2], ++ (unsigned) vendor.vendor_guid.data4[3], ++ (unsigned) vendor.vendor_guid.data4[4], ++ (unsigned) vendor.vendor_guid.data4[5], ++ (unsigned) vendor.vendor_guid.data4[6], ++ (unsigned) vendor.vendor_guid.data4[7]); ++ } ++ break; ++ case GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_file_path_device_path_t *fp; ++ grub_uint8_t buf[(len - 4) * 2 + 1]; ++ fp = (grub_efi_file_path_device_path_t *) dp; ++ *grub_utf16_to_utf8 (buf, fp->path_name, ++ (len - 4) / sizeof (grub_efi_char16_t)) ++ = '\0'; ++ grub_printf ("/File(%s)", buf); ++ } ++ break; ++ case GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_protocol_device_path_t proto; ++ grub_memcpy (&proto, dp, sizeof (proto)); ++ grub_printf ("/Protocol(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)", ++ (unsigned) proto.guid.data1, ++ (unsigned) proto.guid.data2, ++ (unsigned) proto.guid.data3, ++ (unsigned) proto.guid.data4[0], ++ (unsigned) proto.guid.data4[1], ++ (unsigned) proto.guid.data4[2], ++ (unsigned) proto.guid.data4[3], ++ (unsigned) proto.guid.data4[4], ++ (unsigned) proto.guid.data4[5], ++ (unsigned) proto.guid.data4[6], ++ (unsigned) proto.guid.data4[7]); ++ } ++ break; ++ default: ++ grub_printf ("/UnknownMedia(%x)", (unsigned) subtype); ++ break; ++ } ++ break; ++ ++ case GRUB_EFI_BIOS_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_bios_device_path_t bios; ++ grub_memcpy (&bios, dp, sizeof (bios)); ++ grub_printf ("/BIOS(%x,%x,%s)", ++ (unsigned) bios.device_type, ++ (unsigned) bios.status_flags, ++ (char *) (dp + 1)); ++ } ++ break; ++ default: ++ grub_printf ("/UnknownBIOS(%x)", (unsigned) subtype); ++ break; ++ } ++ break; ++ ++ default: ++ grub_printf ("/UnknownType(%x,%x)\n", ++ (unsigned) type, ++ (unsigned) subtype); ++ return; ++ break; ++ } ++ ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp)) ++ break; ++ ++ dp = (grub_efi_device_path_t *) ((char *) dp + len); ++ } ++} ++ ++static inline int ++dpname_matches(char *str, char *candidate) ++{ ++ grub_size_t clen = grub_strlen(candidate); ++ char scratch[clen + 2]; ++ int rc; ++ ++ grub_strncpy(scratch, candidate, clen); ++ scratch[clen+1] = '\0'; ++ if (scratch[clen-1] == '$') ++ { ++ scratch[--clen] = '\0'; ++ rc = !grub_strncasecmp(str, scratch, clen); ++ return rc; ++ } ++ ++ grub_strncpy(scratch+clen, "(", 2); ++ clen = grub_strlen(scratch); ++ rc = !grub_strncasecmp(str, scratch, clen); ++ return rc; ++} ++ ++static void ++finish_param_parse(char *pos, char **end, char *tmp) ++{ ++ if (!pos || !end || !tmp) ++ return; ++ ++ if (*end) ++ **end = *tmp; ++} ++ ++static char * ++get_next_param(char *pos, char **end, char *tmp) ++{ ++ char *comma = NULL; ++ char *openparen = NULL; ++ char *closeparen = NULL; ++ ++ if (!pos || !end || !tmp) ++ return NULL; ++ ++ if (*end) ++ **end = *tmp; ++ ++ openparen = grub_strchr(pos, '('); ++ if (openparen && *openparen) ++ { ++ pos = grub_strnchr(openparen + 1, ' '); ++ comma = grub_strchr(pos, ','); ++ closeparen = grub_strchr(pos, ')'); ++ ++ if (comma && *comma) ++ { ++ *tmp = *comma; ++ *comma = '\0'; ++ *end = comma; ++ } ++ else if (closeparen && *closeparen) ++ { ++ *tmp = *closeparen; ++ *closeparen = '\0'; ++ *end = closeparen; ++ } ++ return pos; ++ } ++ ++ comma = grub_strchr(pos, ','); ++ if (comma && *comma) ++ { ++ pos = grub_strnchr(comma + 1, ' '); ++ comma = grub_strchr(pos, ','); ++ closeparen = grub_strchr(pos, ')'); ++ ++ if (comma && *comma) ++ { ++ *tmp = *comma; ++ *comma = '\0'; ++ *end = comma; ++ } ++ else if (closeparen && *closeparen) ++ { ++ *tmp = *closeparen; ++ *closeparen = '\0'; ++ *end = closeparen; ++ } ++ return pos; ++ } ++ ++ closeparen = grub_strchr(pos, ')'); ++ if (closeparen && *closeparen) ++ pos = grub_strnchr(closeparen + 1, ' '); ++ ++ return pos; ++} ++ ++struct generic_device_path ++ { ++ grub_efi_uint8_t type; ++ grub_efi_uint8_t subtype; ++ grub_efi_uint16_t length; ++ } __attribute__((packed)); ++ ++struct hd_media_device_path ++ { ++ grub_efi_uint8_t type; ++ grub_efi_uint8_t subtype; ++ grub_efi_uint16_t length; ++ grub_efi_uint32_t partition; ++ grub_efi_uint64_t startlba; ++ grub_efi_uint64_t size; ++ grub_efi_uint8_t signature[16]; ++ grub_efi_uint8_t mbr_type; ++ grub_efi_uint8_t signature_type; ++ } __attribute__((packed)); ++ ++static inline int ++parse_device_path_component(const char *orig_str, void *data) ++{ ++ int orig_str_len = strlen(orig_str) + 1; ++ char str[orig_str_len]; ++ char tmp; ++ char *pos = str; ++ int ret = 0; ++ ++ grub_strcpy(str, orig_str); ++ if (dpname_matches(str, "pci")) ++ { ++ } ++ else if (dpname_matches(str, "pccard")) ++ { ++ } ++ else if (dpname_matches(str, "mmap")) ++ { ++ } ++ else if (dpname_matches(str, "ctrl")) ++ { ++ } ++ else if (dpname_matches(str, "acpi")) ++ { ++ } ++ /* XXX what about _ADR? */ ++ /* messaging device paths */ ++ else if (dpname_matches(str, "atapi")) ++ { ++ } ++ else if (dpname_matches(str, "scsi")) ++ { ++ } ++ else if (dpname_matches(str, "fibrechannel")) ++ { ++ } ++ else if (dpname_matches(str, "1394")) ++ { ++ } ++ else if (dpname_matches(str, "usb")) ++ { ++ } ++ else if (dpname_matches(str, "sata")) ++ { ++ } ++ /* XXX what about usb-wwid */ ++ /* XXX what about lun */ ++ else if (dpname_matches(str, "usbclass")) ++ { ++ } ++ else if (dpname_matches(str, "i2o")) ++ { ++ } ++ else if (dpname_matches(str, "macaddr")) ++ { ++ } ++ else if (dpname_matches(str, "ipv4")) ++ { ++ } ++ else if (dpname_matches(str, "ipv6")) ++ { ++ } ++ /* XXX what about vlan */ ++ else if (dpname_matches(str, "infiniband")) ++ { ++ } ++ else if (dpname_matches(str, "uart")) ++ { ++ } ++ else if (dpname_matches(str, "uartflowctrl")) ++ { ++ } ++ else if (dpname_matches(str, "sas")) ++ { ++ } ++ else if (dpname_matches(str, "iscsi")) ++ { ++ } ++ /* media device paths */ ++ else if (dpname_matches(str, "hd")) ++ { ++ /* these look roughly like: ++ * HD(Partition,Type,Signature,Start, Size) ++ * but: ++ * - type may be optional. 1 or "MBR" means MBR. 2 or "GPT" means GPT. ++ * - start and size are optional ++ * - there can be random spaces ++ */ ++ struct hd_media_device_path hddp; ++ unsigned long tmpul; ++ char *end = NULL, c; ++ char tmps[19] = "0x"; ++ char *tmpsp; ++ ++ ret = 42; ++ ++ hddp.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE; ++ hddp.subtype = GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE; ++ hddp.length = ret; ++ ++ //pos += grub_strcspn(pos, '('); ++ pos = get_next_param(pos, &end, &c); ++ if (!*pos) ++ { ++broken_hd: ++ finish_param_parse(pos, &end, &c); ++ return 0; ++ } ++ grub_strncpy(tmps+2, pos, 16); ++ tmps[18] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ hddp.partition = tmpul; ++ ++ pos = get_next_param(pos, &end, &c); ++ if (!*pos) ++ goto broken_hd; ++ grub_strcpy(tmps+2, pos); ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ hddp.startlba = tmpul; ++ ++ pos = get_next_param(pos, &end, &c); ++ if (!*pos) ++ goto broken_hd; ++ grub_strcpy(tmps+2, pos); ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ hddp.size = tmpul; ++ ++ pos = get_next_param(pos, &end, &c); ++ if (!*pos) ++ goto broken_hd; ++ if (!grub_strcmp(pos, "None")) ++ { ++ hddp.signature_type = 0; ++ grub_memset(hddp.signature, '\0', sizeof(hddp.signature)); ++ } ++ else if (grub_strnlen(pos, 36) == 8) ++ { ++ grub_efi_uint32_t tmpu32; ++ grub_strncpy(tmps+2, pos, 8); ++ tmps[10] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu32 = tmpul; ++ hddp.signature_type = 1; ++ grub_memcpy(hddp.signature, &tmpu32, sizeof(tmpu32)); ++ } ++ else if (grub_strnlen(pos, 36) == 36) ++ { ++ grub_efi_uint32_t tmpu32; ++ grub_efi_uint16_t tmpu16; ++ grub_efi_uint8_t tmpu8; ++ ++ grub_strncpy(tmps+2, pos, 8); ++ tmps[10] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu32 = tmpul; ++ grub_memcpy(hddp.signature, &tmpu32, sizeof(tmpu32)); ++ ++ grub_strncpy(tmps+2, pos+9, 4); ++ tmps[6] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu16 = tmpul; ++ grub_memcpy(hddp.signature + 4, &tmpu16, sizeof(tmpu16)); ++ ++ grub_strncpy(tmps+2, pos+14, 4); ++ tmps[6] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu16 = tmpul; ++ grub_memcpy(hddp.signature + 6, &tmpu16, sizeof(tmpu16)); ++ ++ /* these are displayed like a u16, but they're a u8. thanks. */ ++ grub_strncpy(tmps+2, pos+19, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 8, &tmpu8, sizeof(tmpu8)); ++ grub_strncpy(tmps+2, pos+21, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 9, &tmpu8, sizeof(tmpu8)); ++ ++ grub_strncpy(tmps+2, pos+24, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 10, &tmpu8, sizeof(tmpu8)); ++ ++ grub_strncpy(tmps+2, pos+26, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 11, &tmpu8, sizeof(tmpu8)); ++ ++ grub_strncpy(tmps+2, pos+28, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 12, &tmpu8, sizeof(tmpu8)); ++ ++ grub_strncpy(tmps+2, pos+30, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 13, &tmpu8, sizeof(tmpu8)); ++ ++ grub_strncpy(tmps+2, pos+32, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 14, &tmpu8, sizeof(tmpu8)); ++ ++ grub_strncpy(tmps+2, pos+34, 2); ++ tmps[4] = '\0'; ++ tmpsp = tmps; ++ safe_parse_maxulong(&tmpsp, &tmpul); ++ tmpu8 = tmpul; ++ grub_memcpy(hddp.signature + 15, &tmpu8, sizeof(tmpu8)); ++ ++ hddp.signature_type = 2; ++ } ++ else ++ goto broken_hd; ++ ++ hddp.mbr_type = hddp.signature_type; ++ ++ if (data) ++ grub_memcpy(data, &hddp, sizeof(hddp)); ++ } ++ else if (dpname_matches(str, "cd")) ++ { ++ } ++ else if (dpname_matches(str, "file")) ++ { ++ } ++ else if (dpname_matches(str, "protocol")) ++ { ++ } ++ /* what about piwg firmware file? */ ++ /* what about piwg firmware volume? */ ++ /* what about relative offset media */ ++ else if (dpname_matches(str, "bios")) ++ { ++ } ++ /* This is the end beautiful friend */ ++ else if (dpname_matches(str, "EndEntire$")) ++ { ++ struct generic_device_path gdp = { ++ .type = GRUB_EFI_END_DEVICE_PATH_TYPE, ++ .subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE, ++ .length = 4 ++ }; ++ ret = 4; ++ if (data) ++ grub_memmove(data, &gdp, sizeof(gdp)); ++ } ++ else if (dpname_matches(str, "EndThis$")) ++ { ++ struct generic_device_path gdp = { ++ .type = GRUB_EFI_END_DEVICE_PATH_TYPE, ++ .subtype = GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE, ++ .length = 4 ++ }; ++ ret = 4; ++ if (data) ++ grub_memmove(data, &gdp, sizeof(gdp)); ++ } ++ else if (dpname_matches(str, "EndUnknown$")) ++ { ++ struct generic_device_path gdp = { ++ .type = GRUB_EFI_END_DEVICE_PATH_TYPE, ++ .subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE, ++ .length = 4 ++ }; ++ ret = 4; ++ if (data) ++ grub_memmove(data, &gdp, sizeof(gdp)); ++ } ++ /* handle anything we didn't recognize */ ++ else if (dpname_matches(str, "vendor")) ++ { ++ /* needs to handle: ++ * 1) hw vendor ++ * 2) messaging vendor ++ * 3) media vendor ++ */ ++ } ++ else ++ { ++ } ++ ++ return ret; ++} ++ ++grub_efi_device_path_t * ++device_path_from_utf8 (const char *device) ++{ ++ grub_size_t device_len; ++ grub_efi_device_path_t *dp = NULL; ++ ++ device_len = parse_device_path_component(device, dp); ++ device_len += parse_device_path_component("EndEntire", dp); ++ dp = grub_malloc(device_len); ++ if (!dp) ++ return NULL; ++ device_len = parse_device_path_component(device, dp); ++ device_len += parse_device_path_component("EndEntire", ++ (void *)((unsigned long)dp + device_len)); ++ ++ ++ return dp; ++} +diff --git a/efi/efigraph.c b/efi/efigraph.c +new file mode 100644 +index 0000000..fc88123 +--- /dev/null ++++ b/efi/efigraph.c +@@ -0,0 +1,1501 @@ ++/* efigraph.c - EFI "graphics output" support for GRUB/EFI */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright 2007 Red Hat, Inc. ++ * Copyright (C) 2007 Intel Corp. ++ * Copyright (C) 2001,2002 Red Hat, Inc. ++ * Portions copyright (C) 2000 Conectiva, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifdef SUPPORT_GRAPHICS ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include "graphics.h" ++#include "xpm.h" ++ ++#define dbgdelay(_f, _l) ({\ ++ if (debug_graphics) { \ ++ do { \ ++ grub_efi_stall(1000); \ ++ } while (console_getkey() < 0); \ ++ } \ ++ }) ++ ++#define dprintf(format, args...) ({ \ ++ if (debug_graphics) { \ ++ struct term_entry *_tt = current_term; \ ++ current_term = term_table; \ ++ grub_printf(format, ##args); \ ++ current_term = _tt; \ ++ } \ ++ }) ++ ++struct grub_pixel_info ++{ ++ char depth_bits; ++ char depth_bytes; ++ unsigned char red_size; ++ unsigned char red_pos; ++ unsigned char green_size; ++ unsigned char green_pos; ++ unsigned char blue_size; ++ unsigned char blue_pos; ++ unsigned char reserved_size; ++ unsigned char reserved_pos; ++ int line_length; ++}; ++ ++typedef struct grub_pixel_info grub_pixel_info_t; ++ ++ ++static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GRAPHICS_OUTPUT_GUID; ++static grub_efi_guid_t pci_io_guid = GRUB_EFI_PCI_IO_GUID; ++ ++#ifndef MIN ++#define MIN(x,y) ( ((x) < (y)) ? (x) : (y)) ++#endif ++#ifndef MAX ++#define MAX(x,y) ( ((x) < (y)) ? (y) : (x)) ++#endif ++ ++#define pixel_equal(x,y) ((x).bgrr.red == (y).bgrr.red && \ ++ (x).bgrr.green == (y).bgrr.green && \ ++ (x).bgrr.blue == (y).bgrr.blue && \ ++ (x).bgrr.reserved == (y).bgrr.reserved) ++ ++struct video_mode { ++ grub_efi_uint32_t number; ++ grub_efi_uintn_t size; ++ grub_efi_graphics_output_mode_information_t *info; ++}; ++ ++#define MAX_PALETTE 16 ++struct eg { ++ struct graphics_backend *backend; ++ grub_efi_graphics_output_t *output_intf; ++ struct video_mode **modes; ++ int max_mode; ++ grub_efi_uint32_t text_mode; ++ grub_efi_uint32_t graphics_mode; ++ grub_pixel_info_t pixel_info; ++ enum { TEXT, GRAPHICS } current_mode; ++ ++ position_t screen_size; ++ position_t screen_pos; ++ ++ struct bltbuf *background; ++ ++ grub_efi_graphics_output_pixel_t palette[MAX_PALETTE + 1]; ++}; ++ ++#define RGB(r,g,b) { .bgrr.red = r, .bgrr.green = g, .bgrr.blue = b } ++ ++static grub_efi_graphics_output_pixel_t cga_colors[] = { ++ RGB(0x00,0x00,0x00), // 0 Black ++ RGB(0x7f,0x00,0x00), // 1 Dark Red ++ RGB(0x00,0x7f,0x00), // 2 Dark Green ++ RGB(0x7f,0x7f,0x00), // 3 Dark Yellow ++ RGB(0x00,0x00,0x7f), // 4 Dark Blue ++ RGB(0x7f,0x00,0x7f), // 5 Dark Magenta ++ RGB(0x00,0x7f,0x7f), // 6 Dark Cyan ++ RGB(0xc0,0xc0,0xc0), // 7 Light Grey ++ RGB(0x7f,0x7f,0x7f), // 8 Dark Grey ++ RGB(0xff,0x00,0x00), // 9 Red ++ RGB(0x00,0xff,0x00), // 10 Green ++ RGB(0xff,0xff,0x00), // 11 Yellow ++ RGB(0x00,0x00,0xff), // 12 Blue ++ RGB(0xff,0x00,0xff), // 13 Magenta ++ RGB(0x00,0xff,0xff), // 14 Cyan ++ RGB(0xff,0xff,0xff), // 15 White ++ RGB(0xff,0xff,0xff), // 16 Also white ;) ++}; ++ ++static const int n_cga_colors = sizeof (cga_colors) / sizeof (cga_colors[0]); ++ ++static void ++find_bits (unsigned long mask, unsigned char *first, ++ unsigned char* len) ++{ ++ unsigned char bit_pos = 0, bit_len = 0; ++ *first =0; ++ *len = 0; ++ if (mask == 0) ++ return; ++ while (! (mask & 0x1)) { ++ mask = mask >> 1; ++ bit_pos++; ++ } ++ while (mask & 0x1) { ++ mask = mask >> 1; ++ bit_len++; ++ } ++ *first = bit_pos; ++ *len = bit_len; ++} ++ ++static grub_efi_graphics_output_mode_information_t * ++get_graphics_mode_info_for_mode(struct eg *eg, int mode) ++{ ++ int i; ++ ++ for (i = 0; i < eg->max_mode; i++) { ++ if (eg->modes[i] == NULL) ++ continue; ++ if (eg->modes[i]->number == mode) ++ return eg->modes[i]->info; ++ } ++ return NULL; ++} ++ ++static grub_efi_graphics_output_mode_information_t * ++get_graphics_mode_info(struct eg *eg) ++{ ++ return get_graphics_mode_info_for_mode(eg, eg->graphics_mode); ++} ++ ++static void ++print_mode_info(struct video_mode *mode) ++{ ++ grub_efi_graphics_output_mode_information_t *info = mode->info; ++ dprintf("mode %d (%dx%d, pitch %d, ", ++ mode->number, ++ info->horizontal_resolution, ++ info->vertical_resolution, ++ info->pixels_per_scan_line); ++ switch(info->pixel_format) { ++ case GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR: ++ dprintf("rgbr 8bpc"); ++ break; ++ case GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR: ++ dprintf("bgrr 8bpc"); ++ break; ++ case GRUB_EFI_PIXEL_BIT_MASK: ++ dprintf("bitmask color"); ++ break; ++ case GRUB_EFI_PIXEL_BLT_ONLY: ++ dprintf("blt only"); ++ break; ++ } ++ dprintf(")\n"); ++ if (info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { ++ dprintf("red: %08x green: %08x blue: %08x res: %08x\n", ++ info->pixel_information.red_mask, ++ info->pixel_information.green_mask, ++ info->pixel_information.blue_mask, ++ info->pixel_information.reserved_mask); ++ } ++} ++ ++static void ++set_kernel_params(struct graphics_backend *backend, ++ struct linux_kernel_params *params) ++{ ++ struct eg *eg; ++ ++ if (!backend || !backend->priv) ++ return; ++ ++ eg = backend->priv; ++ grub_efi_graphics_output_t *gop_intf = NULL; ++ grub_efi_graphics_output_mode_t *gop_mode = NULL; ++ grub_efi_status_t efi_status = GRUB_EFI_SUCCESS; ++ grub_efi_graphics_output_mode_information_t *gop_info = NULL; ++ grub_efi_uintn_t size; ++ ++ gop_intf = grub_efi_locate_protocol (&graphics_output_guid, NULL); ++ if (gop_intf == NULL) ++ return; ++ ++ gop_mode = gop_intf->mode; ++ ++ efi_status = Call_Service_4 (gop_intf->query_mode, ++ gop_intf, gop_mode->mode, &size, &gop_info); ++ ++ ++ if (efi_status == GRUB_EFI_SUCCESS) { ++ /* No VBE on EFI. */ ++ params->lfb_width = gop_info->horizontal_resolution; ++ params->lfb_height = gop_info->vertical_resolution; ++ params->lfb_base = gop_mode->frame_buffer_base; ++ params->lfb_size = gop_mode->frame_buffer_size; ++ params->lfb_pages = 1; ++ params->vesapm_segment = 0; ++ params->vesapm_offset = 0; ++ params->vesa_attrib = 0; ++ if (gop_info->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) { ++ params->lfb_depth = 32; ++ params->red_mask_size = 8; ++ params->red_field_pos = 0; ++ params->green_mask_size = 8; ++ params->green_field_pos = 8; ++ params->blue_mask_size = 8; ++ params->blue_field_pos = 16; ++ params->reserved_mask_size = 8; ++ params->reserved_field_pos = 24; ++ params->lfb_line_len = gop_info->pixels_per_scan_line * 4; ++ } else if (gop_info->pixel_format == ++ GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) { ++ params->lfb_depth = 32; ++ params->red_mask_size = 8; ++ params->red_field_pos = 16; ++ params->green_mask_size = 8; ++ params->green_field_pos = 8; ++ params->blue_mask_size = 8; ++ params->blue_field_pos = 0; ++ params->reserved_mask_size = 8; ++ params->reserved_field_pos = 24; ++ params->lfb_line_len = gop_info->pixels_per_scan_line * 4; ++ } else if (gop_info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { ++ find_bits (gop_info->pixel_information.red_mask, ++ ¶ms->red_field_pos, ¶ms->red_mask_size); ++ find_bits (gop_info->pixel_information.green_mask, ++ ¶ms->green_field_pos, ¶ms->green_mask_size); ++ find_bits (gop_info->pixel_information.blue_mask, ++ ¶ms->blue_field_pos, ¶ms->blue_mask_size); ++ find_bits (gop_info->pixel_information.reserved_mask, ++ ¶ms->reserved_field_pos, ¶ms->reserved_mask_size); ++ params->lfb_depth = params->red_mask_size ++ + params->green_mask_size ++ + params->blue_mask_size ++ + params->reserved_mask_size; ++ params->lfb_line_len = ++ (gop_info->pixels_per_scan_line * params->lfb_depth) / 8; ++ } else { ++ params->lfb_depth = 4; ++ params->red_mask_size = 0; ++ params->red_field_pos = 0; ++ params->green_mask_size = 0; ++ params->green_field_pos = 0; ++ params->blue_mask_size = 0; ++ params->blue_field_pos = 0; ++ params->reserved_mask_size = 0; ++ params->reserved_field_pos = 0; ++ params->lfb_line_len = params->lfb_width / 2; ++ } ++#if 0 ++ params->video_cursor_x = 0; ++ params->video_cursor_y = 0; ++ params->video_page = 0; ++ params->video_mode = 0; ++ params->video_width = 0; ++ params->video_ega_bx = 0; ++ params->video_height = 0; ++ params->have_vga = 0x70; ++ params->font_size = 0; ++#else ++ params->video_cursor_x = grub_efi_system_table->con_out->mode->cursor_column; ++ params->video_cursor_y = grub_efi_system_table->con_out->mode->cursor_row; ++ params->video_page = 0; /* ??? */ ++ params->video_mode = grub_efi_system_table->con_out->mode->mode; ++ params->video_width = (grub_console_getwh () >> 8); ++ params->video_ega_bx = 0; ++ params->video_height = (grub_console_getwh () & 0xff); ++ params->have_vga = VIDEO_TYPE_EFI; ++ params->font_size = 16; /* XXX */ ++#endif ++ } ++} ++ ++static void ++pixel_to_rgb(grub_efi_graphics_output_pixel_t *pixel, ++ int *red, int *green, int *blue) ++{ ++ *red = pixel->bgrr.red; ++ *green = pixel->bgrr.green; ++ *blue = pixel->bgrr.blue; ++} ++ ++static void ++rgb_to_pixel(int red, int green, int blue, ++ grub_efi_graphics_output_pixel_t *pixel) ++{ ++ pixel->bgrr.red = red; ++ pixel->bgrr.green = green; ++ pixel->bgrr.blue = blue; ++} ++ ++static void ++position_to_phys(struct eg *eg, position_t *virt, position_t *phys) ++{ ++ phys->x = virt->x + eg->screen_pos.x; ++ phys->y = virt->y + eg->screen_pos.y; ++} ++ ++static int ++abs_paddr(struct eg *eg, position_t *virt) ++{ ++ position_t phys; ++ position_to_phys(eg, virt, &phys); ++ return phys.x + phys.y * eg->screen_size.x; ++} ++ ++struct bltbuf { ++ grub_efi_uintn_t width; ++ grub_efi_uintn_t height; ++ grub_efi_graphics_output_pixel_t pixbuf[]; ++}; ++ ++static struct bltbuf *alloc_bltbuf(grub_efi_uintn_t width, ++ grub_efi_uintn_t height) ++{ ++ struct bltbuf *buf = NULL; ++ grub_efi_uintn_t pixbuf_size = width * height * ++ sizeof (grub_efi_graphics_output_pixel_t); ++ ++ if (!(buf = grub_malloc(sizeof(buf->width) + sizeof(buf->height) + ++ pixbuf_size))) ++ return NULL; ++ ++ buf->width = width; ++ buf->height = height; ++ grub_memset(buf->pixbuf, '\0', pixbuf_size); ++ return buf; ++} ++ ++ ++static void ++hw_blt_pos_to_screen_pos(struct eg *eg, struct bltbuf *bltbuf, ++ position_t *bltpos, position_t *bltsz, position_t *pos) ++{ ++ position_t phys; ++ ++ position_to_phys(eg, pos, &phys); ++ ++ Call_Service_10(eg->output_intf->blt, eg->output_intf, (void *)bltbuf->pixbuf, ++ GRUB_EFI_BLT_BUFFER_TO_VIDEO, ++ bltpos->x, bltpos->y, ++ phys.x, phys.y, ++ bltsz->x, bltsz->y, ++ 0); ++} ++ ++static void ++blt_pos_to_screen_pos(struct eg *eg, struct bltbuf *bltbuf, ++ position_t *bltpos, position_t *bltsz, position_t *pos) ++{ ++ grub_efi_graphics_output_mode_information_t *info = get_graphics_mode_info(eg); ++ grub_efi_graphics_output_pixel_t *pixel; ++ position_t phys; ++ const int pxlstride = info->pixels_per_scan_line; ++ const int bytestride = pxlstride * sizeof (*pixel); ++ ++ position_to_phys(eg, pos, &phys); ++ ++ if (info->pixel_format == GRUB_EFI_PIXEL_BLT_ONLY || 1) { ++ hw_blt_pos_to_screen_pos(eg, bltbuf, bltpos, bltsz, pos); ++#if 0 ++ } else if (info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { ++ int y; ++ grub_pixel_info_t *pinfo = &eg->pixel_info; ++ const int maxpixels = ++ MIN(info->horizontal_resolution - pos->x, bltsz->x); ++ ++ for (y = bltpos->y; y < bltpos->y + bltsz->y; y++, phys.y++) { ++ char raw_pixels[maxpixels * pinfo->depth_bytes]; ++ char *fb = (char *)(unsigned long)eg->output_intf->mode->frame_buffer_base; ++ int x; ++ ++ pixel = (void *)&bltbuf->pixbuf[y * bltbuf->width + bltpos->x]; ++ fb += phys.y * pinfo->line_length + phys.x * pinfo->depth_bytes; ++ ++ for (x = 0; x < maxpixels; x++) { ++ char depth_bytes = pinfo->depth_bytes; ++ char *raw_pixel = raw_pixels + x * depth_bytes; ++ ++ int red, green, blue, color; ++ char *colorp; ++ ++#if 0 ++ red = pixel[x].bgrr.red & 0x3f; ++ green = pixel[x].bgrr.green & 0x3f; ++ blue = pixel[x].bgrr.blue & 0x3f; ++ red = red * ((1 << pinfo->red_size) - 1) / 0x3f; ++ green = green * ((1 << pinfo->green_size) - 1) / 0x3f; ++ blue = blue * ((1 << pinfo->blue_size) - 1) / 0x3f; ++#else ++ red = pixel[x].bgrr.red; ++ green = pixel[x].bgrr.green; ++ blue = pixel[x].bgrr.blue; ++ ++ red >>= 8 - pinfo->red_size; ++ green >>= 8 - pinfo->green_size; ++ blue >>= 8 - pinfo->blue_size; ++#endif ++ ++ color = (red << pinfo->red_pos) | ++ (green << pinfo->green_pos) | ++ (blue << pinfo->blue_pos); ++ colorp = (void *)&color; ++ while (depth_bytes--) ++ *raw_pixel++ = *colorp++; ++ } ++ memmove(fb, raw_pixels, maxpixels * pinfo->depth_bytes); ++ } ++#endif ++ } else { ++ int y; ++ grub_pixel_info_t *pinfo = &eg->pixel_info; ++ const int maxpixels = ++ MIN(info->horizontal_resolution - pos->x, bltsz->x); ++ ++ //char *line = &fb[phys.y * bytestride + phys.x * sizeof(*pixel)]; ++ for (y = bltpos->y; y < bltpos->y + bltsz->y; y++, phys.y++) { ++ char raw_pixels[maxpixels * sizeof(*pixel)]; ++ char *fb = (char *)(unsigned long)eg->output_intf->mode->frame_buffer_base; ++ int x; ++ ++ pixel = (void *)&bltbuf->pixbuf[y * bltbuf->width + bltpos->x]; ++ fb += phys.y * pinfo->line_length + phys.x * pinfo->depth_bytes; ++ ++ if (info->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) { ++ memmove(raw_pixels, pixel, maxpixels * sizeof (*pixel)); ++ continue; ++ } else if (info->pixel_format==GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) { ++ grub_efi_graphics_output_pixel_t shadow[maxpixels]; ++ for (x = 0; x < maxpixels; x++) { ++ shadow[x].rgbr.red = pixel[x].bgrr.red; ++ shadow[x].rgbr.green = pixel[x].bgrr.green; ++ shadow[x].rgbr.blue = pixel[x].bgrr.blue; ++ } ++ ++ memmove(raw_pixels, shadow, maxpixels * sizeof (*pixel)); ++ } else if (info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) { ++ for (x = 0; x < maxpixels; x++) { ++ char depth_bytes = pinfo->depth_bytes; ++ char *raw_pixel = raw_pixels + x * depth_bytes; ++ ++ int red, green, blue, color; ++ char *colorp; ++ ++#if 0 ++ red = pixel[x].bgrr.red & 0x3f; ++ green = pixel[x].bgrr.green & 0x3f; ++ blue = pixel[x].bgrr.blue & 0x3f; ++ red = red * ((1 << pinfo->red_size) - 1) / 0x3f; ++ green = green * ((1 << pinfo->green_size) - 1) / 0x3f; ++ blue = blue * ((1 << pinfo->blue_size) - 1) / 0x3f; ++#else ++ red = pixel[x].bgrr.red; ++ green = pixel[x].bgrr.green; ++ blue = pixel[x].bgrr.blue; ++ ++ red >>= 8 - pinfo->red_size; ++ green >>= 8 - pinfo->green_size; ++ blue >>= 8 - pinfo->blue_size; ++#endif ++ ++ color = (red << pinfo->red_pos) | ++ (green << pinfo->green_pos) | ++ (blue << pinfo->blue_pos); ++ colorp = (void *)&color; ++ while (depth_bytes--) ++ *raw_pixel++ = *colorp++; ++ } ++ } ++ memmove(fb, raw_pixels, maxpixels * pinfo->depth_bytes); ++ } ++ } ++} ++ ++static void ++blt_to_screen(struct eg *eg, struct bltbuf *bltbuf) ++{ ++#if 0 ++ position_t addr = {0, 0}; ++ ++ position_to_phys(eg, &addr, &addr); ++ ++ Call_Service_10(eg->output_intf->blt, eg->output_intf, bltbuf->pixbuf, ++ GRUB_EFI_BLT_BUFFER_TO_VIDEO, ++ 0, 0, ++ addr.x, addr.y, ++ bltbuf->width, bltbuf->height, ++ 0); ++#else ++ const int pxlstride = eg->output_intf->mode->info->pixels_per_scan_line; ++ position_t bltsz, bltpos = { 0, 0 }, pos = { 0, 0 }; ++ bltsz.x = MIN(bltbuf->width, pxlstride); ++ bltsz.y = MIN(bltbuf->height, eg->output_intf->mode->info->vertical_resolution); ++ ++ blt_pos_to_screen_pos(eg, bltbuf, &bltpos, &bltsz, &pos); ++#endif ++} ++ ++static void ++blt_to_screen_pos(struct eg *eg, struct bltbuf *bltbuf, position_t *pos) ++{ ++ position_t bltpos = {0, 0}; ++ position_t bltsz = { bltbuf->width, bltbuf->height }; ++ blt_pos_to_screen_pos(eg, bltbuf, &bltpos, &bltsz, pos); ++} ++ ++static int ++save_video_mode(struct eg *eg, struct video_mode *mode) ++{ ++ grub_efi_status_t status; ++ ++ ++ ++ status = Call_Service_4(eg->output_intf->query_mode, eg->output_intf, ++ mode->number, &mode->size, &mode->info); ++ return status == GRUB_EFI_SUCCESS; ++} ++ ++static void ++get_screen_size(struct graphics_backend *backend, position_t *size) ++{ ++ struct eg *eg = backend->priv; ++ grub_efi_graphics_output_mode_information_t *info; ++ ++ info = get_graphics_mode_info(eg); ++ ++ size->x = info->horizontal_resolution; ++ size->y = info->vertical_resolution; ++} ++ ++static void ++bltbuf_set_pixel(struct bltbuf *bltbuf, position_t *pos, ++ grub_efi_graphics_output_pixel_t *pixel) ++{ ++ if (pos->x < 0 || pos->x >= bltbuf->width) ++ return; ++ if (pos->x < 0 || pos->y >= bltbuf->height) ++ return; ++ grub_memmove(&bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], pixel, ++ sizeof *pixel); ++} ++ ++static void ++bltbuf_get_pixel(struct bltbuf *bltbuf, position_t *pos, ++ grub_efi_graphics_output_pixel_t *pixel) ++{ ++ if (bltbuf && pos->x < bltbuf->width && pos->y < bltbuf->height) { ++ grub_memmove(pixel, &bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], ++ sizeof *pixel); ++ } else { ++ pixel->bgrr.red = 0x00; ++ pixel->bgrr.green = 0x00; ++ pixel->bgrr.blue = 0x00; ++ } ++} ++ ++static void ++bltbuf_set_pixel_rgb(struct bltbuf *bltbuf, position_t *pos, ++ int red, int green, int blue) ++{ ++ grub_efi_graphics_output_pixel_t pixel; ++ rgb_to_pixel(red, green, blue, &pixel); ++ bltbuf_set_pixel(bltbuf, pos, &pixel); ++} ++ ++static void ++bltbuf_set_pixel_idx(struct eg *eg, struct bltbuf *bltbuf, ++ position_t *pos, int idx) ++{ ++ bltbuf_set_pixel(bltbuf, pos, &eg->palette[idx]); ++} ++ ++static void ++bltbuf_get_pixel_idx(struct bltbuf *bltbuf, position_t *pos, int *idx) ++{ ++ grub_efi_graphics_output_pixel_t pixel; ++ ++ rgb_to_pixel(0, 0, 0, &pixel); ++ bltbuf_get_pixel(bltbuf, pos, &pixel); ++ for (*idx = 0; *idx < 16; (*idx)++) { ++ if (pixel_equal(cga_colors[*idx], pixel)) ++ break; ++ } ++} ++ ++static struct bltbuf * ++xpm_to_bltbuf(struct xpm *xpm) ++{ ++ struct bltbuf *bltbuf = NULL; ++ position_t pos; ++ ++ if (!(bltbuf = alloc_bltbuf(xpm->width, xpm->height))) ++ return NULL; ++ ++ for (pos.y = 0; pos.y < xpm->height; pos.y++) { ++ for (pos.x = 0; pos.x < xpm->width; pos.x++) { ++ xpm_pixel_t xpl; ++ unsigned char idx; ++ ++ idx = xpm_get_pixel_idx(xpm, pos.x, pos.y); ++ xpm_get_idx(xpm, idx, &xpl); ++ ++ bltbuf_set_pixel_rgb(bltbuf, &pos, xpl.red, xpl.green, xpl.blue); ++ } ++ } ++ ++ return bltbuf; ++} ++ ++static void ++cursor(struct graphics_backend *backend, int set) ++{ ++ struct eg *eg; ++ int ch, invert; ++ unsigned short *text; ++ position_t fpos, screensz; ++ int offset; ++ ++ eg = backend->priv; ++ ++ if (set && !graphics_get_scroll()) ++ return; ++ ++ text = graphics_get_text_buf(); ++ graphics_get_font_position(&fpos); ++ graphics_get_screen_rowscols(&screensz); ++ ++ offset = fpos.y * screensz.x + fpos.x; ++ ++ if (set) ++ text[offset] |= 0x0200; ++ ++ graphics_clbl(fpos.x, fpos.y, 1, 1, 1); ++ ++ if (set) ++ text[offset] &= 0xfdff; ++} ++ ++static void blank(struct graphics_backend *backend); ++ ++static void ++reset_screen_geometry(struct graphics_backend *backend) ++{ ++ struct eg *eg = backend->priv; ++ struct xpm *xpm = graphics_get_splash_xpm(); ++ grub_efi_graphics_output_mode_information_t *info; ++ position_t screensz; ++ ++ info = get_graphics_mode_info(eg); ++ ++ if (xpm) { ++ eg->screen_pos.x = ++ (info->horizontal_resolution - xpm->width) / 2; ++ eg->screen_pos.y = ++ (info->vertical_resolution - xpm->height) / 2; ++ } else { ++ eg->screen_pos.x = 0; ++ eg->screen_pos.y = 0; ++ } ++ ++ blank(backend); ++ graphics_get_screen_rowscols(&screensz); ++ graphics_clbl(0, 0, screensz.x, screensz.y, 0); ++ graphics_clbl(0, 0, screensz.x, screensz.y, 1); ++} ++ ++static void ++setxy(struct graphics_backend *backend, position_t *pos) ++{ ++ position_t fpos; ++ ++ fpos.x = pos->x; ++ fpos.y = pos->y; ++ graphics_set_font_position(&fpos); ++} ++ ++static void ++eg_getxy(struct graphics_backend *backend, position_t *pos) ++{ ++ graphics_get_font_position(pos); ++} ++ ++static void ++draw_pixel(struct graphics_backend *backend, position_t *pos, pixel_t *pixel) ++{ ++ struct bltbuf *bltbuf = NULL; ++ grub_efi_graphics_output_pixel_t *eup = (grub_efi_graphics_output_pixel_t *)pixel; ++ ++ bltbuf = alloc_bltbuf(1,1); ++ if (!bltbuf) ++ return; ++ ++ grub_memmove(&bltbuf->pixbuf[0], eup, sizeof (*eup)); ++ ++ blt_to_screen_pos(backend->priv, bltbuf, pos); ++ ++ grub_free(bltbuf); ++} ++ ++static pixel_t * ++get_pixel_idx(struct graphics_backend *backend, int idx) ++{ ++ static grub_efi_graphics_output_pixel_t pixel; ++ struct eg *eg = backend->priv; ++ if (idx < 0 || idx > MAX_PALETTE) ++ return NULL; ++ pixel.bgrr.red = eg->palette[idx].bgrr.red; ++ pixel.bgrr.green = eg->palette[idx].bgrr.green; ++ pixel.bgrr.blue = eg->palette[idx].bgrr.blue; ++ return (pixel_t *)&pixel; ++} ++ ++static pixel_t * ++get_pixel_rgb(struct graphics_backend *backend, int red, int green, int blue) ++{ ++ static grub_efi_graphics_output_pixel_t pixel; ++ rgb_to_pixel(red, green, blue, &pixel); ++ return &pixel; ++} ++ ++static void ++set_palette(struct graphics_backend *backend, int idx, ++ int red, int green, int blue) ++{ ++ grub_efi_graphics_output_pixel_t pixel; ++ struct eg *eg = backend->priv; ++ ++ if (idx > MAX_PALETTE) ++ return; ++ rgb_to_pixel(red, green, blue, &pixel); ++ grub_memmove(&eg->palette[idx], &pixel, sizeof pixel); ++} ++ ++static void ++blank(struct graphics_backend *backend) ++{ ++ struct eg *eg = backend->priv; ++ struct bltbuf *bltbuf; ++ position_t pos = {0, 0}; ++ grub_efi_graphics_output_mode_information_t *info; ++ grub_efi_uintn_t x, y, i, j; ++ unsigned char r = 0 ,g = 0; ++ ++ info = get_graphics_mode_info(eg); ++ x = info->horizontal_resolution; ++ y = info->vertical_resolution; ++ ++ if (x == 0 || y == 0) ++ return; ++ ++ bltbuf = alloc_bltbuf(x, y); ++ for (j = 0; j < y; j++) { ++ if (debug_graphics && j % 16 == 0) { ++ g = g == 0 ? 7 : 0; ++ r = g == 0 ? 7 : 0; ++ } ++ for (i = 0; i < x; i++) { ++ if (debug_graphics && i % 16 == 0) { ++ g = g == 0 ? 7 : 0; ++ r = g == 0 ? 7 : 0; ++ } ++ pos.x = i; ++ pos.y = j; ++ bltbuf_set_pixel_rgb(bltbuf, &pos, r * 16, g * 16, 0x0); ++ } ++ } ++ ++ blt_to_screen(eg, bltbuf); ++ ++ grub_free(bltbuf); ++} ++ ++ ++static void ++draw_white_box(struct graphics_backend *backend) ++{ ++ struct eg *eg = backend->priv; ++ struct bltbuf *bltbuf; ++ position_t pos = {0, 0}, bltpos = {0, 0}, bltsz = {100,100}; ++ ++ bltbuf = alloc_bltbuf(bltsz.x, bltsz.y); ++ for (pos.y = 0; pos.y < bltsz.y; pos.y++) { ++ for (pos.x = 0; pos.x < bltsz.x; pos.x++) { ++ bltbuf_set_pixel_rgb(bltbuf, &pos, 0xff, 0xff, 0xff); ++ } ++ } ++ ++ blt_pos_to_screen_pos(eg, bltbuf, &bltpos, &bltsz, &pos); ++ ++#if 0 ++ Call_Service_10(eg->output_intf->blt, eg->output_intf, bltbuf->pixbuf, ++ GRUB_EFI_BLT_BUFFER_TO_VIDEO, 0, 0, 100, 100, x, y, 0); ++#endif ++ ++ grub_free(bltbuf); ++} ++ ++static void ++bltbuf_cp_bl(struct bltbuf *d, position_t dpos, ++ struct bltbuf *s, position_t spos) ++{ ++ grub_efi_graphics_output_pixel_t *dp, *sp; ++ ++ const int xavail = MAX(0, s ? s->width - spos.x : 0); ++ const int xtotal = MAX(0, d->width - dpos.x); ++ const int xcp = MAX(0, MIN(xtotal, xavail)); ++ const int xcl = MAX(0, xtotal - xcp); ++ ++ const int yavail = MAX(0, s ? s->height - spos.y : 0); ++ const int ytotal = MAX(0, d->height - dpos.y); ++ const int ycp = MAX(0, MIN(ytotal, yavail)); ++ const int ycl = MAX(0, ytotal - ycp); ++ ++ int y, x; ++ ++ for (y = 0; y < ytotal; y++) { ++ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x]; ++ ++ if (y < yavail) { ++ sp = &s->pixbuf[(spos.y + y) * s->width + spos.x]; ++ memmove(dp, sp, xcp * sizeof (*dp)); ++ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x + xcp]; ++ memset(dp, '\0', xcl * sizeof (*dp)); ++ } else { ++ memset(dp, '\0', xtotal * sizeof (*dp)); ++ } ++ } ++} ++ ++/* copy a region the size of bltbuf from the background into bltbuf, ++ * starting at offset bgpos ++ */ ++static void ++bltbuf_draw_bg(struct graphics_backend *backend, struct bltbuf *bltbuf, ++ position_t bgpos) ++{ ++ struct eg *eg = backend->priv; ++ position_t blpos = { 0, 0 }; ++ ++ bltbuf_cp_bl(bltbuf, blpos, eg->background, bgpos); ++} ++ ++static void ++dbg_dump_palette(struct graphics_backend *backend) ++{ ++ struct eg *eg; ++ int i; ++ if (!backend || !backend->priv) ++ return; ++ eg = backend->priv; ++ if (!eg->palette) ++ return; ++} ++ ++static int ++is_shadow_pixel(position_t screensz, position_t textpos, position_t bitpos, ++ position_t fontsz) ++{ ++ unsigned short *text = graphics_get_text_buf(); ++ const unsigned char *glyph; ++ position_t glyphpos = { textpos.x, textpos.y }; ++ position_t glyphbit = { bitpos.x, bitpos.y }; ++ unsigned short ch; ++ ++ if (glyphbit.x == 0) { ++ glyphbit.x = fontsz.x; ++ glyphpos.x--; ++ } ++ if (glyphbit.y == 0) { ++ glyphbit.y = fontsz.y; ++ glyphpos.y--; ++ } ++ glyphbit.x--; ++ glyphbit.y--; ++ ++ if (glyphpos.x < 0 || glyphpos.y < 0) ++ return 0; ++ ++ ch = text[glyphpos.y * screensz.x + glyphpos.x] & 0xff; ++ glyph = font8x16 + (ch << 4); ++ return glyph[glyphbit.y] & (1 << ((fontsz.x-1) - glyphbit.x)); ++} ++ ++static void ++bltbuf_draw_character(struct graphics_backend *backend, ++ struct bltbuf *bltbuf, /* the bltbuf to draw into */ ++ position_t target, /* the position in the bltbuf to draw to */ ++ position_t fontsz, /* the size of the font, in pixels */ ++ position_t charpos, /* the position of the character in the text ++ screen buffer */ ++ position_t screensz, /* the size of the screen in characters */ ++ unsigned short ch /* the character to draw, plus flags */ ++ ) ++{ ++ struct eg *eg = backend->priv; ++ position_t blpos; ++ position_t glyphpos; ++ ++ blpos.y = target.y; ++ for (glyphpos.y = 0; glyphpos.y < fontsz.y; glyphpos.y++, blpos.y++) { ++ blpos.x = target.x; ++ for (glyphpos.x = 0; glyphpos.x < fontsz.x; glyphpos.x++, blpos.x++) { ++ int invert = (ch & 0x0100) != 0; ++ int set = (ch & 0x0200) != 0; ++ const unsigned char *glyph = font8x16 + ((ch & 0xff) << 4); ++ int bit = glyph[glyphpos.y] & (1 << ((fontsz.x-1) - glyphpos.x)); ++ int idx = -1; ++ ++ if (!set) { ++ if (invert) ++ idx = bit ? 0 : 15; ++ else if (bit) ++ idx = 15; ++ ++ if (idx == -1) { ++ if (is_shadow_pixel(screensz, charpos, glyphpos, fontsz) || ++ !eg->background) ++ idx = invert ? 15 : 0; ++ } ++ } else { ++ idx = bit ? 0 : 15; ++ } ++ ++ if (idx != -1) ++ bltbuf_set_pixel_idx(eg, bltbuf, &blpos, idx); ++ } ++ } ++} ++ ++static void ++bltbuf_draw_text(struct graphics_backend *backend, ++ struct bltbuf *bltbuf, /* the buffer to draw into */ ++ position_t screensz, /* the size of the screen in characters */ ++ position_t fontsz, /* the size of the font in pixels */ ++ position_t txtpos, /* the position of the text on the screen ++ (in characters) */ ++ position_t txtsz /* the size of the block to fill in ++ (in characters) */ ++ ) ++{ ++ struct eg *eg = backend->priv; ++ unsigned short *text = graphics_get_text_buf(); ++ position_t charpos; ++ ++ for (charpos.y = txtpos.y; charpos.y < txtpos.y + txtsz.y; charpos.y++) { ++ for (charpos.x = txtpos.x; charpos.x < txtpos.x + txtsz.x; charpos.x++){ ++ int offset = charpos.y * screensz.x + charpos.x; ++ position_t blpos = { (charpos.x-txtpos.x)*fontsz.x, ++ (charpos.y-txtpos.y)*fontsz.y }; ++ ++ bltbuf_draw_character(backend, bltbuf, blpos, fontsz, charpos, ++ screensz, text[offset]); ++ } ++ } ++} ++ ++static void ++clbl(struct graphics_backend *backend, int col, int row, int width, int height, ++ int draw_text) ++{ ++ struct eg *eg = backend->priv; ++ struct xpm *xpm; ++ ++ struct bltbuf *bltbuf; ++ position_t fontsz, blpos, blsz, screensz; ++ unsigned short *text; ++ ++// blank(backend); ++// ++ xpm = graphics_get_splash_xpm(); ++ if (xpm && !eg->background) ++ eg->background = xpm_to_bltbuf(xpm); ++ ++ graphics_get_screen_rowscols(&screensz); ++ width = MIN(width, screensz.x - col); ++ height = MIN(height, screensz.y - row); ++ graphics_get_font_size(&fontsz); ++ ++ blsz.x = width * fontsz.x; ++ blsz.y = height * fontsz.y; ++ ++ bltbuf = alloc_bltbuf(blsz.x, blsz.y); ++ if (!bltbuf) ++ return; ++ ++ blsz.x = col * fontsz.x; ++ blsz.y = row * fontsz.y; ++ ++ text = graphics_get_text_buf(); ++ bltbuf_draw_bg(backend, bltbuf, blsz); ++ ++ if (draw_text) { ++ blsz.x = width; ++ blsz.y = height; ++ blpos.x = col; ++ blpos.y = row; ++ ++ bltbuf_draw_text(backend, bltbuf, screensz, fontsz, blpos, blsz); ++ } ++ ++ blpos.x = col * fontsz.x; ++ blpos.y = row * fontsz.y; ++ ++ blt_to_screen_pos(eg, bltbuf, &blpos); ++} ++ ++static void ++setup_cga_palette(struct eg *eg) ++{ ++ rgb_to_pixel(0x00,0x00,0x00, &eg->palette[0]); // 0 Black ++ rgb_to_pixel(0x7f,0x00,0x00, &eg->palette[1]); // 1 Dark Red ++ rgb_to_pixel(0x00,0x7f,0x00, &eg->palette[2]); // 2 Dark Green ++ rgb_to_pixel(0x7f,0x7f,0x00, &eg->palette[3]); // 3 Dark Yellow ++ rgb_to_pixel(0x00,0x00,0x7f, &eg->palette[4]); // 4 Dark Blue ++ rgb_to_pixel(0x7f,0x00,0x7f, &eg->palette[5]); // 5 Dark Magenta ++ rgb_to_pixel(0x00,0x7f,0x7f, &eg->palette[6]); // 6 Dark Cyan ++ rgb_to_pixel(0xc0,0xc0,0xc0, &eg->palette[7]); // 7 Light Grey ++ rgb_to_pixel(0x7f,0x7f,0x7f, &eg->palette[8]); // 8 Dark Grey ++ rgb_to_pixel(0xff,0x00,0x00, &eg->palette[9]); // 9 Red ++ rgb_to_pixel(0x00,0xff,0x00, &eg->palette[10]); // 10 Green ++ rgb_to_pixel(0xff,0xff,0x00, &eg->palette[11]); // 11 Yellow ++ rgb_to_pixel(0x00,0x00,0xff, &eg->palette[12]); // 12 Blue ++ rgb_to_pixel(0xff,0x00,0xff, &eg->palette[13]); // 13 Magenta ++ rgb_to_pixel(0x00,0xff,0xff, &eg->palette[14]); // 14 Cyan ++ rgb_to_pixel(0xff,0xff,0xff, &eg->palette[15]); // 15 White ++ rgb_to_pixel(0xff,0xff,0xff, &eg->palette[16]); // 16 Also white ;) ++} ++ ++static grub_efi_status_t ++set_video_mode(struct eg *eg, int mode) ++{ ++ grub_efi_status_t efi_status; ++ efi_status = Call_Service_2(eg->output_intf->set_mode, eg->output_intf, mode); ++ return efi_status; ++} ++ ++static void disable(struct graphics_backend *backend) ++{ ++ struct eg *eg; ++ ++ if (!backend) ++ return; ++ ++ eg = backend->priv; ++ if (!eg || eg->current_mode != GRAPHICS) ++ return; ++ ++#if 0 ++ blank(backend); ++ ++ set_video_mode(eg, eg->text_mode); ++ grub_efi_set_text_mode(1); ++#endif ++ eg->current_mode = TEXT; ++} ++ ++static int ++fill_pixel_info (grub_pixel_info_t *pixel_info, ++ grub_efi_graphics_output_mode_information_t *mode_info) ++{ ++ if (mode_info->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) ++ { ++ pixel_info->depth_bits = 32; ++ pixel_info->depth_bytes = 4; ++ pixel_info->red_size = 8; ++ pixel_info->red_pos = 0; ++ pixel_info->green_size = 8; ++ pixel_info->green_pos = 8; ++ pixel_info->blue_size = 8; ++ pixel_info->blue_pos = 16; ++ pixel_info->reserved_size = 8; ++ pixel_info->reserved_pos = 24; ++ pixel_info->line_length = mode_info->pixels_per_scan_line * 4; ++ } ++ else if (mode_info->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) ++ { ++ pixel_info->depth_bits = 32; ++ pixel_info->depth_bytes = 4; ++ pixel_info->red_size = 8; ++ pixel_info->red_pos = 16; ++ pixel_info->green_size = 8; ++ pixel_info->green_pos = 8; ++ pixel_info->blue_size = 8; ++ pixel_info->blue_pos = 0; ++ pixel_info->reserved_size = 8; ++ pixel_info->reserved_pos = 24; ++ pixel_info->line_length = mode_info->pixels_per_scan_line * 4; ++ } ++ else if (mode_info->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) ++ { ++ find_bits (mode_info->pixel_information.red_mask, ++ &pixel_info->red_pos, &pixel_info->red_size); ++ find_bits (mode_info->pixel_information.green_mask, ++ &pixel_info->green_pos, &pixel_info->green_size); ++ find_bits (mode_info->pixel_information.blue_mask, ++ &pixel_info->blue_pos, &pixel_info->blue_size); ++ find_bits (mode_info->pixel_information.reserved_mask, ++ &pixel_info->reserved_pos, &pixel_info->reserved_size); ++ pixel_info->depth_bits = pixel_info->red_size + pixel_info->green_size + ++ pixel_info->blue_size + pixel_info->reserved_size; ++ pixel_info->depth_bytes = (pixel_info->depth_bits + 7) / 8; ++ pixel_info->line_length = mode_info->pixels_per_scan_line * ++ pixel_info->depth_bytes; ++ } ++ else ++ return 0; ++ return 1; ++} ++ ++/* 1 = prefer a ++ * 0 = prefer neither ++ * -1 = prefer b ++ */ ++static int ++modecmp_helper(struct eg *eg, struct video_mode *amode, struct video_mode *bmode) ++{ ++ grub_efi_graphics_output_mode_information_t *a = amode->info; ++ grub_efi_graphics_output_mode_information_t *b = bmode->info; ++ ++ if (a != NULL && b == NULL) ++ return 1; ++ if (a == NULL && b == NULL) ++ return 0; ++ if (a == NULL && b != NULL) ++ return -1; ++ ++#if 0 ++ if (amode->number == eg->graphics_mode && bmode->number != eg->graphics_mode) ++ return 1; ++ if (amode->number == eg->graphics_mode && bmode->number == eg->graphics_mode) ++ return 0; ++ if (amode->number != eg->graphics_mode && bmode->number == eg->graphics_mode) ++ return -1; ++#endif ++ ++ ++ /* kernel doesn't deal with blt only modes, so prefer against them. */ ++ if (a->pixel_format != GRUB_EFI_PIXEL_BLT_ONLY && ++ b->pixel_format == GRUB_EFI_PIXEL_BLT_ONLY) ++ return 1; ++ if (b->pixel_format != GRUB_EFI_PIXEL_BLT_ONLY && ++ a->pixel_format == GRUB_EFI_PIXEL_BLT_ONLY) ++ return -1; ++ ++ /* XXX PJFIX there's something wrong with what we're passing to the ++ * kernel for stride in the bgrr/rgbr modes, and I haven't figured out ++ * just what yet, so for now, prefer bitmask modes. ++ */ ++ if (a->pixel_format == GRUB_EFI_PIXEL_BIT_MASK && ++ b->pixel_format != GRUB_EFI_PIXEL_BIT_MASK) ++ return 1; ++ if (a->pixel_format != GRUB_EFI_PIXEL_BIT_MASK && ++ b->pixel_format == GRUB_EFI_PIXEL_BIT_MASK) ++ return -1; ++ ++ if (a->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR && ++ b->pixel_format != GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) ++ return 1; ++ if (a->pixel_format != GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR && ++ b->pixel_format == GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR) ++ return -1; ++ ++ if (a->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR && ++ b->pixel_format != GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) ++ return 1; ++ if (a->pixel_format != GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR && ++ b->pixel_format == GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR) ++ return -1; ++ ++ if (a->horizontal_resolution > b->horizontal_resolution && ++ a->vertical_resolution > b->vertical_resolution) ++ return 1; ++ if (a->horizontal_resolution < b->horizontal_resolution && ++ a->vertical_resolution < b->vertical_resolution) ++ return -1; ++ return 0; ++} ++ ++static int ++modecmp(struct eg *eg, struct video_mode *amode, struct video_mode *bmode) ++{ ++ int rc; ++#if 0 ++ grub_efi_graphics_output_mode_information_t *a = amode->info; ++ grub_efi_graphics_output_mode_information_t *b = bmode->info; ++#endif ++ rc = modecmp_helper(eg, amode, bmode); ++#if 0 ++ grub_printf("comparing nodes:\n"); ++ print_mode_info(amode); ++ print_mode_info(bmode); ++ if (rc > 0) ++ grub_printf("result: a > b\n"); ++ else if (rc < 0) ++ grub_printf("result: a < b\n"); ++ else ++ grub_printf("result: a == b\n"); ++ ++ //dbgdelay(__FILE__, __LINE__); ++#endif ++ return rc; ++} ++ ++static void ++modeswap(struct video_mode *amode, struct video_mode *bmode) ++{ ++ struct video_mode tmp; ++ ++ memcpy(&tmp, amode, sizeof (tmp)); ++ memcpy(amode, bmode, sizeof (tmp)); ++ memcpy(bmode, &tmp, sizeof(tmp)); ++} ++ ++static void ++sort_modes(struct eg *eg, int p, int r) ++{ ++ struct video_mode **modes = eg->modes; ++ ++ int i, j; ++ for (i = 0; i < eg->max_mode; i++) { ++ for (j = i + 1; j < eg->max_mode; j++) { ++ if (modecmp(eg, modes[j], modes[i]) < 0) ++ modeswap(modes[j], modes[i]); ++ } ++ } ++} ++ ++static int ++try_enable(struct graphics_backend *backend) ++{ ++ struct eg *eg = backend->priv; ++ grub_efi_status_t efi_status = GRUB_EFI_UNSUPPORTED; ++ int i; ++ ++ if (eg->text_mode == 0xffffffff) { ++ grub_efi_set_text_mode(1); ++ eg->text_mode = eg->output_intf->mode->mode; ++ } ++ ++ if (eg->graphics_mode == 0xffffffff) { ++ grub_efi_graphics_output_mode_information_t *info; ++ ++ if (!graphics_alloc_text_buf()) ++ return 0; ++ ++ grub_efi_set_text_mode(0); ++ eg->graphics_mode = eg->output_intf->mode->mode; ++ grub_efi_set_text_mode(1); ++#if 0 ++ dprintf("graphics mode is %d\n", eg->graphics_mode); ++ /* this is okay here because we haven't sorted yet.*/ ++ print_mode_info(eg->modes[eg->graphics_mode]); ++ dprintf("text mode is %d\n", eg->text_mode); ++ print_mode_info(eg->modes[eg->text_mode]); ++#endif ++ ++ sort_modes(eg, 0, eg->max_mode-1); ++ ++#if 0 ++ for (i = eg->max_mode - 1; i >= 0; i--) ++ print_mode_info(eg->modes[i]); ++ dbgdelay(__FILE__, __LINE__); ++#endif ++ ++ efi_status = GRUB_EFI_UNSUPPORTED; ++ ++ for (i = eg->max_mode - 1; i >= 0; i--) { ++ if (!eg->modes[i]) ++ continue; ++ ++ info = eg->modes[i]->info; ++ ++#if 0 ++ if (info->pixel_format != GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR && ++ info->pixel_format != GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR && ++ info->pixel_format != GRUB_EFI_PIXEL_BIT_MASK) { ++ continue; ++ } ++#endif ++ ++ grub_efi_set_text_mode(0); ++ efi_status = set_video_mode(eg, eg->modes[i]->number); ++ if (efi_status == GRUB_EFI_SUCCESS) { ++#if 0 ++ grub_efi_set_text_mode(1); ++ dprintf("switched to mode %d successfully\n", ++ eg->modes[i]->number); ++ dbgdelay(__FILE__,__LINE__); ++ grub_efi_set_text_mode(0); ++#endif ++ eg->graphics_mode = eg->modes[i]->number; ++ fill_pixel_info(&eg->pixel_info, info); ++ break; ++ } else { ++#if 0 ++ set_video_mode(eg, eg->text_mode); ++ grub_efi_set_text_mode(1); ++ dprintf("return code was %d\n", efi_status); ++#endif ++ } ++ } ++ if (efi_status != GRUB_EFI_SUCCESS) { ++#if 1 ++ grub_efi_set_text_mode(1); ++ set_video_mode(eg, eg->text_mode); ++#endif ++ return 0; ++ } ++ ++ } ++ ++ eg->current_mode = GRAPHICS; ++ return 1; ++} ++ ++static int ++enable(struct graphics_backend *backend) ++{ ++ struct eg *eg = backend->priv; ++ int i; ++ ++ if (eg) { ++ if (eg->current_mode == GRAPHICS) { ++ return 1; ++ } ++ } else { ++ grub_efi_status_t efi_status; ++ grub_efi_handle_t *handle, *handles; ++ grub_efi_uintn_t num_handles; ++ grub_efi_pci_io_t *pci_proto; ++ ++ if (!(eg = grub_malloc(sizeof (*eg)))) ++ return 0; ++ ++ grub_memset(eg, '\0', sizeof (*eg)); ++ ++ eg->backend = backend; ++ eg->current_mode = TEXT; ++ ++ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, ++ &graphics_output_guid, ++ NULL, &num_handles); ++ ++ if (!num_handles || !handles) ++ goto fail; ++ ++ for (handle = handles; num_handles--; handle++) ++ { ++ pci_proto = grub_efi_open_protocol (*handle, &pci_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ if (!pci_proto) ++ continue; ++ ++ eg->output_intf = grub_efi_open_protocol (*handle, ++ &graphics_output_guid, GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ if (eg->output_intf) ++ { ++ grub_efi_setup_gfx_pci(*handle); ++ break; ++ } ++ } ++ ++ grub_free(handles); ++ ++ if (!eg->output_intf) ++ eg->output_intf = grub_efi_locate_protocol(&graphics_output_guid, NULL); ++ ++ if (!eg->output_intf) ++ goto fail; ++ ++ eg->text_mode = eg->graphics_mode = 0xffffffff; ++ ++ eg->max_mode = eg->output_intf->mode->max_mode; ++ eg->modes = grub_malloc(eg->max_mode * sizeof (void *)); ++ if (!eg->modes) ++ goto fail; ++ memset(eg->modes, '\0', eg->max_mode * sizeof (void *)); ++ ++ for (i = 0; i < eg->max_mode; i++) { ++ eg->modes[i] = grub_malloc(sizeof eg->modes[0]); ++ if (!eg->modes[i]) ++ goto fail; ++ memset(eg->modes[i], '\0', sizeof (eg->modes[0])); ++ eg->modes[i]->number = i; ++ ++ efi_status = Call_Service_4(eg->output_intf->query_mode, ++ eg->output_intf, i, &eg->modes[i]->size, ++ &eg->modes[i]->info); ++ if (efi_status == GRUB_EFI_NOT_STARTED) { ++ /* The firmware didn't turn on GRAPHICS_OUTPUT_PROTOCOL, so ++ * try to do so ourselves. Thanks, Intel. */ ++ set_video_mode(eg, eg->output_intf->mode->mode); ++ efi_status = Call_Service_4(eg->output_intf->query_mode, ++ eg->output_intf, i, &eg->modes[i]->size, ++ &eg->modes[i]->info); ++ } ++ if (efi_status != GRUB_EFI_SUCCESS) { ++ grub_free(eg->modes[i]); ++ eg->modes[i] = NULL; ++ //eg->max_mode = i; ++ break; ++ } ++ } ++ ++ backend->priv = eg; ++ setup_cga_palette(eg); ++ for (i = 0; i < n_cga_colors; i++) { ++ eg->palette[i].bgrr.red = cga_colors[i].bgrr.red; ++ eg->palette[i].bgrr.green = cga_colors[i].bgrr.green; ++ eg->palette[i].bgrr.blue = cga_colors[i].bgrr.blue; ++ } ++ } ++ ++ if (try_enable(backend)) { ++ reset_screen_geometry(backend); ++ return 1; ++ } ++ ++fail: ++ backend->priv = NULL; ++ if (eg->modes) { ++ for (i = 0; i < eg->max_mode; i++) { ++ if (eg->modes[i]) ++ grub_free(eg->modes[i]); ++ } ++ grub_free(eg->modes); ++ } ++ grub_free(eg); ++ return 0; ++} ++ ++struct graphics_backend eg_backend = { ++ .name = "eg", ++ .enable = enable, ++ .disable = disable, ++ .set_kernel_params = set_kernel_params, ++ .clbl = clbl, ++ .set_palette = set_palette, ++ .get_pixel_idx = get_pixel_idx, ++ .get_pixel_rgb = get_pixel_rgb, ++ .draw_pixel = draw_pixel, ++ .reset_screen_geometry = reset_screen_geometry, ++ .get_screen_size = get_screen_size, ++ .getxy = eg_getxy, ++ .setxy = setxy, ++ .gotoxy = NULL, ++ .cursor = cursor, ++}; ++ ++#endif /* SUPPORT_GRAPHICS */ +diff --git a/efi/efimain.c b/efi/efimain.c +new file mode 100644 +index 0000000..e1a1e66 +--- /dev/null ++++ b/efi/efimain.c +@@ -0,0 +1,129 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2007 Intel Corp. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "pxe.h" ++ ++#define GRUB_SCRATCH_MEM_PAGES (GRUB_SCRATCH_MEM_SIZE >> 12) ++ ++/* Emulation requirements. */ ++void *grub_scratch_mem = NULL; ++ ++#define LOW_STACK_SIZE 0x100000 ++#define LOW_STACK_PAGES (LOW_STACK_SIZE >> 12) ++static void *low_stack, *real_stack; ++ ++extern int grub_test_pxe(grub_efi_loaded_image_t *loaded_image); ++ ++static void ++real_main (void) ++{ ++ grub_efi_loaded_image_t *loaded_image; ++ char *path_name = NULL; ++ ++ loaded_image = grub_efi_get_loaded_image (grub_efi_image_handle); ++ ++ path_name = grub_efi_pxe_get_config_path(loaded_image); ++ ++ if (path_name) { ++ network_ready = 1; ++ ++ grub_set_config_file (path_name); ++ grub_free (path_name); ++ } else { ++ grub_get_drive_partition_from_bdev_handle (loaded_image->device_handle, ++ &boot_drive, ++ &install_partition); ++ path_name = grub_efi_file_path_to_path_name (loaded_image->file_path); ++ ++ if (path_name) ++ { ++ grub_set_config_file (path_name); ++ grub_free (path_name); ++ } ++ ++ grub_load_saved_default (loaded_image->device_handle); ++ } ++ ++ init_bios_info (); ++ while (console_getkey() < 0) ++ grub_efi_stall(1000); ++} ++ ++grub_efi_status_t ++efi_main (grub_efi_handle_t image_handle, grub_efi_system_table_t *sys_tab) ++{ ++ grub_efi_image_handle = image_handle; ++ grub_efi_system_table = sys_tab; ++ grub_efi_init (); ++ ++ grub_scratch_mem = grub_efi_allocate_pages (0, GRUB_SCRATCH_MEM_PAGES); ++ if (! grub_scratch_mem) ++ { ++ grub_printf ("Failed to allocate scratch mem!\n"); ++ return GRUB_EFI_OUT_OF_RESOURCES; ++ } ++ ++ /* If current stack reside in memory region > 2G, switch stack to a ++ memory region < 2G */ ++ if ((unsigned long)&image_handle >= 0x80000000UL) ++ { ++ low_stack = grub_efi_allocate_pages (0, LOW_STACK_PAGES); ++ if (! low_stack) ++ { ++ grub_printf("Failed to allocate low memory stack!\n"); ++ return GRUB_EFI_OUT_OF_RESOURCES; ++ } ++ ++#ifdef __x86_64__ ++ asm volatile ("movq %%rsp, %0\n\tmovq %1, %%rsp\n" ++ : "=&r" (real_stack) : "r" (low_stack+LOW_STACK_SIZE)); ++#else ++ asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n" ++ : "=&r" (real_stack) : "r" (low_stack+LOW_STACK_SIZE)); ++#endif ++ } ++ ++ real_main (); ++ ++ if (real_stack) { ++#ifdef __x86_64__ ++ asm volatile ("movq %0, %%rsp\n" : : "r" (real_stack)); ++#else ++ asm volatile ("movl %0, %%esp\n" : : "r" (real_stack)); ++#endif ++ ++ grub_efi_free_pages ((grub_efi_physical_address_t)(unsigned long) low_stack, ++ LOW_STACK_PAGES); ++ } ++ ++ grub_efi_free_pages ((grub_efi_physical_address_t)(unsigned long)grub_scratch_mem, ++ GRUB_SCRATCH_MEM_PAGES); ++ grub_efi_fini (); ++ ++ return GRUB_EFI_SUCCESS; ++} +diff --git a/efi/efimisc.c b/efi/efimisc.c +new file mode 100644 +index 0000000..480ba25 +--- /dev/null ++++ b/efi/efimisc.c +@@ -0,0 +1,665 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++unsigned long install_partition = 0x20000; ++unsigned long boot_drive = 0x80; ++int saved_entryno = 0; ++char version_string[] = VERSION; ++char config_file[128] = "/boot/grub/menu.lst"; ++unsigned short io_map[IO_MAP_SIZE]; ++struct apm_info apm_bios_info; ++/* The key map. */ ++unsigned short bios_key_map[KEY_MAP_SIZE + 1]; ++unsigned short ascii_key_map[KEY_MAP_SIZE + 1]; ++ ++void ++grub_efi_init (void) ++{ ++ /* First of all, initialize the console so that GRUB can display ++ messages. */ ++ grub_console_init (); ++ /* Initialize the memory management system. */ ++ grub_efi_mm_init (); ++ grub_efidisk_init (); ++} ++ ++void ++grub_efi_fini (void) ++{ ++ grub_efidisk_fini (); ++ grub_efi_mm_fini (); ++ grub_console_fini (); ++} ++ ++void * ++grub_malloc (grub_size_t size) ++{ ++ return grub_efi_allocate_pool (size); ++} ++ ++void ++grub_free (void *p) ++{ ++ grub_efi_free_pool (p); ++} ++ ++char * ++grub_stpcpy (char *dest, const char *src) ++{ ++ char *d = dest; ++ const char *s = src; ++ ++ do ++ *d++ = *s; ++ while (*s++ != '\0'); ++ ++ return d - 1; ++} ++ ++void ++grub_fatal (const char *fmt, ...) ++{ ++ va_list ap; ++ ++ va_start (ap, fmt); ++ grub_vsprintf (NULL, fmt, ap); ++ va_end (ap); ++ ++ grub_exit (); ++} ++ ++void ++grub_real_dprintf (const char *file, const int line, const char *condition, ++ const char *fmt, ...) ++{ ++ va_list args; ++ ++ if (! debug) ++ return; ++ ++ grub_printf ("%s:%d: ", file, line); ++ va_start (args, fmt); ++ grub_vsprintf (0, fmt, args); ++ va_end (args); ++} ++ ++grub_size_t ++grub_utf8_char_len(grub_uint8_t ch) ++{ ++ return ((0xe5000000 >> ((ch >> 3) & 0x1e)) & 3) + 1; ++} ++ ++#define UTF8_SHIFT_AND_MASK(unicode, byte) (unicode)<<=6; (unicode) |= (0x3f & (byte)) ++ ++/* convert utf8 to utf32 */ ++grub_uint32_t ++grub_utf8_to_utf32(const grub_uint8_t *src, grub_size_t length) ++{ ++ grub_uint32_t unicode; ++ ++ switch (length) ++ { ++ case 1: ++ return src[0]; ++ case 2: ++ unicode = src[0] & 0x1f; ++ UTF8_SHIFT_AND_MASK(unicode, src[1]); ++ return unicode; ++ case 3: ++ unicode = src[0] & 0x0f; ++ UTF8_SHIFT_AND_MASK(unicode, src[1]); ++ UTF8_SHIFT_AND_MASK(unicode, src[2]); ++ return unicode; ++ case 4: ++ unicode = src[0] & 0x07; ++ UTF8_SHIFT_AND_MASK(unicode, src[1]); ++ UTF8_SHIFT_AND_MASK(unicode, src[2]); ++ UTF8_SHIFT_AND_MASK(unicode, src[3]); ++ return unicode; ++ default: ++ return 0xffff; ++ } ++} ++ ++/* convert utf8 to utf16 */ ++void ++grub_utf8_to_utf16(const grub_uint8_t *src, grub_size_t srclen, ++ grub_uint16_t *dst, grub_size_t dstlen) ++{ ++ const grub_uint8_t *end = src + srclen; ++ grub_efi_char16_t *dstend = dst + dstlen; ++ ++ while (src < end && dst < dstend) ++ { ++ grub_size_t len = grub_utf8_char_len(*src); ++ /* get the utf32 codepoint */ ++ grub_uint32_t codepoint = grub_utf8_to_utf32(src, len); ++ ++ /* convert that codepoint to utf16 codepoints */ ++ if (codepoint <= 0xffff) ++ { ++ /* it's a single utf16 character */ ++ *dst++ = (grub_efi_char16_t) codepoint; ++ } ++ else ++ { ++ /* it's multiple utf16 characters, with surrogate pairs */ ++ codepoint = codepoint - 0x10000; ++ *dst++ = (grub_efi_char16_t) ((codepoint >> 10) + 0xd800); ++ *dst++ = (grub_efi_char16_t) ((codepoint & 0x3ff) + 0xdc00); ++ } ++ ++ src += len; ++ } ++ ++ if (dst < dstend) ++ *dst = 0; ++} ++ ++/* Convert UTF-16 to UTF-8. */ ++grub_uint8_t * ++grub_utf16_to_utf8 (grub_uint8_t *dest, grub_uint16_t *src, ++ grub_size_t size) ++{ ++ grub_uint32_t code_high = 0; ++ ++ while (size--) ++ { ++ grub_uint32_t code = *src++; ++ ++ if (code_high) ++ { ++ if (code >= 0xDC00 && code <= 0xDFFF) ++ { ++ /* Surrogate pair. */ ++ code = ((code_high - 0xD800) << 12) + (code - 0xDC00) + 0x10000; ++ ++ *dest++ = (code >> 18) | 0xF0; ++ *dest++ = ((code >> 12) & 0x3F) | 0x80; ++ *dest++ = ((code >> 6) & 0x3F) | 0x80; ++ *dest++ = (code & 0x3F) | 0x80; ++ } ++ else ++ { ++ /* Error... */ ++ *dest++ = '?'; ++ } ++ ++ code_high = 0; ++ } ++ else ++ { ++ if (code <= 0x007F) ++ *dest++ = code; ++ else if (code <= 0x07FF) ++ { ++ *dest++ = (code >> 6) | 0xC0; ++ *dest++ = (code & 0x3F) | 0x80; ++ } ++ else if (code >= 0xD800 && code <= 0xDBFF) ++ { ++ code_high = code; ++ continue; ++ } ++ else if (code >= 0xDC00 && code <= 0xDFFF) ++ { ++ /* Error... */ ++ *dest++ = '?'; ++ } ++ else ++ { ++ *dest++ = (code >> 16) | 0xE0; ++ *dest++ = ((code >> 12) & 0x3F) | 0x80; ++ *dest++ = (code & 0x3F) | 0x80; ++ } ++ } ++ } ++ ++ return dest; ++} ++ ++/* low-level timing info */ ++int ++getrtsecs (void) ++{ ++ return grub_get_rtc() / GRUB_TICKS_PER_SECOND; ++} ++ ++void ++grub_reboot (void) ++{ ++ grub_efi_runtime_services_t *r; ++ ++ r = grub_efi_system_table->runtime_services; ++ Call_Service_4 (r->reset_system, GRUB_EFI_RESET_COLD, ++ GRUB_EFI_SUCCESS, 0, NULL); ++ for (;;); ++} ++ ++void ++grub_halt (int no_apm) ++{ ++ grub_efi_runtime_services_t *r; ++ ++ r = grub_efi_system_table->runtime_services; ++ Call_Service_4 (r->reset_system, GRUB_EFI_RESET_SHUTDOWN, ++ GRUB_EFI_SUCCESS, 0, NULL); ++ for (;;); ++} ++ ++void ++stop (void) ++{ ++ grub_exit (); ++} ++ ++/* booting a multiboot executable */ ++void ++multi_boot (int start, int mb_info) ++{ ++ stop (); ++} ++ ++/* sets it to linear or wired A20 operation */ ++void ++gateA20 (int linear) ++{ ++} ++ ++/* Set up the int15 handler. */ ++void ++set_int15_handler (void) ++{ ++} ++ ++/* Restore the original int15 handler. */ ++void ++unset_int15_handler (void) ++{ ++} ++ ++/* Copy MAP to the drive map and set up the int13 handler. */ ++void ++set_int13_handler (unsigned short *map) ++{ ++} ++ ++/* Get the ROM configuration table. */ ++unsigned long ++get_rom_config_table (void) ++{ ++ return 0; ++} ++ ++/* Get APM BIOS information. */ ++void ++get_apm_info (void) ++{ ++ /* Nothing to do in the simulator. */ ++} ++ ++void ++stop_floppy (void) ++{ ++ /* NOTUSED */ ++} ++ ++char * ++grub_strndup (const char *s, int n) ++{ ++ int l = grub_strnlen(s, n); ++ char *new = grub_malloc(l + 1); ++ ++ if (new == NULL) ++ return NULL; ++ ++ new[l] = '\0'; ++ return grub_strncpy(new, s, l); ++} ++ ++int ++safe_parse_maxulong (char **str_ptr, unsigned long *myulong_ptr) ++{ ++ char *ptr = *str_ptr; ++ unsigned long myulong = 0; ++ unsigned int mult = 10, found = 0; ++ ++ /* ++ * Is this a hex number? ++ */ ++ if (*ptr == '0' && tolower (*(ptr + 1)) == 'x') ++ { ++ ptr += 2; ++ mult = 16; ++ } ++ ++ while (1) ++ { ++ /* A bit tricky. This below makes use of the equivalence: ++ (A >= B && A <= C) <=> ((A - B) <= (C - B)) ++ when C > B and A is unsigned. */ ++ unsigned int digit; ++ ++ digit = tolower (*ptr) - '0'; ++ if (digit > 9) ++ { ++ digit -= 'a' - '0'; ++ if (mult == 10 || digit > 5) ++ break; ++ digit += 10; ++ } ++ ++ found = 1; ++ if (myulong > ((~0UL - digit) / mult)) ++ { ++ errnum = ERR_NUMBER_OVERFLOW; ++ return 0; ++ } ++ myulong = (myulong * mult) + digit; ++ ptr++; ++ } ++ ++ if (!found) ++ { ++ errnum = ERR_NUMBER_PARSING; ++ return 0; ++ } ++ ++ *str_ptr = ptr; ++ *myulong_ptr = myulong; ++ ++ return 1; ++} ++ ++int ++currticks (void) ++{ ++ return grub_get_rtc (); ++} ++ ++static char * ++fix_path_name (char *path_name) ++{ ++ char *p1, *p2; ++ ++ p1 = path_name; ++ p2 = p1 + 1; ++ if (*p1 == '\\') ++ *p1 = '/'; ++ while (*p1) ++ { ++ switch (*p2) ++ { ++ case '\0': ++ *++p1 = *p2; ++ break; ++ case '.': ++ if (*p1 == '/' && *(p2+1) == '\\') ++ p2 += 2; ++ else ++ *++p1=*p2++; ++ break; ++ case '\\': ++ if (*p1 == '/') ++ p2++; ++ else ++ *++p1 = '/'; ++ break; ++ default: ++ *++p1=*p2++; ++ break; ++ } ++ } ++ return path_name; ++} ++ ++char * ++grub_efi_file_path_to_path_name (grub_efi_device_path_t *file_path) ++{ ++ char *str; ++ grub_efi_uint32_t str_len = 16; ++ grub_efi_uint32_t str_pos = 0; ++ ++ str = grub_malloc (str_len); ++ if (! str) ++ return NULL; ++ str[0] = '\0'; ++ ++ while (1) ++ { ++ grub_efi_uint8_t type = GRUB_EFI_DEVICE_PATH_TYPE (file_path); ++ grub_efi_uint8_t subtype = GRUB_EFI_DEVICE_PATH_SUBTYPE (file_path); ++ grub_efi_uint16_t len = GRUB_EFI_DEVICE_PATH_LENGTH (file_path); ++ ++ switch (type) ++ { ++ case GRUB_EFI_MEDIA_DEVICE_PATH_TYPE: ++ switch (subtype) ++ { ++ case GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE: ++ { ++ grub_efi_file_path_device_path_t *fp; ++ grub_uint8_t buf[(len - 4) * 2 + 2]; ++ grub_uint32_t path_name_len; ++ char *tmp_str; ++ ++ fp = (grub_efi_file_path_device_path_t *) file_path; ++ *grub_utf16_to_utf8 (buf, fp->path_name, ++ (len - 4) / sizeof (grub_efi_char16_t)) ++ = '\0'; ++ path_name_len = strlen ((char *)buf) + 1; ++ if ((str_len - str_pos) <= path_name_len) ++ { ++ do ++ str_len *= 2; ++ while ((str_len - str_pos) <= path_name_len); ++ tmp_str = grub_malloc (str_len); ++ if (tmp_str == NULL) ++ goto fail; ++ grub_memmove (tmp_str, str, str_pos); ++ grub_free (str); ++ str = tmp_str; ++ } ++ str[str_pos] = '\\'; ++ strcpy (str + str_pos + 1, (char *)buf); ++ str_pos += path_name_len; ++ } ++ break; ++ default: ++ break; ++ } ++ break; ++ default: ++ break; ++ } ++ ++ if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (file_path)) ++ break; ++ ++ file_path = (grub_efi_device_path_t *) ((char *) file_path + len); ++ } ++ return fix_path_name (str); ++ ++ fail: ++ grub_free (str); ++ return NULL; ++} ++ ++#define DEFAULT_SAVED_DEFAULT_FILE_NAME "grub.default" ++#define DEFAULT_CONFIG_FILE_NAME "grub.conf" ++ ++static char saved_default_file[128] = "/boot/grub/grub.default"; ++ ++void ++grub_set_config_file (char *path_name) ++{ ++ char *dir_end; ++ grub_uint32_t path_name_len; ++ ++ path_name_len = strlen (path_name); ++ if (path_name_len > 4 ++ && path_name[path_name_len - 4] == '.' ++ && grub_tolower (path_name[path_name_len - 3]) == 'e' ++ && grub_tolower (path_name[path_name_len - 2]) == 'f' ++ && grub_tolower (path_name[path_name_len - 1]) == 'i') ++ { ++ /* Bigger than buffer of config_file */ ++ if (path_name_len + 1 > 127) ++ return; ++ grub_memmove (config_file, path_name, path_name_len - 4); ++ grub_strcpy (config_file + path_name_len - 4, ".conf"); ++ /* Bigger than buffer of default file */ ++ if (path_name_len + 4 > 127) ++ return; ++ grub_memmove (saved_default_file, path_name, path_name_len - 4); ++ grub_strcpy (saved_default_file + path_name_len - 4, ".default"); ++ return; ++ } ++ dir_end = grub_strrchr (path_name, '/'); ++ if (! dir_end) ++ { ++ grub_strcpy (config_file, DEFAULT_CONFIG_FILE_NAME); ++ grub_strcpy (saved_default_file, DEFAULT_SAVED_DEFAULT_FILE_NAME); ++ return; ++ } ++ if (strlen(dir_end) == 1) { ++ path_name_len = dir_end + 1 - path_name; ++ if (path_name_len + sizeof (DEFAULT_CONFIG_FILE_NAME) > 128) ++ return; ++ grub_memmove (config_file, path_name, path_name_len); ++ grub_strcpy (config_file + path_name_len, DEFAULT_CONFIG_FILE_NAME); ++ } else { ++ grub_memmove (config_file, path_name, path_name_len+1); ++ } ++ if (path_name_len + sizeof (DEFAULT_SAVED_DEFAULT_FILE_NAME) > 128) ++ return; ++ path_name_len = dir_end + 1 - path_name; ++ grub_memmove (saved_default_file, path_name, path_name_len); ++ grub_strcpy (saved_default_file + path_name_len, ++ DEFAULT_SAVED_DEFAULT_FILE_NAME); ++} ++ ++grub_efi_guid_t simple_file_system_guid = GRUB_EFI_SIMPLE_FILE_SYSTEM_GUID; ++ ++static grub_efi_file_t * ++simple_open_file(grub_efi_handle_t dev_handle, ++ char *file_name, ++ int for_write) ++{ ++ grub_efi_simple_file_system_t *file_system; ++ grub_efi_file_t *root; ++ grub_efi_file_t *file = NULL; ++ grub_efi_status_t status; ++ grub_efi_char16_t *file_name_w = NULL; ++ grub_efi_char16_t *chp_w; ++ grub_efi_uint64_t open_mode; ++ ++ file_system = grub_efi_open_protocol (dev_handle, ++ &simple_file_system_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ if (! file_system) ++ return NULL; ++ status = Call_Service_2 (file_system->open_volume, file_system, &root); ++ if (status != GRUB_EFI_SUCCESS) ++ return NULL; ++ file_name_w = grub_malloc (2 * strlen(file_name) + 2); ++ if (! file_name_w) ++ goto done; ++ for (chp_w = file_name_w; *file_name; chp_w++, file_name++) ++ if (*file_name == '/') ++ *chp_w = '\\'; ++ else ++ *chp_w = *file_name; ++ *chp_w = '\0'; ++ open_mode = for_write ? GRUB_EFI_FILE_MODE_READ | GRUB_EFI_FILE_MODE_WRITE \ ++ | GRUB_EFI_FILE_MODE_CREATE : GRUB_EFI_FILE_MODE_READ; ++ status = Call_Service_5 (root->open, root, &file, file_name_w, ++ open_mode, 0); ++ done: ++ if (file_name_w) ++ grub_free (file_name_w); ++ Call_Service_1 (root->close, root); ++ return file; ++} ++ ++void ++grub_load_saved_default (grub_efi_handle_t dev_handle) ++{ ++ grub_efi_file_t *file; ++ char buf[16]; ++ char *ptr = buf; ++ grub_efi_status_t status; ++ int val; ++ grub_efi_uintn_t buf_size = sizeof(buf); ++ ++ file = simple_open_file (dev_handle, saved_default_file, 0); ++ if (! file) ++ return; ++ status = Call_Service_3 (file->read, file, &buf_size, buf); ++ if (status != GRUB_EFI_SUCCESS) ++ goto done; ++ if (buf_size >= sizeof(buf)) ++ buf_size = sizeof(buf) - 1; ++ buf[buf_size] = '\0'; ++ if (safe_parse_maxint (&ptr, &val)) ++ saved_entryno = val; ++ done: ++ Call_Service_1 (file->close, file); ++} ++ ++int ++grub_save_saved_default (int new_default) ++{ ++ grub_efi_loaded_image_t *loaded_image; ++ grub_efi_file_t *file; ++ char buf[16]; ++ grub_efi_status_t status; ++ grub_efi_uintn_t buf_size; ++ int ret = 0; ++ ++ loaded_image = grub_efi_get_loaded_image (grub_efi_image_handle); ++ file = simple_open_file (loaded_image->device_handle, ++ saved_default_file, 1); ++ if (! file) ++ { ++ errnum = ERR_FILE_NOT_FOUND; ++ return 1; ++ } ++ sprintf (buf, "%d", new_default); ++ buf_size = strlen (buf); ++ status = Call_Service_3 (file->write, file, &buf_size, buf); ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ errnum = ERR_WRITE; ++ ret = 1; ++ goto done; ++ } ++ done: ++ Call_Service_1 (file->close, file); ++ return ret; ++} +diff --git a/efi/efimm.c b/efi/efimm.c +new file mode 100644 +index 0000000..836188d +--- /dev/null ++++ b/efi/efimm.c +@@ -0,0 +1,539 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#define NEXT_MEMORY_DESCRIPTOR(desc, size) \ ++ ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size))) ++ ++#define BYTES_TO_PAGES(bytes) ((bytes) >> 12) ++#define PAGES_TO_BYTES(pages) ((pages) << 12) ++ ++/* Global variables used to store memory map, its size, and the number of ++ * pages allocated for the buffer. */ ++void *mmap_buf; ++grub_efi_uintn_t mmap_size; ++grub_efi_uintn_t mmap_pages; ++ ++/* Maintain the list of allocated pages. */ ++struct allocated_page ++{ ++ grub_efi_physical_address_t addr; ++ grub_efi_uint64_t num_pages; ++}; ++ ++#define ALLOCATED_PAGES_SIZE 0x1000 ++#define MAX_ALLOCATED_PAGES \ ++ (ALLOCATED_PAGES_SIZE / sizeof (struct allocated_page)) ++ ++static struct allocated_page *allocated_pages = 0; ++ ++/* The minimum and maximum heap size for GRUB itself. */ ++#define MIN_HEAP_SIZE 0x100000 ++#define MAX_HEAP_SIZE (16 * 0x100000) ++ ++ ++void * ++grub_efi_allocate_pool (grub_efi_uintn_t size) ++{ ++ grub_efi_status_t status; ++ void *p; ++ grub_efi_boot_services_t *b; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_3(b->allocate_pool, GRUB_EFI_LOADER_DATA, size, &p); ++ if (status != GRUB_EFI_SUCCESS) ++ return NULL; ++ ++ return p; ++} ++ ++void ++grub_efi_free_pool (void *buffer) ++{ ++ grub_efi_boot_services_t *b; ++ ++ b = grub_efi_system_table->boot_services; ++ Call_Service_1(b->free_pool, buffer); ++} ++ ++void * ++grub_efi_allocate_anypages(grub_efi_uintn_t pages) ++{ ++ grub_efi_boot_services_t *b; ++ grub_efi_status_t status; ++ grub_efi_physical_address_t address; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_4 (b->allocate_pages, ++ GRUB_EFI_ALLOCATE_ANY_PAGES, ++ GRUB_EFI_LOADER_DATA, ++ pages, ++ &address); ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ if (allocated_pages) ++ { ++ unsigned i; ++ ++ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) ++ if (allocated_pages[i].addr == 0) ++ { ++ allocated_pages[i].addr = address; ++ allocated_pages[i].num_pages = pages; ++ break; ++ } ++ ++ if (i == MAX_ALLOCATED_PAGES) ++ { ++ grub_printf ("too many page allocations"); ++ return NULL; ++ } ++ } ++ ++ return (void *) ((grub_addr_t) address); ++ ++} ++ ++/* Allocate pages. Return the pointer to the first of allocated pages. */ ++static void * ++grub_efi_allocate_pages_real (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages, ++ grub_efi_memory_type_t memtype) ++{ ++ grub_efi_allocate_type_t type; ++ grub_efi_status_t status; ++ grub_efi_boot_services_t *b; ++ ++ /* Limit the memory access to less than 2GB to avoid 64bit ++ * compatible problem of grub */ ++ if (address > 0x7fffffff) ++ return 0; ++ ++ if (address == 0) ++ { ++ type = GRUB_EFI_ALLOCATE_MAX_ADDRESS; ++ address = 0x7fffffff; ++ } ++ else ++ type = GRUB_EFI_ALLOCATE_ADDRESS; ++ ++ b = grub_efi_system_table->boot_services; ++ status = Call_Service_4 (b->allocate_pages, type, ++ memtype, pages, &address); ++ ++ if (status != GRUB_EFI_SUCCESS) ++ { ++ /* EFI_NOT_FOUND means the region was unavailable, which means we can ++ probably just use it. This is only for hacks to start with */ ++ if (memtype == GRUB_EFI_RUNTIME_SERVICES_DATA && ++ status == GRUB_EFI_NOT_FOUND) ++ return (void *) ((grub_addr_t) address); ++ else ++ return 0; ++ } ++ ++ if (address == 0) ++ { ++ /* Uggh, the address 0 was allocated... This is too annoying, ++ so reallocate another one. */ ++ address = 0x7fffffff; ++ status = Call_Service_4 (b->allocate_pages, ++ type, GRUB_EFI_LOADER_DATA, pages, &address); ++ grub_efi_free_pages (0, pages); ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ } ++ ++ /* We don't want to free anything we've allocated for runtime */ ++ if (allocated_pages && memtype != GRUB_EFI_RUNTIME_SERVICES_DATA) ++ { ++ unsigned i; ++ ++ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) ++ if (allocated_pages[i].addr == 0) ++ { ++ allocated_pages[i].addr = address; ++ allocated_pages[i].num_pages = pages; ++ break; ++ } ++ ++ if (i == MAX_ALLOCATED_PAGES) ++ { ++ grub_printf ("too many page allocations"); ++ return NULL; ++ } ++ } ++ ++ return (void *) ((grub_addr_t) address); ++} ++ ++void * ++grub_efi_allocate_pages (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages) ++ ++{ ++ return grub_efi_allocate_pages_real(address, pages, GRUB_EFI_LOADER_DATA); ++} ++ ++void * ++grub_efi_allocate_runtime_pages (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages) ++ ++{ ++ return grub_efi_allocate_pages_real(address, pages, ++ GRUB_EFI_RUNTIME_SERVICES_DATA); ++} ++/* Free pages starting from ADDRESS. */ ++void ++grub_efi_free_pages (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages) ++{ ++ grub_efi_boot_services_t *b; ++ ++ if (allocated_pages ++ && ((grub_efi_physical_address_t) ((grub_addr_t) allocated_pages) ++ != address)) ++ { ++ unsigned i; ++ ++ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) ++ if (allocated_pages[i].addr == address) ++ { ++ allocated_pages[i].addr = 0; ++ break; ++ } ++ } ++ ++ b = grub_efi_system_table->boot_services; ++ Call_Service_2 (b->free_pages ,address, pages); ++} ++ ++/* Get the memory map as defined in the EFI spec. Return 1 if successful, ++ return 0 if partial, or return -1 if an error occurs. ++ ++ This function will allocate memory for (global) mmap_buf if there isn't ++ already a buffer allocated, and will free & reallocate if it needs to ++ be larger. */ ++ ++int ++grub_efi_get_memory_map (grub_efi_uintn_t *map_key, ++ grub_efi_uintn_t *descriptor_size, ++ grub_efi_uint32_t *descriptor_version) ++{ ++ grub_efi_status_t status; ++ grub_efi_boot_services_t *b; ++ grub_efi_uintn_t key; ++ grub_efi_uint32_t version; ++ grub_efi_uintn_t tmp_mmap_size; ++ ++ /* Allow some parameters to be missing. */ ++ if (! map_key) ++ map_key = &key; ++ if (! descriptor_version) ++ descriptor_version = &version; ++ ++ while (1) ++ { ++ b = grub_efi_system_table->boot_services; ++ tmp_mmap_size = PAGES_TO_BYTES(mmap_pages); ++ status = Call_Service_5 (b->get_memory_map, ++ &tmp_mmap_size, mmap_buf, map_key, ++ descriptor_size, descriptor_version); ++ if (status == GRUB_EFI_SUCCESS) ++ { ++ mmap_size = tmp_mmap_size; ++ return 1; ++ } ++ else if (status != GRUB_EFI_BUFFER_TOO_SMALL) ++ return -1; ++ ++ /* we need a larger buffer */ ++ if (mmap_buf) ++ grub_efi_free_pages ((grub_addr_t) mmap_buf, mmap_pages); ++ ++ /* get 1 more page than we need, just in case */ ++ mmap_pages = BYTES_TO_PAGES(tmp_mmap_size + 4095) + 1; ++ mmap_buf = grub_efi_allocate_pages (0, mmap_pages); ++ if (! mmap_buf) ++ { ++ mmap_pages = 0; ++ grub_printf ("cannot allocate memory for memory map"); ++ return -1; ++ } ++ } ++} ++ ++#define MMAR_DESC_LENGTH 20 ++ ++/* ++ * Add a memory region to the kernel e820 map. ++ * ++ * Convert EFI memory map to E820 map for the operating system ++ * This code is based on a Linux kernel patch submitted by Edgar Hucek ++ */ ++static void ++add_memory_region (struct e820_entry *e820_map, ++ int *e820_nr_map, ++ unsigned long long start, ++ unsigned long long size, ++ unsigned int type) ++{ ++ int x = *e820_nr_map; ++ static unsigned long long estart = 0ULL; ++ static unsigned long esize = 0L; ++ static unsigned int etype = -1; ++ static int merge = 0; ++ ++ /* merge adjacent regions of same type */ ++ if ((x > 0) && e820_map[x-1].addr + e820_map[x-1].size == start ++ && e820_map[x-1].type == type) ++ { ++ e820_map[x-1].size += size; ++ estart = e820_map[x-1].addr; ++ esize = e820_map[x-1].size; ++ etype = e820_map[x-1].type; ++ merge++; ++ return; ++ } ++ ++ /* fill up to E820_MAX */ ++ if ( x < E820_MAX ) ++ { ++ e820_map[x].addr = start; ++ e820_map[x].size = size; ++ e820_map[x].type = type; ++ (*e820_nr_map)++; ++ merge=0; ++ return; ++ } ++ ++ /* different type means another region didn't fit */ ++ /* or same type, but there's a hole */ ++ if (etype != type || (estart + esize) != start) ++ { ++ merge = 0; ++ estart = start; ++ esize = size; ++ etype = type; ++ return; ++ } ++ ++ /* same type and no hole, merge it */ ++ estart += esize; ++ esize += size; ++ merge++; ++} ++ ++/* ++ * Make a e820 memory map ++ */ ++void ++e820_map_from_efi_map (struct e820_entry *e820_map, ++ int *e820_nr_map, ++ grub_efi_memory_descriptor_t *memory_map, ++ grub_efi_uintn_t desc_size, ++ grub_efi_uintn_t memory_map_size) ++{ ++ grub_efi_memory_descriptor_t *desc; ++ unsigned long long start = 0; ++ unsigned long long end = 0; ++ unsigned long long size = 0; ++ grub_efi_memory_descriptor_t *memory_map_end; ++ ++ memory_map_end = NEXT_MEMORY_DESCRIPTOR (memory_map, memory_map_size); ++ *e820_nr_map = 0; ++ for (desc = memory_map; ++ desc < memory_map_end; ++ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) ++ { ++ switch (desc->type) ++ { ++ case GRUB_EFI_ACPI_RECLAIM_MEMORY: ++ add_memory_region (e820_map, e820_nr_map, ++ desc->physical_start, desc->num_pages << 12, ++ E820_ACPI); ++ break; ++ case GRUB_EFI_RUNTIME_SERVICES_CODE: ++ case GRUB_EFI_RUNTIME_SERVICES_DATA: ++ case GRUB_EFI_RESERVED_MEMORY_TYPE: ++ case GRUB_EFI_MEMORY_MAPPED_IO: ++ case GRUB_EFI_MEMORY_MAPPED_IO_PORT_SPACE: ++ case GRUB_EFI_UNUSABLE_MEMORY: ++ case GRUB_EFI_PAL_CODE: ++ add_memory_region (e820_map, e820_nr_map, ++ desc->physical_start, desc->num_pages << 12, ++ E820_RESERVED); ++ break; ++ case GRUB_EFI_LOADER_CODE: ++ case GRUB_EFI_LOADER_DATA: ++ case GRUB_EFI_BOOT_SERVICES_CODE: ++ case GRUB_EFI_BOOT_SERVICES_DATA: ++ case GRUB_EFI_CONVENTIONAL_MEMORY: ++ start = desc->physical_start; ++ size = desc->num_pages << 12; ++ end = start + size; ++ if (start < 0x100000ULL && end > 0xA0000ULL) ++ { ++ if (start < 0xA0000ULL) ++ add_memory_region (e820_map, e820_nr_map, ++ start, 0xA0000ULL-start, ++ E820_RAM); ++ if (end <= 0x100000ULL) ++ continue; ++ start = 0x100000ULL; ++ size = end - start; ++ } ++ add_memory_region (e820_map, e820_nr_map, ++ start, size, E820_RAM); ++ break; ++ case GRUB_EFI_ACPI_MEMORY_NVS: ++ add_memory_region (e820_map, e820_nr_map, ++ desc->physical_start, desc->num_pages << 12, ++ E820_NVS); ++ break; ++ } ++ } ++} ++ ++static void ++update_e820_map (struct e820_entry *e820_map, ++ int *e820_nr_map) ++{ ++ grub_efi_uintn_t desc_size; ++ ++ if (grub_efi_get_memory_map (0, &desc_size, 0) < 0) ++ { ++ grub_printf ("cannot get memory map"); ++ return; ++ } ++ ++ e820_map_from_efi_map (e820_map, e820_nr_map, ++ mmap_buf, desc_size, mmap_size); ++} ++ ++/* Simulated memory sizes. */ ++#define EXTENDED_MEMSIZE (3 * 1024 * 1024) /* 3MB */ ++#define CONVENTIONAL_MEMSIZE (640 * 1024) /* 640kB */ ++ ++int ++get_code_end (void) ++{ ++ /* Just return a little area for simulation. */ ++ return BOOTSEC_LOCATION + (60 * 1024); ++} ++ ++/* memory probe routines */ ++int ++get_memsize (int type) ++{ ++ if (! type) ++ return CONVENTIONAL_MEMSIZE >> 10; ++ else ++ return EXTENDED_MEMSIZE >> 10; ++} ++ ++/* get_eisamemsize() : return packed EISA memory map, lower 16 bits is ++ * memory between 1M and 16M in 1K parts, upper 16 bits is ++ * memory above 16M in 64K parts. If error, return -1. ++ */ ++int ++get_eisamemsize (void) ++{ ++ return (EXTENDED_MEMSIZE >> 10); ++} ++ ++static int grub_e820_nr_map; ++static struct e820_entry grub_e820_map[E820_MAX]; ++ ++/* Fetch the next entry in the memory map and return the continuation ++ value. DESC is a pointer to the descriptor buffer, and CONT is the ++ previous continuation value (0 to get the first entry in the ++ map). */ ++int ++get_mmap_entry (struct mmar_desc *desc, int cont) ++{ ++ if (cont < 0 || cont >= grub_e820_nr_map) ++ { ++ /* Should not happen. */ ++ desc->desc_len = 0; ++ } ++ else ++ { ++ struct e820_entry *entry; ++ /* Copy the entry. */ ++ desc->desc_len = MMAR_DESC_LENGTH; ++ entry = &grub_e820_map[cont++]; ++ desc->addr = entry->addr; ++ desc->length = entry->size; ++ desc->type = entry->type; ++ ++ /* If the next entry exists, return the index. */ ++ if (cont < grub_e820_nr_map) ++ return cont; ++ } ++ ++ return 0; ++} ++ ++void ++grub_efi_mm_init (void) ++{ ++ /* First of all, allocate pages to maintain allocations. */ ++ allocated_pages ++ = grub_efi_allocate_pages (0, BYTES_TO_PAGES (ALLOCATED_PAGES_SIZE)); ++ if (! allocated_pages) ++ { ++ grub_printf ("cannot allocate memory"); ++ return; ++ } ++ ++ grub_memset (allocated_pages, 0, ALLOCATED_PAGES_SIZE); ++ ++ update_e820_map (grub_e820_map, &grub_e820_nr_map); ++} ++ ++void ++grub_efi_mm_fini (void) ++{ ++ if (allocated_pages) ++ { ++ unsigned i; ++ ++ for (i = 0; i < MAX_ALLOCATED_PAGES; i++) ++ { ++ struct allocated_page *p; ++ ++ p = allocated_pages + i; ++ if (p->addr != 0) ++ grub_efi_free_pages ((grub_addr_t) p->addr, p->num_pages); ++ } ++ ++ grub_efi_free_pages ((grub_addr_t) allocated_pages, ++ BYTES_TO_PAGES (ALLOCATED_PAGES_SIZE)); ++ } ++} +diff --git a/efi/efinic.c b/efi/efinic.c +new file mode 100644 +index 0000000..e69de29 +diff --git a/efi/efiserial.c b/efi/efiserial.c +new file mode 100644 +index 0000000..32898a9 +--- /dev/null ++++ b/efi/efiserial.c +@@ -0,0 +1,265 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2007 Intel Corp. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifdef SUPPORT_SERIAL ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++struct grub_efiserial_data ++{ ++ grub_efi_handle_t handle; ++ grub_efi_serial_io_t *serial_io; ++ struct grub_efiserial_data *next; ++}; ++ ++/* GUIDs. */ ++static grub_efi_guid_t serial_io_guid = GRUB_EFI_SERIAL_IO_GUID; ++ ++static grub_efi_serial_io_t *serial_device = NULL; ++ ++static struct grub_efiserial_data * ++make_devices (void) ++{ ++ grub_efi_uintn_t num_handles; ++ grub_efi_handle_t *handles; ++ grub_efi_handle_t *handle; ++ struct grub_efiserial_data *devices = 0; ++ ++ /* Find handles which support the serial io interface. */ ++ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, &serial_io_guid, ++ 0, &num_handles); ++ if (! handles) ++ return 0; ++ ++ /* Make a linked list of devices. */ ++ for (handle = handles; num_handles--; handle++) ++ { ++ struct grub_efiserial_data *s; ++ grub_efi_serial_io_t *sio; ++ ++ sio = grub_efi_open_protocol (*handle, &serial_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ if (! sio) ++ /* This should not happen... Why? */ ++ continue; ++ ++ s = grub_malloc (sizeof (*s)); ++ if (! s) ++ { ++ /* Uggh. */ ++ grub_free (handles); ++ return 0; ++ } ++ ++ s->handle = *handle; ++ s->serial_io = sio; ++ s->next = devices; ++ devices = s; ++ } ++ ++ grub_free (handles); ++ ++ return devices; ++} ++ ++static void ++free_devices (struct grub_efiserial_data *devices) ++{ ++ struct grub_efiserial_data *p, *q; ++ ++ for (p = devices; p; p = q) ++ { ++ q = p->next; ++ grub_free (p); ++ } ++} ++ ++static struct grub_efiserial_data * ++get_device (struct grub_efiserial_data *devices, int num) ++{ ++ struct grub_efiserial_data *s; ++ ++ for (s = devices; s && num; s = s->next, num--) ++ ; ++ ++ if (num == 0) ++ return s; ++ ++ return 0; ++} ++ ++/* Fetch a key from a serial device. */ ++int ++serial_hw_fetch (void) ++{ ++ grub_efi_status_t status; ++ char buf[1]; ++ grub_efi_uintn_t buf_siz = sizeof (buf); ++ grub_efi_uint32_t control; ++ ++ if (! serial_device) ++ return -1; ++ ++ status = Call_Service_2 (serial_device->get_control_bits, serial_device, &control); ++ if (status != GRUB_EFI_SUCCESS) ++ return -1; ++ if (control & GRUB_EFI_SERIAL_INPUT_BUFFER_EMPTY) ++ return -1; ++ status = Call_Service_3 (serial_device->read, serial_device, &buf_siz, buf); ++ if (status != GRUB_EFI_SUCCESS) ++ return -1; ++ ++ return buf[0]; ++} ++ ++/* Put a character to a serial device. */ ++void ++serial_hw_put (int c) ++{ ++ grub_efi_status_t status; ++ char ch = c; ++ grub_efi_uintn_t buf_size = sizeof (ch); ++ ++ if (! serial_device) ++ return; ++ ++ status = Call_Service_3 (serial_device->write, serial_device, &buf_size, &ch); ++} ++ ++void ++serial_hw_delay (void) ++{ ++} ++ ++/* Get the port number of the unit UNIT, the port number is same as ++ serial port unit number in EFI. */ ++unsigned short ++serial_hw_get_port (int unit) ++{ ++ return unit; ++} ++ ++static inline grub_efi_uint8_t ++efi_data_bits_from_8250_LCR (int word_len) ++{ ++ switch (word_len & 0x3) ++ { ++ case 0: ++ return 5; ++ case 1: ++ return 6; ++ case 2: ++ return 7; ++ case 3: ++ return 8; ++ default: ++ return 0; ++ } ++} ++ ++static inline grub_efi_stop_bits_t ++efi_stop_bits_from_8250_LCR (int stop_bit_len) ++{ ++ switch (stop_bit_len & 0x4) ++ { ++ case 0x0: ++ return GRUB_EFI_ONE_STOP_BIT; ++ case 0x4: ++ return GRUB_EFI_TWO_STOP_BITS; ++ default: ++ return GRUB_EFI_DEFAULT_STOP_BITS; ++ } ++} ++ ++static inline grub_efi_parity_t ++efi_parity_from_8250_LCR (int parity_8250) ++{ ++ if (! (parity_8250 & 0x8)) ++ return GRUB_EFI_NO_PARITY; ++ ++ switch (parity_8250 & 0x30) ++ { ++ case 0x00: ++ return GRUB_EFI_ODD_PARITY; ++ case 0x10: ++ return GRUB_EFI_EVEN_PARITY; ++ case 0x20: ++ return GRUB_EFI_MARK_PARITY; ++ case 0x30: ++ return GRUB_EFI_SPACE_PARITY; ++ default: ++ return GRUB_EFI_DEFAULT_PARITY; ++ } ++} ++ ++/* Initialize a serial device. In EFI, PORT is used to assign ++ serial port unit number. */ ++int ++serial_hw_init (unsigned short port, unsigned int speed, ++ int word_len, int parity, int stop_bit_len) ++{ ++ grub_efi_serial_io_t *sio; ++ struct grub_efiserial_data *devices, *s; ++ grub_efi_parity_t efi_parity; ++ grub_efi_stop_bits_t efi_stop_bits; ++ grub_efi_uint8_t efi_data_bits; ++ grub_efi_status_t status; ++ int i; ++ ++ devices = make_devices (); ++ s = get_device (devices, port); ++ if (!s) ++ return 0; ++ sio = s->serial_io; ++ free_devices (devices); ++ ++ efi_data_bits = efi_data_bits_from_8250_LCR (word_len); ++ efi_parity = efi_parity_from_8250_LCR (parity); ++ efi_stop_bits = efi_stop_bits_from_8250_LCR (stop_bit_len); ++ ++ status = Call_Service_1 (sio->reset, sio); ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ status = Call_Service_7 (sio->set_attributes, sio, speed, 0, 0, ++ efi_parity, efi_data_bits, efi_stop_bits); ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ serial_device = sio; ++ /* Get rid of TERM_NEED_INIT from the serial terminal. */ ++ for (i = 0; term_table[i].name; i++) ++ if (grub_strcmp (term_table[i].name, "serial") == 0) ++ { ++ term_table[i].flags &= ~TERM_NEED_INIT; ++ break; ++ } ++ ++ return 1; ++} ++ ++#endif /* SUPPORT_SERIAL */ +diff --git a/efi/efitftp.c b/efi/efitftp.c +new file mode 100644 +index 0000000..ba6918f +--- /dev/null ++++ b/efi/efitftp.c +@@ -0,0 +1,228 @@ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include "pxe.h" ++ ++struct tftp_info tftp_info = { ++ .LoadedImage = NULL, ++ .Pxe = NULL, ++ .ServerIp = NULL, ++ .BasePath = NULL ++}; ++ ++/* ++ * CLIENT MAC ADDR: 00 15 17 4C E6 74 ++ * CLIENT IP: 10.16.52.158 MASK: 255.255.255.0 DHCP IP: 10.16.52.16 ++ * GATEWAY IP: 10.16.52.254 ++ * ++ * TSize.Running LoadFile() ++ * ++ * TFTP.status: 5 ++ * got to grub_efi_pxe_get_config_path ++ * SiAddr: 10.16.52.16 ++ * BootpHwAddr: 00:15:17:4c:e6:74:00:00:00:00:00:00:00:00:00:00 ++ * BootpSrvName: ++ * BootpBootFile: X86PC/UNDI/pxelinux/bootx64.efi ++ */ ++ ++static grub_efi_status_t tftp_get_file_size_defective_buffer_fallback( ++ char *Filename, ++ grub_efi_uintn_t *Size) ++{ ++ EFI_PXE_BASE_CODE_TFTP_OPCODE OpCode = EFI_PXE_BASE_CODE_TFTP_READ_FILE; ++ char *Buffer = NULL; ++ grub_efi_boolean_t Overwrite = 0; ++ grub_efi_boolean_t DontUseBuffer = 0; ++ grub_efi_uint64_t BufferSize = 4096; ++ grub_efi_uintn_t BlockSize = 512; ++ grub_efi_status_t rc = GRUB_EFI_BUFFER_TOO_SMALL; ++ char *FullPath = NULL; ++ ++ while (rc == GRUB_EFI_BUFFER_TOO_SMALL) { ++ char *NewBuffer; ++ ++ if (Buffer) { ++ grub_free(Buffer); ++ Buffer = NULL; ++ } ++ BufferSize *= 2; ++ NewBuffer = grub_malloc(BufferSize); ++ if (!NewBuffer) ++ return GRUB_EFI_OUT_OF_RESOURCES; ++ Buffer = NewBuffer; ++ ++ if (tftp_info.BasePath) { ++ int PathSize = 0; ++ PathSize = strlen(tftp_info.BasePath) + 2 + ++ strlen(Filename); ++ FullPath = grub_malloc(PathSize); ++ grub_sprintf(FullPath, "%s/%s", tftp_info.BasePath, ++ Filename); ++ } else { ++ FullPath = grub_malloc(strlen(Filename)); ++ strcpy(FullPath, Filename); ++ } ++ ++ rc = Call_Service_10(tftp_info.Pxe->Mtftp, tftp_info.Pxe, ++ OpCode, Buffer, Overwrite, &BufferSize, &BlockSize, ++ tftp_info.ServerIp, FullPath, NULL, DontUseBuffer); ++ if (rc == GRUB_EFI_SUCCESS || rc == GRUB_EFI_BUFFER_TOO_SMALL) ++ *Size = BufferSize; ++ } ++ grub_free(FullPath); ++ grub_free(Buffer); ++ return rc; ++} ++ ++grub_efi_status_t tftp_get_file_size( ++ char *Filename, ++ grub_efi_uintn_t *Size) ++{ ++ EFI_PXE_BASE_CODE_TFTP_OPCODE OpCode = EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE; ++ char Buffer[8192]; ++ grub_efi_boolean_t Overwrite = 0; ++ grub_efi_boolean_t DontUseBuffer = 0; ++ grub_efi_uint64_t BufferSize = 8192; ++ grub_efi_uintn_t BlockSize = 512; ++ grub_efi_status_t rc; ++ char *FullPath = NULL; ++ ++ if (tftp_info.BasePath) { ++ int PathSize = 0; ++ PathSize = strlen(tftp_info.BasePath) + 2 + strlen(Filename); ++ FullPath = grub_malloc(PathSize); ++ grub_sprintf(FullPath, "%s/%s", tftp_info.BasePath, Filename); ++ } else { ++ FullPath = grub_malloc(strlen(Filename)); ++ strcpy(FullPath, Filename); ++ } ++ ++ rc = Call_Service_10(tftp_info.Pxe->Mtftp, tftp_info.Pxe, OpCode, ++ Buffer, Overwrite, &BufferSize, &BlockSize, tftp_info.ServerIp, ++ FullPath, NULL, DontUseBuffer); ++ if (rc == GRUB_EFI_BUFFER_TOO_SMALL) ++ rc = tftp_get_file_size_defective_buffer_fallback(Filename, Size); ++ if (rc == GRUB_EFI_SUCCESS) ++ *Size = BufferSize; ++ grub_free(FullPath); ++ return rc; ++} ++ ++static grub_efi_status_t tftp_read_file( ++ char *Filename, ++ char *Buffer, ++ grub_efi_uint64_t BufferSize) ++{ ++ EFI_PXE_BASE_CODE_TFTP_OPCODE OpCode = EFI_PXE_BASE_CODE_TFTP_READ_FILE; ++ grub_efi_boolean_t Overwrite = 0; ++ grub_efi_boolean_t DontUseBuffer = 0; ++ grub_efi_uintn_t BlockSize = 512; ++ grub_efi_status_t rc; ++ char *FullPath = NULL; ++ ++ if (tftp_info.BasePath) { ++ int PathSize = 0; ++ PathSize = strlen(tftp_info.BasePath) + 2 + strlen(Filename); ++ FullPath = grub_malloc(PathSize); ++ grub_sprintf(FullPath, "%s/%s", tftp_info.BasePath, Filename); ++ } else { ++ FullPath = grub_malloc(strlen(Filename)); ++ strcpy(FullPath, Filename); ++ } ++ ++ rc = Call_Service_10(tftp_info.Pxe->Mtftp, tftp_info.Pxe, OpCode, ++ Buffer, Overwrite, &BufferSize, &BlockSize, tftp_info.ServerIp, ++ FullPath, NULL, DontUseBuffer); ++ grub_free(FullPath); ++ return rc; ++} ++ ++int ++efi_tftp_mount (void) ++{ ++ if (current_drive != NETWORK_DRIVE) { ++ return 0; ++ } ++ return 1; ++} ++ ++int ++efi_tftp_read (char *addr, int size) ++{ ++ int rc; ++ ++ if (tftp_info.LastPath == NULL) { ++ grub_printf(" = 0 (no path known)\n"); ++ return 0; ++ } ++ if (tftp_info.Buffer == NULL) { ++ grub_printf(" = 0 (no file open)\n"); ++ return 0; ++ } ++ if (filemax == -1) { ++ grub_printf(" = 0 (file not found)\n"); ++ return 0; ++ } ++ if (filepos == 0) { ++ rc = tftp_read_file(tftp_info.LastPath, tftp_info.Buffer, ++ filemax); ++ } ++ ++ grub_memmove(addr, tftp_info.Buffer+filepos, size); ++ filepos += size; ++ ++ return size; ++} ++ ++int ++efi_tftp_dir (char *dirname) ++{ ++ int rc; ++ int ch; ++ grub_efi_uintn_t size; ++ int len; ++ char *name; ++ ++ ch = nul_terminate(dirname); ++ len = strlen(dirname); ++ ++ name = grub_malloc(len + 1); ++ grub_memmove(name, dirname, len); ++ name[len] = '\0'; ++ dirname[len] = ch; ++ ++#if 0 ++ if (print_possibilities) ++ return 1; ++#endif ++ ++ filemax = -1; ++ ++ rc = tftp_get_file_size(name, &size); ++ if (rc == GRUB_EFI_SUCCESS) { ++ tftp_info.LastPath = grub_malloc(strlen(name) + 1); ++ sprintf(tftp_info.LastPath, "%s", name); ++ filemax = size; ++ filepos = 0; ++ ++ tftp_info.Buffer = grub_malloc(filemax); ++ ++ return 1; ++ } ++ return 0; ++} ++ ++void ++efi_tftp_close (void) ++{ ++ filepos = 0; ++ filemax = -1; ++ grub_free(tftp_info.LastPath); ++ tftp_info.LastPath = NULL; ++ grub_free(tftp_info.Buffer); ++ tftp_info.Buffer = NULL; ++} +diff --git a/efi/efiuga.c b/efi/efiuga.c +new file mode 100644 +index 0000000..b27500b +--- /dev/null ++++ b/efi/efiuga.c +@@ -0,0 +1,982 @@ ++/* efiuga.c - "univeral graphics adapter" support for GRUB/EFI */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright 2007 Red Hat, Inc. ++ * Copyright (C) 2007 Intel Corp. ++ * Copyright (C) 2001,2002 Red Hat, Inc. ++ * Portions copyright (C) 2000 Conectiva, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifdef SUPPORT_GRAPHICS ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include "graphics.h" ++#include "xpm.h" ++ ++static grub_efi_guid_t draw_guid = GRUB_EFI_UGA_DRAW_GUID; ++static grub_efi_guid_t pci_io_guid = GRUB_EFI_PCI_IO_GUID; ++ ++#if 0 ++#define UGA ++#include "ugadebug.h" ++#endif ++ ++#ifndef MIN ++#define MIN(x,y) ( ((x) < (y)) ? (x) : (y)) ++#endif ++#ifndef MAX ++#define MAX(x,y) ( ((x) < (y)) ? (y) : (x)) ++#endif ++ ++#define pixel_equal(x,y) ((x).red == (y).red && \ ++ (x).green == (y).green && \ ++ (x).blue == (y).blue) ++ ++struct video_mode { ++ grub_efi_uint32_t horizontal_resolution; ++ grub_efi_uint32_t vertical_resolution; ++ grub_efi_uint32_t color_depth; ++ grub_efi_uint32_t refresh_rate; ++}; ++ ++static void ++xpnd_6_to_8(grub_efi_uga_pixel_t *pixel) ++{ ++ if (!((pixel->red | pixel->green | pixel->blue) & 0xc0)) { ++ pixel->red <<= 2; ++ pixel->red |= ((pixel->red & 0xc0) >> 6); ++ pixel->red &= 0xff; ++ pixel->green <<= 2; ++ pixel->green |= ((pixel->green & 0xc0) >> 6); ++ pixel->green &= 0xff; ++ pixel->blue <<= 2; ++ pixel->blue |= ((pixel->blue & 0xc0) >> 6); ++ pixel->blue &= 0xff; ++ } ++} ++ ++ ++ ++#define MAX_PALETTE 16 ++struct uga { ++ grub_efi_uga_draw_t *draw_intf; ++ struct video_mode graphics_mode; ++ struct video_mode text_mode; ++ enum { TEXT, GRAPHICS } current_mode; ++ ++ position_t screen_size; ++ position_t screen_pos; ++ ++ struct bltbuf *background; ++ ++ grub_efi_uga_pixel_t palette[MAX_PALETTE + 1]; ++}; ++ ++#define RGB(r,g,b) { .red = r, .green = g, .blue = b } ++ ++static grub_efi_uga_pixel_t cga_colors[] = { ++ RGB(0x00,0x00,0x00), // 0 Black ++ RGB(0x7f,0x00,0x00), // 1 Dark Red ++ RGB(0x00,0x7f,0x00), // 2 Dark Green ++ RGB(0x7f,0x7f,0x00), // 3 Dark Yellow ++ RGB(0x00,0x00,0x7f), // 4 Dark Blue ++ RGB(0x7f,0x00,0x7f), // 5 Dark Magenta ++ RGB(0x00,0x7f,0x7f), // 6 Dark Cyan ++ RGB(0xc0,0xc0,0xc0), // 7 Light Grey ++ RGB(0x7f,0x7f,0x7f), // 8 Dark Grey ++ RGB(0xff,0x00,0x00), // 9 Red ++ RGB(0x00,0xff,0x00), // 10 Green ++ RGB(0xff,0xff,0x00), // 11 Yellow ++ RGB(0x00,0x00,0xff), // 12 Blue ++ RGB(0xff,0x00,0xff), // 13 Magenta ++ RGB(0x00,0xff,0xff), // 14 Cyan ++ RGB(0xff,0xff,0xff), // 15 White ++ RGB(0xff,0xff,0xff), // 16 Also white ;) ++}; ++ ++static const int n_cga_colors = sizeof (cga_colors) / sizeof (cga_colors[0]); ++ ++static void ++set_kernel_params(struct graphics_backend *backend, ++ struct linux_kernel_params *params) ++{ ++ struct uga *uga; ++ ++ if (!backend || !backend->priv) ++ return; ++ ++ uga = backend->priv; ++ ++ params->lfb_width = uga->graphics_mode.horizontal_resolution; ++ params->lfb_height = uga->graphics_mode.vertical_resolution; ++ params->lfb_depth = 32; ++ params->red_mask_size = 8; ++ params->red_field_pos = 16; ++ params->green_mask_size = 8; ++ params->green_field_pos = 8; ++ params->blue_mask_size = 8; ++ params->blue_field_pos = 0; ++ params->reserved_mask_size = 8; ++ params->reserved_field_pos = 24; ++ params->have_vga = VIDEO_TYPE_EFI; ++} ++ ++static void ++pixel_to_rgb(grub_efi_uga_pixel_t *pixel, int *red, int *green, int *blue) ++{ ++ *red = pixel->red; ++ *green = pixel->green; ++ *blue = pixel->blue; ++} ++ ++static void ++rgb_to_pixel(int red, int green, int blue, grub_efi_uga_pixel_t *pixel) ++{ ++ pixel->red = red; ++ pixel->green = green; ++ pixel->blue = blue; ++} ++ ++static void ++position_to_phys(struct uga *uga, position_t *virt, position_t *phys) ++{ ++ phys->x = virt->x + uga->screen_pos.x; ++ phys->y = virt->y + uga->screen_pos.y; ++} ++ ++static int ++abs_paddr(struct uga *uga, position_t *virt) ++{ ++ position_t phys; ++ position_to_phys(uga, virt, &phys); ++ return phys.x + phys.y * uga->screen_size.x; ++} ++ ++struct bltbuf { ++ grub_efi_uintn_t width; ++ grub_efi_uintn_t height; ++ grub_efi_uga_pixel_t pixbuf[]; ++}; ++ ++static struct bltbuf *alloc_bltbuf(grub_efi_uintn_t width, ++ grub_efi_uintn_t height) ++{ ++ struct bltbuf *buf = NULL; ++ grub_efi_uintn_t pixbuf_size = width * height * ++ sizeof (grub_efi_uga_pixel_t); ++ ++ if (!(buf = grub_malloc(sizeof(buf->width) + sizeof(buf->height) + ++ pixbuf_size))) ++ return NULL; ++ ++ buf->width = width; ++ buf->height = height; ++ grub_memset(buf->pixbuf, '\0', pixbuf_size); ++ return buf; ++} ++ ++static void ++blt_to_screen(struct uga *uga, struct bltbuf *bltbuf) ++{ ++ position_t addr = {0, 0}; ++ ++ position_to_phys(uga, &addr, &addr); ++ ++ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, ++ EfiUgaBltBufferToVideo, ++ 0, 0, ++ addr.x, addr.y, ++ bltbuf->width, bltbuf->height, ++ 0); ++} ++ ++static void ++blt_pos_to_screen_pos(struct uga *uga, struct bltbuf *bltbuf, ++ position_t *bltpos, position_t *bltsz, position_t *pos) ++{ ++ position_t phys; ++ ++ position_to_phys(uga, pos, &phys); ++ ++ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, ++ EfiUgaBltBufferToVideo, ++ bltpos->x, bltpos->y, ++ phys.x, phys.y, ++ bltsz->x, bltsz->y, ++ 0); ++} ++ ++static void ++blt_to_screen_pos(struct uga *uga, struct bltbuf *bltbuf, position_t *pos) ++{ ++ position_t bltpos = {0, 0}; ++ position_t bltsz = { bltbuf->width, bltbuf->height }; ++ blt_pos_to_screen_pos(uga, bltbuf, &bltpos, &bltsz, pos); ++} ++ ++static int ++blt_from_screen_pos(struct uga *uga, struct bltbuf **retbuf, ++ position_t *pos, position_t *size) ++{ ++ struct bltbuf *bltbuf = NULL; ++ position_t phys; ++ ++ if (!retbuf) ++ return 0; ++ ++ if (*retbuf) ++ grub_free(*retbuf); ++ ++ bltbuf = alloc_bltbuf(size->x, size->y); ++ if (!bltbuf) ++ return 0; ++ ++ position_to_phys(uga, pos, &phys); ++ ++ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, ++ EfiUgaVideoToBltBuffer, ++ phys.x, phys.y, ++ 0, 0, ++ size->x, size->y, 0); ++ *retbuf = bltbuf; ++ return 1; ++} ++ ++static int ++save_video_mode(struct uga *uga, struct video_mode *mode) ++{ ++ grub_efi_status_t status; ++ ++ status = Call_Service_5(uga->draw_intf->get_mode, uga->draw_intf, ++ &mode->horizontal_resolution, &mode->vertical_resolution, ++ &mode->color_depth, &mode->refresh_rate); ++ return status == GRUB_EFI_SUCCESS; ++} ++ ++static grub_efi_status_t ++set_video_mode(struct uga *uga, struct video_mode *mode) ++{ ++ grub_efi_status_t status; ++ ++ status = Call_Service_5(uga->draw_intf->set_mode, uga->draw_intf, ++ mode->horizontal_resolution, ++ mode->vertical_resolution, ++ mode->color_depth, ++ mode->refresh_rate); ++ return status; ++} ++ ++static int ++cmp_video_modes(struct video_mode *vm0, struct video_mode *vm1) ++{ ++ if (vm0->horizontal_resolution == vm1->horizontal_resolution && ++ vm0->vertical_resolution == vm1->vertical_resolution) ++ return 0; ++ if (vm0->horizontal_resolution >= vm1->horizontal_resolution && ++ vm0->vertical_resolution >= vm1->vertical_resolution) ++ return 1; ++ return -1; ++} ++ ++static int ++blt_from_screen(struct uga *uga, struct bltbuf **retbuf) ++{ ++ struct bltbuf *bltbuf = NULL; ++ position_t pos = {0 ,0}; ++ position_t size = { ++ .x = uga->graphics_mode.horizontal_resolution, ++ .y = uga->graphics_mode.vertical_resolution ++ }; ++ ++ return blt_from_screen_pos(uga, retbuf, &pos, &size); ++} ++ ++static void ++bltbuf_set_pixel(struct bltbuf *bltbuf, position_t *pos, ++ grub_efi_uga_pixel_t *pixel) ++{ ++ if (pos->x < 0 || pos->x >= bltbuf->width) ++ return; ++ if (pos->x < 0 || pos->y >= bltbuf->height) ++ return; ++ grub_memmove(&bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], pixel, ++ sizeof *pixel); ++} ++ ++static void ++bltbuf_get_pixel(struct bltbuf *bltbuf, position_t *pos, ++ grub_efi_uga_pixel_t *pixel) ++{ ++ if (bltbuf && pos->x < bltbuf->width && pos->y < bltbuf->height) { ++ grub_memmove(pixel, &bltbuf->pixbuf[pos->x + pos->y * bltbuf->width], ++ sizeof *pixel); ++ } else { ++ pixel->red = 0x00; ++ pixel->green = 0x00; ++ pixel->blue = 0x00; ++ } ++} ++ ++static void ++bltbuf_set_pixel_rgb(struct bltbuf *bltbuf, position_t *pos, ++ int red, int green, int blue) ++{ ++ grub_efi_uga_pixel_t pixel; ++ rgb_to_pixel(red, green, blue, &pixel); ++ bltbuf_set_pixel(bltbuf, pos, &pixel); ++} ++ ++static void ++bltbuf_set_pixel_idx(struct uga *uga, struct bltbuf *bltbuf, ++ position_t *pos, int idx) ++{ ++ bltbuf_set_pixel(bltbuf, pos, &uga->palette[idx]); ++} ++ ++static void ++bltbuf_get_pixel_idx(struct bltbuf *bltbuf, position_t *pos, int *idx) ++{ ++ grub_efi_uga_pixel_t pixel; ++ ++ rgb_to_pixel(0, 0, 0, &pixel); ++ bltbuf_get_pixel(bltbuf, pos, &pixel); ++ for (*idx = 0; *idx < 16; (*idx)++) { ++ if (pixel_equal(cga_colors[*idx], pixel)) ++ break; ++ } ++} ++ ++static struct bltbuf * ++xpm_to_bltbuf(struct xpm *xpm) ++{ ++ struct bltbuf *bltbuf = NULL; ++ position_t pos; ++ ++ if (!(bltbuf = alloc_bltbuf(xpm->width, xpm->height))) ++ return NULL; ++ ++ for (pos.y = 0; pos.y < xpm->height; pos.y++) { ++ for (pos.x = 0; pos.x < xpm->width; pos.x++) { ++ xpm_pixel_t xpl; ++ unsigned char idx; ++ ++ idx = xpm_get_pixel_idx(xpm, pos.x, pos.y); ++ xpm_get_idx(xpm, idx, &xpl); ++ ++ bltbuf_set_pixel_rgb(bltbuf, &pos, xpl.red, xpl.green, xpl.blue); ++ } ++ } ++ ++ return bltbuf; ++} ++ ++static void ++cursor(struct graphics_backend *backend, int set) ++{ ++ struct uga *uga; ++ int ch, invert; ++ unsigned short *text; ++ position_t fpos, screensz; ++ int offset; ++ ++ uga = backend->priv; ++ ++ if (set && !graphics_get_scroll()) ++ return; ++ ++ text = graphics_get_text_buf(); ++ graphics_get_font_position(&fpos); ++ graphics_get_screen_rowscols(&screensz); ++ ++ offset = fpos.y * screensz.x + fpos.x; ++ ++ if (set) ++ text[offset] |= 0x200; ++ ++ graphics_clbl(fpos.x, fpos.y, 1, 1, 1); ++ ++ if (set) ++ text[offset] &= 0xfdff; ++} ++ ++static void blank(struct graphics_backend *backend); ++ ++static void ++reset_screen_geometry(struct graphics_backend *backend) ++{ ++ struct uga *uga = backend->priv; ++ struct xpm *xpm = graphics_get_splash_xpm(); ++ position_t screensz = { .x = 640, .y = 480 }; ++ ++ if (xpm) { ++ screensz.x = xpm->width; ++ screensz.y = xpm->height; ++ } ++ ++ uga->screen_pos.x = ++ (uga->graphics_mode.horizontal_resolution - screensz.x) / 2; ++ uga->screen_pos.y = ++ (uga->graphics_mode.vertical_resolution - screensz.y) / 2; ++ ++ blank(backend); ++ graphics_get_screen_rowscols(&screensz); ++ graphics_clbl(0, 0, screensz.x, screensz.y, 0); ++ graphics_clbl(0, 0, screensz.x, screensz.y, 1); ++} ++ ++static void ++get_screen_size(struct graphics_backend *backend, position_t *size) ++{ ++ struct uga *uga = backend->priv; ++ size->x = uga->graphics_mode.horizontal_resolution; ++ size->y = uga->graphics_mode.vertical_resolution; ++} ++ ++static void ++setxy(struct graphics_backend *backend, position_t *pos) ++{ ++ position_t fpos; ++ ++ fpos.x = pos->x; ++ fpos.y = pos->y; ++ graphics_set_font_position(&fpos); ++} ++ ++static void ++uga_getxy(struct graphics_backend *backend, position_t *pos) ++{ ++ graphics_get_font_position(pos); ++} ++ ++static void ++draw_pixel(struct graphics_backend *backend, position_t *pos, pixel_t *pixel) ++{ ++ struct bltbuf *bltbuf = NULL; ++ grub_efi_uga_pixel_t *eup = (grub_efi_uga_pixel_t *)pixel; ++ ++ bltbuf = alloc_bltbuf(1,1); ++ if (!bltbuf) ++ return; ++ ++ grub_memmove(&bltbuf->pixbuf[0], eup, sizeof (*eup)); ++ ++ blt_to_screen_pos(backend->priv, bltbuf, pos); ++ ++ grub_free(bltbuf); ++} ++ ++static pixel_t * ++get_pixel_idx(struct graphics_backend *backend, int idx) ++{ ++ static grub_efi_uga_pixel_t pixel; ++ struct uga *uga = backend->priv; ++ if (idx < 0 || idx > MAX_PALETTE) ++ return NULL; ++ pixel.red = uga->palette[idx].red; ++ pixel.green = uga->palette[idx].green; ++ pixel.blue = uga->palette[idx].blue; ++ return (pixel_t *)&pixel; ++} ++ ++static pixel_t * ++get_pixel_rgb(struct graphics_backend *backend, int red, int green, int blue) ++{ ++ static grub_efi_uga_pixel_t pixel; ++ rgb_to_pixel(red, green, blue, &pixel); ++ return &pixel; ++} ++ ++static void ++set_palette(struct graphics_backend *backend, int idx, ++ int red, int green, int blue) ++{ ++ grub_efi_uga_pixel_t pixel; ++ struct uga *uga = backend->priv; ++ ++ if (idx > MAX_PALETTE) ++ return; ++ rgb_to_pixel(red, green, blue, &pixel); ++ grub_memmove(&uga->palette[idx], &pixel, sizeof pixel); ++} ++ ++static void ++blank(struct graphics_backend *backend) ++{ ++ struct uga *uga = backend->priv; ++ struct bltbuf *bltbuf; ++ position_t pos = {0, 0}; ++ grub_efi_uintn_t x, y, i, j; ++ unsigned char r = 0 ,g = 0; ++ ++ x = uga->graphics_mode.horizontal_resolution; ++ y = uga->graphics_mode.vertical_resolution; ++ ++ if (x == 0 || y == 0) ++ return; ++ ++ bltbuf = alloc_bltbuf(x, y); ++ for (j = 0; j < y; j++) { ++ if (debug_graphics && j % 16 == 0) { ++ g = g == 0 ? 7 : 0; ++ r = g == 0 ? 7 : 0; ++ } ++ for (i = 0; i < x; i++) { ++ if (debug_graphics && i % 16 == 0) { ++ g = g == 0 ? 7 : 0; ++ r = g == 0 ? 7 : 0; ++ } ++ pos.x = i; ++ pos.y = j; ++ bltbuf_set_pixel_rgb(bltbuf, &pos, r * 16, g * 16, 0x0); ++ } ++ } ++ ++ Call_Service_10(uga->draw_intf->blt, uga->draw_intf, bltbuf->pixbuf, ++ EfiUgaBltBufferToVideo, 0, 0, 0, 0, x, y, 0); ++ ++ grub_free(bltbuf); ++} ++ ++static void ++bltbuf_cp_bl(struct bltbuf *d, position_t dpos, ++ struct bltbuf *s, position_t spos) ++{ ++ grub_efi_uga_pixel_t *dp, *sp; ++ ++ const int xavail = MAX(0, s ? s->width - spos.x : 0); ++ const int xtotal = MAX(0, d->width - dpos.x); ++ const int xcp = MAX(0, MIN(xtotal, xavail)); ++ const int xcl = MAX(0, xtotal - xcp); ++ ++ const int yavail = MAX(0, s ? s->height - spos.y : 0); ++ const int ytotal = MAX(0, d->height - dpos.y); ++ const int ycp = MAX(0, MIN(ytotal, yavail)); ++ const int ycl = MAX(0, ytotal - ycp); ++ ++ int y, x; ++ ++ for (y = 0; y < ytotal; y++) { ++ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x]; ++ ++ if (y < yavail) { ++ sp = &s->pixbuf[(spos.y + y) * s->width + spos.x]; ++ memmove(dp, sp, xcp * sizeof (*dp)); ++ dp = &d->pixbuf[(dpos.y + y) * d->width + dpos.x + xcp]; ++ memset(dp, '\0', xcl * sizeof (*dp)); ++ } else { ++ memset(dp, '\0', xtotal * sizeof (*dp)); ++ } ++ } ++} ++ ++/* copy a region the size of bltbuf from the background into bltbuf, ++ * starting at offset bgpos ++ */ ++static void ++bltbuf_draw_bg(struct graphics_backend *backend, struct bltbuf *bltbuf, ++ position_t bgpos) ++{ ++ struct uga *uga = backend->priv; ++ position_t blpos = { 0, 0 }; ++ ++ bltbuf_cp_bl(bltbuf, blpos, uga->background, bgpos); ++} ++ ++static void ++dbg_dump_palette(struct graphics_backend *backend) ++{ ++ struct uga *uga; ++ int i; ++ if (!backend || !backend->priv) ++ return; ++ uga = backend->priv; ++ if (!uga->palette) ++ return; ++} ++ ++static int ++is_shadow_pixel(position_t screensz, position_t textpos, position_t bitpos, ++ position_t fontsz) ++{ ++ unsigned short *text = graphics_get_text_buf(); ++ const unsigned char *glyph; ++ position_t glyphpos = { textpos.x, textpos.y }; ++ position_t glyphbit = { bitpos.x, bitpos.y }; ++ unsigned short ch; ++ ++ if (glyphbit.x == 0) { ++ glyphbit.x = fontsz.x; ++ glyphpos.x--; ++ } ++ if (glyphbit.y == 0) { ++ glyphbit.y = fontsz.y; ++ glyphpos.y--; ++ } ++ glyphbit.x--; ++ glyphbit.y--; ++ ++ if (glyphpos.x < 0 || glyphpos.y < 0) ++ return 0; ++ ++ ch = text[glyphpos.y * screensz.x + glyphpos.x] & 0xff; ++ glyph = font8x16 + (ch << 4); ++ return glyph[glyphbit.y] & (1 << ((fontsz.x-1) - glyphbit.x)); ++} ++ ++static void ++bltbuf_draw_character(struct graphics_backend *backend, ++ struct bltbuf *bltbuf, /* the bltbuf to draw into */ ++ position_t target, /* the position in the bltbuf to draw to */ ++ position_t fontsz, /* the size of the font, in pixels */ ++ position_t charpos, /* the position of the character in the text ++ screen buffer */ ++ position_t screensz, /* the size of the screen in characters */ ++ unsigned short ch /* the character to draw, plus flags */ ++ ) ++{ ++ struct uga *uga = backend->priv; ++ position_t blpos; ++ position_t glyphpos; ++ ++ blpos.y = target.y; ++ for (glyphpos.y = 0; glyphpos.y < fontsz.y; glyphpos.y++, blpos.y++) { ++ blpos.x = target.x; ++ for (glyphpos.x = 0; glyphpos.x < fontsz.x; glyphpos.x++, blpos.x++) { ++ int invert = (ch & 0x0100) != 0; ++ int set = (ch & 0x0200) != 0; ++ const unsigned char *glyph = font8x16 + ((ch & 0xff) << 4); ++ int bit = glyph[glyphpos.y] & (1 << ((fontsz.x-1) - glyphpos.x)); ++ int idx = -1; ++ ++ if (!set) { ++ if (invert) ++ idx = bit ? 0 : 15; ++ else if (bit) ++ idx = 15; ++ ++ if (idx == -1) { ++ if (is_shadow_pixel(screensz, charpos, glyphpos, fontsz) || ++ !uga->background) ++ idx = invert ? 15 : 0; ++ } ++ } else { ++ idx = bit ? 0 : 15; ++ } ++ ++ if (idx != -1) ++ bltbuf_set_pixel_idx(uga, bltbuf, &blpos, idx); ++ } ++ } ++} ++ ++static void ++bltbuf_draw_text(struct graphics_backend *backend, ++ struct bltbuf *bltbuf, /* the buffer to draw into */ ++ position_t screensz, /* the size of the screen in characters */ ++ position_t fontsz, /* the size of the font in pixels */ ++ position_t txtpos, /* the position of the text on the screen ++ (in characters) */ ++ position_t txtsz /* the size of the block to fill in ++ (in characters) */ ++ ) ++{ ++ struct uga *uga = backend->priv; ++ unsigned short *text = graphics_get_text_buf(); ++ position_t charpos; ++ ++ for (charpos.y = txtpos.y; charpos.y < txtpos.y + txtsz.y; charpos.y++) { ++ for (charpos.x = txtpos.x; charpos.x < txtpos.x + txtsz.x; charpos.x++){ ++ int offset = charpos.y * screensz.x + charpos.x; ++ position_t blpos = { (charpos.x-txtpos.x)*fontsz.x, ++ (charpos.y-txtpos.y)*fontsz.y }; ++ ++ bltbuf_draw_character(backend, bltbuf, blpos, fontsz, charpos, ++ screensz, text[offset]); ++ } ++ } ++} ++ ++static void ++clbl(struct graphics_backend *backend, int col, int row, int width, int height, ++ int draw_text) ++{ ++ struct uga *uga = backend->priv; ++ struct xpm *xpm; ++ ++ struct bltbuf *bltbuf; ++ position_t fontsz, blpos, blsz, screensz; ++ unsigned short *text; ++ ++// blank(backend); ++// ++ xpm = graphics_get_splash_xpm(); ++ if (xpm && !uga->background) ++ uga->background = xpm_to_bltbuf(xpm); ++ ++ graphics_get_screen_rowscols(&screensz); ++ width = MIN(width, screensz.x - col); ++ height = MIN(height, screensz.y - row); ++ graphics_get_font_size(&fontsz); ++ ++ blsz.x = width * fontsz.x; ++ blsz.y = height * fontsz.y; ++ ++ bltbuf = alloc_bltbuf(blsz.x, blsz.y); ++ if (!bltbuf) ++ return; ++ ++ blsz.x = col * fontsz.x; ++ blsz.y = row * fontsz.y; ++ ++ text = graphics_get_text_buf(); ++ bltbuf_draw_bg(backend, bltbuf, blsz); ++ ++ if (draw_text) { ++ blsz.x = width; ++ blsz.y = height; ++ blpos.x = col; ++ blpos.y = row; ++ ++ bltbuf_draw_text(backend, bltbuf, screensz, fontsz, blpos, blsz); ++ } ++ ++ blpos.x = col * fontsz.x; ++ blpos.y = row * fontsz.y; ++ ++ blt_to_screen_pos(uga, bltbuf, &blpos); ++} ++ ++static void ++setup_cga_palette(void) ++{ ++/* ++ * Nov 27 15:53:19 ping? ++ * Nov 27 15:54:13 pong? ++ * Nov 27 15:54:16 say I've got a color channel in 6 bits, and it's ++ * stored in an 8-bit value. let's call it white. ++ * now let's say I've got hardware with 8 bits per ++ * channel that I'm blitting to. What's the right ++ * way to expand 0x3f to 0xff? ++ * Nov 27 15:55:17 (my naive idea, which I haven't tried yet, is ++ * "x <<= 2; if (x) x |= 3;") ++ * Nov 27 15:55:35 no. ++ * Nov 27 15:55:43 yeah, figured I'd ask instead of doing that. ++ * Nov 27 15:56:15 x <<= 2; x |= ((x & 0xc0) >> 6); ++ */ ++ int i; ++ for (i = 0; i < n_cga_colors; i++) { ++ grub_efi_uga_pixel_t *pixel = &cga_colors[i]; ++ ++ if ((pixel->red | pixel->green | pixel->blue) & 0xc0) ++ continue; ++ pixel->red <<= 2; ++ pixel->red |= ((pixel->red & 0xc0) >> 6); ++ pixel->red &= 0xff; ++ pixel->green <<= 2; ++ pixel->green |= ((pixel->green & 0xc0) >> 6); ++ pixel->green &= 0xff; ++ pixel->blue <<= 2; ++ pixel->blue |= ((pixel->blue & 0xc0) >> 6); ++ pixel->blue &= 0xff; ++ } ++} ++ ++static int ++try_enable(struct graphics_backend *backend) ++{ ++ struct uga *uga = backend->priv; ++ struct video_mode modes[] = { ++ { 1440, 900, 32, 60 }, ++ { 640, 480, 32, 60 }, ++ { 800, 600, 32, 60 }, ++ { 640, 480, 16, 60 }, ++ { 800, 600, 16, 60 }, ++ { 640, 480, 8, 60 }, ++ { 800, 600, 8, 60 } ++ }; ++ struct video_mode mode; ++ position_t font_size; ++ int i; ++ ++ if (uga->text_mode.horizontal_resolution == 0) { ++ grub_efi_set_text_mode(1); ++ save_video_mode(uga, &uga->text_mode); ++ } ++ ++ if (uga->graphics_mode.horizontal_resolution == 0) { ++ grub_efi_set_text_mode(0); ++ save_video_mode(uga, &uga->graphics_mode); ++ ++ if (cmp_video_modes(&uga->graphics_mode, &modes[0]) >= 0) { ++ uga->current_mode = GRAPHICS; ++ graphics_alloc_text_buf(); ++ return 1; ++ } ++ for (i = 0; i < sizeof (modes) / sizeof (modes[0]); i++) { ++ set_video_mode(uga, &modes[i]); ++ save_video_mode(uga, &mode); ++ if (!cmp_video_modes(&modes[i], &mode)) { ++ grub_memmove(&uga->graphics_mode, &mode, sizeof (mode)); ++ uga->current_mode = GRAPHICS; ++ graphics_alloc_text_buf(); ++ return 1; ++ } ++ } ++ set_video_mode(uga, &uga->graphics_mode); ++ save_video_mode(uga, &mode); ++ if (!cmp_video_modes(&uga->graphics_mode, &mode)) { ++ uga->current_mode = GRAPHICS; ++ graphics_alloc_text_buf(); ++ return 1; ++ } ++ grub_efi_set_text_mode(1); ++ return 0; ++ } ++ set_video_mode(uga, &uga->graphics_mode); ++ ++ uga->current_mode = GRAPHICS; ++ return 1; ++} ++ ++static int ++enable(struct graphics_backend *backend) ++{ ++ struct uga *uga = backend->priv; ++ grub_efi_handle_t *handle, *handles; ++ grub_efi_uintn_t num_handles; ++ grub_efi_pci_io_t *pci_proto; ++ int i; ++ ++ if (uga) { ++ if (uga->current_mode == GRAPHICS) { ++ return 1; ++ } ++ } else { ++ if (!(uga = grub_malloc(sizeof (*uga)))) { ++ return 0; ++ } ++ grub_memset(uga, '\0', sizeof (*uga)); ++ ++ uga->current_mode = TEXT; ++ ++ handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, ++ &draw_guid, NULL, &num_handles); ++ ++ if (!num_handles || !handles) ++ { ++ grub_free(uga); ++ return 0; ++ } ++ ++ for (handle = handles; num_handles--; handle++) ++ { ++ pci_proto = grub_efi_open_protocol (*handle, &pci_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ if (!pci_proto) ++ continue; ++ ++ uga->draw_intf = grub_efi_open_protocol (*handle, &draw_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ if (uga->draw_intf) ++ { ++ grub_efi_setup_gfx_pci(*handle); ++ break; ++ } ++ } ++ ++ grub_free(handles); ++ ++ if (!uga->draw_intf) ++ uga->draw_intf = grub_efi_locate_protocol(&draw_guid, NULL); ++ ++ if (!uga->draw_intf) { ++ grub_free(uga); ++ return 0; ++ } ++ grub_memset(&uga->graphics_mode, '\0', sizeof (uga->graphics_mode)); ++ grub_memset(&uga->text_mode, '\0', sizeof (uga->text_mode)); ++ backend->priv = uga; ++ ++ setup_cga_palette(); ++ for (i = 0; i < n_cga_colors; i++) { ++ uga->palette[i].red = cga_colors[i].red; ++ uga->palette[i].green = cga_colors[i].green; ++ uga->palette[i].blue = cga_colors[i].blue; ++ } ++ } ++ ++ if (try_enable(backend)) { ++ reset_screen_geometry(backend); ++ return 1; ++ } ++ ++ backend->priv = NULL; ++ grub_free(uga); ++ return 0; ++} ++ ++static void disable(struct graphics_backend *backend) ++{ ++ struct uga *uga; ++ ++ if (!backend) ++ return; ++ ++ uga = backend->priv; ++ if (!uga || uga->current_mode != GRAPHICS) ++ return; ++ ++#if 0 ++ blank(backend); ++ ++ set_video_mode(uga, &uga->text_mode); ++ grub_efi_set_text_mode(1); ++#endif ++ uga->current_mode = TEXT; ++} ++ ++struct graphics_backend uga_backend = { ++ .name = "uga", ++ .enable = enable, ++ .disable = disable, ++ .set_kernel_params = set_kernel_params, ++ .clbl = clbl, ++ .set_palette = set_palette, ++ .get_pixel_idx = get_pixel_idx, ++ .get_pixel_rgb = get_pixel_rgb, ++ .draw_pixel = draw_pixel, ++ .reset_screen_geometry = reset_screen_geometry, ++ .get_screen_size = get_screen_size, ++ .getxy = uga_getxy, ++ .setxy = setxy, ++ .gotoxy = NULL, ++ .cursor = cursor, ++}; ++ ++#endif /* SUPPORT_GRAPHICS */ +diff --git a/efi/font_8x16.c b/efi/font_8x16.c +new file mode 100644 +index 0000000..94829ec +--- /dev/null ++++ b/efi/font_8x16.c +@@ -0,0 +1,4638 @@ ++/* font_8x16.c - 8x16 font for GRUB/EFI */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copied from Linux kernel drivers/video/console/font_8x16.c, ++ * which is generated by cpi2fnt. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifdef SUPPORT_GRAPHICS ++ ++#define FONTDATAMAX 4096 ++ ++const unsigned char font8x16[FONTDATAMAX] = { ++ ++ /* 0 0x00 '^@' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 1 0x01 '^A' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x81, /* 10000001 */ ++ 0xa5, /* 10100101 */ ++ 0x81, /* 10000001 */ ++ 0x81, /* 10000001 */ ++ 0xbd, /* 10111101 */ ++ 0x99, /* 10011001 */ ++ 0x81, /* 10000001 */ ++ 0x81, /* 10000001 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 2 0x02 '^B' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0xff, /* 11111111 */ ++ 0xdb, /* 11011011 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xc3, /* 11000011 */ ++ 0xe7, /* 11100111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 3 0x03 '^C' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x6c, /* 01101100 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0x7c, /* 01111100 */ ++ 0x38, /* 00111000 */ ++ 0x10, /* 00010000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 4 0x04 '^D' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x7c, /* 01111100 */ ++ 0xfe, /* 11111110 */ ++ 0x7c, /* 01111100 */ ++ 0x38, /* 00111000 */ ++ 0x10, /* 00010000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 5 0x05 '^E' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x3c, /* 00111100 */ ++ 0xe7, /* 11100111 */ ++ 0xe7, /* 11100111 */ ++ 0xe7, /* 11100111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 6 0x06 '^F' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x7e, /* 01111110 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 7 0x07 '^G' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 8 0x08 '^H' */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xe7, /* 11100111 */ ++ 0xc3, /* 11000011 */ ++ 0xc3, /* 11000011 */ ++ 0xe7, /* 11100111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ ++ /* 9 0x09 '^I' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0x42, /* 01000010 */ ++ 0x42, /* 01000010 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 10 0x0a '^J' */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xc3, /* 11000011 */ ++ 0x99, /* 10011001 */ ++ 0xbd, /* 10111101 */ ++ 0xbd, /* 10111101 */ ++ 0x99, /* 10011001 */ ++ 0xc3, /* 11000011 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ ++ /* 11 0x0b '^K' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1e, /* 00011110 */ ++ 0x0e, /* 00001110 */ ++ 0x1a, /* 00011010 */ ++ 0x32, /* 00110010 */ ++ 0x78, /* 01111000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x78, /* 01111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 12 0x0c '^L' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 13 0x0d '^M' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3f, /* 00111111 */ ++ 0x33, /* 00110011 */ ++ 0x3f, /* 00111111 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x70, /* 01110000 */ ++ 0xf0, /* 11110000 */ ++ 0xe0, /* 11100000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 14 0x0e '^N' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7f, /* 01111111 */ ++ 0x63, /* 01100011 */ ++ 0x7f, /* 01111111 */ ++ 0x63, /* 01100011 */ ++ 0x63, /* 01100011 */ ++ 0x63, /* 01100011 */ ++ 0x63, /* 01100011 */ ++ 0x67, /* 01100111 */ ++ 0xe7, /* 11100111 */ ++ 0xe6, /* 11100110 */ ++ 0xc0, /* 11000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 15 0x0f '^O' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xdb, /* 11011011 */ ++ 0x3c, /* 00111100 */ ++ 0xe7, /* 11100111 */ ++ 0x3c, /* 00111100 */ ++ 0xdb, /* 11011011 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 16 0x10 '^P' */ ++ 0x00, /* 00000000 */ ++ 0x80, /* 10000000 */ ++ 0xc0, /* 11000000 */ ++ 0xe0, /* 11100000 */ ++ 0xf0, /* 11110000 */ ++ 0xf8, /* 11111000 */ ++ 0xfe, /* 11111110 */ ++ 0xf8, /* 11111000 */ ++ 0xf0, /* 11110000 */ ++ 0xe0, /* 11100000 */ ++ 0xc0, /* 11000000 */ ++ 0x80, /* 10000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 17 0x11 '^Q' */ ++ 0x00, /* 00000000 */ ++ 0x02, /* 00000010 */ ++ 0x06, /* 00000110 */ ++ 0x0e, /* 00001110 */ ++ 0x1e, /* 00011110 */ ++ 0x3e, /* 00111110 */ ++ 0xfe, /* 11111110 */ ++ 0x3e, /* 00111110 */ ++ 0x1e, /* 00011110 */ ++ 0x0e, /* 00001110 */ ++ 0x06, /* 00000110 */ ++ 0x02, /* 00000010 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 18 0x12 '^R' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 19 0x13 '^S' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 20 0x14 '^T' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7f, /* 01111111 */ ++ 0xdb, /* 11011011 */ ++ 0xdb, /* 11011011 */ ++ 0xdb, /* 11011011 */ ++ 0x7b, /* 01111011 */ ++ 0x1b, /* 00011011 */ ++ 0x1b, /* 00011011 */ ++ 0x1b, /* 00011011 */ ++ 0x1b, /* 00011011 */ ++ 0x1b, /* 00011011 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 21 0x15 '^U' */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0x60, /* 01100000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x0c, /* 00001100 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 22 0x16 '^V' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 23 0x17 '^W' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 24 0x18 '^X' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 25 0x19 '^Y' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 26 0x1a '^Z' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0xfe, /* 11111110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 27 0x1b '^[' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xfe, /* 11111110 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 28 0x1c '^\' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 29 0x1d '^]' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x28, /* 00101000 */ ++ 0x6c, /* 01101100 */ ++ 0xfe, /* 11111110 */ ++ 0x6c, /* 01101100 */ ++ 0x28, /* 00101000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 30 0x1e '^^' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x38, /* 00111000 */ ++ 0x7c, /* 01111100 */ ++ 0x7c, /* 01111100 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 31 0x1f '^_' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0x7c, /* 01111100 */ ++ 0x7c, /* 01111100 */ ++ 0x38, /* 00111000 */ ++ 0x38, /* 00111000 */ ++ 0x10, /* 00010000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 32 0x20 ' ' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 33 0x21 '!' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x3c, /* 00111100 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 34 0x22 '"' */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x24, /* 00100100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 35 0x23 '#' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0xfe, /* 11111110 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0xfe, /* 11111110 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 36 0x24 '$' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc2, /* 11000010 */ ++ 0xc0, /* 11000000 */ ++ 0x7c, /* 01111100 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x86, /* 10000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 37 0x25 '%' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc2, /* 11000010 */ ++ 0xc6, /* 11000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc6, /* 11000110 */ ++ 0x86, /* 10000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 38 0x26 '&' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 39 0x27 ''' */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 40 0x28 '(' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 41 0x29 ')' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 42 0x2a '*' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0xff, /* 11111111 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 43 0x2b '+' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 44 0x2c ',' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 45 0x2d '-' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 46 0x2e '.' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 47 0x2f '/' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x02, /* 00000010 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc0, /* 11000000 */ ++ 0x80, /* 10000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 48 0x30 '0' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 49 0x31 '1' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x38, /* 00111000 */ ++ 0x78, /* 01111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 50 0x32 '2' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 51 0x33 '3' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x3c, /* 00111100 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 52 0x34 '4' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x0c, /* 00001100 */ ++ 0x1c, /* 00011100 */ ++ 0x3c, /* 00111100 */ ++ 0x6c, /* 01101100 */ ++ 0xcc, /* 11001100 */ ++ 0xfe, /* 11111110 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x1e, /* 00011110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 53 0x35 '5' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xfc, /* 11111100 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 54 0x36 '6' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x60, /* 01100000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xfc, /* 11111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 55 0x37 '7' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 56 0x38 '8' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 57 0x39 '9' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7e, /* 01111110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x78, /* 01111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 58 0x3a ':' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 59 0x3b ';' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 60 0x3c '<' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x06, /* 00000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 61 0x3d '=' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 62 0x3e '>' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 63 0x3f '?' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 64 0x40 '@' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xde, /* 11011110 */ ++ 0xde, /* 11011110 */ ++ 0xde, /* 11011110 */ ++ 0xdc, /* 11011100 */ ++ 0xc0, /* 11000000 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 65 0x41 'A' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 66 0x42 'B' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfc, /* 11111100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x7c, /* 01111100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0xfc, /* 11111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 67 0x43 'C' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0xc2, /* 11000010 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc2, /* 11000010 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 68 0x44 'D' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xf8, /* 11111000 */ ++ 0x6c, /* 01101100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x6c, /* 01101100 */ ++ 0xf8, /* 11111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 69 0x45 'E' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x66, /* 01100110 */ ++ 0x62, /* 01100010 */ ++ 0x68, /* 01101000 */ ++ 0x78, /* 01111000 */ ++ 0x68, /* 01101000 */ ++ 0x60, /* 01100000 */ ++ 0x62, /* 01100010 */ ++ 0x66, /* 01100110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 70 0x46 'F' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x66, /* 01100110 */ ++ 0x62, /* 01100010 */ ++ 0x68, /* 01101000 */ ++ 0x78, /* 01111000 */ ++ 0x68, /* 01101000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0xf0, /* 11110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 71 0x47 'G' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0xc2, /* 11000010 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xde, /* 11011110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x66, /* 01100110 */ ++ 0x3a, /* 00111010 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 72 0x48 'H' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 73 0x49 'I' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 74 0x4a 'J' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1e, /* 00011110 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x78, /* 01111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 75 0x4b 'K' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xe6, /* 11100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x6c, /* 01101100 */ ++ 0x78, /* 01111000 */ ++ 0x78, /* 01111000 */ ++ 0x6c, /* 01101100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0xe6, /* 11100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 76 0x4c 'L' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xf0, /* 11110000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x62, /* 01100010 */ ++ 0x66, /* 01100110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 77 0x4d 'M' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xee, /* 11101110 */ ++ 0xfe, /* 11111110 */ ++ 0xfe, /* 11111110 */ ++ 0xd6, /* 11010110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 78 0x4e 'N' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xe6, /* 11100110 */ ++ 0xf6, /* 11110110 */ ++ 0xfe, /* 11111110 */ ++ 0xde, /* 11011110 */ ++ 0xce, /* 11001110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 79 0x4f 'O' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 80 0x50 'P' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfc, /* 11111100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x7c, /* 01111100 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0xf0, /* 11110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 81 0x51 'Q' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xd6, /* 11010110 */ ++ 0xde, /* 11011110 */ ++ 0x7c, /* 01111100 */ ++ 0x0c, /* 00001100 */ ++ 0x0e, /* 00001110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 82 0x52 'R' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfc, /* 11111100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x7c, /* 01111100 */ ++ 0x6c, /* 01101100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0xe6, /* 11100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 83 0x53 'S' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x60, /* 01100000 */ ++ 0x38, /* 00111000 */ ++ 0x0c, /* 00001100 */ ++ 0x06, /* 00000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 84 0x54 'T' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x5a, /* 01011010 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 85 0x55 'U' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 86 0x56 'V' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x10, /* 00010000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 87 0x57 'W' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xfe, /* 11111110 */ ++ 0xee, /* 11101110 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 88 0x58 'X' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x7c, /* 01111100 */ ++ 0x38, /* 00111000 */ ++ 0x38, /* 00111000 */ ++ 0x7c, /* 01111100 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 89 0x59 'Y' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 90 0x5a 'Z' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0x86, /* 10000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc2, /* 11000010 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 91 0x5b '[' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 92 0x5c '\' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x80, /* 10000000 */ ++ 0xc0, /* 11000000 */ ++ 0xe0, /* 11100000 */ ++ 0x70, /* 01110000 */ ++ 0x38, /* 00111000 */ ++ 0x1c, /* 00011100 */ ++ 0x0e, /* 00001110 */ ++ 0x06, /* 00000110 */ ++ 0x02, /* 00000010 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 93 0x5d ']' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 94 0x5e '^' */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 95 0x5f '_' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 96 0x60 '`' */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 97 0x61 'a' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0x0c, /* 00001100 */ ++ 0x7c, /* 01111100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 98 0x62 'b' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xe0, /* 11100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x78, /* 01111000 */ ++ 0x6c, /* 01101100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 99 0x63 'c' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 100 0x64 'd' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1c, /* 00011100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x3c, /* 00111100 */ ++ 0x6c, /* 01101100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 101 0x65 'e' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 102 0x66 'f' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1c, /* 00011100 */ ++ 0x36, /* 00110110 */ ++ 0x32, /* 00110010 */ ++ 0x30, /* 00110000 */ ++ 0x78, /* 01111000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x78, /* 01111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 103 0x67 'g' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x7c, /* 01111100 */ ++ 0x0c, /* 00001100 */ ++ 0xcc, /* 11001100 */ ++ 0x78, /* 01111000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 104 0x68 'h' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xe0, /* 11100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x6c, /* 01101100 */ ++ 0x76, /* 01110110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0xe6, /* 11100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 105 0x69 'i' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 106 0x6a 'j' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x00, /* 00000000 */ ++ 0x0e, /* 00001110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ ++ /* 107 0x6b 'k' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xe0, /* 11100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x66, /* 01100110 */ ++ 0x6c, /* 01101100 */ ++ 0x78, /* 01111000 */ ++ 0x78, /* 01111000 */ ++ 0x6c, /* 01101100 */ ++ 0x66, /* 01100110 */ ++ 0xe6, /* 11100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 108 0x6c 'l' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 109 0x6d 'm' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xec, /* 11101100 */ ++ 0xfe, /* 11111110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 110 0x6e 'n' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xdc, /* 11011100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 111 0x6f 'o' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 112 0x70 'p' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xdc, /* 11011100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x7c, /* 01111100 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0xf0, /* 11110000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 113 0x71 'q' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x7c, /* 01111100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x1e, /* 00011110 */ ++ 0x00, /* 00000000 */ ++ ++ /* 114 0x72 'r' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xdc, /* 11011100 */ ++ 0x76, /* 01110110 */ ++ 0x66, /* 01100110 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0xf0, /* 11110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 115 0x73 's' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0x60, /* 01100000 */ ++ 0x38, /* 00111000 */ ++ 0x0c, /* 00001100 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 116 0x74 't' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0xfc, /* 11111100 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x36, /* 00110110 */ ++ 0x1c, /* 00011100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 117 0x75 'u' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 118 0x76 'v' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 119 0x77 'w' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xd6, /* 11010110 */ ++ 0xfe, /* 11111110 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 120 0x78 'x' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x38, /* 00111000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 121 0x79 'y' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7e, /* 01111110 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0xf8, /* 11111000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 122 0x7a 'z' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xcc, /* 11001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 123 0x7b '{' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x0e, /* 00001110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x70, /* 01110000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x0e, /* 00001110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 124 0x7c '|' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 125 0x7d '}' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x70, /* 01110000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x0e, /* 00001110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x70, /* 01110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 126 0x7e '~' */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 127 0x7f '' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 128 0x80 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0xc2, /* 11000010 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc2, /* 11000010 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x70, /* 01110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 129 0x81 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 130 0x82 '�' */ ++ 0x00, /* 00000000 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 131 0x83 '�' */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0x0c, /* 00001100 */ ++ 0x7c, /* 01111100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 132 0x84 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0x0c, /* 00001100 */ ++ 0x7c, /* 01111100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 133 0x85 '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0x0c, /* 00001100 */ ++ 0x7c, /* 01111100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 134 0x86 '�' */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0x0c, /* 00001100 */ ++ 0x7c, /* 01111100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 135 0x87 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x18, /* 00011000 */ ++ 0x70, /* 01110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 136 0x88 '�' */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 137 0x89 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 138 0x8a '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 139 0x8b '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 140 0x8c '�' */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 141 0x8d '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 142 0x8e '�' */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 143 0x8f '�' */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 144 0x90 '�' */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x66, /* 01100110 */ ++ 0x62, /* 01100010 */ ++ 0x68, /* 01101000 */ ++ 0x78, /* 01111000 */ ++ 0x68, /* 01101000 */ ++ 0x62, /* 01100010 */ ++ 0x66, /* 01100110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 145 0x91 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xec, /* 11101100 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x7e, /* 01111110 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0x6e, /* 01101110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 146 0x92 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3e, /* 00111110 */ ++ 0x6c, /* 01101100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xfe, /* 11111110 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xce, /* 11001110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 147 0x93 '�' */ ++ 0x00, /* 00000000 */ ++ 0x10, /* 00010000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 148 0x94 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 149 0x95 '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 150 0x96 '�' */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x78, /* 01111000 */ ++ 0xcc, /* 11001100 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 151 0x97 '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 152 0x98 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7e, /* 01111110 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x78, /* 01111000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 153 0x99 '�' */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 154 0x9a '�' */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 155 0x9b '�' */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 156 0x9c '�' */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x64, /* 01100100 */ ++ 0x60, /* 01100000 */ ++ 0xf0, /* 11110000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0xe6, /* 11100110 */ ++ 0xfc, /* 11111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 157 0x9d '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 158 0x9e '�' */ ++ 0x00, /* 00000000 */ ++ 0xf8, /* 11111000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xf8, /* 11111000 */ ++ 0xc4, /* 11000100 */ ++ 0xcc, /* 11001100 */ ++ 0xde, /* 11011110 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 159 0x9f '�' */ ++ 0x00, /* 00000000 */ ++ 0x0e, /* 00001110 */ ++ 0x1b, /* 00011011 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xd8, /* 11011000 */ ++ 0x70, /* 01110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 160 0xa0 '�' */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0x0c, /* 00001100 */ ++ 0x7c, /* 01111100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 161 0xa1 '�' */ ++ 0x00, /* 00000000 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 162 0xa2 '�' */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 163 0xa3 '�' */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x00, /* 00000000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 164 0xa4 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0x00, /* 00000000 */ ++ 0xdc, /* 11011100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 165 0xa5 '�' */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0x00, /* 00000000 */ ++ 0xc6, /* 11000110 */ ++ 0xe6, /* 11100110 */ ++ 0xf6, /* 11110110 */ ++ 0xfe, /* 11111110 */ ++ 0xde, /* 11011110 */ ++ 0xce, /* 11001110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 166 0xa6 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x3e, /* 00111110 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 167 0xa7 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 168 0xa8 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc0, /* 11000000 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x7c, /* 01111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 169 0xa9 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 170 0xaa '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 171 0xab '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0xe0, /* 11100000 */ ++ 0x62, /* 01100010 */ ++ 0x66, /* 01100110 */ ++ 0x6c, /* 01101100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xdc, /* 11011100 */ ++ 0x86, /* 10000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x3e, /* 00111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 172 0xac '�' */ ++ 0x00, /* 00000000 */ ++ 0x60, /* 01100000 */ ++ 0xe0, /* 11100000 */ ++ 0x62, /* 01100010 */ ++ 0x66, /* 01100110 */ ++ 0x6c, /* 01101100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x66, /* 01100110 */ ++ 0xce, /* 11001110 */ ++ 0x9a, /* 10011010 */ ++ 0x3f, /* 00111111 */ ++ 0x06, /* 00000110 */ ++ 0x06, /* 00000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 173 0xad '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x3c, /* 00111100 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 174 0xae '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x36, /* 00110110 */ ++ 0x6c, /* 01101100 */ ++ 0xd8, /* 11011000 */ ++ 0x6c, /* 01101100 */ ++ 0x36, /* 00110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 175 0xaf '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xd8, /* 11011000 */ ++ 0x6c, /* 01101100 */ ++ 0x36, /* 00110110 */ ++ 0x6c, /* 01101100 */ ++ 0xd8, /* 11011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 176 0xb0 '�' */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ 0x11, /* 00010001 */ ++ 0x44, /* 01000100 */ ++ ++ /* 177 0xb1 '�' */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ 0x55, /* 01010101 */ ++ 0xaa, /* 10101010 */ ++ ++ /* 178 0xb2 '�' */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ 0xdd, /* 11011101 */ ++ 0x77, /* 01110111 */ ++ ++ /* 179 0xb3 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 180 0xb4 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 181 0xb5 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 182 0xb6 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xf6, /* 11110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 183 0xb7 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 184 0xb8 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 185 0xb9 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xf6, /* 11110110 */ ++ 0x06, /* 00000110 */ ++ 0xf6, /* 11110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 186 0xba '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 187 0xbb '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x06, /* 00000110 */ ++ 0xf6, /* 11110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 188 0xbc '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xf6, /* 11110110 */ ++ 0x06, /* 00000110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 189 0xbd '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 190 0xbe '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 191 0xbf '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xf8, /* 11111000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 192 0xc0 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 193 0xc1 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 194 0xc2 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 195 0xc3 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 196 0xc4 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 197 0xc5 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xff, /* 11111111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 198 0xc6 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 199 0xc7 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x37, /* 00110111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 200 0xc8 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x37, /* 00110111 */ ++ 0x30, /* 00110000 */ ++ 0x3f, /* 00111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 201 0xc9 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3f, /* 00111111 */ ++ 0x30, /* 00110000 */ ++ 0x37, /* 00110111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 202 0xca '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xf7, /* 11110111 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 203 0xcb '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0xf7, /* 11110111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 204 0xcc '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x37, /* 00110111 */ ++ 0x30, /* 00110000 */ ++ 0x37, /* 00110111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 205 0xcd '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 206 0xce '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xf7, /* 11110111 */ ++ 0x00, /* 00000000 */ ++ 0xf7, /* 11110111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 207 0xcf '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 208 0xd0 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 209 0xd1 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 210 0xd2 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 211 0xd3 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x3f, /* 00111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 212 0xd4 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 213 0xd5 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 214 0xd6 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x3f, /* 00111111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 215 0xd7 '�' */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0xff, /* 11111111 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ ++ /* 216 0xd8 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xff, /* 11111111 */ ++ 0x18, /* 00011000 */ ++ 0xff, /* 11111111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 217 0xd9 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xf8, /* 11111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 218 0xda '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1f, /* 00011111 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 219 0xdb '�' */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ ++ /* 220 0xdc '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ ++ /* 221 0xdd '�' */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ 0xf0, /* 11110000 */ ++ ++ /* 222 0xde '�' */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ 0x0f, /* 00001111 */ ++ ++ /* 223 0xdf '�' */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0xff, /* 11111111 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 224 0xe0 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0xdc, /* 11011100 */ ++ 0x76, /* 01110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 225 0xe1 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x78, /* 01111000 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xcc, /* 11001100 */ ++ 0xd8, /* 11011000 */ ++ 0xcc, /* 11001100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xcc, /* 11001100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 226 0xe2 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0xc0, /* 11000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 227 0xe3 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 228 0xe4 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 229 0xe5 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0x70, /* 01110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 230 0xe6 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x7c, /* 01111100 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0xc0, /* 11000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 231 0xe7 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 232 0xe8 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 233 0xe9 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xfe, /* 11111110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 234 0xea '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0xee, /* 11101110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 235 0xeb '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1e, /* 00011110 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x3e, /* 00111110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x66, /* 01100110 */ ++ 0x3c, /* 00111100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 236 0xec '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0xdb, /* 11011011 */ ++ 0xdb, /* 11011011 */ ++ 0xdb, /* 11011011 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 237 0xed '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x03, /* 00000011 */ ++ 0x06, /* 00000110 */ ++ 0x7e, /* 01111110 */ ++ 0xdb, /* 11011011 */ ++ 0xdb, /* 11011011 */ ++ 0xf3, /* 11110011 */ ++ 0x7e, /* 01111110 */ ++ 0x60, /* 01100000 */ ++ 0xc0, /* 11000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 238 0xee '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x1c, /* 00011100 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x7c, /* 01111100 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x1c, /* 00011100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 239 0xef '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7c, /* 01111100 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0xc6, /* 11000110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 240 0xf0 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0xfe, /* 11111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 241 0xf1 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x7e, /* 01111110 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 242 0xf2 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x06, /* 00000110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 243 0xf3 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x30, /* 00110000 */ ++ 0x60, /* 01100000 */ ++ 0x30, /* 00110000 */ ++ 0x18, /* 00011000 */ ++ 0x0c, /* 00001100 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 244 0xf4 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x0e, /* 00001110 */ ++ 0x1b, /* 00011011 */ ++ 0x1b, /* 00011011 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ ++ /* 245 0xf5 '�' */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0xd8, /* 11011000 */ ++ 0x70, /* 01110000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 246 0xf6 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 247 0xf7 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0x00, /* 00000000 */ ++ 0x76, /* 01110110 */ ++ 0xdc, /* 11011100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 248 0xf8 '�' */ ++ 0x00, /* 00000000 */ ++ 0x38, /* 00111000 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x38, /* 00111000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 249 0xf9 '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 250 0xfa '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x18, /* 00011000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 251 0xfb '�' */ ++ 0x00, /* 00000000 */ ++ 0x0f, /* 00001111 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0x0c, /* 00001100 */ ++ 0xec, /* 11101100 */ ++ 0x6c, /* 01101100 */ ++ 0x6c, /* 01101100 */ ++ 0x3c, /* 00111100 */ ++ 0x1c, /* 00011100 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 252 0xfc '�' */ ++ 0x00, /* 00000000 */ ++ 0x6c, /* 01101100 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x36, /* 00110110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 253 0xfd '�' */ ++ 0x00, /* 00000000 */ ++ 0x3c, /* 00111100 */ ++ 0x66, /* 01100110 */ ++ 0x0c, /* 00001100 */ ++ 0x18, /* 00011000 */ ++ 0x32, /* 00110010 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 254 0xfe '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x7e, /* 01111110 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++ /* 255 0xff '�' */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ 0x00, /* 00000000 */ ++ ++}; ++ ++#endif +diff --git a/efi/graphics.c b/efi/graphics.c +new file mode 100644 +index 0000000..2302590 +--- /dev/null ++++ b/efi/graphics.c +@@ -0,0 +1,659 @@ ++#ifdef SUPPORT_GRAPHICS ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include "graphics.h" ++ ++#if 0 ++#include "ugadebug.h" ++#endif ++ ++int foreground = 0x00ffffff, background = 0; ++int graphics_inited = 0; ++ ++/* Convert a character which is a hex digit to the appropriate integer */ ++int ++hex (int v) ++{ ++ if (v >= 'A' && v <= 'F') ++ return (v - 'A' + 10); ++ if (v >= 'a' && v <= 'f') ++ return (v - 'a' + 10); ++ return (v - '0'); ++} ++ ++grub_uint16_t ++grub_console_getwh (void) ++{ ++ grub_efi_simple_text_output_interface_t *o; ++ grub_efi_uintn_t columns, rows; ++ ++ o = grub_efi_system_table->con_out; ++ if (Call_Service_4 (o->query_mode , o, o->mode->mode, &columns, &rows) ++ != GRUB_EFI_SUCCESS) ++ { ++ /* Why does this fail? */ ++ columns = 80; ++ rows = 25; ++ } ++ ++ return ((columns << 8) | rows); ++} ++ ++extern struct graphics_backend uga_backend; ++extern struct graphics_backend eg_backend; ++ ++static struct graphics_backend *backends[] = { ++ &eg_backend, ++ &uga_backend, ++ NULL ++}; ++static struct graphics_backend *backend; ++ ++struct graphics { ++ int scroll; ++ int fontx; ++ int fonty; ++ ++ int standard_color; ++ int normal_color; ++ int highlight_color; ++ int current_color; ++ color_state color_state; ++ ++ char splashpath[64]; ++ struct xpm *splashimage; ++ ++ unsigned short *text; ++}; ++ ++static grub_efi_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID; ++static grub_efi_guid_t pci_io_guid = GRUB_EFI_PCI_IO_GUID; ++static grub_efi_guid_t pci_root_io_guid = GRUB_EFI_PCI_ROOT_IO_GUID; ++ ++static void ++grub_efi_configure_pci(grub_efi_handle_t handle) ++{ ++ grub_efi_device_path_t *path, *parent; ++ grub_efi_handle_t parent_handle; ++ grub_efi_pci_io_t *pci_proto; ++ grub_efi_pci_root_io_t *pci_root_proto; ++ grub_efi_status_t status; ++ ++ path = grub_efi_get_device_path(handle); ++ parent = find_parent_device_path(path); ++ ++ if (!parent) ++ return; ++ ++ status = grub_efi_locate_device_path (&device_path_guid, &parent, ++ &parent_handle); ++ if (status != GRUB_EFI_SUCCESS) ++ return; ++ ++ pci_proto = grub_efi_open_protocol (parent_handle, &pci_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ pci_root_proto = grub_efi_open_protocol (parent_handle, &pci_root_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ ++ if (pci_proto || pci_root_proto) ++ { ++ if (pci_proto) ++ { ++ Call_Service_4 (pci_proto->attributes, pci_proto, ++ grub_efi_pci_io_attribute_operation_enable, ++ GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | ++ GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_IO | ++ GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO, NULL); ++ ++ grub_efi_configure_pci (parent_handle); ++ } ++ else ++ { ++ grub_uint8_t value = 0x33; ++ ++ Call_Service_5 (pci_root_proto->pci.write, pci_root_proto, ++ grub_efi_pci_io_width_uint8, 0x91, 1, &value); ++ Call_Service_5 (pci_root_proto->pci.write, pci_root_proto, ++ grub_efi_pci_io_width_uint8, 0x92, 1, &value); ++ } ++ } ++ grub_free(parent); ++} ++ ++void ++grub_efi_setup_gfx_pci(grub_efi_handle_t handle) ++{ ++ grub_efi_uint64_t romsize; ++ grub_efi_uint16_t *header; ++ void *vrom; ++ grub_efi_pci_io_t *pci_proto; ++ ++ pci_proto = grub_efi_open_protocol (handle, &pci_io_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ if (!pci_proto) ++ return; ++ ++ romsize = pci_proto->rom_size; ++ ++ if (!romsize || romsize > 65536 || !pci_proto->rom_image) ++ return; ++ ++ /* Copy the ROM */ ++ vrom = grub_efi_allocate_runtime_pages(0xc0000, 16); ++ ++ if (!vrom) ++ return; ++ ++ header = vrom; ++ ++ if (*header == 0xaa55) ++ return; ++ ++ grub_efi_configure_pci(handle); ++ ++ grub_memcpy(vrom, pci_proto->rom_image, romsize); ++} ++ ++void ++graphics_set_kernel_params(struct linux_kernel_params *params) ++{ ++ params->video_cursor_x = grub_efi_system_table->con_out->mode->cursor_column; ++ params->video_cursor_y = grub_efi_system_table->con_out->mode->cursor_row; ++ params->video_page = 0; /* ??? */ ++ params->video_mode = grub_efi_system_table->con_out->mode->mode; ++ params->video_width = (grub_console_getwh () >> 8); ++ params->video_ega_bx = 0; ++ params->video_height = (grub_console_getwh () & 0xff); ++ params->have_vga = 0; ++ params->font_size = 16; /* XXX */ ++ ++ /* No VBE. */ ++ params->lfb_width = 0; ++ params->lfb_height = 0; ++ params->lfb_depth = 0; ++ params->lfb_base = 0; ++ params->lfb_size = 0; ++ params->lfb_line_len = 0; ++ params->red_mask_size = 0; ++ params->red_field_pos = 0; ++ params->green_mask_size = 0; ++ params->green_field_pos = 0; ++ params->blue_mask_size = 0; ++ params->blue_field_pos = 0; ++ params->reserved_mask_size = 0; ++ params->reserved_field_pos = 0; ++ params->vesapm_segment = 0; ++ params->vesapm_offset = 0; ++ params->lfb_pages = 0; ++ params->vesa_attrib = 0; ++ ++ if (backend && backend->set_kernel_params) ++ backend->set_kernel_params(backend, params); ++} ++ ++int ++graphics_alloc_text_buf(void) ++{ ++ if (backend) { ++ struct graphics *graphics = backend->graphics; ++ position_t screen_size; ++ ++ if (graphics->text) { ++ grub_free(graphics->text); ++ graphics->text = NULL; ++ } ++ graphics_get_screen_rowscols(&screen_size); ++ graphics->text = grub_malloc(screen_size.x ++ * screen_size.y ++ * sizeof (graphics->text[0])); ++ if (graphics->text) { ++ int x, y; ++ for (y = 0; y < screen_size.y; y++) ++ for (x = 0; x < screen_size.x; x++) ++ graphics->text[y * screen_size.x + x] = ' '; ++ return 1; ++ } ++ } ++ return 0; ++} ++ ++unsigned short * ++graphics_get_text_buf(void) ++{ ++ return backend ? backend->graphics->text : NULL; ++ return NULL; ++} ++ ++int ++graphics_get_screen_rowscols(position_t *size) ++{ ++#if 0 ++ if (backend && backend->get_screen_size) { ++ backend->get_screen_size(backend, size); ++ size->x >>= 3; ++ size->y >>= 4; ++ return 1; ++ } ++ size->x = -1; ++ size->y = -1; ++ return 0; ++#else ++ size->x = 80; ++ size->y = 30; ++ return 1; ++#endif ++} ++ ++int ++graphics_get_scroll(void) ++{ ++ return backend ? backend->graphics->scroll : 1; ++} ++ ++void ++graphics_set_palette(int idx, int red, int green, int blue) ++{ ++ if (backend && backend->set_palette) { ++ backend->set_palette(backend, idx, red, green, blue); ++ backend->set_palette(backend, 0, 0x00, 0x00, 0x00); ++ backend->set_palette(backend, 15, 0xff, 0xff, 0xff); ++ backend->set_palette(backend, 16, 0x00, 0x00, 0x00); ++ } ++} ++ ++static char splashpath[64] = ""; ++ ++static void ++graphics_set_splash_helper(void) ++{ ++ if (backend) { ++ struct xpm *xpm = NULL; ++ ++ if (backend->graphics->splashimage) ++ xpm_free(backend->graphics->splashimage); ++ ++ if (splashpath[0]) ++ xpm = xpm_open(splashpath); ++ ++ if (xpm) { ++ backend->graphics->splashimage = xpm; ++ grub_strcpy(backend->graphics->splashpath, splashpath); ++ } else { ++ backend->graphics->splashimage = NULL; ++ backend->graphics->splashpath[0] = '\0'; ++ } ++ backend->reset_screen_geometry(backend); ++ } ++} ++ ++void ++graphics_set_splash(char *s) ++{ ++ if (s && s[0] != '\0') ++ grub_strcpy(splashpath, s); ++ else ++ splashpath[0] = '\0'; ++ graphics_set_splash_helper(); ++} ++ ++char * ++graphics_get_splash(void) ++{ ++ if (backend) ++ return backend->graphics->splashpath; ++ if (splashpath[0] != '\0') ++ return splashpath; ++ return NULL; ++} ++ ++struct xpm * ++graphics_get_splash_xpm(void) ++{ ++ if (backend) ++ return backend->graphics->splashimage; ++ return NULL; ++} ++ ++void ++graphics_putchar(int ch) ++{ ++ struct graphics *graphics; ++ position_t screensz; ++ int offset; ++ ++ void *old_term = current_term; ++ ++ if (!backend) ++ return; ++ ++ graphics = backend->graphics; ++ graphics_get_screen_rowscols(&screensz); ++ ++ ch &= 0xff; ++ ++ graphics_cursor(0); ++ ++ if (ch == '\n') { ++ if (graphics->fonty + 1 < screensz.y) { ++ graphics_setxy(graphics->fontx, graphics->fonty + 1); ++ } else ++ graphics_scroll(); ++ graphics_cursor(1); ++ return; ++ } else if (ch == '\r') { ++ graphics_setxy(0, graphics->fonty); ++ graphics_cursor(1); ++ return; ++ } ++ ++ graphics_cursor(0); ++ ++ offset = graphics->fontx + graphics->fonty * screensz.x; ++ graphics->text[offset] = ch; ++ graphics->text[offset] &= 0x00ff; ++ if (graphics->current_color & 0xf0) ++ graphics->text[offset] |= 0x100; ++ ++ graphics_cursor(0); ++ ++ if ((graphics->fontx + 1) >= screensz.x) { ++ graphics_setxy(0, graphics->fonty); ++ if (graphics->fonty + 1 < screensz.y) ++ graphics_setxy(0, graphics->fonty + 1); ++ else ++ graphics_scroll(); ++ } else { ++ graphics_setxy(graphics->fontx + 1, graphics->fonty); ++ } ++ ++ graphics_cursor(1); ++} ++ ++void ++graphics_set_font_position(position_t *pos) ++{ ++ if (backend) { ++ backend->graphics->fontx = pos->x; ++ backend->graphics->fonty = pos->y; ++ } ++} ++ ++void ++graphics_get_font_position(position_t *pos) ++{ ++ if (backend) { ++ pos->x = backend->graphics->fontx; ++ pos->y = backend->graphics->fonty; ++ return; ++ } ++ pos->x = -1; ++ pos->y = -1; ++} ++ ++void ++graphics_get_font_size(position_t *size) ++{ ++ size->x = 8; ++ size->y = 16; ++} ++ ++void ++graphics_setxy(int x, int y) ++{ ++ if (!backend) ++ return; ++ ++ if (backend->setxy) { ++ position_t pos = {x, y}; ++ backend->setxy(backend, &pos); ++ return; ++ } ++} ++ ++int ++graphics_getxy(void) ++{ ++ int ret = 0; ++ if (backend) { ++ if (backend->getxy) { ++ position_t pos; ++ backend->getxy(backend, &pos); ++ ret = ((pos.x & 0xff) << 8) | (pos.y & 0xff); ++ } else { ++ ret = ((backend->graphics->fontx & 0xff) << 8) | (backend->graphics->fonty & 0xff); ++ } ++ } ++ return ret; ++} ++ ++void ++graphics_scroll (void) ++{ ++ struct graphics *graphics; ++ position_t screensz; ++ int i; ++ unsigned short *text; ++ int linesz; ++ ++ if (!backend) ++ return; ++ ++ graphics = backend->graphics; ++ ++ /* we don't want to scroll recursively... that would be bad */ ++ if (!graphics->scroll) ++ return; ++ graphics->scroll = 0; ++ graphics_get_screen_rowscols(&screensz); ++ ++ text = graphics_get_text_buf(); ++ linesz = screensz.x * sizeof (text[0]); ++ for (i = 1; i < screensz.y; i++) { ++ unsigned short *prev = &text[(i-1) * screensz.x]; ++ unsigned short *this = prev + screensz.x; ++ ++ memmove(prev, this, linesz); ++ prev = this; ++ this += screensz.x; ++ } ++ graphics_setxy(0, screensz.y - 1); ++ for (i = 0; i < screensz.x; i++) { ++ graphics_putchar(' '); ++ //text[(screensz.y-1) + i] = ' '; ++ } ++ ++ graphics_clbl(0, 0, screensz.x, screensz.y, 1); ++ graphics_setxy(0, screensz.y - 1); ++ graphics->scroll = 1; ++} ++ ++void ++graphics_cursor(int set) ++{ ++ if (backend && backend->cursor) ++ backend->cursor(backend, set); ++} ++ ++void ++graphics_gotoxy(int x, int y) ++{ ++ position_t pos = {x,y}; ++ if (backend) { ++ if (backend->gotoxy) { ++ backend->gotoxy(backend, &pos); ++ } else { ++ graphics_cursor(0); ++ graphics_setxy(x, y); ++ graphics_cursor(1); ++ } ++ } ++} ++ ++void ++graphics_cls(void) ++{ ++ int x = 0, y = 0, xy; ++ unsigned short *text; ++ position_t screensz; ++ ++ graphics_get_screen_rowscols(&screensz); ++ text = graphics_get_text_buf(); ++ for (y = 0; y < screensz.y; y++) ++ for (x = 0; x < screensz.x; x++) ++ text[x + y * screensz.x] = ' '; ++ ++ if (backend) { ++ //int xy = graphics_getxy(); ++ ++ graphics_clbl(0, 0, screensz.x, screensz.y, 0); ++ //graphics_gotoxy(xy & 0xf0 >> 8, xy & 0xf); ++ graphics_gotoxy(0, 0); ++ } ++} ++ ++void ++graphics_clbl(int col, int row, int width, int height, int draw_text) ++{ ++ if (backend) { ++ int x = 0, y = 0, xy; ++ unsigned short *text; ++ position_t screensz; ++ ++ graphics_get_screen_rowscols(&screensz); ++ ++#if 0 ++ xy = graphics_getxy(); ++#endif ++ if (backend->clbl) { ++ backend->clbl(backend, col, row, width, height, draw_text); ++ } else { ++ for (y = 0; y < screensz.y; y++) { ++ for (x = 0; x < screensz.x; x++) { ++ graphics_setxy(x, y); ++ graphics_cursor(0); ++ } ++ } ++ } ++#if 0 ++ graphics_gotoxy(xy >> 8, xy & 0xf); ++#endif ++ } ++} ++ ++void ++graphics_setcolorstate (color_state state) ++{ ++ struct graphics *graphics; ++ if (!backend) ++ return; ++ ++ graphics = backend->graphics; ++ ++ switch (state) { ++ case COLOR_STATE_STANDARD: ++ graphics->current_color = graphics->standard_color; ++ break; ++ case COLOR_STATE_NORMAL: ++ graphics->current_color = graphics->normal_color; ++ break; ++ case COLOR_STATE_HIGHLIGHT: ++ graphics->current_color = graphics->highlight_color; ++ break; ++ default: ++ graphics->current_color = graphics->standard_color; ++ break; ++ } ++ ++ graphics->color_state = state; ++} ++ ++void ++graphics_setcolor (int normal_color, int highlight_color) ++{ ++ backend->graphics->normal_color = normal_color; ++ backend->graphics->highlight_color = highlight_color; ++ ++ graphics_setcolorstate (backend->graphics->color_state); ++} ++ ++int ++graphics_setcursor(int on) ++{ ++ /* FIXME: we don't have a cursor in graphics */ ++ return 0; ++} ++ ++int ++graphics_init(void) ++{ ++ struct graphics *graphics; ++ int i; ++ ++ if (graphics_inited) ++ return 1; ++ ++ if (backend) { ++ if (backend->enable(backend)) { ++ graphics_inited = 1; ++ graphics_set_splash_helper(); ++ return 1; ++ } ++ return 0; ++ } ++ ++ graphics = grub_malloc(sizeof (*graphics)); ++ if (!graphics) ++ return 0; ++ ++ grub_memset(graphics, '\0', sizeof (*graphics)); ++ ++ graphics->scroll = 1; ++ graphics->fontx = 0; ++ graphics->fonty = 0; ++ ++ graphics->standard_color = A_NORMAL; ++ graphics->normal_color = A_NORMAL; ++ graphics->highlight_color = A_REVERSE; ++ graphics->current_color = A_NORMAL; ++ graphics->color_state = COLOR_STATE_STANDARD; ++ ++ grub_memset(graphics->splashpath, '\0', sizeof (graphics->splashpath)); ++ ++ for(i = 0; backends[i] != NULL; i++) { ++ backend = backends[i]; ++ backend->graphics = graphics; ++ if (backend->enable(backend)) { ++ graphics_inited = 1; ++ graphics_set_splash_helper(); ++ return 1; ++ } ++ backend->graphics = NULL; ++ } ++ grub_free(graphics->text); ++ grub_free(graphics); ++ return 0; ++} ++ ++void ++graphics_end(void) ++{ ++ if (backend && graphics_inited) { ++ graphics_inited = 0; ++ backend->disable(backend); ++ } ++} ++ ++#endif /* SUPPORT_GRAPHICS */ +diff --git a/efi/graphics.h b/efi/graphics.h +new file mode 100644 +index 0000000..ecf9e0e +--- /dev/null ++++ b/efi/graphics.h +@@ -0,0 +1,81 @@ ++#ifndef GRUB_EFI_GRAPHICS_H ++#define GRUB_EFI_GRAPHICS_H ++ ++#ifdef SUPPORT_GRAPHICS ++ ++#include ++#include "xpm.h" ++ ++#define VIDEO_TYPE_EFI 0x70 ++ ++typedef void pixel_t; ++struct graphics; ++ ++struct position { ++ int x; ++ int y; ++}; ++typedef struct position position_t; ++ ++extern void grub_efi_setup_gfx_pci (grub_efi_handle_t handle); ++ ++extern grub_uint16_t grub_console_getwh (void); ++extern void graphics_set_kernel_params(struct linux_kernel_params *params); ++extern void graphics_set_font_position(position_t *pos); ++extern void graphics_get_font_position(position_t *pos); ++extern void graphics_get_font_size(position_t *size); ++extern int graphics_get_screen_rowscols(position_t *size); ++extern int graphics_alloc_text_buf(void); ++extern unsigned short *graphics_get_text_buf(void); ++ ++extern int graphics_get_scroll(void); ++ ++extern char *graphics_get_splash(void); ++extern void graphics_setxy(int x, int y); ++extern void graphics_cls(void); ++extern void graphics_clbl(int x, int y, int width, int height, int draw_text); ++extern void graphics_setcolorstate (color_state state); ++extern void graphics_setcolor (int normal_color, int highlight_color); ++extern int graphics_setcursor(int on); ++extern int graphics_init(void); ++extern void graphics_end(void); ++extern struct xpm *graphics_get_splash_xpm(void); ++extern void graphics_cursor(int set); ++extern void graphics_scroll(void); ++ ++struct graphics_backend { ++ char *name; ++ struct graphics *graphics; ++ void *priv; ++ ++ int (*enable)(struct graphics_backend *backend); ++ void (*disable)(struct graphics_backend *backend); ++ ++ void (*set_kernel_params)(struct graphics_backend *backend, ++ struct linux_kernel_params *params); ++ ++ void (*clbl)(struct graphics_backend *backend, int col, int row, ++ int width, int height, ++ int draw_text); ++ ++ void (*set_palette)(struct graphics_backend *backend, ++ int idx, int red, int green, int blue); ++ pixel_t *(*get_pixel_idx)(struct graphics_backend *backend, int idx); ++ pixel_t *(*get_pixel_rgb)(struct graphics_backend *backend, ++ int red, int green, int blue); ++ void (*draw_pixel)(struct graphics_backend *backend, ++ position_t *pos, pixel_t *pixel); ++ ++ void (*reset_screen_geometry)(struct graphics_backend *backend); ++ void (*get_screen_size)(struct graphics_backend *backend, position_t *size); ++ void (*getxy)(struct graphics_backend *backend, position_t *pos); ++ void (*setxy)(struct graphics_backend *backend, position_t *pos); ++ void (*gotoxy)(struct graphics_backend *backend, position_t *pos); ++ void (*cursor)(struct graphics_backend *backend, int set); ++// void (*putchar)(struct graphics_backend *backend, int ch); ++}; ++ ++extern const unsigned char font8x16[]; ++ ++#endif /* SUPPORT_GRAPHCIS */ ++#endif /* GRUB_EFI_GRAPHICS_H */ +diff --git a/efi/grub/.gitignore b/efi/grub/.gitignore +new file mode 100644 +index 0000000..40a991e +--- /dev/null ++++ b/efi/grub/.gitignore +@@ -0,0 +1 @@ ++cpu +diff --git a/efi/grub/efi/api.h b/efi/grub/efi/api.h +new file mode 100644 +index 0000000..81a0b3f +--- /dev/null ++++ b/efi/grub/efi/api.h +@@ -0,0 +1,1716 @@ ++/* efi.h - declare EFI types and functions */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_EFI_API_HEADER ++#define GRUB_EFI_API_HEADER 1 ++ ++#include ++#include ++ ++/* For consistency and safety, we name the EFI-defined types differently. ++ All names are transformed into lower case, _t appended, and ++ grub_efi_ prepended. */ ++ ++/* Constants. */ ++#define GRUB_EFI_EVT_TIMER 0x80000000 ++#define GRUB_EFI_EVT_RUNTIME 0x40000000 ++#define GRUB_EFI_EVT_RUNTIME_CONTEXT 0x20000000 ++#define GRUB_EFI_EVT_NOTIFY_WAIT 0x00000100 ++#define GRUB_EFI_EVT_NOTIFY_SIGNAL 0x00000200 ++#define GRUB_EFI_EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201 ++#define GRUB_EFI_EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202 ++ ++#define GRUB_EFI_TPL_APPLICATION 4 ++#define GRUB_EFI_TPL_CALLBACK 8 ++#define GRUB_EFI_TPL_NOTIFY 16 ++#define GRUB_EFI_TPL_HIGH_LEVEL 31 ++ ++#define GRUB_EFI_MEMORY_UC 0x0000000000000001 ++#define GRUB_EFI_MEMORY_WC 0x0000000000000002 ++#define GRUB_EFI_MEMORY_WT 0x0000000000000004 ++#define GRUB_EFI_MEMORY_WB 0x0000000000000008 ++#define GRUB_EFI_MEMORY_UCE 0x0000000000000010 ++#define GRUB_EFI_MEMORY_WP 0x0000000000001000 ++#define GRUB_EFI_MEMORY_RP 0x0000000000002000 ++#define GRUB_EFI_MEMORY_XP 0x0000000000004000 ++#define GRUB_EFI_MEMORY_RUNTIME 0x8000000000000000 ++ ++#define GRUB_EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 ++#define GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 ++#define GRUB_EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 ++#define GRUB_EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 ++#define GRUB_EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 ++#define GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE 0x00000020 ++ ++#define GRUB_EFI_VARIABLE_NON_VOLATILE 0x0000000000000001 ++#define GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002 ++#define GRUB_EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004 ++ ++#define GRUB_EFI_TIME_ADJUST_DAYLIGHT 0x01 ++#define GRUB_EFI_TIME_IN_DAYLIGHT 0x02 ++ ++#define GRUB_EFI_UNSPECIFIED_TIMEZONE 0x07FF ++ ++#define GRUB_EFI_OPTIONAL_PTR 0x00000001 ++ ++#define GRUB_EFI_PCI_IO_GUID \ ++ { 0x4cf5b200, 0x68b8, 0x4ca5, \ ++ { 0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x02, 0x9a } \ ++ } ++ ++#define GRUB_EFI_PCI_ROOT_IO_GUID \ ++ { 0x2F707EBB, 0x4A1A, 0x11d4, \ ++ { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } \ ++ } ++ ++#define GRUB_EFI_LOADED_IMAGE_GUID \ ++ { 0x5b1b31a1, 0x9562, 0x11d2, \ ++ { 0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ ++ } ++ ++#define GRUB_EFI_DISK_IO_GUID \ ++ { 0xce345171, 0xba0b, 0x11d2, \ ++ { 0x8e, 0x4f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ ++ } ++ ++#define GRUB_EFI_BLOCK_IO_GUID \ ++ { 0x964e5b21, 0x6459, 0x11d2, \ ++ { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ ++ } ++ ++#define GRUB_EFI_DEVICE_PATH_GUID \ ++ { 0x09576e91, 0x6d3f, 0x11d2, \ ++ { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ ++ } ++ ++#define GRUB_EFI_DEVICE_PATH_FROM_TEXT_GUID \ ++ { 0x05c99a21, 0xc70f, 0x4ad2, \ ++ { 0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \ ++ } ++ ++#define GRUB_EFI_GRAPHICS_OUTPUT_GUID \ ++ { 0x9042a9de, 0x23dc, 0x4a38, \ ++ { 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a } \ ++ } ++ ++#define GRUB_EFI_UGA_DRAW_GUID \ ++ { 0x982c298b, 0xf4fa, 0x41cb, \ ++ { 0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 } \ ++ } ++ ++#define GRUB_EFI_UGA_IO_GUID \ ++ { 0x61a4d49e, 0x6f68, 0x4f1b, \ ++ { 0xb9, 0x22, 0xa8, 0x6e, 0xed, 0xb, 0x7, 0xa2 } \ ++ } ++ ++#define GRUB_EFI_SIMPLE_FILE_SYSTEM_GUID \ ++ { 0x964e5b22, 0x6459, 0x11d2, \ ++ { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ ++ } ++ ++#define GRUB_EFI_SERIAL_IO_GUID \ ++ { 0xbb25cf6f, 0xf1d4, 0x11d2, \ ++ { 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3F, 0xc1, 0xfd } \ ++ } ++ ++/* Enumerations. */ ++enum grub_efi_timer_delay ++{ ++ GRUB_EFI_TIMER_CANCEL, ++ GRUB_EFI_TIMER_PERIODIC, ++ GRUB_EFI_TIMER_RELATIVE ++}; ++typedef enum grub_efi_timer_delay grub_efi_timer_delay_t; ++ ++enum grub_efi_allocate_type ++{ ++ GRUB_EFI_ALLOCATE_ANY_PAGES, ++ GRUB_EFI_ALLOCATE_MAX_ADDRESS, ++ GRUB_EFI_ALLOCATE_ADDRESS, ++ GRUB_EFI_MAX_ALLOCATION_TYPE ++}; ++typedef enum grub_efi_allocate_type grub_efi_allocate_type_t; ++ ++enum grub_efi_memory_type ++{ ++ GRUB_EFI_RESERVED_MEMORY_TYPE, ++ GRUB_EFI_LOADER_CODE, ++ GRUB_EFI_LOADER_DATA, ++ GRUB_EFI_BOOT_SERVICES_CODE, ++ GRUB_EFI_BOOT_SERVICES_DATA, ++ GRUB_EFI_RUNTIME_SERVICES_CODE, ++ GRUB_EFI_RUNTIME_SERVICES_DATA, ++ GRUB_EFI_CONVENTIONAL_MEMORY, ++ GRUB_EFI_UNUSABLE_MEMORY, ++ GRUB_EFI_ACPI_RECLAIM_MEMORY, ++ GRUB_EFI_ACPI_MEMORY_NVS, ++ GRUB_EFI_MEMORY_MAPPED_IO, ++ GRUB_EFI_MEMORY_MAPPED_IO_PORT_SPACE, ++ GRUB_EFI_PAL_CODE, ++ GRUB_EFI_MAX_MEMORY_TYPE ++}; ++typedef enum grub_efi_memory_type grub_efi_memory_type_t; ++ ++enum grub_efi_interface_type ++{ ++ GRUB_EFI_NATIVE_INTERFACE ++}; ++typedef enum grub_efi_interface_type grub_efi_interface_type_t; ++ ++enum grub_efi_locate_search_type ++{ ++ GRUB_EFI_ALL_HANDLES, ++ GRUB_EFI_BY_REGISTER_NOTIFY, ++ GRUB_EFI_BY_PROTOCOL ++}; ++typedef enum grub_efi_locate_search_type grub_efi_locate_search_type_t; ++ ++enum grub_efi_reset_type ++{ ++ GRUB_EFI_RESET_COLD, ++ GRUB_EFI_RESET_WARM, ++ GRUB_EFI_RESET_SHUTDOWN ++}; ++typedef enum grub_efi_reset_type grub_efi_reset_type_t; ++ ++/* Types. */ ++typedef char grub_efi_boolean_t; ++typedef long grub_efi_intn_t; ++typedef unsigned long grub_efi_uintn_t; ++typedef grub_int8_t grub_efi_int8_t; ++typedef grub_uint8_t grub_efi_uint8_t; ++typedef grub_int16_t grub_efi_int16_t; ++typedef grub_uint16_t grub_efi_uint16_t; ++typedef grub_int32_t grub_efi_int32_t; ++typedef grub_uint32_t grub_efi_uint32_t; ++typedef grub_int64_t grub_efi_int64_t; ++typedef grub_uint64_t grub_efi_uint64_t; ++typedef grub_uint8_t grub_efi_char8_t; ++typedef grub_uint16_t grub_efi_char16_t; ++ ++typedef grub_efi_intn_t grub_efi_status_t; ++ ++#define GRUB_EFI_ERROR_CODE(value) \ ++ ((1L << (sizeof (grub_efi_status_t) * 8 - 1)) | (value)) ++ ++#define GRUB_EFI_WARNING_CODE(value) (value) ++ ++#define GRUB_EFI_SUCCESS 0 ++ ++#define GRUB_EFI_LOAD_ERROR GRUB_EFI_ERROR_CODE (1) ++#define GRUB_EFI_INVALID_PARAMETER GRUB_EFI_ERROR_CODE (2) ++#define GRUB_EFI_UNSUPPORTED GRUB_EFI_ERROR_CODE (3) ++#define GRUB_EFI_BAD_BUFFER_SIZE GRUB_EFI_ERROR_CODE (4) ++#define GRUB_EFI_BUFFER_TOO_SMALL GRUB_EFI_ERROR_CODE (5) ++#define GRUB_EFI_NOT_READY GRUB_EFI_ERROR_CODE (6) ++#define GRUB_EFI_DEVICE_ERROR GRUB_EFI_ERROR_CODE (7) ++#define GRUB_EFI_WRITE_PROTECTED GRUB_EFI_ERROR_CODE (8) ++#define GRUB_EFI_OUT_OF_RESOURCES GRUB_EFI_ERROR_CODE (9) ++#define GRUB_EFI_VOLUME_CORRUPTED GRUB_EFI_ERROR_CODE (10) ++#define GRUB_EFI_VOLUME_FULL GRUB_EFI_ERROR_CODE (11) ++#define GRUB_EFI_NO_MEDIA GRUB_EFI_ERROR_CODE (12) ++#define GRUB_EFI_MEDIA_CHANGED GRUB_EFI_ERROR_CODE (13) ++#define GRUB_EFI_NOT_FOUND GRUB_EFI_ERROR_CODE (14) ++#define GRUB_EFI_ACCESS_DENIED GRUB_EFI_ERROR_CODE (15) ++#define GRUB_EFI_NO_RESPONSE GRUB_EFI_ERROR_CODE (16) ++#define GRUB_EFI_NO_MAPPING GRUB_EFI_ERROR_CODE (17) ++#define GRUB_EFI_TIMEOUT GRUB_EFI_ERROR_CODE (18) ++#define GRUB_EFI_NOT_STARTED GRUB_EFI_ERROR_CODE (19) ++#define GRUB_EFI_ALREADY_STARTED GRUB_EFI_ERROR_CODE (20) ++#define GRUB_EFI_ABORTED GRUB_EFI_ERROR_CODE (21) ++#define GRUB_EFI_ICMP_ERROR GRUB_EFI_ERROR_CODE (22) ++#define GRUB_EFI_TFTP_ERROR GRUB_EFI_ERROR_CODE (23) ++#define GRUB_EFI_PROTOCOL_ERROR GRUB_EFI_ERROR_CODE (24) ++#define GRUB_EFI_INCOMPATIBLE_VERSION GRUB_EFI_ERROR_CODE (25) ++#define GRUB_EFI_SECURITY_VIOLATION GRUB_EFI_ERROR_CODE (26) ++#define GRUB_EFI_CRC_ERROR GRUB_EFI_ERROR_CODE (27) ++ ++#define GRUB_EFI_WARN_UNKNOWN_GLYPH GRUB_EFI_WARNING_CODE (1) ++#define GRUB_EFI_WARN_DELETE_FAILURE GRUB_EFI_WARNING_CODE (2) ++#define GRUB_EFI_WARN_WRITE_FAILURE GRUB_EFI_WARNING_CODE (3) ++#define GRUB_EFI_WARN_BUFFER_TOO_SMALL GRUB_EFI_WARNING_CODE (4) ++ ++typedef void *grub_efi_handle_t; ++typedef void *grub_efi_event_t; ++typedef grub_efi_uint64_t grub_efi_lba_t; ++typedef grub_efi_uintn_t grub_efi_tpl_t; ++typedef grub_uint8_t grub_efi_mac_address_t[32]; ++typedef grub_uint8_t grub_efi_ipv4_address_t[4]; ++typedef grub_uint16_t grub_efi_ipv6_address_t[8]; ++typedef grub_uint8_t grub_efi_ip_address_t[8] __attribute__ ((aligned (4))); ++typedef grub_efi_uint64_t grub_efi_physical_address_t; ++typedef grub_efi_uint64_t grub_efi_virtual_address_t; ++ ++struct grub_efi_guid ++{ ++ grub_uint32_t data1; ++ grub_uint16_t data2; ++ grub_uint16_t data3; ++ grub_uint8_t data4[8]; ++} __attribute__ ((aligned (8))); ++typedef struct grub_efi_guid grub_efi_guid_t; ++ ++/* XXX although the spec does not specify the padding, this actually ++ must have the padding! */ ++struct grub_efi_memory_descriptor ++{ ++ grub_efi_uint32_t type; ++ grub_efi_uint32_t padding; ++ grub_efi_physical_address_t physical_start; ++ grub_efi_virtual_address_t virtual_start; ++ grub_efi_uint64_t num_pages; ++ grub_efi_uint64_t attribute; ++}; ++typedef struct grub_efi_memory_descriptor grub_efi_memory_descriptor_t; ++ ++/* Device Path definitions. */ ++struct grub_efi_device_path ++{ ++ grub_efi_uint8_t type; ++ grub_efi_uint8_t subtype; ++ grub_efi_uint8_t length[2]; ++}; ++typedef struct grub_efi_device_path grub_efi_device_path_t; ++/* XXX EFI does not define EFI_DEVICE_PATH_PROTOCOL but uses it. ++ It seems to be identical to EFI_DEVICE_PATH. */ ++typedef struct grub_efi_device_path grub_efi_device_path_protocol_t; ++ ++#define GRUB_EFI_DEVICE_PATH_TYPE(dp) ((dp)->type & 0x7f) ++#define GRUB_EFI_DEVICE_PATH_SUBTYPE(dp) ((dp)->subtype) ++#define GRUB_EFI_DEVICE_PATH_LENGTH(dp) \ ++ ((dp)->length[0] | ((grub_efi_uint16_t) ((dp)->length[1]) << 8)) ++ ++/* The End of Device Path nodes. */ ++#define GRUB_EFI_END_DEVICE_PATH_TYPE (0xff & 0x7f) ++ ++#define GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE 0xff ++#define GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE 0x01 ++ ++#define GRUB_EFI_END_ENTIRE_DEVICE_PATH(dp) \ ++ (GRUB_EFI_DEVICE_PATH_TYPE (dp) == GRUB_EFI_END_DEVICE_PATH_TYPE \ ++ && (GRUB_EFI_DEVICE_PATH_SUBTYPE (dp) \ ++ == GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE)) ++ ++#define GRUB_EFI_NEXT_DEVICE_PATH(dp) \ ++ ((grub_efi_device_path_t *) ((char *) (dp) \ ++ + GRUB_EFI_DEVICE_PATH_LENGTH (dp))) ++ ++/* Hardware Device Path. */ ++#define GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE 1 ++ ++#define GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE 1 ++ ++struct grub_efi_pci_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint8_t function; ++ grub_efi_uint8_t device; ++}; ++typedef struct grub_efi_pci_device_path grub_efi_pci_device_path_t; ++ ++#define GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE 2 ++ ++struct grub_efi_pccard_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint8_t function; ++}; ++typedef struct grub_efi_pccard_device_path grub_efi_pccard_device_path_t; ++ ++#define GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE 3 ++ ++struct grub_efi_memory_mapped_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_memory_type_t memory_type; ++ grub_efi_physical_address_t start_address; ++ grub_efi_physical_address_t end_address; ++}; ++typedef struct grub_efi_memory_mapped_device_path ++ grub_efi_memory_mapped_device_path_t; ++ ++#define GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE 4 ++ ++struct grub_efi_vendor_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_guid_t vendor_guid; ++ grub_efi_uint8_t vendor_defined_data[0]; ++}; ++typedef struct grub_efi_vendor_device_path grub_efi_vendor_device_path_t; ++ ++#define GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE 5 ++ ++struct grub_efi_controller_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t controller_number; ++}; ++typedef struct grub_efi_controller_device_path ++ grub_efi_controller_device_path_t; ++ ++/* ACPI Device Path. */ ++#define GRUB_EFI_ACPI_DEVICE_PATH_TYPE 2 ++ ++#define GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE 1 ++ ++struct grub_efi_acpi_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t hid; ++ grub_efi_uint32_t uid; ++}; ++typedef struct grub_efi_acpi_device_path grub_efi_acpi_device_path_t; ++ ++#define GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE 2 ++ ++struct grub_efi_expanded_acpi_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t hid; ++ grub_efi_uint32_t uid; ++ grub_efi_uint32_t cid; ++ char hidstr[1]; ++}; ++typedef struct grub_efi_expanded_acpi_device_path ++ grub_efi_expanded_acpi_device_path_t; ++ ++#define GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp) \ ++ (((grub_efi_expanded_acpi_device_path_t *) dp)->hidstr) ++#define GRUB_EFI_EXPANDED_ACPI_UIDSTR(dp) \ ++ (GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp) \ ++ + grub_strlen (GRUB_EFI_EXPANDED_ACPI_HIDSTR(dp)) + 1) ++#define GRUB_EFI_EXPANDED_ACPI_CIDSTR(dp) \ ++ (GRUB_EFI_EXPANDED_ACPI_UIDSTR(dp) \ ++ + grub_strlen (GRUB_EFI_EXPANDED_ACPI_UIDSTR(dp)) + 1) ++ ++/* Messaging Device Path. */ ++#define GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE 3 ++ ++#define GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE 1 ++ ++struct grub_efi_atapi_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint8_t primary_secondary; ++ grub_efi_uint8_t slave_master; ++ grub_efi_uint16_t lun; ++}; ++typedef struct grub_efi_atapi_device_path grub_efi_atapi_device_path_t; ++ ++#define GRUB_EFI_SCSI_DEVICE_PATH_SUBTYPE 2 ++ ++struct grub_efi_scsi_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint16_t pun; ++ grub_efi_uint16_t lun; ++}; ++typedef struct grub_efi_scsi_device_path grub_efi_scsi_device_path_t; ++ ++#define GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE 3 ++ ++struct grub_efi_fibre_channel_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t reserved; ++ grub_efi_uint64_t wwn; ++ grub_efi_uint64_t lun; ++}; ++typedef struct grub_efi_fibre_channel_device_path ++ grub_efi_fibre_channel_device_path_t; ++ ++#define GRUB_EFI_1394_DEVICE_PATH_SUBTYPE 4 ++ ++struct grub_efi_1394_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t reserved; ++ grub_efi_uint64_t guid; ++}; ++typedef struct grub_efi_1394_device_path grub_efi_1394_device_path_t; ++ ++#define GRUB_EFI_USB_DEVICE_PATH_SUBTYPE 5 ++ ++struct grub_efi_usb_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint8_t parent_port_number; ++ grub_efi_uint8_t interface; ++}; ++typedef struct grub_efi_usb_device_path grub_efi_usb_device_path_t; ++ ++#define GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE 15 ++ ++struct grub_efi_usb_class_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint16_t vendor_id; ++ grub_efi_uint16_t product_id; ++ grub_efi_uint8_t device_class; ++ grub_efi_uint8_t device_subclass; ++ grub_efi_uint8_t device_protocol; ++}; ++typedef struct grub_efi_usb_class_device_path ++ grub_efi_usb_class_device_path_t; ++ ++#define GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE 6 ++ ++struct grub_efi_i2o_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t tid; ++}; ++typedef struct grub_efi_i2o_device_path grub_efi_i2o_device_path_t; ++ ++#define GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE 11 ++ ++struct grub_efi_mac_address_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_mac_address_t mac_address; ++ grub_efi_uint8_t if_type; ++}; ++typedef struct grub_efi_mac_address_device_path ++ grub_efi_mac_address_device_path_t; ++ ++#define GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE 12 ++ ++struct grub_efi_ipv4_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_ipv4_address_t local_ip_address; ++ grub_efi_ipv4_address_t remote_ip_address; ++ grub_efi_uint16_t local_port; ++ grub_efi_uint16_t remote_port; ++ grub_efi_uint16_t protocol; ++ grub_efi_uint8_t static_ip_address; ++}; ++typedef struct grub_efi_ipv4_device_path grub_efi_ipv4_device_path_t; ++ ++#define GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE 13 ++ ++struct grub_efi_ipv6_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_ipv6_address_t local_ip_address; ++ grub_efi_ipv6_address_t remote_ip_address; ++ grub_efi_uint16_t local_port; ++ grub_efi_uint16_t remote_port; ++ grub_efi_uint16_t protocol; ++ grub_efi_uint8_t static_ip_address; ++}; ++typedef struct grub_efi_ipv6_device_path grub_efi_ipv6_device_path_t; ++ ++#define GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE 9 ++ ++struct grub_efi_infiniband_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t resource_flags; ++ grub_efi_uint8_t port_gid[16]; ++ grub_efi_uint64_t remote_id; ++ grub_efi_uint64_t target_port_id; ++ grub_efi_uint64_t device_id; ++}; ++typedef struct grub_efi_infiniband_device_path ++ grub_efi_infiniband_device_path_t; ++ ++#define GRUB_EFI_UART_DEVICE_PATH_SUBTYPE 14 ++ ++struct grub_efi_uart_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t reserved; ++ grub_efi_uint64_t baud_rate; ++ grub_efi_uint8_t data_bits; ++ grub_efi_uint8_t parity; ++ grub_efi_uint8_t stop_bits; ++}; ++typedef struct grub_efi_uart_device_path grub_efi_uart_device_path_t; ++ ++#define GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE 10 ++ ++struct grub_efi_vendor_messaging_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_guid_t vendor_guid; ++ grub_efi_uint8_t vendor_defined_data[0]; ++}; ++typedef struct grub_efi_vendor_messaging_device_path ++ grub_efi_vendor_messaging_device_path_t; ++ ++/* Media Device Path. */ ++#define GRUB_EFI_MEDIA_DEVICE_PATH_TYPE 4 ++ ++#define GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE 1 ++ ++struct grub_efi_hard_drive_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t partition_number; ++ grub_efi_lba_t partition_start; ++ grub_efi_lba_t partition_size; ++ grub_efi_uint8_t partition_signature[16]; ++ grub_efi_uint8_t mbr_type; ++ grub_efi_uint8_t signature_type; ++}; ++typedef struct grub_efi_hard_drive_device_path ++ grub_efi_hard_drive_device_path_t; ++ ++#define GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE 2 ++ ++struct grub_efi_cdrom_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint32_t boot_entry; ++ grub_efi_lba_t partition_start; ++ grub_efi_lba_t partition_size; ++}; ++typedef struct grub_efi_cdrom_device_path grub_efi_cdrom_device_path_t; ++ ++#define GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE 3 ++ ++struct grub_efi_vendor_media_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_guid_t vendor_guid; ++ grub_efi_uint8_t vendor_defined_data[0]; ++}; ++typedef struct grub_efi_vendor_media_device_path ++ grub_efi_vendor_media_device_path_t; ++ ++#define GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE 4 ++ ++struct grub_efi_file_path_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_char16_t path_name[0]; ++}; ++typedef struct grub_efi_file_path_device_path ++ grub_efi_file_path_device_path_t; ++ ++#define GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE 5 ++ ++struct grub_efi_protocol_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_guid_t guid; ++}; ++typedef struct grub_efi_protocol_device_path grub_efi_protocol_device_path_t; ++ ++/* BIOS Boot Specification Device Path. */ ++#define GRUB_EFI_BIOS_DEVICE_PATH_TYPE 5 ++ ++#define GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE 1 ++ ++struct grub_efi_bios_device_path ++{ ++ grub_efi_device_path_t header; ++ grub_efi_uint16_t device_type; ++ grub_efi_uint16_t status_flags; ++ char description[0]; ++}; ++typedef struct grub_efi_bios_device_path grub_efi_bios_device_path_t; ++ ++struct grub_efi_device_path_from_text ++{ ++ grub_efi_device_path_t * (*convert_text_to_device_node) (const grub_efi_char16_t *text_device_node); ++ grub_efi_device_path_t * (*convert_text_to_device_path) (const grub_efi_char16_t *text_device_path); ++}; ++typedef struct grub_efi_device_path_from_text grub_efi_device_path_from_text_t; ++ ++struct grub_efi_open_protocol_information_entry ++{ ++ grub_efi_handle_t agent_handle; ++ grub_efi_handle_t controller_handle; ++ grub_efi_uint32_t attributes; ++ grub_efi_uint32_t open_count; ++}; ++typedef struct grub_efi_open_protocol_information_entry ++ grub_efi_open_protocol_information_entry_t; ++ ++struct grub_efi_time ++{ ++ grub_efi_uint16_t year; ++ grub_efi_uint8_t month; ++ grub_efi_uint8_t day; ++ grub_efi_uint8_t hour; ++ grub_efi_uint8_t minute; ++ grub_efi_uint8_t second; ++ grub_efi_uint8_t pad1; ++ grub_efi_uint32_t nanosecond; ++ grub_efi_int16_t time_zone; ++ grub_efi_uint8_t daylight; ++ grub_efi_uint8_t pad2; ++}; ++typedef struct grub_efi_time grub_efi_time_t; ++ ++struct grub_efi_time_capabilities ++{ ++ grub_efi_uint32_t resolution; ++ grub_efi_uint32_t accuracy; ++ grub_efi_boolean_t sets_to_zero; ++}; ++typedef struct grub_efi_time_capabilities grub_efi_time_capabilities_t; ++ ++struct grub_efi_input_key ++{ ++ grub_efi_uint16_t scan_code; ++ grub_efi_char16_t unicode_char; ++}; ++typedef struct grub_efi_input_key grub_efi_input_key_t; ++ ++struct grub_efi_simple_text_output_mode ++{ ++ grub_efi_int32_t max_mode; ++ grub_efi_int32_t mode; ++ grub_efi_int32_t attribute; ++ grub_efi_int32_t cursor_column; ++ grub_efi_int32_t cursor_row; ++ grub_efi_boolean_t cursor_visible; ++}; ++typedef struct grub_efi_simple_text_output_mode ++ grub_efi_simple_text_output_mode_t; ++ ++/* Tables. */ ++struct grub_efi_table_header ++{ ++ grub_efi_uint64_t signature; ++ grub_efi_uint32_t revision; ++ grub_efi_uint32_t header_size; ++ grub_efi_uint32_t crc32; ++ grub_efi_uint32_t reserved; ++}; ++typedef struct grub_efi_table_header grub_efi_table_header_t; ++ ++struct grub_efi_boot_services ++{ ++ grub_efi_table_header_t hdr; ++ ++ grub_efi_tpl_t (*raise_tpl) (grub_efi_tpl_t new_tpl); ++ ++ void (*restore_tpl) (grub_efi_tpl_t old_tpl); ++ ++ grub_efi_status_t ++ (*allocate_pages) (grub_efi_allocate_type_t type, ++ grub_efi_memory_type_t memory_type, ++ grub_efi_uintn_t pages, ++ grub_efi_physical_address_t * memory); ++ ++ grub_efi_status_t ++ (*free_pages) (grub_efi_physical_address_t memory, ++ grub_efi_uintn_t pages); ++ ++ grub_efi_status_t ++ (*get_memory_map) (grub_efi_uintn_t * memory_map_size, ++ grub_efi_memory_descriptor_t * memory_map, ++ grub_efi_uintn_t * map_key, ++ grub_efi_uintn_t * descriptor_size, ++ grub_efi_uint32_t * descriptor_version); ++ ++ grub_efi_status_t ++ (*allocate_pool) (grub_efi_memory_type_t pool_type, ++ grub_efi_uintn_t size, void **buffer); ++ ++ grub_efi_status_t (*free_pool) (void *buffer); ++ ++ grub_efi_status_t ++ (*create_event) (grub_efi_uint32_t type, ++ grub_efi_tpl_t notify_tpl, ++ void (*notify_function) (grub_efi_event_t event, ++ void *context), ++ void *notify_context, grub_efi_event_t * event); ++ ++ grub_efi_status_t ++ (*set_timer) (grub_efi_event_t event, ++ grub_efi_timer_delay_t type, ++ grub_efi_uint64_t trigger_time); ++ ++ grub_efi_status_t ++ (*wait_for_event) (grub_efi_uintn_t num_events, ++ grub_efi_event_t * event, grub_efi_uintn_t * index); ++ ++ grub_efi_status_t (*signal_event) (grub_efi_event_t event); ++ ++ grub_efi_status_t (*close_event) (grub_efi_event_t event); ++ ++ grub_efi_status_t (*check_event) (grub_efi_event_t event); ++ ++ grub_efi_status_t ++ (*install_protocol_interface) (grub_efi_handle_t * handle, ++ grub_efi_guid_t * protocol, ++ grub_efi_interface_type_t interface_type, ++ void *interface); ++ ++ grub_efi_status_t ++ (*reinstall_protocol_interface) (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, ++ void *old_interface, void *new_inteface); ++ ++ grub_efi_status_t ++ (*uninstall_protocol_interface) (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, ++ void *interface); ++ ++ grub_efi_status_t ++ (*handle_protocol) (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, void **interface); ++ ++ void *reserved; ++ ++ grub_efi_status_t ++ (*register_protocol_notify) (grub_efi_guid_t * protocol, ++ grub_efi_event_t event, void **registration); ++ ++ grub_efi_status_t ++ (*locate_handle) (grub_efi_locate_search_type_t search_type, ++ grub_efi_guid_t * protocol, ++ void *search_key, ++ grub_efi_uintn_t * buffer_size, ++ grub_efi_handle_t * buffer); ++ ++ grub_efi_status_t ++ (*locate_device_path) (grub_efi_guid_t * protocol, ++ grub_efi_device_path_t ** device_path, ++ grub_efi_handle_t * device); ++ ++ grub_efi_status_t ++ (*install_configuration_table) (grub_efi_guid_t * guid, void *table); ++ ++ grub_efi_status_t ++ (*load_image) (grub_efi_boolean_t boot_policy, ++ grub_efi_handle_t parent_image_handle, ++ grub_efi_device_path_t * file_path, ++ void *source_buffer, ++ grub_efi_uintn_t source_size, ++ grub_efi_handle_t * image_handle); ++ ++ grub_efi_status_t ++ (*start_image) (grub_efi_handle_t image_handle, ++ grub_efi_uintn_t * exit_data_size, ++ grub_efi_char16_t ** exit_data); ++ ++ grub_efi_status_t ++ (*exit) (grub_efi_handle_t image_handle, ++ grub_efi_status_t exit_status, ++ grub_efi_uintn_t exit_data_size, ++ grub_efi_char16_t * exit_data) __attribute__ ((noreturn)); ++ ++ grub_efi_status_t (*unload_image) (grub_efi_handle_t image_handle); ++ ++ grub_efi_status_t ++ (*exit_boot_services) (grub_efi_handle_t image_handle, ++ grub_efi_uintn_t map_key); ++ ++ grub_efi_status_t (*get_next_monotonic_count) (grub_efi_uint64_t * count); ++ ++ grub_efi_status_t (*stall) (grub_efi_uintn_t microseconds); ++ ++ grub_efi_status_t ++ (*set_watchdog_timer) (grub_efi_uintn_t timeout, ++ grub_efi_uint64_t watchdog_code, ++ grub_efi_uintn_t data_size, ++ grub_efi_char16_t * watchdog_data); ++ ++ grub_efi_status_t ++ (*connect_controller) (grub_efi_handle_t controller_handle, ++ grub_efi_handle_t * driver_image_handle, ++ grub_efi_device_path_protocol_t * ++ remaining_device_path, ++ grub_efi_boolean_t recursive); ++ ++ grub_efi_status_t ++ (*disconnect_controller) (grub_efi_handle_t controller_handle, ++ grub_efi_handle_t driver_image_handle, ++ grub_efi_handle_t child_handle); ++ ++ grub_efi_status_t ++ (*open_protocol) (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, ++ void **interface, ++ grub_efi_handle_t agent_handle, ++ grub_efi_handle_t controller_handle, ++ grub_efi_uint32_t attributes); ++ ++ grub_efi_status_t ++ (*close_protocol) (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, ++ grub_efi_handle_t agent_handle, ++ grub_efi_handle_t controller_handle); ++ ++ grub_efi_status_t ++ (*open_protocol_information) (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, ++ grub_efi_open_protocol_information_entry_t ++ ** entry_buffer, ++ grub_efi_uintn_t * entry_count); ++ ++ grub_efi_status_t ++ (*protocols_per_handle) (grub_efi_handle_t handle, ++ grub_efi_guid_t *** protocol_buffer, ++ grub_efi_uintn_t * protocol_buffer_count); ++ ++ grub_efi_status_t ++ (*locate_handle_buffer) (grub_efi_locate_search_type_t search_type, ++ grub_efi_guid_t * protocol, ++ void *search_key, ++ grub_efi_uintn_t * no_handles, ++ grub_efi_handle_t ** buffer); ++ ++ grub_efi_status_t ++ (*locate_protocol) (grub_efi_guid_t * protocol, ++ void *registration, void **interface); ++ ++ grub_efi_status_t ++ (*install_multiple_protocol_interfaces) (grub_efi_handle_t * handle, ...); ++ ++ grub_efi_status_t ++ (*uninstall_multiple_protocol_interfaces) (grub_efi_handle_t handle, ...); ++ ++ grub_efi_status_t ++ (*calculate_crc32) (void *data, ++ grub_efi_uintn_t data_size, ++ grub_efi_uint32_t * crc32); ++ ++ void (*copy_mem) (void *destination, void *source, grub_efi_uintn_t length); ++ ++ void ++ (*set_mem) (void *buffer, grub_efi_uintn_t size, grub_efi_uint8_t value); ++}; ++typedef struct grub_efi_boot_services grub_efi_boot_services_t; ++ ++struct grub_efi_runtime_services ++{ ++ grub_efi_table_header_t hdr; ++ ++ grub_efi_status_t ++ (*get_time) (grub_efi_time_t * time, ++ grub_efi_time_capabilities_t * capabilities); ++ ++ grub_efi_status_t (*set_time) (grub_efi_time_t * time); ++ ++ grub_efi_status_t ++ (*get_wakeup_time) (grub_efi_boolean_t * enabled, ++ grub_efi_boolean_t * pending, grub_efi_time_t * time); ++ ++ grub_efi_status_t ++ (*set_wakeup_time) (grub_efi_boolean_t enabled, grub_efi_time_t * time); ++ ++ grub_efi_status_t ++ (*set_virtual_address_map) (grub_efi_uintn_t memory_map_size, ++ grub_efi_uintn_t descriptor_size, ++ grub_efi_uint32_t descriptor_version, ++ grub_efi_memory_descriptor_t * virtual_map); ++ ++ grub_efi_status_t ++ (*convert_pointer) (grub_efi_uintn_t debug_disposition, void **address); ++ ++ grub_efi_status_t ++ (*get_variable) (grub_efi_char16_t * variable_name, ++ grub_efi_guid_t * vendor_guid, ++ grub_efi_uint32_t * attributes, ++ grub_efi_uintn_t * data_size, void *data); ++ ++ grub_efi_status_t ++ (*get_next_variable_name) (grub_efi_uintn_t * variable_name_size, ++ grub_efi_char16_t * variable_name, ++ grub_efi_guid_t * vendor_guid); ++ ++ grub_efi_status_t ++ (*set_variable) (grub_efi_char16_t * variable_name, ++ grub_efi_guid_t * vendor_guid, ++ grub_efi_uint32_t attributes, ++ grub_efi_uintn_t data_size, void *data); ++ ++ grub_efi_status_t ++ (*get_next_high_monotonic_count) (grub_efi_uint32_t * high_count); ++ ++ void ++ (*reset_system) (grub_efi_reset_type_t reset_type, ++ grub_efi_status_t reset_status, ++ grub_efi_uintn_t data_size, ++ grub_efi_char16_t * reset_data); ++}; ++typedef struct grub_efi_runtime_services grub_efi_runtime_services_t; ++ ++struct grub_efi_configuration_table ++{ ++ grub_efi_guid_t vendor_guid; ++ void *vendor_table; ++}; ++typedef struct grub_efi_configuration_table grub_efi_configuration_table_t; ++ ++struct grub_efi_simple_input_interface ++{ ++ grub_efi_status_t ++ (*reset) (struct grub_efi_simple_input_interface * this, ++ grub_efi_boolean_t extended_verification); ++ ++ grub_efi_status_t ++ (*read_key_stroke) (struct grub_efi_simple_input_interface * this, ++ grub_efi_input_key_t * key); ++ ++ grub_efi_event_t wait_for_key; ++}; ++typedef struct grub_efi_simple_input_interface ++ grub_efi_simple_input_interface_t; ++ ++struct grub_efi_simple_text_output_interface ++{ ++ grub_efi_status_t ++ (*reset) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_boolean_t extended_verification); ++ ++ grub_efi_status_t ++ (*output_string) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_char16_t * string); ++ ++ grub_efi_status_t ++ (*test_string) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_char16_t * string); ++ ++ grub_efi_status_t ++ (*query_mode) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_uintn_t mode_number, ++ grub_efi_uintn_t * columns, grub_efi_uintn_t * rows); ++ ++ grub_efi_status_t ++ (*set_mode) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_uintn_t mode_number); ++ ++ grub_efi_status_t ++ (*set_attributes) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_uintn_t attribute); ++ ++ grub_efi_status_t ++ (*clear_screen) (struct grub_efi_simple_text_output_interface * this); ++ ++ grub_efi_status_t ++ (*set_cursor_position) (struct grub_efi_simple_text_output_interface * ++ this, grub_efi_uintn_t column, ++ grub_efi_uintn_t row); ++ ++ grub_efi_status_t ++ (*enable_cursor) (struct grub_efi_simple_text_output_interface * this, ++ grub_efi_boolean_t visible); ++ ++ grub_efi_simple_text_output_mode_t *mode; ++}; ++typedef struct grub_efi_simple_text_output_interface ++ grub_efi_simple_text_output_interface_t; ++ ++#define GRUB_EFI_BLACK 0x00 ++#define GRUB_EFI_BLUE 0x01 ++#define GRUB_EFI_GREEN 0x02 ++#define GRUB_EFI_CYAN 0x03 ++#define GRUB_EFI_RED 0x04 ++#define GRUB_EFI_MAGENTA 0x05 ++#define GRUB_EFI_BROWN 0x06 ++#define GRUB_EFI_LIGHTGRAY 0x07 ++#define GRUB_EFI_BRIGHT 0x08 ++#define GRUB_EFI_DARKGRAY 0x08 ++#define GRUB_EFI_LIGHTBLUE 0x09 ++#define GRUB_EFI_LIGHTGREEN 0x0A ++#define GRUB_EFI_LIGHTCYAN 0x0B ++#define GRUB_EFI_LIGHTRED 0x0C ++#define GRUB_EFI_LIGHTMAGENTA 0x0D ++#define GRUB_EFI_YELLOW 0x0E ++#define GRUB_EFI_WHITE 0x0F ++ ++#define GRUB_EFI_BACKGROUND_BLACK 0x00 ++#define GRUB_EFI_BACKGROUND_BLUE 0x10 ++#define GRUB_EFI_BACKGROUND_GREEN 0x20 ++#define GRUB_EFI_BACKGROUND_CYAN 0x30 ++#define GRUB_EFI_BACKGROUND_RED 0x40 ++#define GRUB_EFI_BACKGROUND_MAGENTA 0x50 ++#define GRUB_EFI_BACKGROUND_BROWN 0x60 ++#define GRUB_EFI_BACKGROUND_LIGHTGRAY 0x70 ++ ++#define GRUB_EFI_TEXT_ATTR(fg, bg) ((fg) | ((bg))) ++ ++struct grub_efi_system_table ++{ ++ grub_efi_table_header_t hdr; ++ grub_efi_char16_t *firmware_vendor; ++ grub_efi_uint32_t firmware_revision; ++ grub_efi_handle_t console_in_handler; ++ grub_efi_simple_input_interface_t *con_in; ++ grub_efi_handle_t console_out_handler; ++ grub_efi_simple_text_output_interface_t *con_out; ++ grub_efi_handle_t standard_error_handle; ++ grub_efi_simple_text_output_interface_t *std_err; ++ grub_efi_runtime_services_t *runtime_services; ++ grub_efi_boot_services_t *boot_services; ++ grub_efi_uintn_t num_table_entries; ++ grub_efi_configuration_table_t *configuration_table; ++}; ++typedef struct grub_efi_system_table grub_efi_system_table_t; ++ ++struct grub_efi_loaded_image ++{ ++ grub_efi_uint32_t revision; ++ grub_efi_handle_t parent_handle; ++ grub_efi_system_table_t *system_table; ++ ++ grub_efi_handle_t device_handle; ++ grub_efi_device_path_t *file_path; ++ void *reserved; ++ ++ grub_efi_uint32_t load_options_size; ++ void *load_options; ++ ++ void *image_base; ++ grub_efi_uint64_t image_size; ++ grub_efi_memory_type_t image_code_type; ++ grub_efi_memory_type_t image_data_type; ++ ++ grub_efi_status_t (*unload) (grub_efi_handle_t image_handle); ++}; ++typedef struct grub_efi_loaded_image grub_efi_loaded_image_t; ++ ++struct grub_efi_disk_io ++{ ++ grub_efi_uint64_t revision; ++ grub_efi_status_t (*read) (struct grub_efi_disk_io * this, ++ grub_efi_uint32_t media_id, ++ grub_efi_uint64_t offset, ++ grub_efi_uintn_t buffer_size, void *buffer); ++ grub_efi_status_t (*write) (struct grub_efi_disk_io * this, ++ grub_efi_uint32_t media_id, ++ grub_efi_uint64_t offset, ++ grub_efi_uintn_t buffer_size, void *buffer); ++}; ++typedef struct grub_efi_disk_io grub_efi_disk_io_t; ++ ++struct grub_efi_block_io_media ++{ ++ grub_efi_uint32_t media_id; ++ grub_efi_boolean_t removable_media; ++ grub_efi_boolean_t media_present; ++ grub_efi_boolean_t logical_partition; ++ grub_efi_boolean_t read_only; ++ grub_efi_boolean_t write_caching; ++ grub_efi_uint8_t pad[3]; ++ grub_efi_uint32_t block_size; ++ grub_efi_uint32_t io_align; ++ grub_efi_uint8_t pad2[4]; ++ grub_efi_lba_t last_block; ++}; ++typedef struct grub_efi_block_io_media grub_efi_block_io_media_t; ++ ++struct grub_efi_block_io ++{ ++ grub_efi_uint64_t revision; ++ grub_efi_block_io_media_t *media; ++ grub_efi_status_t (*reset) (struct grub_efi_block_io * this, ++ grub_efi_boolean_t extended_verification); ++ grub_efi_status_t (*read_blocks) (struct grub_efi_block_io * this, ++ grub_efi_uint32_t media_id, ++ grub_efi_lba_t lba, ++ grub_efi_uintn_t buffer_size, ++ void *buffer); ++ grub_efi_status_t (*write_blocks) (struct grub_efi_block_io * this, ++ grub_efi_uint32_t media_id, ++ grub_efi_lba_t lba, ++ grub_efi_uintn_t buffer_size, ++ void *buffer); ++ grub_efi_status_t (*flush_blocks) (struct grub_efi_block_io * this); ++}; ++typedef struct grub_efi_block_io grub_efi_block_io_t; ++ ++struct grub_efi_pixel_bitmask ++{ ++ grub_efi_uint32_t red_mask; ++ grub_efi_uint32_t green_mask; ++ grub_efi_uint32_t blue_mask; ++ grub_efi_uint32_t reserved_mask; ++}; ++typedef struct grub_efi_pixel_bitmask grub_efi_pixel_bitmask_t; ++ ++enum grub_efi_graphics_pixel_format ++{ ++ GRUB_EFI_PIXEL_RGBR_8BIT_PER_COLOR, ++ GRUB_EFI_PIXEL_BGRR_8BIT_PER_COLOR, ++ GRUB_EFI_PIXEL_BIT_MASK, ++ GRUB_EFI_PIXEL_BLT_ONLY, ++}; ++typedef enum grub_efi_graphics_pixel_format grub_efi_graphics_pixel_format_t; ++ ++struct grub_efi_graphics_output_mode_information ++{ ++ grub_efi_uint32_t version; ++ grub_efi_uint32_t horizontal_resolution; ++ grub_efi_uint32_t vertical_resolution; ++ grub_efi_graphics_pixel_format_t pixel_format; ++ grub_efi_pixel_bitmask_t pixel_information; ++ grub_efi_uint32_t pixels_per_scan_line; ++}; ++typedef struct grub_efi_graphics_output_mode_information ++ grub_efi_graphics_output_mode_information_t; ++ ++struct grub_efi_graphics_output_bgrr_pixel ++{ ++ grub_efi_uint8_t blue; ++ grub_efi_uint8_t green; ++ grub_efi_uint8_t red; ++ grub_efi_uint8_t reserved; ++}; ++typedef struct grub_efi_graphics_output_bgrr_pixel ++ grub_efi_graphics_output_bgrr_pixel_t; ++typedef struct grub_efi_graphics_output_bgrr_pixel ++ grub_efi_graphics_output_blt_pixel_t; ++typedef struct grub_efi_graphics_output_bgrr_pixel ++ grub_efi_uga_pixel_t; ++ ++struct grub_efi_graphics_output_rgbr_pixel ++{ ++ grub_efi_uint8_t red; ++ grub_efi_uint8_t green; ++ grub_efi_uint8_t blue; ++ grub_efi_uint8_t reserved; ++}; ++typedef struct grub_efi_graphics_output_rgbr_pixel ++ grub_efi_graphics_output_rgbr_pixel_t; ++ ++union grub_efi_graphics_output_pixel ++{ ++ grub_efi_graphics_output_rgbr_pixel_t rgbr; ++ grub_efi_graphics_output_bgrr_pixel_t bgrr; ++ grub_efi_uint32_t raw; ++}; ++typedef union grub_efi_graphics_output_pixel ++ grub_efi_graphics_output_pixel_t; ++ ++enum grub_efi_graphics_output_blt_operation ++{ ++ GRUB_EFI_BLT_VIDEO_FILL, ++ GRUB_EFI_BLT_VIDEO_TO_BLT_BUFFER, ++ GRUB_EFI_BLT_BUFFER_TO_VIDEO, ++ GRUB_EFI_BLT_VIDEO_TO_VIDEO, ++}; ++typedef enum grub_efi_graphics_output_blt_operation ++ grub_efi_graphics_output_blt_operation_t; ++ ++struct grub_efi_graphics_output_mode ++{ ++ grub_efi_uint32_t max_mode; ++ grub_efi_uint32_t mode; ++ grub_efi_graphics_output_mode_information_t *info; ++ grub_efi_uintn_t size_of_info; ++ grub_efi_physical_address_t frame_buffer_base; ++ grub_efi_uintn_t frame_buffer_size; ++}; ++typedef struct grub_efi_graphics_output_mode grub_efi_graphics_output_mode_t; ++ ++struct grub_efi_graphics_output ++{ ++ grub_efi_status_t (*query_mode) (struct grub_efi_graphics_output * this, ++ grub_efi_uint32_t mode_number, ++ grub_efi_uintn_t * size_of_info, ++ grub_efi_graphics_output_mode_information_t ++ ** info); ++ grub_efi_status_t (*set_mode) (struct grub_efi_graphics_output * this, ++ grub_efi_uint32_t mode_number); ++ ++ grub_efi_status_t (*blt) (struct grub_efi_graphics_output * this, ++ grub_efi_graphics_output_blt_pixel_t * blt_buffer, ++ grub_efi_graphics_output_blt_operation_t ++ blt_operation, grub_efi_uintn_t src_x, ++ grub_efi_uintn_t src_y, grub_efi_uintn_t dest_x, ++ grub_efi_uintn_t dest_y, grub_efi_uintn_t width, ++ grub_efi_uintn_t height, grub_efi_uintn_t delta); ++ grub_efi_graphics_output_mode_t *mode; ++}; ++typedef struct grub_efi_graphics_output grub_efi_graphics_output_t; ++ ++typedef enum { ++ EfiUgaVideoFill, ++ EfiUgaVideoToBltBuffer, ++ EfiUgaBltBufferToVideo, ++ EfiUgaVideoToVideo, ++ EfiUgaBltMax ++} grub_efi_uga_blt_operation_t; ++ ++typedef enum { ++ grub_efi_pci_io_width_uint8, ++ grub_efi_pci_io_width_uint16, ++ grub_efi_pci_io_width_uint32, ++ grub_efi_pci_io_width_uint64, ++ grub_efi_pci_io_width_fifo_uint8, ++ grub_efi_pci_io_width_fifo_uint16, ++ grub_efi_pci_io_width_fifo_uint32, ++ grub_efi_pci_io_width_fifo_uint64, ++ grub_efi_pci_io_width_fill_uint8, ++ grub_efi_pci_io_width_fill_uint16, ++ grub_efi_pci_io_width_fill_uint32, ++ grub_efi_pci_io_width_fill_uint64, ++ grub_efi_pci_io_width_maximum ++} grub_efi_pci_io_width; ++ ++struct grub_efi_pci_io; ++ ++typedef struct ++{ ++ grub_efi_status_t(*read) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint8_t bar_index, ++ grub_efi_uint64_t offset, ++ grub_efi_uintn_t count, ++ void *buffer); ++ grub_efi_status_t(*write) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint8_t bar_index, ++ grub_efi_uint64_t offset, ++ grub_efi_uintn_t count, ++ void *buffer); ++} grub_efi_pci_io_access_t; ++ ++typedef struct ++{ ++ grub_efi_status_t( *read) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint32_t offset, ++ grub_efi_uintn_t count, ++ void *buffer); ++ grub_efi_status_t( *write) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint32_t offset, ++ grub_efi_uintn_t count, ++ void *buffer); ++} grub_efi_pci_io_config_access_t; ++ ++typedef enum { ++ grub_efi_pci_io_operation_bus_masterread, ++ grub_efi_pci_io_operation_bus_masterwrite, ++ grub_efi_pci_io_operation_bus_master_common_buffer, ++ grub_efi_pci_io_operation_maximum ++} grub_efi_pci_io_operation_t; ++ ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_ISA_IO 0x0002 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO 0x0004 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY 0x0008 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_IO 0x0010 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO 0x0020 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO 0x0040 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE 0x0080 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_IO 0x0100 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY 0x0200 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_BUS_MASTER 0x0400 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED 0x0800 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE 0x1000 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE 0x2000 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM 0x4000 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE 0x8000 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_ISA_IO_16 0x10000 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 0x20000 ++#define GRUB_EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 0x40000 ++ ++typedef enum { ++ grub_efi_pci_io_attribute_operation_get, ++ grub_efi_pci_io_attribute_operation_set, ++ grub_efi_pci_io_attribute_operation_enable, ++ grub_efi_pci_io_attribute_operation_disable, ++ grub_efi_pci_io_attribute_operation_supported, ++ grub_efi_pci_io_attribute_operation_maximum ++} grub_efi_pci_io_attribute_operation_t; ++ ++struct grub_efi_pci_io { ++ grub_efi_status_t (*poll_mem) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint8_t bar_ndex, ++ grub_efi_uint64_t offset, ++ grub_efi_uint64_t mask, ++ grub_efi_uint64_t value, ++ grub_efi_uint64_t delay, ++ grub_efi_uint64_t *result); ++ grub_efi_status_t (*poll_io) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width Width, ++ grub_efi_uint8_t bar_index, ++ grub_efi_uint64_t offset, ++ grub_efi_uint64_t mask, ++ grub_efi_uint64_t value, ++ grub_efi_uint64_t delay, ++ grub_efi_uint64_t *result); ++ grub_efi_pci_io_access_t mem; ++ grub_efi_pci_io_access_t io; ++ grub_efi_pci_io_config_access_t pci; ++ grub_efi_status_t (*copy_mem) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint8_t dest_bar_index, ++ grub_efi_uint64_t dest_offset, ++ grub_efi_uint8_t src_bar_index, ++ grub_efi_uint64_t src_offset, ++ grub_efi_uintn_t count); ++ grub_efi_status_t (*map) ( struct grub_efi_pci_io *this, ++ grub_efi_pci_io_operation_t operation, ++ void *host_address, ++ grub_efi_uintn_t *number_of_bytes, ++ grub_efi_uint64_t *device_address, ++ void **mapping); ++ grub_efi_status_t (*unmap) (struct grub_efi_pci_io *this, ++ void *mapping); ++ grub_efi_status_t (*allocate_buffer) (struct grub_efi_pci_io *this, ++ grub_efi_allocate_type_t type, ++ grub_efi_memory_type_t memory_type, ++ grub_efi_uintn_t pages, ++ void **host_address, ++ grub_efi_uint64_t attributes); ++ grub_efi_status_t (*free_buffer) (struct grub_efi_pci_io *this, ++ grub_efi_allocate_type_t type, ++ grub_efi_memory_type_t memory_type, ++ grub_efi_uintn_t pages, ++ void **host_address, ++ grub_efi_uint64_t attributes); ++ grub_efi_status_t (*flush) (struct grub_efi_pci_io *this); ++ grub_efi_status_t (*get_location) (struct grub_efi_pci_io *this, ++ grub_efi_uintn_t *segment_number, ++ grub_efi_uintn_t *bus_number, ++ grub_efi_uintn_t *device_number, ++ grub_efi_uintn_t *function_number); ++ grub_efi_status_t (*attributes) (struct grub_efi_pci_io *this, ++ grub_efi_pci_io_attribute_operation_t operation, ++ grub_efi_uint64_t attributes, ++ grub_efi_uint64_t *result); ++ grub_efi_status_t (*get_bar_attributes) (struct grub_efi_pci_io *this, ++ grub_efi_uint8_t bar_index, ++ grub_efi_uint64_t *supports, ++ void **resources); ++ grub_efi_status_t (*set_bar_attributes) (struct grub_efi_pci_io *this, ++ grub_efi_uint64_t attributes, ++ grub_efi_uint8_t bar_index, ++ grub_efi_uint64_t *offset, ++ grub_efi_uint64_t *length); ++ grub_efi_uint64_t rom_size; ++ void *rom_image; ++}; ++typedef struct grub_efi_pci_io grub_efi_pci_io_t; ++ ++struct grub_efi_pci_root_io; ++ ++typedef struct ++{ ++ grub_efi_status_t(*read) (struct grub_efi_pci_root_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint64_t address, ++ grub_efi_uintn_t count, ++ void *buffer); ++ grub_efi_status_t(*write) (struct grub_efi_pci_root_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint64_t address, ++ grub_efi_uintn_t count, ++ void *buffer); ++} grub_efi_pci_root_io_access_t; ++ ++typedef enum { ++ grub_efi_pci_root_io_operation_bus_master_read, ++ grub_efi_pci_root_io_operation_bus_master_write, ++ grub_efi_pci_root_io_operation_bus_master_common_buffer, ++ grub_efi_pci_root_io_operation_bus_master_read_64, ++ grub_efi_pci_root_io_operation_bus_master_write_64, ++ grub_efi_pci_root_io_operation_bus_master_common_buffer_64, ++ grub_efi_pci_root_io_operation_maximum ++} grub_efi_pci_root_io_operation_t; ++ ++struct grub_efi_pci_root_io { ++ grub_efi_handle_t parent; ++ grub_efi_status_t (*poll_mem) (struct grub_efi_pci_root_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint64_t address, ++ grub_efi_uint64_t mask, ++ grub_efi_uint64_t value, ++ grub_efi_uint64_t delay, ++ grub_efi_uint64_t *result); ++ grub_efi_status_t (*poll_io) (struct grub_efi_pci_root_io *this, ++ grub_efi_pci_io_width Width, ++ grub_efi_uint64_t address, ++ grub_efi_uint64_t mask, ++ grub_efi_uint64_t value, ++ grub_efi_uint64_t delay, ++ grub_efi_uint64_t *result); ++ grub_efi_pci_root_io_access_t mem; ++ grub_efi_pci_root_io_access_t io; ++ grub_efi_pci_root_io_access_t pci; ++ grub_efi_status_t (*copy_mem) (struct grub_efi_pci_root_io *this, ++ grub_efi_pci_io_width width, ++ grub_efi_uint64_t dest_offset, ++ grub_efi_uint64_t src_offset, ++ grub_efi_uintn_t count); ++ grub_efi_status_t (*map) ( struct grub_efi_pci_root_io *this, ++ grub_efi_pci_root_io_operation_t operation, ++ void *host_address, ++ grub_efi_uintn_t *number_of_bytes, ++ grub_efi_uint64_t *device_address, ++ void **mapping); ++ grub_efi_status_t (*unmap) (struct grub_efi_pci_root_io *this, ++ void *mapping); ++ grub_efi_status_t (*allocate_buffer) (struct grub_efi_pci_root_io *this, ++ grub_efi_allocate_type_t type, ++ grub_efi_memory_type_t memory_type, ++ grub_efi_uintn_t pages, ++ void **host_address, ++ grub_efi_uint64_t attributes); ++ grub_efi_status_t (*free_buffer) (struct grub_efi_pci_root_io *this, ++ grub_efi_uintn_t pages, ++ void **host_address); ++ grub_efi_status_t (*flush) (struct grub_efi_pci_root_io *this); ++ grub_efi_status_t (*get_attributes) (struct grub_efi_pci_root_io *this, ++ grub_efi_uint64_t *supports, ++ void **resources); ++ grub_efi_status_t (*set_attributes) (struct grub_efi_pci_root_io *this, ++ grub_efi_uint64_t attributes, ++ grub_efi_uint64_t *offset, ++ grub_efi_uint64_t *length); ++ grub_efi_status_t (*configuration) (struct grub_efi_pci_root_io *this, ++ void **resources); ++}; ++ ++typedef struct grub_efi_pci_root_io grub_efi_pci_root_io_t; ++ ++struct grub_efi_uga_draw ++{ ++ grub_efi_status_t (*get_mode) (struct grub_efi_uga_draw * this, ++ grub_efi_uint32_t *horizontal_resolution, ++ grub_efi_uint32_t *vertical_resolution, ++ grub_efi_uint32_t *color_depth, ++ grub_efi_uint32_t *refresh_rate); ++ grub_efi_status_t (*set_mode) (struct grub_efi_uga_draw * this, ++ grub_efi_uint32_t horizontal_resolution, ++ grub_efi_uint32_t vertical_resolution, ++ grub_efi_uint32_t color_depth, ++ grub_efi_uint32_t refresh_rate); ++ grub_efi_status_t (*blt) (struct grub_efi_uga_draw * this, ++ grub_efi_uga_pixel_t *blt_buffer, ++ grub_efi_uga_blt_operation_t blt_operation, ++ grub_efi_uintn_t source_x, ++ grub_efi_uintn_t source_y, ++ grub_efi_uintn_t destination_x, ++ grub_efi_uintn_t destination_y, ++ grub_efi_uintn_t width, ++ grub_efi_uintn_t height, ++ grub_efi_uintn_t delta); ++}; ++typedef struct grub_efi_uga_draw grub_efi_uga_draw_t; ++ ++typedef grub_uint32_t grub_uga_status_t; ++ ++typedef enum { ++ UgaDtParentBus = 1, ++ UgaDtGraphicsController, ++ UgaDtOutputController, ++ UgaDtOutputPort, ++ UgaDtOther ++} grub_uga_device_type_t; ++ ++typedef grub_efi_uint32_t grub_uga_device_id_t; ++ ++struct grub_uga_device_data { ++ grub_uga_device_type_t device_type; ++ grub_uga_device_id_t device_id; ++ grub_efi_uint32_t device_context_size; ++ grub_efi_uint32_t shared_context_size; ++}; ++typedef struct grub_uga_device_data grub_uga_device_data_t; ++ ++struct grub_uga_device { ++ void *device_context; ++ void *shared_context; ++ void *runtime_context; ++ struct grub_uga_device *parent_device; ++ void *bus_io_services; ++ void *stdio_services; ++ grub_uga_device_data_t device_data; ++}; ++typedef struct grub_uga_device grub_uga_device_t; ++ ++typedef enum { ++ UgaIoGetVersion = 1, ++ UgaIoGetChildDevice, ++ UgaIoStartDevice, ++ UgaIoStopDevice, ++ UgaIoFlushDevice, ++ UgaIoResetDevice, ++ UgaIoGetDeviceState, ++ UgaIoSetDeviceState, ++ UgaIoSetPowerState, ++ UgaIoGetMemoryConfiguration, ++ UgaIoSetVideoMode, ++ UgaIoCopyRectangle, ++ UgaIoGetEdidSegment, ++ UgaIoDeviceChannelOpen, ++ UgaIoDeviceChannelClose, ++ UgaIoDeviceChannelRead, ++ UgaIoDeviceChannelWrite, ++ UgaIoGetPersistentDataSize, ++ UgaIoGetPersistentData, ++ UgaIoSetPersistentData, ++ UgaIoGetDevicePropertySize, ++ UgaIoGetDeviceProperty, ++ UgaIoBtPrivateInterface ++} grub_uga_io_request_code_t; ++ ++struct grub_uga_io_request { ++ grub_uga_io_request_code_t io_request_code; ++ void *in_buffer; ++ grub_efi_uint64_t in_buffer_size; ++ grub_efi_uint64_t bytes_returned; ++}; ++typedef struct grub_uga_io_request grub_uga_io_request_t; ++ ++struct grub_efi_uga_io ++{ ++ grub_efi_status_t (*create_device) (struct grub_efi_uga_io * this, ++ grub_uga_device_t *parent_device, ++ grub_uga_device_data_t *device_data, ++ void *runtime_context, ++ grub_uga_device_t **device); ++ grub_efi_status_t (*delete_device) (struct grub_efi_uga_io * this, ++ grub_uga_device_t *device); ++ grub_uga_status_t (*dispatch_service) (grub_uga_device_t *device, ++ grub_uga_io_request_t *io_request); ++}; ++typedef struct grub_efi_uga_io grub_efi_uga_io_t; ++ ++/* XXX PJFIX add uga driver handoff stuff */ ++ ++// File Open Modes ++#define GRUB_EFI_FILE_MODE_READ 0x0000000000000001ULL ++#define GRUB_EFI_FILE_MODE_WRITE 0x0000000000000002ULL ++#define GRUB_EFI_FILE_MODE_CREATE 0x8000000000000000ULL ++ ++// File Attributes ++#define GRUB_EFI_FILE_READ_ONLY 0x0000000000000001ULL ++#define GRUB_EFI_FILE_HIDDEN 0x0000000000000002ULL ++#define GRUB_EFI_FILE_SYSTEM 0x0000000000000004ULL ++#define GRUB_EFI_FILE_RESERVED 0x0000000000000008ULL ++#define GRUB_EFI_FILE_DIRECTORY 0x0000000000000010ULL ++#define GRUB_EFI_FILE_ARCHIVE 0x0000000000000020ULL ++#define GRUB_EFI_FILE_VALID_ATTR 0x0000000000000037ULL ++ ++struct grub_efi_file ++{ ++ grub_efi_uint64_t revision; ++ grub_efi_status_t (*open) (struct grub_efi_file * this, ++ struct grub_efi_file ** new_handle, ++ grub_efi_char16_t * file_name, ++ grub_efi_uint64_t open_mode, ++ grub_efi_uint64_t attributes); ++ grub_efi_status_t (*close) (struct grub_efi_file * this); ++ grub_efi_status_t (*delete) (struct grub_efi_file * this); ++ grub_efi_status_t (*read) (struct grub_efi_file * this, ++ grub_efi_uintn_t * buffer_size, ++ void * buffer); ++ grub_efi_status_t (*write) (struct grub_efi_file * this, ++ grub_efi_uintn_t * buffer_size, ++ void * buffer); ++ grub_efi_status_t (*get_position) (struct grub_efi_file * this, ++ grub_efi_uint64_t * position); ++ grub_efi_status_t (*set_position) (struct grub_efi_file * this, ++ grub_efi_uint64_t position); ++ grub_efi_status_t (*get_info) (struct grub_efi_file * this, ++ grub_efi_guid_t * information_type, ++ grub_efi_uintn_t * buffer_size, ++ void * buffer); ++ grub_efi_status_t (*set_info) (struct grub_efi_file * this, ++ grub_efi_guid_t * information_type, ++ grub_efi_uintn_t buffer_size, ++ void * buffer); ++ grub_efi_status_t (*flush) (struct grub_efi_file * this); ++}; ++typedef struct grub_efi_file grub_efi_file_t; ++ ++struct grub_efi_simple_file_system ++{ ++ grub_efi_uint64_t revision; ++ grub_efi_status_t (*open_volume) (struct grub_efi_simple_file_system * this, ++ grub_efi_file_t ** root); ++}; ++typedef struct grub_efi_simple_file_system grub_efi_simple_file_system_t; ++ ++struct grub_efi_serial_io_mode ++{ ++ grub_efi_uint32_t control_mask; ++ grub_efi_uint32_t timeout; ++ grub_efi_uint64_t baud_rate; ++ grub_efi_uint32_t receive_fifo_depth; ++ grub_efi_uint32_t data_bits; ++ grub_efi_uint32_t parity; ++ grub_efi_uint32_t stop_bits; ++}; ++typedef struct grub_efi_serial_io_mode grub_efi_serial_io_mode_t; ++ ++enum grub_efi_parity ++{ ++ GRUB_EFI_DEFAULT_PARITY, ++ GRUB_EFI_NO_PARITY, ++ GRUB_EFI_EVEN_PARITY, ++ GRUB_EFI_ODD_PARITY, ++ GRUB_EFI_MARK_PARITY, ++ GRUB_EFI_SPACE_PARITY ++}; ++typedef enum grub_efi_parity grub_efi_parity_t; ++ ++enum grub_efi_stop_bits ++{ ++ GRUB_EFI_DEFAULT_STOP_BITS, ++ GRUB_EFI_ONE_STOP_BIT, ++ GRUB_EFI_ONE_FIVE_STOP_BITS, ++ GRUB_EFI_TWO_STOP_BITS ++}; ++typedef enum grub_efi_stop_bits grub_efi_stop_bits_t; ++ ++#define GRUB_EFI_SERIAL_CLEAR_TO_SEND 0x0010 ++#define GRUB_EFI_SERIAL_DATA_SET_READY 0x0020 ++#define GRUB_EFI_SERIAL_RING_INDICATE 0x0040 ++#define GRUB_EFI_SERIAL_CARRIER_DETECT 0x0080 ++#define GRUB_EFI_SERIAL_REQUEST_TO_SEND 0x0002 ++#define GRUB_EFI_SERIAL_DATA_TERMINAL_READY 0x0001 ++#define GRUB_EFI_SERIAL_INPUT_BUFFER_EMPTY 0x0100 ++#define GRUB_EFI_SERIAL_OUTPUT_BUFFER_EMPTY 0x0200 ++#define GRUB_EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE 0x1000 ++#define GRUB_EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE 0x2000 ++#define GRUB_EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE 0x4000 ++ ++struct grub_efi_serial_io ++{ ++ grub_efi_uint32_t revision; ++ grub_efi_status_t (*reset) (struct grub_efi_serial_io * this); ++ grub_efi_status_t (*set_attributes) (struct grub_efi_serial_io * this, ++ grub_efi_uint64_t baud_rate, ++ grub_efi_uint32_t receive_fifo_depth, ++ grub_efi_uint32_t timeout, ++ grub_efi_parity_t parity, ++ grub_efi_uint8_t data_bits, ++ grub_efi_stop_bits_t stop_bits); ++ grub_efi_status_t (*set_control_bits) (struct grub_efi_serial_io * this, ++ grub_efi_uint32_t control); ++ grub_efi_status_t (*get_control_bits) (struct grub_efi_serial_io * this, ++ grub_efi_uint32_t * control); ++ grub_efi_status_t (*write) (struct grub_efi_serial_io * this, ++ grub_efi_uintn_t * buffer_size, ++ void * buffer); ++ grub_efi_status_t (*read) (struct grub_efi_serial_io * this, ++ grub_efi_uintn_t * buffer_size, ++ void * buffer); ++ grub_efi_serial_io_mode_t *mode; ++}; ++typedef struct grub_efi_serial_io grub_efi_serial_io_t; ++ ++#endif /* ! GRUB_EFI_API_HEADER */ +diff --git a/efi/grub/efi/console_control.h b/efi/grub/efi/console_control.h +new file mode 100644 +index 0000000..ffc4305 +--- /dev/null ++++ b/efi/grub/efi/console_control.h +@@ -0,0 +1,59 @@ ++/* console_control.h - definitions of the console control protocol */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++/* The console control protocol is not a part of the EFI spec, ++ but defined in Intel's Sample Implementation. */ ++ ++#ifndef GRUB_EFI_CONSOLE_CONTROL_HEADER ++#define GRUB_EFI_CONSOLE_CONTROL_HEADER 1 ++ ++#define GRUB_EFI_CONSOLE_CONTROL_GUID \ ++ { 0xf42f7782, 0x12e, 0x4c12, \ ++ { 0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 } \ ++ } ++ ++enum grub_efi_screen_mode ++{ ++ GRUB_EFI_SCREEN_TEXT, ++ GRUB_EFI_SCREEN_GRAPHICS, ++ GRUB_EFI_SCREEN_TEXT_MAX_VALUE ++}; ++typedef enum grub_efi_screen_mode grub_efi_screen_mode_t; ++ ++struct grub_efi_console_control_protocol ++{ ++ grub_efi_status_t ++ (*get_mode) (struct grub_efi_console_control_protocol * this, ++ grub_efi_screen_mode_t * mode, ++ grub_efi_boolean_t * uga_exists, ++ grub_efi_boolean_t * std_in_locked); ++ ++ grub_efi_status_t ++ (*set_mode) (struct grub_efi_console_control_protocol * this, ++ grub_efi_screen_mode_t mode); ++ ++ grub_efi_status_t ++ (*lock_std_in) (struct grub_efi_console_control_protocol * this, ++ grub_efi_char16_t * password); ++}; ++typedef struct grub_efi_console_control_protocol ++ grub_efi_console_control_protocol_t; ++ ++#endif /* ! GRUB_EFI_CONSOLE_CONTROL_HEADER */ +diff --git a/efi/grub/efi/efi.h b/efi/grub/efi/efi.h +new file mode 100644 +index 0000000..301f9d9 +--- /dev/null ++++ b/efi/grub/efi/efi.h +@@ -0,0 +1,85 @@ ++/* efi.h - declare variables and functions for EFI support */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_EFI_EFI_HEADER ++#define GRUB_EFI_EFI_HEADER 1 ++ ++#include ++#include ++ ++/* Functions. */ ++grub_efi_status_t ++grub_efi_locate_device_path (grub_efi_guid_t *protocol, ++ grub_efi_device_path_t **dp, ++ grub_efi_handle_t *handle); ++grub_efi_status_t ++grub_efi_locate_handle_buffer (grub_efi_locate_search_type_t search_type, ++ grub_efi_guid_t *protocol, ++ void *search_key, ++ grub_efi_uintn_t *no_handles, ++ grub_efi_handle_t **buffer); ++void *grub_efi_locate_protocol (grub_efi_guid_t * protocol, ++ void *registration); ++grub_efi_handle_t *grub_efi_locate_handle (grub_efi_locate_search_type_t ++ search_type, ++ grub_efi_guid_t * protocol, ++ void *search_key, ++ grub_efi_uintn_t * num_handles); ++void *grub_efi_open_protocol (grub_efi_handle_t handle, ++ grub_efi_guid_t * protocol, ++ grub_efi_uint32_t attributes); ++int grub_efi_set_text_mode (int on); ++void grub_efi_stall (grub_efi_uintn_t microseconds); ++void *grub_efi_allocate_pool (grub_efi_uintn_t size); ++void grub_efi_free_pool (void *buffer); ++void *grub_efi_allocate_anypages (grub_efi_uintn_t pages); ++void *grub_efi_allocate_pages (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages); ++void *grub_efi_allocate_runtime_pages (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages); ++void ++grub_efi_free_pages (grub_efi_physical_address_t address, ++ grub_efi_uintn_t pages); ++int ++grub_efi_get_memory_map (grub_efi_uintn_t * map_key, ++ grub_efi_uintn_t * descriptor_size, ++ grub_efi_uint32_t * descriptor_version); ++grub_efi_loaded_image_t *grub_efi_get_loaded_image (grub_efi_handle_t ++ image_handle); ++void grub_efi_print_device_path (grub_efi_device_path_t * dp); ++char *grub_efi_get_filename (grub_efi_device_path_t * dp); ++grub_efi_device_path_t *grub_efi_get_device_path (grub_efi_handle_t handle); ++int grub_efi_exit_boot_services (grub_efi_uintn_t map_key); ++ ++void grub_efi_mm_init (void); ++void grub_efi_mm_fini (void); ++void grub_efi_init (void); ++void grub_efi_fini (void); ++void grub_efi_set_prefix (void); ++ ++/* Variables. */ ++extern void *mmap_buf; ++extern grub_efi_uintn_t mmap_size; ++extern grub_efi_uintn_t mmap_pages; ++ ++extern grub_efi_system_table_t *grub_efi_system_table; ++extern grub_efi_handle_t grub_efi_image_handle; ++ ++#endif /* ! GRUB_EFI_EFI_HEADER */ +diff --git a/efi/grub/efi/eficall.h b/efi/grub/efi/eficall.h +new file mode 100644 +index 0000000..2e79e04 +--- /dev/null ++++ b/efi/grub/efi/eficall.h +@@ -0,0 +1,162 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef _EFI_CALL_INCLUDE_ ++#define _EFI_CALL_INCLUDE_ 1 ++ ++#include ++ ++#ifndef __x86_64__ ++#ifdef EFI_FUNCTION_WRAPPER ++#undef EFI_FUNCTION_WRAPPER ++#endif ++#endif ++ ++#ifdef EFI_FUNCTION_WRAPPER ++typedef long EFI_STATUS; ++ ++EFI_STATUS x64_call0 (unsigned long func); ++EFI_STATUS x64_call1 (unsigned long func, unsigned long a); ++EFI_STATUS x64_call2 (unsigned long func, unsigned long a, unsigned long b); ++EFI_STATUS x64_call3 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c); ++EFI_STATUS x64_call4 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, unsigned long d); ++EFI_STATUS x64_call5 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, ++ unsigned long d, unsigned long e); ++EFI_STATUS x64_call6 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, ++ unsigned long d, unsigned long e, unsigned long f); ++EFI_STATUS x64_call7 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, ++ unsigned long d, unsigned long e, ++ unsigned long f, unsigned long g); ++EFI_STATUS x64_call8 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, ++ unsigned long d, unsigned long e, ++ unsigned long f, unsigned long g, ++ unsigned long h); ++EFI_STATUS x64_call9 (unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, ++ unsigned long d, unsigned long e, ++ unsigned long f, unsigned long g, ++ unsigned long h, unsigned long i); ++EFI_STATUS x64_call10(unsigned long func, unsigned long a, ++ unsigned long b, unsigned long c, ++ unsigned long d, unsigned long e, ++ unsigned long f, unsigned long g, ++ unsigned long h, unsigned long i, ++ unsigned long j); ++ ++#define Call_Service(func) x64_call0((unsigned long)func) ++ ++#define Call_Service_1(func,a) x64_call1((unsigned long)func, \ ++ (unsigned long)a) ++ ++#define Call_Service_2(func,a,b) x64_call2((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b) ++ ++#define Call_Service_3(func,a,b,c) x64_call3((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c) ++ ++#define Call_Service_4(func,a,b,c,d) x64_call4((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d) ++ ++#define Call_Service_5(func,a,b,c,d,e) x64_call5((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d, \ ++ (unsigned long)e) ++ ++#define Call_Service_6(func,a,b,c,d,e,f) x64_call6((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d, \ ++ (unsigned long)e, \ ++ (unsigned long)f) ++ ++#define Call_Service_7(func,a,b,c,d,e,f,g) x64_call7((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d, \ ++ (unsigned long)e, \ ++ (unsigned long)f, \ ++ (unsigned long)g) ++ ++#define Call_Service_8(func,a,b,c,d,e,f,g,h) x64_call8((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d, \ ++ (unsigned long)e, \ ++ (unsigned long)f, \ ++ (unsigned long)g, \ ++ (unsigned long)h) ++ ++#define Call_Service_9(func,a,b,c,d,e,f,g,h,i) x64_call9((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d, \ ++ (unsigned long)e, \ ++ (unsigned long)f, \ ++ (unsigned long)g, \ ++ (unsigned long)h, \ ++ (unsigned long)i) ++ ++#define Call_Service_10(func,a,b,c,d,e,f,g,h,i,j) \ ++ x64_call10((unsigned long)func, \ ++ (unsigned long)a, \ ++ (unsigned long)b, \ ++ (unsigned long)c, \ ++ (unsigned long)d, \ ++ (unsigned long)e, \ ++ (unsigned long)f, \ ++ (unsigned long)g, \ ++ (unsigned long)h, \ ++ (unsigned long)i, \ ++ (unsigned long)j) ++ ++#else ++ ++typedef long EFI_STATUS; ++#define Call_Service(func) func() ++#define Call_Service_1(func,a) func(a) ++#define Call_Service_2(func,a,b) func(a,b) ++#define Call_Service_3(func,a,b,c) func(a,b,c) ++#define Call_Service_4(func,a,b,c,d) func(a,b,c,d) ++#define Call_Service_5(func,a,b,c,d,e) func(a,b,c,d,e) ++#define Call_Service_6(func,a,b,c,d,e,f) func(a,b,c,d,e,f) ++#define Call_Service_7(func,a,b,c,d,e,f,g) func(a,b,c,d,e,f,g) ++#define Call_Service_8(func,a,b,c,d,e,f,g,h) func(a,b,c,d,e,f,g,h) ++#define Call_Service_9(func,a,b,c,d,e,f,g,h,i) func(a,b,c,d,e,f,g,h,i) ++#define Call_Service_10(func,a,b,c,d,e,f,g,h,i,j) func(a,b,c,d,e,f,g,h,i,j) ++#endif ++ ++#endif +diff --git a/efi/grub/efi/misc.h b/efi/grub/efi/misc.h +new file mode 100644 +index 0000000..e06a2fb +--- /dev/null ++++ b/efi/grub/efi/misc.h +@@ -0,0 +1,60 @@ ++/* misc.h - prototypes for misc EFI functions */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2003,2005,2006 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_EFI_MISC_HEADER ++#define GRUB_EFI_MISC_HEADER 1 ++ ++struct e820_entry; ++void e820_map_from_efi_map (struct e820_entry *e820_map, ++ int *e820_nr_map, ++ grub_efi_memory_descriptor_t *memory_map, ++ grub_efi_uintn_t desc_size, ++ grub_efi_uintn_t memory_map_size); ++ ++/* Initialize the console system. */ ++void grub_console_init (void); ++/* Finish the console system. */ ++void grub_console_fini (void); ++ ++void grub_efidisk_init (void); ++void grub_efidisk_fini (void); ++grub_efi_handle_t grub_efidisk_get_current_bdev_handle (void); ++int grub_get_drive_partition_from_bdev_handle (grub_efi_handle_t handle, ++ unsigned long *drive, ++ unsigned long *partition); ++ ++char *grub_efi_file_path_to_path_name (grub_efi_device_path_t *file_path); ++void grub_load_saved_default (grub_efi_handle_t dev_handle); ++ ++grub_efi_device_path_t * ++find_last_device_path (const grub_efi_device_path_t *dp); ++grub_efi_device_path_t * ++find_parent_device_path (const grub_efi_device_path_t *dp); ++grub_efi_device_path_t * ++duplicate_device_path (const grub_efi_device_path_t *dp); ++int ++compare_device_paths (const grub_efi_device_path_t *dp1, ++ const grub_efi_device_path_t *dp2); ++grub_efi_device_path_t * ++device_path_from_utf8 (const char *device); ++ ++extern grub_efi_guid_t simple_file_system_guid; ++ ++#endif /* ! GRUB_EFI_MISC_HEADER */ +diff --git a/efi/grub/efi/net.h b/efi/grub/efi/net.h +new file mode 100644 +index 0000000..e69de29 +diff --git a/efi/grub/efi/time.h b/efi/grub/efi/time.h +new file mode 100644 +index 0000000..55bfe68 +--- /dev/null ++++ b/efi/grub/efi/time.h +@@ -0,0 +1,31 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301, USA. ++ */ ++ ++#ifndef GRUB_EFI_TIME_HEADER ++#define GRUB_EFI_TIME_HEADER 1 ++ ++#include ++ ++#define GRUB_TICKS_PER_SECOND 18 ++ ++/* Return the real time in ticks. */ ++grub_uint32_t grub_get_rtc (void); ++ ++#endif /* ! GRUB_EFI_TIME_HEADER */ +diff --git a/efi/grub/i386/linux.h b/efi/grub/i386/linux.h +new file mode 100644 +index 0000000..1545a7a +--- /dev/null ++++ b/efi/grub/i386/linux.h +@@ -0,0 +1,226 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_LINUX_MACHINE_HEADER ++#define GRUB_LINUX_MACHINE_HEADER 1 ++ ++#define GRUB_LINUX_MAGIC_SIGNATURE 0x53726448 /* "HdrS" */ ++#define GRUB_LINUX_DEFAULT_SETUP_SECTS 4 ++#define GRUB_LINUX_FLAG_CAN_USE_HEAP 0x80 ++#define GRUB_LINUX_INITRD_MAX_ADDRESS 0x37FFFFFF ++#define GRUB_LINUX_MAX_SETUP_SECTS 64 ++#define GRUB_LINUX_BOOT_LOADER_TYPE 0x72 ++#define GRUB_LINUX_HEAP_END_OFFSET (0x9000 - 0x200) ++ ++#define GRUB_LINUX_BZIMAGE_ADDR 0x100000 ++#define GRUB_LINUX_ZIMAGE_ADDR 0x10000 ++#define GRUB_LINUX_OLD_REAL_MODE_ADDR 0x90000 ++#define GRUB_LINUX_SETUP_STACK 0x9000 ++ ++#define GRUB_LINUX_FLAG_BIG_KERNEL 0x1 ++ ++/* Linux's video mode selection support. Actually I hate it! */ ++#define GRUB_LINUX_VID_MODE_NORMAL 0xFFFF ++#define GRUB_LINUX_VID_MODE_EXTENDED 0xFFFE ++#define GRUB_LINUX_VID_MODE_ASK 0xFFFD ++ ++#define GRUB_LINUX_CL_OFFSET 0x9000 ++#define GRUB_LINUX_CL_END_OFFSET 0x90FF ++#define GRUB_LINUX_SETUP_MOVE_SIZE 0x9100 ++#define GRUB_LINUX_CL_MAGIC 0xA33F ++ ++#if 0 ++#define GRUB_LINUX_EFI_SIGNATURE_X64 \ ++ ('4' << 24 | '6' << 16 | 'L' << 8 | 'E') ++#else ++#define GRUB_LINUX_EFI_SIGNATURE_X64 \ ++ ('L' << 24 | 'I' << 16 | 'F' << 8 | 'E') ++#endif ++ ++#ifndef ASM_FILE ++ ++/* For the Linux/i386 boot protocol version 2.07. */ ++struct grub_linux_kernel_header ++{ ++ grub_uint8_t setup_sects; /* The size of the setup in sectors */ ++ grub_uint16_t root_flags; /* If the root is mounted readonly */ ++ grub_uint32_t syssize; /* obsolete */ ++ grub_uint16_t ram_size; /* obsolete */ ++ grub_uint16_t vid_mode; /* Video mode control */ ++ grub_uint16_t root_dev; /* Default root device number */ ++ grub_uint16_t boot_flag; /* 0xAA55 magic number */ ++ grub_uint8_t jump_ins; /* Jump instruction */ ++ grub_uint8_t jump_off; /* Jump offset */ ++ grub_uint32_t header; /* Magic signature "HdrS" */ ++ grub_uint16_t version; /* Boot protocol version supported */ ++ grub_uint32_t realmode_swtch; /* Boot loader hook */ ++ grub_uint16_t start_sys; /* The load-low segment (obsolete) */ ++ grub_uint16_t kernel_version; /* Points to kernel version string */ ++ grub_uint8_t type_of_loader; /* Boot loader identifier */ ++ grub_uint8_t loadflags; /* Boot protocol option flags */ ++ grub_uint16_t setup_move_size;/* Move to high memory size */ ++ grub_uint32_t code32_start; /* Boot loader hook */ ++ grub_uint32_t ramdisk_image; /* initrd load address */ ++ grub_uint32_t ramdisk_size; /* initrd size */ ++ grub_uint32_t bootsect_kludge;/* obsolete */ ++ grub_uint16_t heap_end_ptr; /* Free memory after setup end */ ++ grub_uint16_t pad1; /* Unused */ ++ grub_uint32_t cmd_line_ptr; /* Points to the kernel command line */ ++ grub_uint32_t initrd_addr_max;/* Highest address for initrd */ ++ grub_uint32_t kernel_alignment; ++ grub_uint8_t relocatable_kernel; ++ grub_uint8_t pad2[3]; ++ grub_uint32_t hardware_subarch; ++ grub_uint64_t hardware_subarch_data; ++} __attribute__ ((packed)); ++ ++/* Boot parameters for Linux based on 2.6.12. This is used by the setup ++ sectors of Linux, and must be simulated by GRUB on EFI, because ++ the setup sectors depend on BIOS. */ ++struct linux_kernel_params ++{ ++ grub_uint8_t video_cursor_x; /* 0 */ ++ grub_uint8_t video_cursor_y; ++ ++ grub_uint16_t ext_mem; /* 2 */ ++ ++ grub_uint16_t video_page; /* 4 */ ++ grub_uint8_t video_mode; /* 6 */ ++ grub_uint8_t video_width; /* 7 */ ++ ++ grub_uint8_t padding1[0xa - 0x8]; ++ ++ grub_uint16_t video_ega_bx; /* a */ ++ ++ grub_uint8_t padding2[0xe - 0xc]; ++ ++ grub_uint8_t video_height; /* e */ ++ grub_uint8_t have_vga; /* f */ ++ grub_uint16_t font_size; /* 10 */ ++ ++ grub_uint16_t lfb_width; /* 12 */ ++ grub_uint16_t lfb_height; /* 14 */ ++ grub_uint16_t lfb_depth; /* 16 */ ++ grub_uint32_t lfb_base; /* 18 */ ++ grub_uint32_t lfb_size; /* 1c */ ++ ++ grub_uint16_t cl_magic; /* 20 */ ++ grub_uint16_t cl_offset; ++ ++ grub_uint16_t lfb_line_len; /* 24 */ ++ grub_uint8_t red_mask_size; /* 26 */ ++ grub_uint8_t red_field_pos; ++ grub_uint8_t green_mask_size; ++ grub_uint8_t green_field_pos; ++ grub_uint8_t blue_mask_size; ++ grub_uint8_t blue_field_pos; ++ grub_uint8_t reserved_mask_size; ++ grub_uint8_t reserved_field_pos; ++ grub_uint16_t vesapm_segment; /* 2e */ ++ grub_uint16_t vesapm_offset; /* 30 */ ++ grub_uint16_t lfb_pages; /* 32 */ ++ grub_uint16_t vesa_attrib; /* 34 */ ++ ++ grub_uint8_t padding3[0x40 - 0x36]; ++ ++ grub_uint16_t apm_version; /* 40 */ ++ grub_uint16_t apm_code_segment; /* 42 */ ++ grub_uint32_t apm_entry; /* 44 */ ++ grub_uint16_t apm_16bit_code_segment; /* 48 */ ++ grub_uint16_t apm_data_segment; /* 4a */ ++ grub_uint16_t apm_flags; /* 4c */ ++ grub_uint32_t apm_code_len; /* 4e */ ++ grub_uint16_t apm_data_len; /* 52 */ ++ ++ grub_uint8_t padding4[0x60 - 0x54]; ++ ++ grub_uint32_t ist_signature; /* 60 */ ++ grub_uint32_t ist_command; /* 64 */ ++ grub_uint32_t ist_event; /* 68 */ ++ grub_uint32_t ist_perf_level; /* 6c */ ++ ++ grub_uint8_t padding5[0x80 - 0x70]; ++ ++ grub_uint8_t hd0_drive_info[0x10]; /* 80 */ ++ grub_uint8_t hd1_drive_info[0x10]; /* 90 */ ++ grub_uint16_t rom_config_len; /* a0 */ ++ ++ grub_uint8_t padding6[0x1b8 - 0xa2]; ++ ++ union { ++ struct { ++ grub_uint32_t padding7_1; /* 0x1b8 */ ++ grub_uint32_t padding7_2; /* 0x1bc */ ++ ++ grub_uint32_t efi_signature; /* 1c0 */ ++ grub_uint32_t efi_system_table; /* 1c4 */ ++ grub_uint32_t efi_mem_desc_size; /* 1c8 */ ++ grub_uint32_t efi_mem_desc_version; /* 1cc */ ++ grub_uint32_t efi_mmap; /* 1d0 */ ++ grub_uint32_t efi_mmap_size; /* 1d4 */ ++ grub_uint32_t efi_system_table_hi; /* 1d8 */ ++ grub_uint32_t efi_mmap_hi; /* 1dc */ ++ } dunno; ++ struct { ++ grub_uint32_t efi_system_table; /* 1b8 */ ++ ++ grub_uint32_t padding7_1; /* 0x1bc */ ++ ++ grub_uint32_t efi_signature; /* 1c0 */ ++ grub_uint32_t efi_mem_desc_size; /* 1c4 */ ++ grub_uint32_t efi_mem_desc_version; /* 1c8 */ ++ grub_uint32_t efi_mmap_size; /* 1cc */ ++ grub_uint32_t efi_mmap; /* 1d0 */ ++ ++ grub_uint8_t padding7_2[0x1e0 - 0x1d4]; /* 1d4 */ ++ } version_0204; ++ struct { ++ grub_uint32_t padding7_1; /* 0x1b8 */ ++ grub_uint32_t padding7_2; /* 0x1bc */ ++ grub_uint32_t padding7_3; /* 0x1c0 */ ++ grub_uint32_t efi_system_table; /* 0x1c4 */ ++ grub_uint32_t efi_mem_desc_size; /* 0x1c8 */ ++ grub_uint32_t efi_mem_desc_version; /* 0x1cc */ ++ grub_uint32_t efi_mmap; /* 0x1d0 */ ++ grub_uint32_t efi_mmap_size; /* 0x1d4 */ ++ grub_uint8_t padding7_4[0x1e0 - 0x1d8]; /* 0x1d8 */ ++ } version_0206; ++ }; ++ ++ grub_uint32_t alt_mem; /* 1e0 */ ++ ++ grub_uint8_t padding8[0x1e8 - 0x1e4]; /* 1e4 */ ++ ++ grub_uint8_t e820_nr_map; /* 1e8 */ ++ grub_uint8_t eddbuf_entries; /* 1e9 */ ++ grub_uint8_t edd_mbr_sig_buf_entries; /* 1ea */ ++ ++ grub_uint8_t padding9[0x1f1 - 0x1eb]; ++ ++ struct grub_linux_kernel_header hdr; /* 0x1f1 */ ++ ++ grub_uint8_t padding10[0x2d0-0x1f1-sizeof(struct grub_linux_kernel_header)]; ++ ++ grub_uint8_t e820_map[2560]; /* 0x2d0 */ ++ ++ grub_uint8_t padding11[0x1000 - 0xcd0]; ++} __attribute__ ((packed)); ++#endif /* ! ASM_FILE */ ++ ++#endif /* ! GRUB_LINUX_MACHINE_HEADER */ +diff --git a/efi/grub/i386/types.h b/efi/grub/i386/types.h +new file mode 100644 +index 0000000..ec4174e +--- /dev/null ++++ b/efi/grub/i386/types.h +@@ -0,0 +1,32 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2006 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_TYPES_CPU_HEADER ++#define GRUB_TYPES_CPU_HEADER 1 ++ ++/* The size of void *. */ ++#define GRUB_TARGET_SIZEOF_VOID_P 4 ++ ++/* The size of long. */ ++#define GRUB_TARGET_SIZEOF_LONG 4 ++ ++/* x64_64 is little-endian. */ ++#undef GRUB_TARGET_WORDS_BIGENDIAN ++ ++#endif /* ! GRUB_TYPES_CPU_HEADER */ +diff --git a/efi/grub/misc.h b/efi/grub/misc.h +new file mode 100644 +index 0000000..5ef2226 +--- /dev/null ++++ b/efi/grub/misc.h +@@ -0,0 +1,71 @@ ++/* misc.h - prototypes for misc functions */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2003,2005,2006 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_MISC_HEADER ++#define GRUB_MISC_HEADER 1 ++ ++#include ++#include ++ ++#define grub_dprintf(condition, fmt, args...) \ ++ grub_real_dprintf(__FILE__, __LINE__, condition, fmt, ## args) ++ ++char *grub_stpcpy (char *dest, const char *src); ++void grub_real_dprintf (const char *file, ++ const int line, ++ const char *condition, ++ const char *fmt, ...) ++ __attribute__ ((format (printf, 4, 5))); ++void grub_exit (void) __attribute__ ((noreturn)); ++void grub_abort (void) __attribute__ ((noreturn)); ++void grub_fatal (const char *fmt, ...) __attribute__ ((noreturn)); ++grub_size_t grub_utf8_char_len(grub_uint8_t ch); ++grub_uint32_t grub_utf8_to_utf32(const grub_uint8_t *src, grub_size_t length); ++void grub_utf8_to_utf16(const grub_uint8_t *src, grub_size_t srclen, ++ grub_uint16_t *dst, grub_size_t dstlen); ++grub_uint8_t *grub_utf16_to_utf8 (grub_uint8_t * dest, ++ grub_uint16_t * src, grub_size_t size); ++ ++void *grub_malloc (grub_size_t size); ++void grub_free (void *ptr); ++ ++char *grub_strndup (const char *s, int n); ++#define strndup grub_strndup ++ ++int safe_parse_maxulong (char **str_ptr, unsigned long *myulong_ptr); ++ ++#define E820_RAM 1 ++#define E820_RESERVED 2 ++#define E820_ACPI 3 ++#define E820_NVS 4 ++#define E820_EXEC_CODE 5 ++#define E820_MAX 128 ++ ++struct e820_entry ++{ ++ grub_uint64_t addr; /* start of memory segment */ ++ grub_uint64_t size; /* size of memory segment */ ++ grub_uint32_t type; /* type of memory segment */ ++} __attribute__ ((packed)); ++ ++int grub_load_linux (char *kernel, char *arg); ++int grub_load_initrd (char *initrd); ++ ++#endif /* ! GRUB_MISC_HEADER */ +diff --git a/efi/grub/symbol.h b/efi/grub/symbol.h +new file mode 100644 +index 0000000..5204c54 +--- /dev/null ++++ b/efi/grub/symbol.h +@@ -0,0 +1,34 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 1999,2000,2001,2002,2006 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_SYMBOL_HEADER ++#define GRUB_SYMBOL_HEADER 1 ++ ++#include ++ ++/* Add an underscore to a C symbol in assembler code if needed. */ ++#ifdef HAVE_ASM_USCORE ++# define EXT_C(sym) _ ## sym ++#else ++# define EXT_C(sym) sym ++#endif ++ ++#define FUNCTION(x) .globl EXT_C(x) ; .type EXT_C(x), "function" ; EXT_C(x): ++ ++#endif /* ! GRUB_SYMBOL_HEADER */ +diff --git a/efi/grub/types.h b/efi/grub/types.h +new file mode 100644 +index 0000000..173adb4 +--- /dev/null ++++ b/efi/grub/types.h +@@ -0,0 +1,158 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2005,2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_TYPES_HEADER ++#define GRUB_TYPES_HEADER 1 ++ ++#include ++#include ++ ++#define UNUSED __attribute__ ((unused)) ++ ++#ifdef GRUB_UTIL ++# define GRUB_CPU_SIZEOF_VOID_P SIZEOF_VOID_P ++# define GRUB_CPU_SIZEOF_LONG SIZEOF_LONG ++# ifdef WORDS_BIGENDIAN ++# define GRUB_CPU_WORDS_BIGENDIAN 1 ++# else ++# undef GRUB_CPU_WORDS_BIGENDIAN ++# endif ++#else /* ! GRUB_UTIL */ ++# define GRUB_CPU_SIZEOF_VOID_P GRUB_TARGET_SIZEOF_VOID_P ++# define GRUB_CPU_SIZEOF_LONG GRUB_TARGET_SIZEOF_LONG ++# ifdef GRUB_TARGET_WORDS_BIGENDIAN ++# define GRUB_CPU_WORDS_BIGENDIAN 1 ++# else ++# undef GRUB_CPU_WORDS_BIGENDIAN ++# endif ++#endif /* ! GRUB_UTIL */ ++ ++#if GRUB_CPU_SIZEOF_VOID_P != GRUB_CPU_SIZEOF_LONG ++# error "This architecture is not supported because sizeof(void *) != sizeof(long)" ++#endif ++ ++#if GRUB_CPU_SIZEOF_VOID_P != 4 && GRUB_CPU_SIZEOF_VOID_P != 8 ++# error "This architecture is not supported because sizeof(void *) != 4 and sizeof(void *) != 8" ++#endif ++ ++/* Define various wide integers. */ ++typedef signed char grub_int8_t; ++typedef short grub_int16_t; ++typedef int grub_int32_t; ++#if GRUB_CPU_SIZEOF_VOID_P == 8 ++typedef long grub_int64_t; ++#else ++typedef long long grub_int64_t; ++#endif ++ ++typedef unsigned char grub_uint8_t; ++typedef unsigned short grub_uint16_t; ++typedef unsigned grub_uint32_t; ++#if GRUB_CPU_SIZEOF_VOID_P == 8 ++typedef unsigned long grub_uint64_t; ++#else ++typedef unsigned long long grub_uint64_t; ++#endif ++ ++/* Misc types. */ ++#if GRUB_TARGET_SIZEOF_VOID_P == 8 ++typedef grub_uint64_t grub_target_addr_t; ++typedef grub_uint64_t grub_target_off_t; ++typedef grub_uint64_t grub_target_size_t; ++typedef grub_int64_t grub_target_ssize_t; ++#else ++typedef grub_uint32_t grub_target_addr_t; ++typedef grub_uint32_t grub_target_off_t; ++typedef grub_uint32_t grub_target_size_t; ++typedef grub_int32_t grub_target_ssize_t; ++#endif ++ ++typedef unsigned long grub_addr_t; ++#if GRUB_CPU_SIZEOF_VOID_P == 8 ++typedef grub_uint64_t grub_size_t; ++typedef grub_int64_t grub_ssize_t; ++#else ++typedef grub_uint32_t grub_size_t; ++typedef grub_int32_t grub_ssize_t; ++#endif ++ ++/* The type for representing a file offset. */ ++typedef grub_uint64_t grub_off_t; ++ ++/* The type for representing a disk block address. */ ++typedef grub_uint64_t grub_disk_addr_t; ++ ++/* Byte-orders. */ ++#define grub_swap_bytes16(x) \ ++({ \ ++ grub_uint16_t _x = (x); \ ++ (grub_uint16_t) ((_x << 8) | (_x >> 8)); \ ++}) ++ ++#define grub_swap_bytes32(x) \ ++({ \ ++ grub_uint32_t _x = (x); \ ++ (grub_uint32_t) ((_x << 24) \ ++ | ((_x & (grub_uint32_t) 0xFF00UL) << 8) \ ++ | ((_x & (grub_uint32_t) 0xFF0000UL) >> 8) \ ++ | (_x >> 24)); \ ++}) ++ ++#define grub_swap_bytes64(x) \ ++({ \ ++ grub_uint64_t _x = (x); \ ++ (grub_uint64_t) ((_x << 56) \ ++ | ((_x & (grub_uint64_t) 0xFF00ULL) << 40) \ ++ | ((_x & (grub_uint64_t) 0xFF0000ULL) << 24) \ ++ | ((_x & (grub_uint64_t) 0xFF000000ULL) << 8) \ ++ | ((_x & (grub_uint64_t) 0xFF00000000ULL) >> 8) \ ++ | ((_x & (grub_uint64_t) 0xFF0000000000ULL) >> 24) \ ++ | ((_x & (grub_uint64_t) 0xFF000000000000ULL) >> 40) \ ++ | (_x >> 56)); \ ++}) ++ ++#ifdef GRUB_CPU_WORDS_BIGENDIAN ++# define grub_cpu_to_le16(x) grub_swap_bytes16(x) ++# define grub_cpu_to_le32(x) grub_swap_bytes32(x) ++# define grub_cpu_to_le64(x) grub_swap_bytes64(x) ++# define grub_le_to_cpu16(x) grub_swap_bytes16(x) ++# define grub_le_to_cpu32(x) grub_swap_bytes32(x) ++# define grub_le_to_cpu64(x) grub_swap_bytes64(x) ++# define grub_cpu_to_be16(x) ((grub_uint16_t) (x)) ++# define grub_cpu_to_be32(x) ((grub_uint32_t) (x)) ++# define grub_cpu_to_be64(x) ((grub_uint64_t) (x)) ++# define grub_be_to_cpu16(x) ((grub_uint16_t) (x)) ++# define grub_be_to_cpu32(x) ((grub_uint32_t) (x)) ++# define grub_be_to_cpu64(x) ((grub_uint64_t) (x)) ++#else /* ! WORDS_BIGENDIAN */ ++# define grub_cpu_to_le16(x) ((grub_uint16_t) (x)) ++# define grub_cpu_to_le32(x) ((grub_uint32_t) (x)) ++# define grub_cpu_to_le64(x) ((grub_uint64_t) (x)) ++# define grub_le_to_cpu16(x) ((grub_uint16_t) (x)) ++# define grub_le_to_cpu32(x) ((grub_uint32_t) (x)) ++# define grub_le_to_cpu64(x) ((grub_uint64_t) (x)) ++# define grub_cpu_to_be16(x) grub_swap_bytes16(x) ++# define grub_cpu_to_be32(x) grub_swap_bytes32(x) ++# define grub_cpu_to_be64(x) grub_swap_bytes64(x) ++# define grub_be_to_cpu16(x) grub_swap_bytes16(x) ++# define grub_be_to_cpu32(x) grub_swap_bytes32(x) ++# define grub_be_to_cpu64(x) grub_swap_bytes64(x) ++#endif /* ! WORDS_BIGENDIAN */ ++ ++#endif /* ! GRUB_TYPES_HEADER */ +diff --git a/efi/grub/x86_64/linux.h b/efi/grub/x86_64/linux.h +new file mode 100644 +index 0000000..65af9ee +--- /dev/null ++++ b/efi/grub/x86_64/linux.h +@@ -0,0 +1,228 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_LINUX_MACHINE_HEADER ++#define GRUB_LINUX_MACHINE_HEADER 1 ++ ++#define GRUB_LINUX_MAGIC_SIGNATURE 0x53726448 /* "HdrS" */ ++#define GRUB_LINUX_DEFAULT_SETUP_SECTS 4 ++#define GRUB_LINUX_FLAG_CAN_USE_HEAP 0x80 ++#define GRUB_LINUX_INITRD_MAX_ADDRESS 0x37FFFFFF ++#define GRUB_LINUX_MAX_SETUP_SECTS 64 ++#define GRUB_LINUX_BOOT_LOADER_TYPE 0x72 ++#define GRUB_LINUX_HEAP_END_OFFSET (0x9000 - 0x200) ++ ++#define GRUB_LINUX_BZIMAGE_ADDR 0x100000 ++#define GRUB_LINUX_ZIMAGE_ADDR 0x10000 ++#define GRUB_LINUX_OLD_REAL_MODE_ADDR 0x90000 ++#define GRUB_LINUX_SETUP_STACK 0x9000 ++ ++#define GRUB_LINUX_FLAG_BIG_KERNEL 0x1 ++ ++/* Linux's video mode selection support. Actually I hate it! */ ++#define GRUB_LINUX_VID_MODE_NORMAL 0xFFFF ++#define GRUB_LINUX_VID_MODE_EXTENDED 0xFFFE ++#define GRUB_LINUX_VID_MODE_ASK 0xFFFD ++ ++#define GRUB_LINUX_CL_OFFSET 0x9000 ++#define GRUB_LINUX_CL_END_OFFSET 0x90FF ++#define GRUB_LINUX_SETUP_MOVE_SIZE 0x9100 ++#define GRUB_LINUX_CL_MAGIC 0xA33F ++ ++#if 0 ++#define GRUB_LINUX_EFI_SIGNATURE_X64 \ ++ ('4' << 24 | '6' << 16 | 'L' << 8 | 'E') ++#else ++#define GRUB_LINUX_EFI_SIGNATURE_X64 \ ++ ('L' << 24 | 'I' << 16 | 'F' << 8 | 'E') ++#endif ++ ++#ifndef ASM_FILE ++ ++/* For the Linux/i386 boot protocol version 2.07. */ ++struct grub_linux_kernel_header ++{ ++ grub_uint8_t setup_sects; /* The size of the setup in sectors */ ++ grub_uint16_t root_flags; /* If the root is mounted readonly */ ++ grub_uint32_t syssize; /* obsolete */ ++ grub_uint16_t ram_size; /* obsolete */ ++ grub_uint16_t vid_mode; /* Video mode control */ ++ grub_uint16_t root_dev; /* Default root device number */ ++ grub_uint16_t boot_flag; /* 0xAA55 magic number */ ++ grub_uint8_t jump_ins; /* Jump instruction */ ++ grub_uint8_t jump_off; /* Jump offset */ ++ grub_uint32_t header; /* Magic signature "HdrS" */ ++ grub_uint16_t version; /* Boot protocol version supported */ ++ grub_uint32_t realmode_swtch; /* Boot loader hook */ ++ grub_uint16_t start_sys; /* The load-low segment (obsolete) */ ++ grub_uint16_t kernel_version; /* Points to kernel version string */ ++ grub_uint8_t type_of_loader; /* Boot loader identifier */ ++ grub_uint8_t loadflags; /* Boot protocol option flags */ ++ grub_uint16_t setup_move_size;/* Move to high memory size */ ++ grub_uint32_t code32_start; /* Boot loader hook */ ++ grub_uint32_t ramdisk_image; /* initrd load address */ ++ grub_uint32_t ramdisk_size; /* initrd size */ ++ grub_uint32_t bootsect_kludge;/* obsolete */ ++ grub_uint16_t heap_end_ptr; /* Free memory after setup end */ ++ grub_uint16_t pad1; /* Unused */ ++ grub_uint32_t cmd_line_ptr; /* Points to the kernel command line */ ++ grub_uint32_t initrd_addr_max;/* Highest address for initrd */ ++ grub_uint32_t kernel_alignment; ++ grub_uint8_t relocatable_kernel; ++ grub_uint8_t pad2[3]; ++ grub_uint32_t cmdline_size; ++ grub_uint32_t hardware_subarch; ++ grub_uint64_t hardware_subarch_data; ++} __attribute__ ((packed)); ++ ++/* Boot parameters for Linux based on 2.6.12. This is used by the setup ++ sectors of Linux, and must be simulated by GRUB on EFI, because ++ the setup sectors depend on BIOS. */ ++struct linux_kernel_params ++{ ++ grub_uint8_t video_cursor_x; /* 0 */ ++ grub_uint8_t video_cursor_y; ++ ++ grub_uint16_t ext_mem; /* 2 */ ++ ++ grub_uint16_t video_page; /* 4 */ ++ grub_uint8_t video_mode; /* 6 */ ++ grub_uint8_t video_width; /* 7 */ ++ ++ grub_uint8_t padding1[0xa - 0x8]; ++ ++ grub_uint16_t video_ega_bx; /* a */ ++ ++ grub_uint8_t padding2[0xe - 0xc]; ++ ++ grub_uint8_t video_height; /* e */ ++ grub_uint8_t have_vga; /* f */ ++ grub_uint16_t font_size; /* 10 */ ++ ++ grub_uint16_t lfb_width; /* 12 */ ++ grub_uint16_t lfb_height; /* 14 */ ++ grub_uint16_t lfb_depth; /* 16 */ ++ grub_uint32_t lfb_base; /* 18 */ ++ grub_uint32_t lfb_size; /* 1c */ ++ ++ grub_uint16_t cl_magic; /* 20 */ ++ grub_uint16_t cl_offset; ++ ++ grub_uint16_t lfb_line_len; /* 24 */ ++ grub_uint8_t red_mask_size; /* 26 */ ++ grub_uint8_t red_field_pos; ++ grub_uint8_t green_mask_size; ++ grub_uint8_t green_field_pos; ++ grub_uint8_t blue_mask_size; ++ grub_uint8_t blue_field_pos; ++ grub_uint8_t reserved_mask_size; ++ grub_uint8_t reserved_field_pos; ++ grub_uint16_t vesapm_segment; /* 2e */ ++ grub_uint16_t vesapm_offset; /* 30 */ ++ grub_uint16_t lfb_pages; /* 32 */ ++ grub_uint16_t vesa_attrib; /* 34 */ ++ grub_uint32_t capabilities; /* 36 */ ++ ++ grub_uint8_t padding3[0x40 - 0x3a]; ++ ++ grub_uint16_t apm_version; /* 40 */ ++ grub_uint16_t apm_code_segment; /* 42 */ ++ grub_uint32_t apm_entry; /* 44 */ ++ grub_uint16_t apm_16bit_code_segment; /* 48 */ ++ grub_uint16_t apm_data_segment; /* 4a */ ++ grub_uint16_t apm_flags; /* 4c */ ++ grub_uint32_t apm_code_len; /* 4e */ ++ grub_uint16_t apm_data_len; /* 52 */ ++ ++ grub_uint8_t padding4[0x60 - 0x54]; ++ ++ grub_uint32_t ist_signature; /* 60 */ ++ grub_uint32_t ist_command; /* 64 */ ++ grub_uint32_t ist_event; /* 68 */ ++ grub_uint32_t ist_perf_level; /* 6c */ ++ ++ grub_uint8_t padding5[0x80 - 0x70]; ++ ++ grub_uint8_t hd0_drive_info[0x10]; /* 80 */ ++ grub_uint8_t hd1_drive_info[0x10]; /* 90 */ ++ grub_uint16_t rom_config_len; /* a0 */ ++ ++ grub_uint8_t padding6[0x1b8 - 0xa2]; ++ ++ union { ++ struct { ++ grub_uint32_t padding7_1; /* 0x1b8 */ ++ grub_uint32_t padding7_2; /* 0x1bc */ ++ ++ grub_uint32_t efi_signature; /* 1c0 */ ++ grub_uint32_t efi_system_table; /* 1c4 */ ++ grub_uint32_t efi_mem_desc_size; /* 1c8 */ ++ grub_uint32_t efi_mem_desc_version; /* 1cc */ ++ grub_uint32_t efi_mmap; /* 1d0 */ ++ grub_uint32_t efi_mmap_size; /* 1d4 */ ++ grub_uint32_t efi_system_table_hi; /* 1d8 */ ++ grub_uint32_t efi_mmap_hi; /* 1dc */ ++ } dunno; ++ struct { ++ grub_uint32_t efi_system_table; /* 1b8 */ ++ ++ grub_uint32_t padding7_1; /* 0x1bc */ ++ ++ grub_uint32_t efi_signature; /* 1c0 */ ++ grub_uint32_t efi_mem_desc_size; /* 1c4 */ ++ grub_uint32_t efi_mem_desc_version; /* 1c8 */ ++ grub_uint32_t efi_mmap_size; /* 1cc */ ++ grub_uint32_t efi_mmap; /* 1d0 */ ++ ++ grub_uint8_t padding7_2[0x1e0 - 0x1d4]; /* 1d4 */ ++ } version_0204; ++ struct { ++ grub_uint32_t padding7_1; /* 0x1b8 */ ++ grub_uint32_t padding7_2; /* 0x1bc */ ++ grub_uint32_t padding7_3; /* 0x1c0 */ ++ grub_uint32_t efi_system_table; /* 0x1c4 */ ++ grub_uint32_t efi_mem_desc_size; /* 0x1c8 */ ++ grub_uint32_t efi_mem_desc_version; /* 0x1cc */ ++ grub_uint32_t efi_mmap; /* 0x1d0 */ ++ grub_uint32_t efi_mmap_size; /* 0x1d4 */ ++ grub_uint8_t padding7_4[0x1e0 - 0x1d8]; /* 0x1d8 */ ++ } version_0206; ++ }; ++ ++ grub_uint32_t alt_mem; /* 1e0 */ ++ ++ grub_uint8_t padding8[0x1e8 - 0x1e4]; /* 1e4 */ ++ ++ grub_uint8_t e820_nr_map; /* 1e8 */ ++ grub_uint8_t eddbuf_entries; /* 1e9 */ ++ grub_uint8_t edd_mbr_sig_buf_entries; /* 1ea */ ++ ++ grub_uint8_t padding9[0x1f1 - 0x1eb]; ++ ++ struct grub_linux_kernel_header hdr; /* 0x1f1 */ ++ ++ grub_uint8_t padding10[0x2d0-0x1f1-sizeof(struct grub_linux_kernel_header)]; ++ ++ grub_uint8_t e820_map[2560]; /* 0x2d0 */ ++ ++ grub_uint8_t padding11[0x1000 - 0xcd0]; ++} __attribute__ ((packed)); ++#endif /* ! ASM_FILE */ ++ ++#endif /* ! GRUB_LINUX_MACHINE_HEADER */ +diff --git a/efi/grub/x86_64/types.h b/efi/grub/x86_64/types.h +new file mode 100644 +index 0000000..0c077f6 +--- /dev/null ++++ b/efi/grub/x86_64/types.h +@@ -0,0 +1,32 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2006 Free Software Foundation, Inc. ++ * ++ * GRUB is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GRUB; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRUB_TYPES_CPU_HEADER ++#define GRUB_TYPES_CPU_HEADER 1 ++ ++/* The size of void *. */ ++#define GRUB_TARGET_SIZEOF_VOID_P 8 ++ ++/* The size of long. */ ++#define GRUB_TARGET_SIZEOF_LONG 8 ++ ++/* x64_64 is little-endian. */ ++#undef GRUB_TARGET_WORDS_BIGENDIAN ++ ++#endif /* ! GRUB_TYPES_CPU_HEADER */ +diff --git a/efi/ia32/callwrap.S b/efi/ia32/callwrap.S +new file mode 100644 +index 0000000..50d737f +--- /dev/null ++++ b/efi/ia32/callwrap.S +@@ -0,0 +1 @@ ++/* This file is a stub for ia32 building */ +diff --git a/efi/ia32/callwrap.c b/efi/ia32/callwrap.c +new file mode 100644 +index 0000000..56df899 +--- /dev/null ++++ b/efi/ia32/callwrap.c +@@ -0,0 +1,131 @@ ++ ++#define ENTRY(name) \ ++ ".globl " #name ";" \ ++ ".align 16;" \ ++ #name ":" ++ ++asm( ++ENTRY(i386_call0) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $8, %esp \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_call1) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $20, %esp \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_call2) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $16, %esp \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_call3) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $12, %esp \n" ++ "pushl 20(%ebp) \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_call4) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $8, %esp \n" ++ "pushl 24(%ebp) \n" ++ "pushl 20(%ebp) \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_call5) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $20, %esp \n" ++ "pushl 28(%ebp) \n" ++ "pushl 24(%ebp) \n" ++ "pushl 20(%ebp) \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_64_call5) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $12, %esp \n" ++ "pushl 36(%ebp) \n" ++ "pushl 32(%ebp) \n" ++ "pushl 28(%ebp) \n" ++ "pushl 24(%ebp) \n" ++ "pushl 20(%ebp) \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++ ++asm( ++ENTRY(i386_call6) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $16, %esp \n" ++ "pushl 32(%ebp) \n" ++ "pushl 28(%ebp) \n" ++ "pushl 24(%ebp) \n" ++ "pushl 20(%ebp) \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); ++ ++asm( ++ENTRY(i386_call7) ++ "pushl %ebp \n" ++ "movl %esp,%ebp \n" ++ "subl $12, %esp \n" ++ "pushl 36(%ebp) \n" ++ "pushl 32(%ebp) \n" ++ "pushl 28(%ebp) \n" ++ "pushl 24(%ebp) \n" ++ "pushl 20(%ebp) \n" ++ "pushl 16(%ebp) \n" ++ "pushl 12(%ebp) \n" ++ "call *8(%ebp) \n" ++ "leave \n" ++ "ret \n" ++ ); +diff --git a/efi/ia32/loader/bin_to_h.c b/efi/ia32/loader/bin_to_h.c +new file mode 100644 +index 0000000..4cff104 +--- /dev/null ++++ b/efi/ia32/loader/bin_to_h.c +@@ -0,0 +1,29 @@ ++#include ++#include ++ ++int ++main (void) ++{ ++ unsigned n = 0; ++ int c; ++ ++ printf ("unsigned char switch_image[] = {\n"); ++ ++ while ((c = getchar ()) != EOF) ++ { ++ printf("0x%02x,%s", ++ c & 0xFF, ++ (++n & 0x07) ? " " : "\n"); ++ } ++ ++ if (n & 0x07) ++ { ++ printf("\n"); ++ } ++ ++ printf("};\n" ++ "int switch_size = sizeof switch_image;\n"); ++ ++ return 0; ++} ++ +diff --git a/efi/ia32/loader/linux.c b/efi/ia32/loader/linux.c +new file mode 100644 +index 0000000..d795d28 +--- /dev/null ++++ b/efi/ia32/loader/linux.c +@@ -0,0 +1,648 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "switch.h" ++ ++#include ++ ++#include "graphics.h" ++ ++#define grub_file_size() filemax ++ ++#define NEXT_MEMORY_DESCRIPTOR(desc, size) \ ++ ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size))) ++ ++#define PTR_HI(x) ((grub_uint32_t) ((unsigned long long)((unsigned long)(x)) >> 32)) ++ ++#ifndef SECTOR_SIZE ++#define SECTOR_SIZE 0x200 ++#endif /* defined(SECTOR_SIZE) */ ++#ifndef SECTOR_BITS ++#define SECTOR_BITS 9 ++#endif /* defined(SECTOR_BITS) */ ++ ++static unsigned long linux_mem_size; ++static int loaded; ++static void *real_mode_mem; ++static void *prot_mode_mem; ++static void *initrd_mem; ++static grub_efi_uintn_t real_mode_pages; ++static grub_efi_uintn_t prot_mode_pages; ++static grub_efi_uintn_t initrd_pages; ++static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GRAPHICS_OUTPUT_GUID; ++ ++static inline grub_size_t ++page_align (grub_size_t size) ++{ ++ return (size + (1 << 12) - 1) & (~((1 << 12) - 1)); ++} ++ ++static void ++free_pages (void) ++{ ++ if (real_mode_mem) ++ { ++ grub_efi_free_pages ((grub_addr_t) real_mode_mem, real_mode_pages); ++ real_mode_mem = 0; ++ } ++ ++ if (prot_mode_mem) ++ { ++ grub_efi_free_pages ((grub_addr_t) prot_mode_mem, prot_mode_pages); ++ prot_mode_mem = 0; ++ } ++ ++ if (initrd_mem) ++ { ++ grub_efi_free_pages ((grub_addr_t) initrd_mem, initrd_pages); ++ initrd_mem = 0; ++ } ++ ++ if (mmap_buf) ++ { ++ grub_efi_free_pages ((grub_addr_t) mmap_buf, mmap_pages); ++ mmap_buf = 0; ++ } ++} ++ ++/* Allocate pages for the real mode code and the protected mode code ++ for linux as well as a memory map buffer. */ ++static int ++allocate_pages (grub_size_t real_size, grub_size_t prot_size) ++{ ++ grub_efi_uintn_t desc_size; ++ grub_efi_memory_descriptor_t *mmap_end; ++ grub_efi_memory_descriptor_t *desc; ++ grub_efi_physical_address_t addr; ++ ++ /* Make sure that each size is aligned to a page boundary. */ ++ real_size = page_align (real_size + SECTOR_SIZE); ++ prot_size = page_align (prot_size); ++ ++ grub_dprintf ("linux", "real_size = %x, prot_size = %x, mmap_size = %x\n", ++ (unsigned int) real_size, (unsigned int) prot_size, ++ (unsigned int) mmap_size); ++ ++ /* Calculate the number of pages; Combine the real mode code with ++ the memory map buffer for simplicity. */ ++ real_mode_pages = (real_size >> 12); ++ prot_mode_pages = (prot_size >> 12); ++ ++ /* Initialize the memory pointers with NULL for convenience. */ ++ real_mode_mem = 0; ++ prot_mode_mem = 0; ++ ++ if (grub_efi_get_memory_map (0, &desc_size, 0) <= 0) ++ grub_fatal ("cannot get memory map"); ++ ++ addr = 0; ++ mmap_end = NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); ++ /* First, find free pages for the real mode code ++ and the memory map buffer. */ ++ for (desc = mmap_buf; ++ desc < mmap_end; ++ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) ++ { ++ if (desc->type == GRUB_EFI_CONVENTIONAL_MEMORY ++ && desc->num_pages >= real_mode_pages) ++ { ++ grub_efi_physical_address_t physical_end; ++ ++ physical_end = desc->physical_start + (desc->num_pages << 12); ++ ++ grub_dprintf ("linux", "physical_start = %x, physical_end = %x\n", ++ (unsigned) desc->physical_start, ++ (unsigned) physical_end); ++ addr = physical_end - real_size; ++ if (addr < 0x10000) ++ continue; ++ ++ grub_dprintf ("linux", "trying to allocate %u pages at %x\n", ++ (unsigned) real_mode_pages, (unsigned) addr); ++ real_mode_mem = grub_efi_allocate_pages (addr, real_mode_pages); ++ if (! real_mode_mem) ++ grub_fatal ("cannot allocate pages"); ++ ++ desc->num_pages -= real_mode_pages; ++ break; ++ } ++ } ++ ++ if (! real_mode_mem) ++ { ++ grub_printf ("cannot allocate real mode pages"); ++ errnum = ERR_WONT_FIT; ++ goto fail; ++ } ++ ++ /* Next, find free pages for the protected mode code. */ ++ /* XXX what happens if anything is using this address? */ ++ prot_mode_mem = grub_efi_allocate_pages (0x100000, prot_mode_pages); ++ if (! prot_mode_mem) ++ grub_fatal("Cannot allocate pages for VMLINUZ"); ++ ++ return 1; ++ ++ fail: ++ free_pages (); ++ return 0; ++} ++ ++/* do some funky stuff, then boot linux */ ++void ++linux_boot (void) ++{ ++ grub_printf ("zImage is not supported under EFI.\n"); ++ for (;;); ++} ++ ++#ifndef __x86_64__ ++struct { ++ unsigned short limit; ++ unsigned int base; ++} __attribute__ ((packed)) ++ gdt_addr = { 0x800, 0x94000 }, ++ idt_addr = { 0, 0 }; ++ ++unsigned short init_gdt[] = { ++ /* gdt[0]: dummy */ ++ 0, 0, 0, 0, ++ ++ /* gdt[1]: unused */ ++ 0, 0, 0, 0, ++ ++ /* gdt[2]: code */ ++ 0xFFFF, /* 4Gb - (0x100000*0x1000 = 4Gb) */ ++ 0x0000, /* base address=0 */ ++ 0x9A00, /* code read/exec */ ++ 0x00CF, /* granularity=4096, 386 (+5th nibble of limit) */ ++ ++ /* gdt[3]: data */ ++ 0xFFFF, /* 4Gb - (0x100000*0x1000 = 4Gb) */ ++ 0x0000, /* base address=0 */ ++ 0x9200, /* data read/write */ ++ 0x00CF, /* granularity=4096, 386 (+5th nibble of limit) */ ++}; ++#endif ++ ++void ++big_linux_boot (void) ++{ ++ struct linux_kernel_params *params; ++ struct grub_linux_kernel_header *lh; ++ grub_efi_uintn_t map_key; ++ grub_efi_uintn_t desc_size; ++ grub_efi_uint32_t desc_version; ++ int e820_nr_map; ++ int i; ++ ++ params = real_mode_mem; ++ ++ graphics_set_kernel_params (params); ++ ++ if (grub_efi_get_memory_map (&map_key, &desc_size, &desc_version) <= 0) ++ grub_fatal ("cannot get memory map"); ++ ++ /* Pass e820 memmap. */ ++ e820_map_from_efi_map ((struct e820_entry *) params->e820_map, &e820_nr_map, ++ mmap_buf, desc_size, mmap_size); ++ params->e820_nr_map = e820_nr_map; ++ ++ grub_dprintf(__func__,"got to ExitBootServices...\n"); ++ if (! grub_efi_exit_boot_services (map_key)) ++ grub_fatal ("cannot exit boot services"); ++ /* Note that no boot services are available from here. */ ++ ++ lh = ¶ms->hdr; ++ /* Pass EFI parameters. */ ++ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { ++ params->version_0206.efi_mem_desc_size = desc_size; ++ params->version_0206.efi_mem_desc_version = desc_version; ++ params->version_0206.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; ++ params->version_0206.efi_mmap_size = mmap_size; ++ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { ++ params->version_0204.efi_mem_desc_size = desc_size; ++ params->version_0204.efi_mem_desc_version = desc_version; ++ params->version_0204.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; ++ params->version_0204.efi_mmap_size = mmap_size; ++ } else /* dunno */ { ++ params->dunno.efi_mem_desc_size = desc_size; ++ params->dunno.efi_mem_desc_version = desc_version; ++ params->dunno.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; ++ params->dunno.efi_mmap_size = mmap_size; ++ params->dunno.efi_mmap_hi = PTR_HI(mmap_buf); ++ } ++ ++#ifdef __x86_64__ ++ /* copy our real mode transition code to 0x700 */ ++ memcpy ((void *) 0x700, switch_image, switch_size); ++ asm volatile ( "mov $0x700, %%rdi" : :); ++ ++ /* Pass parameters. */ ++ asm volatile ("mov %0, %%rsi" : : "m" (real_mode_mem)); ++ asm volatile ("movl %0, %%ebx" : : "m" (params->hdr.code32_start)); ++ ++ /* Enter Linux, switch from 64-bit long mode ++ * to 32-bit protect mode, this code end address ++ * must not exceed 0x1000, because linux kernel bootstrap ++ * code will flush this area ++ */ ++ asm volatile ( "jmp *%%rdi" : :); ++#else ++ ++ asm volatile ( "cli" : : ); ++ ++ grub_memset((void *)gdt_addr.base, gdt_addr.limit, 0); ++ grub_memcpy((void *)gdt_addr.base, init_gdt, sizeof (init_gdt)); ++ ++ if (0) { ++ /* copy our real mode transition code to 0x7C00 */ ++ memcpy ((void *) 0x7C00, switch_image, switch_size); ++ asm volatile ( "mov $0x7C00, %%ebx" : : ); ++ asm volatile ( "jmp *%%ebx" : : ); ++ } else { ++ ++ /* load descriptor table pointers */ ++ // asm volatile ( "lidt %0" : : "m" (idt_addr) ); ++ asm volatile ( "lgdt %0" : : "m" (gdt_addr) ); ++ ++ /* ++ * ebx := 0 (%%TBD - do not know why, yet) ++ * ecx := kernel entry point ++ * esi := address of boot sector and setup data ++ */ ++ ++ asm volatile ( "movl %0, %%esi" : : "m" (real_mode_mem) ); ++ asm volatile ( "movl %0, %%ecx" : : "m" (params->hdr.code32_start) ); ++ asm volatile ( "xorl %%ebx, %%ebx" : : ); ++ ++ /* ++ * Jump to kernel entry point. ++ */ ++ ++ asm volatile ( "jmp *%%ecx" : : ); ++ } ++#endif ++ ++ /* Never reach here. */ ++ for (;;); ++} ++ ++int ++grub_load_linux (char *kernel, char *arg) ++{ ++ struct grub_linux_kernel_header *lh; ++ struct linux_kernel_params *params; ++ static struct linux_kernel_params params_buf; ++ grub_uint8_t setup_sects; ++ grub_size_t real_size, prot_size; ++ grub_ssize_t len; ++ char *dest; ++ ++ if (kernel == NULL) ++ { ++ errnum = ERR_BAD_FILENAME; ++ grub_printf ("no kernel specified"); ++ goto fail1; ++ } ++ ++ if (! grub_open (kernel)) ++ goto fail1; ++ ++ if (grub_read ((char *) ¶ms_buf, sizeof (params_buf)) ++ != sizeof (params_buf)) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_close(); ++ grub_printf ("cannot read the linux header"); ++ goto fail; ++ } ++ ++ lh = ¶ms_buf.hdr; ++ ++ if (lh->boot_flag != grub_cpu_to_le16 (0xaa55)) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_close(); ++ grub_printf ("invalid magic number: %x", lh->boot_flag); ++ goto fail; ++ } ++ ++ /* EFI support is quite new, so reject old versions. */ ++ if (lh->header != grub_cpu_to_le32 (GRUB_LINUX_MAGIC_SIGNATURE) ++ || grub_le_to_cpu16 (lh->version) < 0x0203) ++ { ++ grub_close(); ++ errnum = ERR_EXEC_FORMAT; ++ grub_printf ("too old version"); ++ goto fail; ++ } ++ ++ /* I'm not sure how to support zImage on EFI. */ ++ if (! (lh->loadflags & GRUB_LINUX_FLAG_BIG_KERNEL)) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_printf ("zImage is not supported"); ++ goto fail; ++ } ++ ++ setup_sects = lh->setup_sects; ++ ++ real_size = 0x1000 + grub_strlen(arg); ++ prot_size = grub_file_size () - (setup_sects << SECTOR_BITS) - SECTOR_SIZE; ++ ++ if (! allocate_pages (real_size, prot_size)) ++ goto fail; ++ ++ /* XXX Linux assumes that only elilo can boot Linux on EFI!!! */ ++ lh->type_of_loader = 0x50; ++ ++ lh->cmd_line_ptr = (grub_uint32_t) (unsigned long) real_mode_mem + 0x1000; ++ ++ lh->heap_end_ptr = LINUX_HEAP_END_OFFSET; ++ lh->loadflags |= LINUX_FLAG_CAN_USE_HEAP; ++ ++ lh->ramdisk_image = 0; ++ lh->ramdisk_size = 0; ++ ++ grub_memset(real_mode_mem, 0, real_size); ++ ++ params = (struct linux_kernel_params *) real_mode_mem; ++ ++ grub_memmove(¶ms->hdr, lh, 0x202 + lh->jump_off - 0x1f1); ++ ++ params->cl_magic = GRUB_LINUX_CL_MAGIC; ++ params->cl_offset = 0x1000; ++ ++ /* These are not needed to be precise, because Linux uses these values ++ only to raise an error when the decompression code cannot find good ++ space. */ ++ params->ext_mem = ((32 * 0x100000) >> 10); ++ params->alt_mem = ((32 * 0x100000) >> 10); ++ ++ /* No APM on EFI. */ ++ params->apm_version = 0; ++ params->apm_code_segment = 0; ++ params->apm_entry = 0; ++ params->apm_16bit_code_segment = 0; ++ params->apm_data_segment = 0; ++ params->apm_flags = 0; ++ params->apm_code_len = 0; ++ params->apm_data_len = 0; ++ ++ /* XXX is there any way to use SpeedStep on EFI? */ ++ params->ist_signature = 0; ++ params->ist_command = 0; ++ params->ist_event = 0; ++ params->ist_perf_level = 0; ++ ++ /* Let the kernel probe the information. */ ++ grub_memset (params->hd0_drive_info, 0, sizeof (params->hd0_drive_info)); ++ grub_memset (params->hd1_drive_info, 0, sizeof (params->hd1_drive_info)); ++ ++ /* No MCA on EFI. */ ++ params->rom_config_len = 0; ++ ++ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { ++ grub_memcpy(¶ms->version_0204.efi_signature, "EL32", 4); ++ params->version_0206.efi_system_table = \ ++ (grub_uint32_t) (unsigned long) grub_efi_system_table; ++ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { ++ grub_memcpy(¶ms->version_0204.efi_signature, "EFIL", 4); ++ params->version_0204.efi_system_table = \ ++ (grub_uint32_t) (unsigned long) grub_efi_system_table; ++ } else /* dunno */ { ++ params->dunno.efi_signature = GRUB_LINUX_EFI_SIGNATURE_X64; ++ params->dunno.efi_system_table = \ ++ (grub_uint32_t) (unsigned long) grub_efi_system_table; ++ params->dunno.efi_system_table_hi = PTR_HI(grub_efi_system_table); ++ } ++ /* The other EFI parameters are filled when booting. */ ++ ++ /* No EDD */ ++ params->eddbuf_entries = 0; ++ params->edd_mbr_sig_buf_entries = 0; ++ ++ /* XXX there is no way to know if the kernel really supports EFI. */ ++ grub_printf ("[Linux-EFI, setup=0x%x, size=0x%x]\n", (unsigned int)real_size, ++ (unsigned int)prot_size); ++ ++ /* Check the mem= option to limit memory used for initrd. */ ++ { ++ char *mem; ++ ++ mem = grub_strstr (arg, "mem="); ++ if (mem) ++ { ++ char *value = mem + 4; ++ ++ safe_parse_maxulong (&value, &linux_mem_size); ++ switch (errnum) ++ { ++ case ERR_NUMBER_OVERFLOW: ++ /* If an overflow occurs, use the maximum address for ++ initrd instead. This is good, because MAXINT is ++ greater than LINUX_INITRD_MAX_ADDRESS. */ ++ linux_mem_size = LINUX_INITRD_MAX_ADDRESS; ++ errnum = ERR_NONE; ++ break; ++ ++ case ERR_NONE: ++ { ++ int shift = 0; ++ ++ switch (grub_tolower (*value)) ++ { ++ case 'g': ++ shift += 10; ++ case 'm': ++ shift += 10; ++ case 'k': ++ shift += 10; ++ default: ++ break; ++ } ++ ++ /* Check an overflow. */ ++ if (linux_mem_size > (~0UL >> shift)) ++ linux_mem_size = 0; ++ else ++ linux_mem_size <<= shift; ++ } ++ break; ++ ++ default: ++ linux_mem_size = 0; ++ errnum = ERR_NONE; ++ break; ++ } ++ } ++ else ++ linux_mem_size = 0; ++ } ++ ++ dest = grub_stpcpy ((char *) real_mode_mem + 0x1000, skip_to(0, arg)); ++ ++ grub_seek ((setup_sects << SECTOR_BITS) + SECTOR_SIZE); ++ len = prot_size; ++ if (grub_read ((char *) GRUB_LINUX_BZIMAGE_ADDR, len) != len) ++ grub_printf ("Couldn't read file"); ++ ++ if (errnum == ERR_NONE) ++ { ++ loaded = 1; ++ } ++ ++ fail: ++ ++ grub_close (); ++ ++ fail1: ++ ++ if (errnum != ERR_NONE) ++ { ++ loaded = 0; ++ } ++ return errnum ? KERNEL_TYPE_NONE : KERNEL_TYPE_BIG_LINUX; ++} ++ ++int ++grub_load_initrd (char *initrd) ++{ ++ grub_ssize_t size; ++ grub_addr_t addr_min, addr_max; ++ grub_addr_t addr; ++ grub_efi_uintn_t map_key; ++ grub_efi_memory_descriptor_t *mmap_end; ++ grub_efi_memory_descriptor_t *desc; ++ grub_efi_memory_descriptor_t tdesc; ++ grub_efi_uintn_t desc_size; ++ grub_efi_uint32_t desc_version; ++ struct linux_kernel_params *params; ++ ++ if (initrd == NULL) ++ { ++ errnum = ERR_BAD_FILENAME; ++ grub_printf ("No module specified"); ++ goto fail1; ++ } ++ ++ if (! loaded) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("You need to load the kernel first."); ++ goto fail1; ++ } ++ ++ if (! grub_open (initrd)) ++ goto fail1; ++ ++ size = grub_file_size (); ++ initrd_pages = (page_align (size) >> 12); ++ ++ params = (struct linux_kernel_params *) real_mode_mem; ++ grub_dprintf(__func__, "initrd_pages: %lu\n", initrd_pages); ++ ++ addr_max = grub_cpu_to_le32 (params->hdr.initrd_addr_max); ++ if (linux_mem_size != 0 && linux_mem_size < addr_max) ++ addr_max = linux_mem_size; ++ addr_max &= ~((1 << 12)-1); ++ ++ /* Linux 2.3.xx has a bug in the memory range check, so avoid ++ the last page. ++ Linux 2.2.xx has a bug in the memory range check, which is ++ worse than that of Linux 2.3.xx, so avoid the last 64kb. */ ++ //addr_max -= 0x10000; ++ ++ /* Usually, the compression ratio is about 50%. */ ++ addr_min = (grub_addr_t) prot_mode_mem + ((prot_mode_pages * 3) << 12); ++ grub_dprintf(__func__, "prot_mode_mem=%p prot_mode_pages=%lu\n", prot_mode_mem, prot_mode_pages); ++ ++ /* Find the highest address to put the initrd. */ ++ if (grub_efi_get_memory_map (&map_key, &desc_size, &desc_version) <= 0) ++ grub_fatal ("cannot get memory map"); ++ ++ mmap_end = NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); ++ addr = 0; ++ for (desc = mmap_buf; ++ desc < mmap_end; ++ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) ++ { ++ if (desc->type != GRUB_EFI_CONVENTIONAL_MEMORY) ++ continue; ++ memcpy(&tdesc, desc, sizeof (tdesc)); ++ if (tdesc.physical_start < addr_min ++ && tdesc.num_pages > ((addr_min - tdesc.physical_start) >> 12)) ++ { ++ tdesc.num_pages -= ((addr_min - tdesc.physical_start) >> 12); ++ tdesc.physical_start = addr_min; ++ } ++ ++ grub_dprintf(__func__, "desc = {type=%d,ps=0x%llx,vs=0x%llx,sz=%llu,attr=%llu}\n", desc->type, (unsigned long long)desc->physical_start, (unsigned long long)desc->virtual_start, (unsigned long long)desc->num_pages, (unsigned long long)desc->attribute); ++ if (tdesc.physical_start >= addr_min ++ && tdesc.physical_start + page_align (size) <= addr_max ++ && tdesc.num_pages >= initrd_pages) ++ { ++ grub_efi_physical_address_t physical_end; ++ ++ physical_end = tdesc.physical_start + (tdesc.num_pages << 12); ++ if (physical_end > addr_max) ++ physical_end = addr_max; ++ ++ if (physical_end <= 0x7fffffffUL && physical_end > addr) ++ addr = physical_end - page_align (size); ++ } ++ } ++ ++ if (addr == 0) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("no free pages available"); ++ goto fail; ++ } ++ ++ initrd_mem = grub_efi_allocate_pages (addr, initrd_pages); ++ if (! initrd_mem) ++ grub_fatal ("cannot allocate pages: %x@%x", (unsigned)initrd_pages, ++ (unsigned)addr); ++ ++ if (grub_read (initrd_mem, size) != size) ++ { ++ grub_printf ("Couldn't read file"); ++ goto fail; ++ } ++ ++ grub_printf (" [Initrd, addr=0x%x, size=0x%x]\n", (unsigned int) addr, ++ (unsigned int) size); ++ ++ params->hdr.ramdisk_image = addr; ++ params->hdr.ramdisk_size = size; ++ ++ fail: ++ grub_close (); ++ fail1: ++ return !errnum; ++} +diff --git a/efi/ia32/loader/switch.S b/efi/ia32/loader/switch.S +new file mode 100644 +index 0000000..14142e9 +--- /dev/null ++++ b/efi/ia32/loader/switch.S +@@ -0,0 +1,118 @@ ++# ++# Switch from protected mode to real mode and jump to setup.S ++# image located at %cx:0. ++# ++# This module must be placed into physical memory at 0:7C00h. ++# EFI has some real mode thunking code at 2000:0h. ++# ++# Processor and non-maskable interrupts should be disabled ++# before control is passed to this module. ++# ++ ++.global _start ++ ++.code32 ++.text ++_start: ++ # ++ # Load identity mapped GDT & real mode IDT. ++ # Add 7C00h to the addresses since this is linked to start ++ # at 0h and it is being placed at 7C00h. ++ # ++ ++ lgdt %cs:gdt_48 + 0x7C00 ++ lidt %cs:idt_48 + 0x7C00 ++ ++ # ++ # Turn off PG bit in CR0 and set CR3 to zero. ++ # ++ ++ movl %cr0, %eax ++ andl $0x7FFFFFFF, %eax ++ movl %eax, %cr0 ++ ++ xorl %eax, %eax ++ movl %eax, %cr3 ++ ++ # ++ # Reload CS. ++ # Now we add 7B00h because we need to force the segment ++ # address and selector to be the same. ++ # ++ ++ .byte 0xEA ++ .long pm_reload + 0x7B00 ++ .word 0x10 ++ ++pm_reload: ++ ++.code16 ++ ++ # ++ # Reload DS, ES, FS, GS & SS. ++ # ++ ++ movw $0x18, %ax ++ movw %ax, %ds ++ movw %ax, %es ++ movw %ax, %fs ++ movw %ax, %gs ++ movw %ax, %ss ++ ++ # ++ # Switch to real mode. Clear PE bit in CR0. ++ # ++ ++ movl %cr0, %eax ++ andl $0xFFFFFFFE, %eax ++ movl %eax, %cr0 ++ ++ # ++ # Reload CS. ++ # ++ ++ .byte 0xEA ++ .word rm_reload + 0x7C00 ++ .word 0 ++ ++rm_reload: ++ ++ # ++ # Reload SS & SP. ++ # ++ ++ xorw %ax, %ax ++ movw %ax, %ss ++ movw $0x7BFE, %sp ++ ++ # ++ # Start running setup.S ++ # ++ ++ .byte 0xEA ++ .word 0 ++ .word 0x9020 ++ ++ # ++ # GDT & IDT stuff for switching into real mode. ++ # ++ ++gdt: .word 0, 0, 0, 0 # unused (00h) ++ .word 0, 0, 0, 0 # dummy (08h) ++ .word 0xFFFF, 0x100 # code (10h) ++ .word 0x9A00, 0 ++ .word 0xFFFF, 0x180 # data (18h) ++ .word 0x9200, 0 ++ ++gdt_48: .word 0x08 * 0x400 ++ .long gdt + 0x7C00 ++ ++idt_48: .word 0x400 ++ .long 0 ++ ++ # ++ # Be careful not to exceed 1F0h or the the bootsect.S ++ # parameters will be lost! ++ # ++ ++.end +diff --git a/efi/ia32/loader/switch.h b/efi/ia32/loader/switch.h +new file mode 100644 +index 0000000..4e18dde +--- /dev/null ++++ b/efi/ia32/loader/switch.h +@@ -0,0 +1,19 @@ ++unsigned char switch_image[] = { ++0x2e, 0x0f, 0x01, 0x15, 0x6f, 0x7c, 0x00, 0x00, ++0x2e, 0x0f, 0x01, 0x1d, 0x75, 0x7c, 0x00, 0x00, ++0x0f, 0x20, 0xc0, 0x25, 0xff, 0xff, 0xff, 0x7f, ++0x0f, 0x22, 0xc0, 0x31, 0xc0, 0x0f, 0x22, 0xd8, ++0xea, 0x27, 0x7b, 0x00, 0x00, 0x10, 0x00, 0xb8, ++0x18, 0x00, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xe0, ++0x8e, 0xe8, 0x8e, 0xd0, 0x0f, 0x20, 0xc0, 0x66, ++0x83, 0xe0, 0xfe, 0x0f, 0x22, 0xc0, 0xea, 0x43, ++0x7c, 0x00, 0x00, 0x31, 0xc0, 0x8e, 0xd0, 0xbc, ++0xfe, 0x7b, 0xea, 0x00, 0x00, 0x20, 0x90, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, ++0xff, 0x00, 0x01, 0x00, 0x9a, 0x00, 0x00, 0xff, ++0xff, 0x80, 0x01, 0x00, 0x92, 0x00, 0x00, 0x00, ++0x20, 0x4f, 0x7c, 0x00, 0x00, 0x00, 0x04, 0x00, ++0x00, 0x00, 0x00, ++}; ++int switch_size = sizeof switch_image; +diff --git a/efi/ia32/reloc.c b/efi/ia32/reloc.c +new file mode 100644 +index 0000000..72db0f6 +--- /dev/null ++++ b/efi/ia32/reloc.c +@@ -0,0 +1,79 @@ ++/* reloc_x86_64.c - position independent x86_64 ELF shared object relocator ++ Copyright (C) 1999 Hewlett-Packard Co. ++ Contributed by David Mosberger . ++ Copyright (C) 2005 Intel Co. ++ Contributed by Fenghua Yu . ++ ++ This file is part of GNU-EFI, the GNU EFI development environment. ++ ++ GNU EFI is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ GNU EFI is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GNU EFI; see the file COPYING. If not, write to the Free ++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++ 02111-1307, USA. */ ++ ++#include ++#include ++#include ++ ++grub_efi_status_t _relocate (long ldbase, ElfW(Dyn) *dyn, ++ grub_efi_handle_t image_handle, ++ grub_efi_system_table_t *sys_tab) ++{ ++ //extern EFI_STATUS efi_main (EFI_HANDLE, EFI_SYSTEM_TABLE *); ++ long relsz = 0, relent = 0; ++ ElfW(Rel) *rel = 0; ++ unsigned long *addr; ++ int i; ++ ++ for (i = 0; dyn[i].d_tag != DT_NULL; ++i) { ++ switch (dyn[i].d_tag) { ++ case DT_REL: ++ rel = (ElfW(Rel)*) ((long) dyn[i].d_un.d_ptr + ldbase); ++ break; ++ ++ case DT_RELSZ: ++ relsz = dyn[i].d_un.d_val; ++ break; ++ ++ case DT_RELENT: ++ relent = dyn[i].d_un.d_val; ++ break; ++ ++ default: ++ continue; ++ } ++ } ++ ++ if (!rel || relent == 0){ ++ return GRUB_EFI_LOAD_ERROR; ++ } ++ while (relsz > 0) { ++ /* apply the relocs */ ++ switch (ELF64_R_TYPE (rel->r_info)) { ++ case R_386_NONE: ++ break; ++ ++ case R_386_RELATIVE: ++ addr = (unsigned long *) (ldbase + rel->r_offset); ++ *addr += ldbase; ++ break; ++ ++ default: ++ break; ++ } ++ rel = (ElfW(Rel)*) ((char *) rel + relent); ++ relsz -= relent; ++ } ++ return GRUB_EFI_SUCCESS; ++} ++ +diff --git a/efi/ia32/setjmp.S b/efi/ia32/setjmp.S +new file mode 100644 +index 0000000..38c33af +--- /dev/null ++++ b/efi/ia32/setjmp.S +@@ -0,0 +1,86 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2000 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++/* This is stolen from libc/x86/setjmp.S in the OSKit */ ++/* ++ * Mach Operating System ++ * Copyright (c) 1991,1990,1989 Carnegie Mellon University ++ * All Rights Reserved. ++ * ++ * Permission to use, copy, modify and distribute this software and its ++ * documentation is hereby granted, provided that both the copyright ++ * notice and this permission notice appear in all copies of the ++ * software, derivative works or modified versions, and any portions ++ * thereof, and that both notices appear in supporting documentation. ++ * ++ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" ++ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ++ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ++ * ++ * Carnegie Mellon requests users of this software to return to ++ * ++ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU ++ * School of Computer Science ++ * Carnegie Mellon University ++ * Pittsburgh PA 15213-3890 ++ * ++ * any improvements or extensions that they make and grant Carnegie Mellon ++ * the rights to redistribute these changes. ++ */ ++/* ++ * C library -- _setjmp, _longjmp ++ * ++ * _longjmp(a,v) ++ * will generate a "return(v)" from ++ * the last call to ++ * _setjmp(a) ++ * by restoring registers from the stack, ++ * The previous signal state is NOT restored. ++ * ++ */ ++#include ++ ++ .file "setjmp.S" ++ ++ .text ++ ++FUNCTION(grub_setjmp) ++ movl 4(%esp), %ecx /* fetch buffer */ ++ movl %ebx, 0(%ecx) ++ movl %esi, 4(%ecx) ++ movl %edi, 8(%ecx) ++ movl %ebp, 12(%ecx) /* save frame pointer of caller */ ++ popl %edx ++ movl %esp, 16(%ecx) /* save stack pointer of caller */ ++ movl %edx, 20(%ecx) /* save pc of caller */ ++ xorl %eax, %eax ++ jmp *%edx ++ ++FUNCTION(grub_longjmp) ++ movl 8(%esp), %eax /* return(v) */ ++ movl 4(%esp), %ecx /* fetch buffer */ ++ movl 0(%ecx), %ebx ++ movl 4(%ecx), %esi ++ movl 8(%ecx), %edi ++ movl 12(%ecx), %ebp ++ movl 16(%ecx), %esp ++ orl %eax, %eax ++ jnz 0f ++ incl %eax ++0: jmp *20(%ecx) /* done, return.... */ +diff --git a/efi/pxe.c b/efi/pxe.c +new file mode 100644 +index 0000000..d3084a4 +--- /dev/null ++++ b/efi/pxe.c +@@ -0,0 +1,456 @@ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "pxe.h" ++#include "dhcp.h" ++ ++/* Search path is: ++ * ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/1902dcf5-7190-d811-bbd6-6ef21c690030 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/01-00-30-6e-f2-1c-69 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A103437 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A10343 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A1034 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A103 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A10 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A1 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0A ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/0 ++ * X86PC/UNDI/pxelinux/pxelinux.cfg/default ++ * ++ * The paths we get from uefi are like: ++ * .BootBootFile: X86PC/UNDI/pxelinux/bootx64.efi ++ * .BootCiAddr: 0.0.0.0 ++ * .BootYiAddr: 10.16.52.158 ++ * .BootSiAddr: 10.16.52.16 ++ */ ++ ++typedef struct { ++ char *options; ++ EFI_DHCP4_PACKET_OPTION *current_option; ++} dhcp_option_parser; ++ ++static void dhcp_option_parser_reset(dhcp_option_parser *parser, ++ EFI_PXE_BASE_CODE_PACKET *packet) ++{ ++ char *addr; ++ ++ addr = (char *)packet; ++ addr += offsetof(EFI_PXE_BASE_CODE_DHCPV4_PACKET, DhcpOptions); ++ parser->current_option = (void *)addr; ++ parser->options = (void *)addr; ++} ++ ++static int dhcp_option_parser_next(dhcp_option_parser *parser, ++ EFI_DHCP4_PACKET_OPTION **option) ++{ ++ char *current_option; ++ if (parser->current_option->OpCode == 255) { ++ *option = NULL; ++ return 0; ++ } ++ current_option = (char *)parser->current_option; ++ current_option += 2 + parser->current_option->Length; ++ parser->current_option = (EFI_DHCP4_PACKET_OPTION *)current_option; ++ ++ *option = parser->current_option; ++ return 1; ++} ++ ++#define DHCPMAGIK "\x63\x82\x53\x63" ++ ++static int get_dhcp_client_id(EFI_PXE_BASE_CODE_PACKET *packet, uuid_t *uuid) ++{ ++ dhcp_option_parser parser; ++ EFI_DHCP4_PACKET_OPTION *option; ++ ++ dhcp_option_parser_reset(&parser, packet); ++ ++ if (memcmp((char *)&packet->Dhcpv4.DhcpMagik, DHCPMAGIK, 4)) ++ return 0; ++ ++ while (dhcp_option_parser_next(&parser, &option)) { ++ int i; ++ char data[option->Length]; ++ ++ if (option->OpCode != 97) ++ continue; ++ ++ if (option->Length != 17) ++ continue; ++ ++ memcpy(data, option->Data, option->Length); ++ if (data[0] != 0) ++ continue; ++ ++ /* 97[17]: 009cfe245ed0c8bd45a79f54ea5fbd3d97 ++ * ^^^^^^^^^^^^ uint8_t[] ++ * ^^ uint8_t ++ * ^^ uint8_t ++ * ^^^^ BE uint16_t ++ * ^^^^ BE uint16_t ++ * ^^^^^^^^ BE uint32_t ++ * ^^ "type". 0 means UUID. ++ */ ++ memcpy(uuid, data+1, 16); ++ uuid->time_low = htonl(uuid->time_low); ++ uuid->time_mid = htons(uuid->time_mid); ++ uuid->time_hi_ver = htons(uuid->time_hi_ver); ++ ++ return 1; ++ } ++ return 0; ++} ++ ++#if 0 ++static void grub_dump_dhcp_options(EFI_PXE_BASE_CODE_PACKET *packet) ++{ ++ dhcp_option_parser parser; ++ EFI_DHCP4_PACKET_OPTION *option; ++ char hex[] = "0123456789abcdef"; ++ int i; ++ int j = 0; ++ ++ dhcp_option_parser_reset(&parser, packet); ++ ++ if (memcmp((char *)&packet->Dhcpv4.DhcpMagik, DHCPMAGIK, 4)) ++ return; ++ ++ /* 54[4]: a0014301 ++ * 51[4]: 00004506 ++ * 1[4]: ffffff00 ++ * 3[4]: a00143ef ++ * 6[8]: a001ff20a001ff30 ++ * 15[48]: 96e6374716c6c6e226f637e2275646861647e236f6d60226f637e2275646861647e236f6d602275646861647e236f6d6 ++ * 28[4]: a00143ff ++ * 40[10]: 275646861647e236f6d6 ++ * 41[8]: a001ff20a001ff30 ++ * 58[4]: 0000a203 ++ * 59[4]: 0000944d ++ * this is the one we want: ++ * 97[17]: 009cfe245ed0c8bd45a79f54ea5fbd3d97 ++ * ^^^^^^^^^^^^ in order ++ * ^^ ++ * ^^ ++ * ^^^^ out of order ++ * ^^^^ out of order ++ * ^^^^^^^^ out of order ++ * ^^ "type". 0 means UUID. ++ * 255[0]: ++ */ ++ while (dhcp_option_parser_next(&parser, &option)) { ++ char data[option->Length + 1]; ++ ++ memcpy(data, option->Data, option->Length); ++ data[option->Length] = '\0'; ++ ++ grub_printf("%d[%d]: ", option->OpCode, option->Length); ++ for (i = 0; i < option->Length; i++) { ++ grub_printf("%c%c", hex[data[i] & 0xf], ++ hex[(data[i] & 0xf0) >> 4]); ++ } ++ printf("\n"); ++ } ++ ++} ++ ++void grub_print_dhcp_info(grub_efi_loaded_image_t *loaded_image) ++{ ++ EFI_PXE_BASE_CODE *pxe = NULL; ++ EFI_PXE_BASE_CODE_PACKET *packet; ++ ++ grub_printf("got to %s\n", __func__); ++ ++ pxe = grub_efi_locate_protocol(&PxeBaseCodeProtocol, NULL); ++ if (pxe == NULL) ++ return; ++ ++ printf("DhcpDiscover options:\n"); ++ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->DhcpDiscover.Dhcpv4; ++ grub_dump_dhcp_options(packet); ++ ++ printf("DhcpAck options:\n"); ++ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->DhcpAck.Dhcpv4; ++ grub_dump_dhcp_options(packet); ++ ++ printf("PxeDiscover options:\n"); ++ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->PxeDiscover.Dhcpv4; ++ grub_dump_dhcp_options(packet); ++ ++ printf("PxeReply options:\n"); ++ packet = (EFI_PXE_BASE_CODE_PACKET *)&pxe->Mode->PxeReply.Dhcpv4; ++ grub_dump_dhcp_options(packet); ++ ++#if 0 ++ printf("pxe->Mode->DhcpAck.Dhcpv4: \n"); ++ printf("\t.BootSrvName: %s\n", pxe->Mode->DhcpAck.Dhcpv4.BootpSrvName); ++ printf("\t.BootBootFile: %s\n", pxe->Mode->DhcpAck.Dhcpv4.BootpBootFile); ++ printf("\t.BootCiAddr: %d.%d.%d.%d\n", ++ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[0], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[1], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[2], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpCiAddr[3]); ++ printf("\t.BootYiAddr: %d.%d.%d.%d\n", ++ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[0], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[1], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[2], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpYiAddr[3]); ++ printf("\t.BootSiAddr: %d.%d.%d.%d\n", ++ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[0], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[1], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[2], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr[3]); ++ printf("\t.BootGiAddr: %d.%d.%d.%d\n", ++ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[0], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[1], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[2], ++ pxe->Mode->DhcpAck.Dhcpv4.BootpGiAddr[3]); ++ } ++ printf("\n"); ++#endif ++ ++ ++} ++#endif ++ ++static void icmp_print_error(EFI_PXE_BASE_CODE *pxe) ++{ ++ EFI_PXE_BASE_CODE_ICMP_ERROR *err = &pxe->Mode->IcmpError; ++ int i; ++ //char hex[] = "0123456789abcdef"; ++ ++ printf("icmp error\n"); ++ printf("type: %d code: %d\n", err->Type, err->Code); ++ printf("data: \n"); ++ for(i = 0; i < 464; i+=16) { ++ int x; ++ for (x = i; x < i+4; x++) ++ printf("%02x ", err->Data[x]); ++ printf(" "); ++ for (x = i+4; x < i+8; x++) ++ printf("%02x ", err->Data[x]); ++ printf(" "); ++ printf(" "); ++ for (x = i+8; x < i+12; x++) ++ printf("%02x ", err->Data[x]); ++ printf(" "); ++ for (x = i+12; x < i+16; x++) ++ printf("%02x ", err->Data[x]); ++ printf("\n"); ++ } ++} ++ ++static int grub_efi_pxe_check_for_file( ++ EFI_PXE_BASE_CODE *pxe, ++ EFI_IP_ADDRESS *ServerIp, ++ char *BootpBootFile, ++ char *configname, ++ char **returnpath) ++{ ++ size_t bplen = strlen(BootpBootFile); ++ char *Filename = grub_malloc(24 + bplen + 40); ++ char *lastslash = Filename + bplen; ++ grub_efi_uintn_t size; ++ int i; ++ EFI_STATUS rc; ++ char Buffer[8192]; ++ ++ memcpy(Filename, BootpBootFile, bplen); ++ ++ for (i = 0; i < bplen; i++) { ++ if (Filename[i] == '/') ++ lastslash = Filename + i; ++ } ++ if (*lastslash) { ++ *lastslash++ = '/'; ++ *lastslash = '\0'; ++ } ++ ++ sprintf(lastslash, configname); ++ ++ printf("tftp://%d.%d.%d.%d/%s\n", ++ ServerIp->v4.Addr[0], ServerIp->v4.Addr[1], ++ ServerIp->v4.Addr[2], ServerIp->v4.Addr[3], ++ Filename); ++ ++ rc = tftp_get_file_size(Filename, &size); ++ if (rc == GRUB_EFI_ICMP_ERROR) ++ icmp_print_error(pxe); ++ ++ if (rc == GRUB_EFI_SUCCESS) { ++ *returnpath = Filename; ++ return size; ++ } ++ grub_free(Filename); ++ return 0; ++} ++ ++static void get_pxe_server(EFI_PXE_BASE_CODE *pxe, EFI_IP_ADDRESS **Address) ++{ ++ EFI_IP_ADDRESS *tmp = grub_malloc(sizeof *tmp); ++ if (tmp) { ++ memset(tmp, '\0', sizeof (*tmp)); ++ memcpy(&tmp->Addr[0], pxe->Mode->DhcpAck.Dhcpv4.BootpSiAddr, 4); ++ *Address = tmp; ++ } ++} ++ ++static char *get_pxe_file_dir(EFI_PXE_BASE_CODE *pxe) ++{ ++ char *FileDir = NULL; ++ char *DirEnd = NULL; ++ char *BootpBootFile; ++ size_t bplen; ++ ++ BootpBootFile = pxe->Mode->DhcpAck.Dhcpv4.BootpBootFile; ++ bplen = strlen(BootpBootFile); ++ FileDir = grub_malloc(bplen + 1); ++ memcpy(FileDir, BootpBootFile, bplen); ++ FileDir[bplen] = '\0'; ++ ++ DirEnd = grub_strrchr(FileDir, '/'); ++ if (!DirEnd) ++ DirEnd = FileDir; ++ ++ *DirEnd = '\0'; ++ ++ return FileDir; ++} ++ ++static void set_pxe_info(grub_efi_loaded_image_t *LoadedImage, ++ EFI_PXE_BASE_CODE *pxe) ++{ ++ tftp_info.LoadedImage = LoadedImage; ++ tftp_info.Pxe = pxe; ++ get_pxe_server(pxe, &tftp_info.ServerIp); ++ tftp_info.BasePath = get_pxe_file_dir(pxe); ++} ++ ++char *grub_efi_pxe_get_config_path(grub_efi_loaded_image_t *LoadedImage) ++{ ++ EFI_PXE_BASE_CODE *pxe = NULL; ++ EFI_IP_ADDRESS ServerIp; ++ char *FileName = NULL; ++ EFI_PXE_BASE_CODE_DHCPV4_PACKET *packet; ++ uuid_t uuid; ++ grub_efi_uintn_t FileSize = 0; ++ grub_efi_status_t rc = GRUB_EFI_SUCCESS; ++ char *ConfigPath = NULL; ++ char hex[] = "0123456789ABCDEF"; ++ char hexip[9]; ++ int hexiplen; ++ ++ grub_efi_handle_t *handle, *handles; ++ grub_efi_uintn_t num_handles; ++ ++ handles = grub_efi_locate_handle(GRUB_EFI_BY_PROTOCOL, ++ &PxeBaseCodeProtocol, ++ NULL, &num_handles); ++ for (handle = handles; num_handles--; handle++) { ++ pxe = grub_efi_open_protocol(*handle, &PxeBaseCodeProtocol, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ if (!pxe || !pxe->Mode) ++ continue; ++ if (pxe->Mode->Started && pxe->Mode->DhcpAckReceived) ++ break; ++ } ++ grub_free(handles); ++ ++ if (!pxe) ++ return NULL; ++ ++ set_pxe_info(LoadedImage, pxe); ++ ++ FileName = grub_malloc(strlen("1902dcf5-7190-d811-bbd6-6ef21c690030")); ++ ++ packet = &pxe->Mode->DhcpDiscover.Dhcpv4; ++ ++ if (get_dhcp_client_id((EFI_PXE_BASE_CODE_PACKET *)packet, &uuid)) { ++ ++ uuid.time_mid = 0x0011; ++ sprintf(FileName, ++ "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", ++ uuid.time_low, uuid.time_mid, uuid.time_hi_ver, ++ uuid.clock_seq_hi, uuid.clock_seq_low, ++ uuid.node[0], uuid.node[1], uuid.node[2], ++ uuid.node[3], uuid.node[4], uuid.node[5]); ++ ++ rc = tftp_get_file_size(FileName, &FileSize); ++ if (rc == GRUB_EFI_SUCCESS) { ++ char *ReturnFile = grub_malloc(strlen("(nd)/") + ++ strlen(FileName) + 1); ++ sprintf(ReturnFile, "(nd)/%s", FileName); ++ grub_free(FileName); ++ //sprintf(tftp_info.LastPath, FileName); ++ return ReturnFile; ++ } ++ } ++ ++ packet = &pxe->Mode->DhcpAck.Dhcpv4; ++ ++ if (!memcmp(packet->BootpHwAddr + 6, "\x00\x00\x00\x00\x00" ++ "\x00\x00\x00\x00\x00", 10) && ++ memcmp(packet->BootpHwAddr, "\x00\x00\x00\x00\x00\x00", ++ 6)) { ++ char mac[21]; ++ sprintf(mac, "01-%c%c-%c%c-%c%c-%c%c-%c%c-%c%c", ++ hex[(packet->BootpHwAddr[0] & 0xf0) >> 4], ++ hex[packet->BootpHwAddr[0] & 0xf], ++ hex[(packet->BootpHwAddr[1] & 0xf0) >> 4], ++ hex[packet->BootpHwAddr[1] & 0xf], ++ hex[(packet->BootpHwAddr[2] & 0xf0) >> 4], ++ hex[packet->BootpHwAddr[2] & 0xf], ++ hex[(packet->BootpHwAddr[3] & 0xf0) >> 4], ++ hex[packet->BootpHwAddr[3] & 0xf], ++ hex[(packet->BootpHwAddr[4] & 0xf0) >> 4], ++ hex[packet->BootpHwAddr[4] & 0xf], ++ hex[(packet->BootpHwAddr[5] & 0xf0) >> 4], ++ hex[packet->BootpHwAddr[5] & 0xf]); ++ ++ rc = tftp_get_file_size(mac, &FileSize); ++ if (rc == GRUB_EFI_SUCCESS) { ++ char *ReturnFile = grub_malloc(strlen("(nd)/") + ++ strlen(mac) + 1); ++ sprintf(ReturnFile, "(nd)/%s", mac); ++ return ReturnFile; ++ } ++ ++ } ++ ++ sprintf(hexip, "%c%c%c%c%c%c%c%c", ++ hex[(packet->BootpYiAddr[0] & 0xf0) >> 4], ++ hex[packet->BootpYiAddr[0] & 0xf], ++ hex[(packet->BootpYiAddr[1] & 0xf0) >> 4], ++ hex[packet->BootpYiAddr[1] & 0xf], ++ hex[(packet->BootpYiAddr[2] & 0xf0) >> 4], ++ hex[packet->BootpYiAddr[2] & 0xf], ++ hex[(packet->BootpYiAddr[3] & 0xf0) >> 4], ++ hex[packet->BootpYiAddr[3] & 0xf]); ++ ++ for (hexiplen = strlen(hexip); hexiplen > 0; hexiplen--) ++ { ++ hexip[hexiplen] = '\0'; ++ rc = tftp_get_file_size(hexip, &FileSize); ++ if (rc == GRUB_EFI_SUCCESS) { ++ char *ReturnFile = grub_malloc(strlen("(nd)/") + ++ strlen(hexip) + 1); ++ sprintf(ReturnFile, "(nd)/%s", hexip); ++ return ReturnFile; ++ } ++ } ++ ++ rc = tftp_get_file_size("efidefault", &FileSize); ++ if (rc == GRUB_EFI_SUCCESS) { ++ char *ReturnFile = grub_malloc(strlen("(nd)/efidefault")+1); ++ sprintf(ReturnFile, "(nd)/efidefault"); ++ return ReturnFile; ++ } ++ ++ return NULL; ++} +diff --git a/efi/pxe.h b/efi/pxe.h +new file mode 100644 +index 0000000..0a68007 +--- /dev/null ++++ b/efi/pxe.h +@@ -0,0 +1,237 @@ ++#ifndef PXE_H ++#define PXE_H 1 ++ ++#include "byteswap.h" ++ ++extern char *grub_efi_pxe_get_config_path(grub_efi_loaded_image_t *LoadedImage); ++extern void grub_print_dhcp_info(grub_efi_loaded_image_t *loaded_image); ++extern char *grub_efi_pxe_path_to_path_name(void); ++ ++ ++#define EFI_PXE_BASE_CODE_PROTOCOL \ ++ { 0x03c4e603, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } ++static grub_efi_guid_t PxeBaseCodeProtocol = EFI_PXE_BASE_CODE_PROTOCOL; ++ ++struct _EFI_PXE_BASE_CODE; ++ ++typedef enum { ++ EFI_PXE_BASE_CODE_TFTP_FIRST, ++ EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE, ++ EFI_PXE_BASE_CODE_TFTP_READ_FILE, ++ EFI_PXE_BASE_CODE_TFTP_WRITE_FILE, ++ EFI_PXE_BASE_CODE_TFTP_READ_DIRECTORY, ++ EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE, ++ EFI_PXE_BASE_CODE_MTFTP_READ_FILE, ++ EFI_PXE_BASE_CODE_MTFTP_READ_DIRECTORY, ++ EFI_PXE_BASE_CODE_MTFTP_LAST ++} EFI_PXE_BASE_CODE_TFTP_OPCODE; ++ ++typedef struct { ++ grub_efi_uint8_t Addr[4]; ++} EFI_IPv4_ADDRESS; ++ ++typedef struct { ++ grub_efi_uint8_t Addr[16]; ++} EFI_IPv6_ADDRESS; ++ ++typedef struct { ++ grub_efi_uint8_t Addr[32]; ++} EFI_MAC_ADDRESS; ++ ++typedef union { ++ grub_efi_uint32_t Addr[4]; ++ EFI_IPv4_ADDRESS v4; ++ EFI_IPv6_ADDRESS v6; ++} EFI_IP_ADDRESS; ++ ++typedef grub_efi_uint16_t EFI_PXE_BASE_CODE_UDP_PORT; ++ ++typedef struct { ++ EFI_IP_ADDRESS MCastIp; ++ EFI_PXE_BASE_CODE_UDP_PORT CPort; ++ EFI_PXE_BASE_CODE_UDP_PORT SPort; ++ grub_efi_uint16_t ListenTimeout; ++ grub_efi_uint16_t TransmitTimeout; ++} EFI_PXE_BASE_CODE_MTFTP_INFO; ++ ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_MTFTP)( ++ struct _EFI_PXE_BASE_CODE *This, ++ EFI_PXE_BASE_CODE_TFTP_OPCODE Operation, ++ void *BufferPtr, ++ grub_efi_boolean_t Overwrite, ++ grub_efi_uint64_t *BufferSize, ++ grub_efi_uintn_t *BlockSize, ++ EFI_IP_ADDRESS *ServerIp, ++ grub_efi_uint8_t *Filename, ++ EFI_PXE_BASE_CODE_MTFTP_INFO *Info, ++ grub_efi_boolean_t DontUseBuffer); ++ ++typedef struct { ++ grub_efi_uint8_t BootpOpcode; ++ grub_efi_uint8_t BootpHwType; ++ grub_efi_uint8_t BootpHwAddrLen; ++ grub_efi_uint8_t BootpGateHops; ++ grub_efi_uint32_t BootpIdent; ++ grub_efi_uint16_t BootpSeconds; ++ grub_efi_uint16_t BootpFlags; ++ grub_efi_uint8_t BootpCiAddr[4]; ++ grub_efi_uint8_t BootpYiAddr[4]; ++ grub_efi_uint8_t BootpSiAddr[4]; ++ grub_efi_uint8_t BootpGiAddr[4]; ++ grub_efi_uint8_t BootpHwAddr[16]; ++ grub_efi_uint8_t BootpSrvName[64]; ++ grub_efi_uint8_t BootpBootFile[128]; ++ grub_efi_uint32_t DhcpMagik; ++ grub_efi_uint8_t DhcpOptions[56]; ++} EFI_PXE_BASE_CODE_DHCPV4_PACKET; ++ ++// TBD in EFI v1.1 ++//typedef struct { ++// grub_efi_uint8_t reserved; ++//} EFI_PXE_BASE_CODE_DHCPV6_PACKET; ++ ++typedef union { ++ grub_efi_uint8_t Raw[1472]; ++ EFI_PXE_BASE_CODE_DHCPV4_PACKET Dhcpv4; ++// EFI_PXE_BASE_CODE_DHCPV6_PACKET Dhcpv6; ++} EFI_PXE_BASE_CODE_PACKET; ++ ++typedef struct { ++ grub_efi_uint8_t Type; ++ grub_efi_uint8_t Code; ++ grub_efi_uint16_t Checksum; ++ union { ++ grub_efi_uint32_t reserved; ++ grub_efi_uint32_t Mtu; ++ grub_efi_uint32_t Pointer; ++ struct { ++ grub_efi_uint16_t Identifier; ++ grub_efi_uint16_t Sequence; ++ } Echo; ++ } u; ++ grub_efi_uint8_t Data[494]; ++} EFI_PXE_BASE_CODE_ICMP_ERROR; ++ ++typedef struct { ++ grub_efi_uint8_t ErrorCode; ++ grub_efi_char8_t ErrorString[127]; ++} EFI_PXE_BASE_CODE_TFTP_ERROR; ++ ++ ++#define EFI_PXE_BASE_CODE_MAX_IPCNT 8 ++typedef struct { ++ grub_efi_uint8_t Filters; ++ grub_efi_uint8_t IpCnt; ++ grub_efi_uint16_t reserved; ++ EFI_IP_ADDRESS IpList[EFI_PXE_BASE_CODE_MAX_IPCNT]; ++} EFI_PXE_BASE_CODE_IP_FILTER; ++ ++#define EFI_PXE_BASE_CODE_IP_FILTER_STATION_IP 0x0001 ++#define EFI_PXE_BASE_CODE_IP_FILTER_BROADCAST 0x0002 ++#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS 0x0004 ++#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS_MULTICAST 0x0008 ++ ++typedef struct { ++ EFI_IP_ADDRESS IpAddr; ++ EFI_MAC_ADDRESS MacAddr; ++} EFI_PXE_BASE_CODE_ARP_ENTRY; ++ ++typedef struct { ++ EFI_IP_ADDRESS IpAddr; ++ EFI_IP_ADDRESS SubnetMask; ++ EFI_IP_ADDRESS GwAddr; ++} EFI_PXE_BASE_CODE_ROUTE_ENTRY; ++ ++#define EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES 8 ++#define EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES 8 ++ ++typedef struct { ++ grub_efi_boolean_t Started; ++ grub_efi_boolean_t Ipv6Available; ++ grub_efi_boolean_t Ipv6Supported; ++ grub_efi_boolean_t UsingIpv6; ++ grub_efi_boolean_t BisSupported; ++ grub_efi_boolean_t BisDetected; ++ grub_efi_boolean_t AutoArp; ++ grub_efi_boolean_t SendGUID; ++ grub_efi_boolean_t DhcpDiscoverValid; ++ grub_efi_boolean_t DhcpAckReceived; ++ grub_efi_boolean_t ProxyOfferReceived; ++ grub_efi_boolean_t PxeDiscoverValid; ++ grub_efi_boolean_t PxeReplyReceived; ++ grub_efi_boolean_t PxeBisReplyReceived; ++ grub_efi_boolean_t IcmpErrorReceived; ++ grub_efi_boolean_t TftpErrorReceived; ++ grub_efi_boolean_t MakeCallbacks; ++ grub_efi_uint8_t TTL; ++ grub_efi_uint8_t ToS; ++ EFI_IP_ADDRESS StationIp; ++ EFI_IP_ADDRESS SubnetMask; ++ EFI_PXE_BASE_CODE_PACKET DhcpDiscover; ++ EFI_PXE_BASE_CODE_PACKET DhcpAck; ++ EFI_PXE_BASE_CODE_PACKET ProxyOffer; ++ EFI_PXE_BASE_CODE_PACKET PxeDiscover; ++ EFI_PXE_BASE_CODE_PACKET PxeReply; ++ EFI_PXE_BASE_CODE_PACKET PxeBisReply; ++ EFI_PXE_BASE_CODE_IP_FILTER IpFilter; ++ grub_efi_uint32_t ArpCacheEntries; ++ EFI_PXE_BASE_CODE_ARP_ENTRY ArpCache[EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES]; ++ grub_efi_uint32_t RouteTableEntries; ++ EFI_PXE_BASE_CODE_ROUTE_ENTRY RouteTable[EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES]; ++ EFI_PXE_BASE_CODE_ICMP_ERROR IcmpError; ++ EFI_PXE_BASE_CODE_TFTP_ERROR TftpError; ++} EFI_PXE_BASE_CODE_MODE; ++ ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_START)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_STOP)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_DHCP)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_DISCOVER)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_UDP_WRITE)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_UDP_READ)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_IP_FILTER)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_ARP)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_PARAMETERS)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_STATION_IP)(); ++typedef EFI_STATUS (*EFI_PXE_BASE_CODE_SET_PACKETS)(); ++ ++typedef struct _EFI_PXE_BASE_CODE{ ++ grub_efi_uint64_t Revision; ++ EFI_PXE_BASE_CODE_START Start; ++ EFI_PXE_BASE_CODE_STOP Stop; ++ EFI_PXE_BASE_CODE_DHCP Dhcp; ++ EFI_PXE_BASE_CODE_DISCOVER Discover; ++ EFI_PXE_BASE_CODE_MTFTP Mtftp; ++ EFI_PXE_BASE_CODE_UDP_WRITE UdpWrite; ++ EFI_PXE_BASE_CODE_UDP_READ UdpRead; ++ EFI_PXE_BASE_CODE_SET_IP_FILTER SetIpFilter; ++ EFI_PXE_BASE_CODE_ARP Arp; ++ EFI_PXE_BASE_CODE_SET_PARAMETERS SetParameters; ++ EFI_PXE_BASE_CODE_SET_STATION_IP SetStationIp; ++ EFI_PXE_BASE_CODE_SET_PACKETS SetPackets; ++ EFI_PXE_BASE_CODE_MODE *Mode; ++} EFI_PXE_BASE_CODE; ++ ++typedef struct { ++ grub_efi_uint32_t time_low; ++ grub_efi_uint16_t time_mid; ++ grub_efi_uint16_t time_hi_ver; ++ grub_efi_uint8_t clock_seq_hi; ++ grub_efi_uint8_t clock_seq_low; ++ grub_efi_uint8_t node[6]; ++} uuid_t; ++ ++struct tftp_info { ++ grub_efi_loaded_image_t *LoadedImage; ++ EFI_PXE_BASE_CODE *Pxe; ++ EFI_IP_ADDRESS *ServerIp; ++ char *BasePath; ++ char *LastPath; ++ char *Buffer; ++}; ++ ++extern struct tftp_info tftp_info; ++extern grub_efi_status_t tftp_get_file_size( ++ char *Filename, ++ grub_efi_uintn_t *Size); ++ ++#endif /* PXE_H */ +diff --git a/efi/ugadebug.h b/efi/ugadebug.h +new file mode 100644 +index 0000000..f461c8b +--- /dev/null ++++ b/efi/ugadebug.h +@@ -0,0 +1,201 @@ ++#ifndef UGA_DEBUG_H ++#define UGA_DEBUG_H ++ ++extern void dc(char *file, int line); ++extern void gm(char *file, int line, char *fmt, ...); ++ ++#ifdef UGA ++ ++extern const unsigned char font8x16[]; ++ ++extern grub_efi_guid_t draw_guid; ++ ++static void *tmp_term; ++ ++#define SCREEN_WIDTH 80 ++ ++#define LINE_SIZE_X ( 8 * 100 ) ++#define LINE_START_X(x) (1280 + (x)) ++#define LINE_END_X(x) (LINE_START_X(0) + LINE_SIZE_X - 1) ++ ++#define POS_X(x) (LINE_START_X(x) + (8 * (x))) ++ ++#define LINE_SIZE_Y 16 ++#define LINE_START_Y(y) ((y) * LINE_SIZE_Y) ++#define LINE_END_Y(y) ( (((y)+1) * LINE_SIZE_Y ) - 1) ++ ++#define POS_Y(y) LINE_START_Y(y) ++ ++#define FIRST_LINE 0 ++#define LAST_LINE 75 ++ ++#define format_ascii(buf, val, is_hex, is_cap) ({ \ ++ int _n = sizeof ((buf)) - 2; \ ++ typeof(val) _nval = (val); \ ++ int _negative = 0; \ ++ int _mult = is_hex ? 16 : 10; \ ++ char _a = is_cap ? 'A' : 'a'; \ ++ grub_memset((buf), '\0', sizeof ((buf))); \ ++ if (!(_nval > 0LL)) \ ++ _negative = 1; \ ++ if (_nval == 0LL) \ ++ _negative = 0; \ ++ if (_negative) \ ++ _nval = (_nval ^ -1); \ ++ do { \ ++ int _dig = _nval % _mult; \ ++ (buf)[_n--] = ((_dig > 9) ? _dig + _a - 10 : '0'+_dig); \ ++ } while (_nval /= _mult); \ ++ if (_negative) \ ++ (buf)[_n--] = '-'; \ ++ _mult = 0; \ ++ _n++; \ ++ while (_n < sizeof ((buf))) \ ++ (buf)[_mult++] = (buf)[_n++]; \ ++ if (_negative && _mult > 1) \ ++ ((buf)[_mult-2])++; \ ++ }) ++ ++static grub_efi_uga_draw_t *debug_draw_intf; ++static void debug_putchar(int i, int j, int ch) ++{ ++ grub_efi_uga_pixel_t pixbuf[8 * 16]; ++ grub_efi_uga_pixel_t black = { .red = 0x00, .green = 0x00, .blue = 0x00 }, ++ white = { .red = 0xff, .green = 0xff, .blue = 0xff }; ++ const unsigned char *pat; ++ int x, y; ++ ++ if (!debug_draw_intf) ++ debug_draw_intf = grub_efi_locate_protocol(&draw_guid, NULL); ++ if (!debug_draw_intf) ++ return; ++ ++ pat = font8x16 + (ch << 4); ++ ++ for (y = 0; y < 16; y++) { ++ for (x = 0; x < 8; x++) { ++ int bit = pat[y] & (1 << (7 - x)); ++ ++ grub_memmove(&pixbuf[x + y * 8], bit ? &white : &black, ++ sizeof (pixbuf[0])); ++ } ++ } ++ ++ Call_Service_10(debug_draw_intf->blt, debug_draw_intf, pixbuf, ++ EfiUgaBltBufferToVideo, ++ 0, 0, ++ POS_X(i), POS_Y(j), ++ 8, 16, ++ 0); ++ ++} ++ ++static void dputs(const char *s) ++{ ++ static int row = -1; ++ int col = 89; ++ return; ++ ++ if (s && *s) { ++ do { ++ if (col > 190) { ++ row++; ++ col = 89; ++ } ++ if (row > 50) { ++ row = 0; ++ col = 89; ++ } ++ col++; ++ ++ if (*s == '\n') { ++ col = 1; ++ row++; ++ } else { ++ debug_putchar(col, row, *s); ++ } ++ } while (*(++s)); ++ } ++ row++; ++} ++ ++static int dbg_row = 0; ++static int dbg_col = 0; ++ ++static void dbg_scroll(int new_dbg_col) ++{ ++ grub_efi_uga_pixel_t black[1] ={{.red = 0x00, .green = 0x00, .blue = 0x00}}; ++ ++ if (dbg_row == LAST_LINE) { ++ dbg_col = new_dbg_col; ++ Call_Service_10(debug_draw_intf->blt, debug_draw_intf, NULL, ++ EfiUgaVideoToVideo, ++ 640, LINE_START_Y(1), ++ 640, LINE_START_Y(0), ++ LINE_SIZE_X, LINE_END_Y(LAST_LINE)+1, ++ 0); ++ Call_Service_10(debug_draw_intf->blt, debug_draw_intf, black, ++ EfiUgaVideoFill, ++ 0, 0, ++ 640, LINE_START_Y(LAST_LINE), ++ LINE_END_X(SCREEN_WIDTH)+1, LINE_END_Y(LAST_LINE)+1, ++ 0); ++ } else { ++ dbg_row++; ++ dbg_col = new_dbg_col; ++ } ++// grub_efi_stall(1000000); ++} ++ ++static void dc_backend(char *file, int line) ++{ ++ char linebuf[9] = " "; ++ int pos; ++ ++ linebuf[8] = '\0'; ++ ++ format_ascii(linebuf, line, 0, 0); ++ for (dbg_col=0, pos=0; linebuf[pos]; dbg_col++, pos++) ++ debug_putchar(dbg_col, dbg_row, linebuf[pos]); ++ ++ for (dbg_col=5, pos=0; file[pos]; dbg_col++, pos++) { ++ if (dbg_col > 15) ++ dbg_scroll(0); ++ ++ debug_putchar(dbg_col, dbg_row, file[pos]); ++ } ++} ++ ++void dc(char *file, int line) ++{ ++ dc_backend(file, line); ++ dbg_scroll(0); ++} ++ ++void ++gm(char *file, int line, char *fmt, ...) ++{ ++ va_list ap; ++ char buf[1024]=""; ++ int pos; ++ ++ va_start(ap, fmt); ++ grub_vsprintf(buf, fmt, ap); ++ va_end(ap); ++ ++ dc_backend(file, line); ++ for (dbg_col=16, pos=0; buf[pos]; dbg_col++, pos++) { ++ if (buf[pos] == '\n') ++ continue; ++ if (dbg_col > SCREEN_WIDTH-1) ++ dbg_scroll(16); ++ debug_putchar(dbg_col, dbg_row, buf[pos]); ++ } ++ dbg_scroll(0); ++} ++ ++#define dm() ({ tmp_term = current_term; current_term = term_table; grub_dprintf(__func__, "got here\n"); current_term = tmp_term; }) ++ ++#endif ++ ++#endif /* UGA_DEBUG_H */ +diff --git a/efi/x86_64/callwrap.S b/efi/x86_64/callwrap.S +new file mode 100644 +index 0000000..f574ad0 +--- /dev/null ++++ b/efi/x86_64/callwrap.S +@@ -0,0 +1,274 @@ ++/* ++ * Function calling ABI conversion from Linux to EFI for x86_64 ++ * ++ * Copyright (C) 2007 Intel Corp ++ * Bibo Mao ++ * Huang Ying ++ */ ++ ++/* ++ * EFI calling conventions are documented at: ++ * http://msdn.microsoft.com/en-us/library/ms235286%28v=vs.80%29.aspx ++ * ELF calling conventions are documented at: ++ * http://www.x86-64.org/documentation/abi.pdf ++ * ++ * Basically here are the conversion rules: ++ * a) our function pointer is in %rdi ++ * b) ELF gives us 8-byte aligned %rsp, so we need to pad out to 16-byte ++ * alignment. ++ * c) inside each call thunker, we can only adjust the stack by ++ * multiples of 16 bytes. "offset" below refers to however much ++ * we allocate inside a thunker. ++ * d) rsi through r8 (elf) aka rcx through r9 (ms) require stack space ++ * on the MS side even though it's not getting used at all. ++ * e) arguments are as follows: (elf -> ms) ++ * 1) rdi -> rcx (32 saved) ++ * 2) rsi -> rdx (32 saved) ++ * 3) rdx -> r8 ( 32 saved) ++ * 4) rcx -> r9 (32 saved) ++ * 5) r8 -> 32(%rsp) (48 saved) ++ * 6) r9 -> 40(%rsp) (48 saved) ++ * 7) pad+offset+0(%rsp) -> 48(%rsp) (64 saved) ++ * 8) pad+offset+8(%rsp) -> 56(%rsp) (64 saved) ++ * 9) pad+offset+16(%rsp) -> 64(%rsp) (80 saved) ++ * 10) pad+offset+24(%rsp) -> 72(%rsp) (80 saved) ++ * 11) pad+offset+32(%rsp) -> 80(%rsp) (96 saved) ++ * 12) pad+offset+40(%rsp) -> 88(%rsp) (96 saved) ++ * f) because the first argument we recieve in a thunker is actually the ++ * function to be called, arguments are offset as such: ++ * 0) rdi -> caller ++ * 1) rsi -> rcx (32 saved) ++ * 2) rdx -> rdx (32 saved) ++ * 3) rcx -> r8 (32 saved) ++ * 4) r8 -> r9 (32 saved) ++ * 5) r9 -> 32(%rsp) (48 saved) ++ * 6) pad+offset+0(%rsp) -> 40(%rsp) (48 saved) ++ * 7) pad+offset+8(%rsp) -> 48(%rsp) (64 saved) ++ * 8) pad+offset+16(%rsp) -> 56(%rsp) (64 saved) ++ * 9) pad+offset+24(%rsp) -> 64(%rsp) (80 saved) ++ * 10) pad+offset+32(%rsp) -> 72(%rsp) (80 saved) ++ * 11) pad+offset+40(%rsp) -> 80(%rsp) (96 saved) ++ * 12) pad+offset+48(%rsp) -> 88(%rsp) (96 saved) ++ * e) arguments need to be moved in opposite order to avoid clobbering ++ * f) pad_stack leaves the amount of padding it added in %r11 for functions ++ * to use ++ * g) efi -> elf calls don't need to pad the stack, because the 16-byte ++ * alignment is also always 8-byte aligned. ++ */ ++ ++#define ENTRY(name) \ ++ .globl name; \ ++ name: ++ ++#define out(val) \ ++ push %rax ; \ ++ mov val, %rax ; \ ++ out %al, $128 ; \ ++ pop %rax ++ ++#define pad_stack \ ++ subq $8, %rsp ; /* must be a multiple of 16 - sizeof(%rip) */ \ ++ /* stash some handy integers */ \ ++ mov $0x8, %rax ; \ ++ mov $0x10, %r10 ; \ ++ /* see if we need padding */ \ ++ and %rsp, %rax ; \ ++ /* store the pad amount in %r11 */ \ ++ cmovnz %rax, %r11 ; \ ++ cmovz %r10, %r11 ; \ ++ /* insert the padding */ \ ++ subq %r11, %rsp ; \ ++ /* add the $8 we saved above in %r11 */ \ ++ addq $8, %r11 ; \ ++ /* store the pad amount */ \ ++ mov %r11, (%rsp) ; \ ++ /* compensate for %rip being stored on the stack by call */ \ ++ addq $8, %r11 ++ ++#define unpad_stack \ ++ /* fetch the pad amount we saved (%r11 has been clobbered) */ \ ++ mov (%rsp), %r11 ; \ ++ /* remove the padding */ \ ++ addq %r11, %rsp ++ ++ENTRY(x64_call0) ++ pad_stack ++ subq $32, %rsp ++ call *%rdi ++ addq $32, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call1) ++ pad_stack ++ subq $32, %rsp ++ mov %rsi, %rcx ++ call *%rdi ++ addq $32, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call2) ++ pad_stack ++ subq $32, %rsp ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $32, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call3) ++ pad_stack ++ subq $32, %rsp ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $32, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call4) ++ pad_stack ++ subq $32, %rsp ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $32, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call5) ++ pad_stack ++ subq $48, %rsp ++ mov %r9, 32(%rsp) ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $48, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call6) ++ pad_stack ++ subq $48, %rsp ++ addq $48, %r11 ++ addq %rsp, %r11 ++ mov (%r11), %rax ++ mov %rax, 40(%rsp) ++ mov %r9, 32(%rsp) ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $48, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call7) ++ pad_stack ++ subq $64, %rsp ++ addq $64, %r11 ++ addq $8, %r11 ++ addq %rsp, %r11 ++ mov (%r11), %rax ++ mov %rax, 48(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 40(%rsp) ++ mov %r9, 32(%rsp) ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $64, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call8) ++ pad_stack ++ subq $64, %rsp ++ addq $64, %r11 ++ addq $16, %r11 ++ addq %rsp, %r11 ++ mov (%r11), %rax ++ mov %rax, 56(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 48(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 40(%rsp) ++ mov %r9, 32(%rsp) ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $64, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call9) ++ pad_stack ++ subq $80, %rsp ++ addq $80, %r11 ++ addq $24, %r11 ++ addq %rsp, %r11 ++ mov (%r11), %rax ++ mov %rax, 64(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 56(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 48(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 40(%rsp) ++ mov %r9, 32(%rsp) ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $80, %rsp ++ unpad_stack ++ ret ++ ++ENTRY(x64_call10) ++ pad_stack ++ subq $80, %rsp ++ addq $80, %r11 ++ addq $32, %r11 ++ addq %rsp, %r11 ++ mov (%r11), %rax ++ mov %rax, 72(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 64(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 56(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 48(%rsp) ++ subq $8, %r11 ++ mov (%r11), %rax ++ mov %rax, 40(%rsp) ++ mov %r9, 32(%rsp) ++ mov %r8, %r9 ++ mov %rcx, %r8 ++ /* mov %rdx, %rdx */ ++ mov %rsi, %rcx ++ call *%rdi ++ addq $80, %rsp ++ unpad_stack ++ ret +diff --git a/efi/x86_64/crt0-efi.S b/efi/x86_64/crt0-efi.S +new file mode 100644 +index 0000000..8667694 +--- /dev/null ++++ b/efi/x86_64/crt0-efi.S +@@ -0,0 +1,63 @@ ++/* crt0-efi-x86_64.S - x86_64 EFI startup code. ++ Copyright (C) 1999 Hewlett-Packard Co. ++ Contributed by David Mosberger . ++ Copyright (C) 2005 Intel Co. ++ Contributed by Fenghua Yu . ++ ++ This file is part of GNU-EFI, the GNU EFI development environment. ++ ++ GNU EFI is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ GNU EFI is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GNU EFI; see the file COPYING. If not, write to the Free ++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++ 02111-1307, USA. */ ++ ++ .text ++ .align 4 ++ ++ .globl _start ++_start: ++ subq $8, %rsp ++ pushq %rcx ++ pushq %rdx ++ ++0: ++ lea ImageBase(%rip), %rdi ++ lea _DYNAMIC(%rip), %rsi ++ ++ popq %rcx ++ popq %rdx ++ pushq %rcx ++ pushq %rdx ++ call _relocate ++ ++ popq %rdi ++ popq %rsi ++ ++ call efi_main ++ addq $8, %rsp ++ ++.exit: ++ ret ++ ++ // hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: ++ ++ .data ++dummy: .long 0 ++ ++#define IMAGE_REL_ABSOLUTE 0 ++ .section .reloc, "a" ++label1: ++ .long dummy-label1 // Page RVA ++ .long 10 // Block Size (2*4+2) ++ .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy ++ +diff --git a/efi/x86_64/elf_efi.lds b/efi/x86_64/elf_efi.lds +new file mode 100644 +index 0000000..18a9ab9 +--- /dev/null ++++ b/efi/x86_64/elf_efi.lds +@@ -0,0 +1,58 @@ ++OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") ++OUTPUT_ARCH(i386:x86-64) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0; ++ ImageBase = .; ++ .hash : { *(.hash) } /* this MUST come first! */ ++ . = ALIGN(4096); ++ .eh_frame : ++ { ++ *(.eh_frame) ++ } ++ . = ALIGN(4096); ++ .text : ++ { ++ *(.text) ++ } ++ .reloc : ++ { ++ *(.reloc) ++ } ++ . = ALIGN(4096); ++ .data : ++ { ++ *(.rodata*) ++ *(.got.plt) ++ *(.got) ++ *(.data*) ++ *(.sdata) ++ /* the EFI loader doesn't seem to like a .bss section, so we stick ++ it all into .data: */ ++ *(.sbss) ++ *(.scommon) ++ *(.dynbss) ++ *(.bss) ++ *(COMMON) ++ *(.rel.local) ++ } ++ . = ALIGN(4096); ++ .dynamic : { *(.dynamic) } ++ . = ALIGN(4096); ++ .rela : ++ { ++ *(.rela.data*) ++ *(.rela.got) ++ *(.rela.stab) ++ } ++ . = ALIGN(4096); ++ .dynsym : { *(.dynsym) } ++ . = ALIGN(4096); ++ .dynstr : { *(.dynstr) } ++ . = ALIGN(4096); ++ .ignored.reloc : ++ { ++ *(.rela.reloc) ++ } ++} +diff --git a/efi/x86_64/loader/Makefile b/efi/x86_64/loader/Makefile +new file mode 100644 +index 0000000..0d8b888 +--- /dev/null ++++ b/efi/x86_64/loader/Makefile +@@ -0,0 +1,20 @@ ++ ++all : switch.h ++ ++bin_to_h: bin_to_h.c ++ $(CC) $(CFLAGS) -o $@ $< ++ ++switch.h : switch.bin bin_to_h ++ ./bin_to_h < $< > $@ ++ ++switch.bin : switch ++ objcopy -O binary $< $@ ++ ++switch : switch.o ++ ld.bfd -Ttext-segment=0x688 --init _start -o $@ $< ++ ++switch.o : switch.S ++ as -march=generic64 -defsym _start=0 -o $@ $< ++ ++clean : ++ @rm -vf switch.o switch switch.bin switch.h bin_to_h +diff --git a/efi/x86_64/loader/bin_to_h.c b/efi/x86_64/loader/bin_to_h.c +new file mode 100644 +index 0000000..4cff104 +--- /dev/null ++++ b/efi/x86_64/loader/bin_to_h.c +@@ -0,0 +1,29 @@ ++#include ++#include ++ ++int ++main (void) ++{ ++ unsigned n = 0; ++ int c; ++ ++ printf ("unsigned char switch_image[] = {\n"); ++ ++ while ((c = getchar ()) != EOF) ++ { ++ printf("0x%02x,%s", ++ c & 0xFF, ++ (++n & 0x07) ? " " : "\n"); ++ } ++ ++ if (n & 0x07) ++ { ++ printf("\n"); ++ } ++ ++ printf("};\n" ++ "int switch_size = sizeof switch_image;\n"); ++ ++ return 0; ++} ++ +diff --git a/efi/x86_64/loader/linux.c b/efi/x86_64/loader/linux.c +new file mode 100644 +index 0000000..54d075b +--- /dev/null ++++ b/efi/x86_64/loader/linux.c +@@ -0,0 +1,588 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "switch.h" ++ ++#include ++ ++#include "graphics.h" ++ ++#define grub_file_size() filemax ++ ++#define NEXT_MEMORY_DESCRIPTOR(desc, size) \ ++ ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size))) ++ ++#define PTR_HI(x) ((grub_uint32_t) ((unsigned long long)((unsigned long)(x)) >> 32)) ++ ++#ifndef SECTOR_SIZE ++#define SECTOR_SIZE 0x200 ++#endif /* defined(SECTOR_SIZE) */ ++#ifndef SECTOR_BITS ++#define SECTOR_BITS 9 ++#endif /* defined(SECTOR_BITS) */ ++ ++static unsigned long linux_mem_size; ++static int loaded; ++static void *real_mode_mem; ++static void *prot_mode_mem; ++static grub_size_t prot_kernel_size; ++static void *initrd_mem; ++static grub_efi_uintn_t real_mode_pages; ++static grub_efi_uintn_t prot_mode_pages; ++static grub_efi_uintn_t initrd_pages; ++static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GRAPHICS_OUTPUT_GUID; ++ ++static inline grub_size_t ++page_align (grub_size_t size) ++{ ++ return (size + (1 << 12) - 1) & (~((1 << 12) - 1)); ++} ++ ++static void ++free_pages (void) ++{ ++ if (real_mode_mem) ++ { ++ grub_efi_free_pages ((grub_addr_t) real_mode_mem, real_mode_pages); ++ real_mode_mem = 0; ++ } ++ ++ if (initrd_mem) ++ { ++ grub_efi_free_pages ((grub_addr_t) initrd_mem, initrd_pages); ++ initrd_mem = 0; ++ } ++ ++ if (mmap_buf) ++ { ++ grub_efi_free_pages ((grub_addr_t) mmap_buf, mmap_pages); ++ mmap_buf = 0; ++ } ++} ++ ++/* Allocate pages for the real mode code and the protected mode code ++ for linux as well as a memory map buffer. */ ++static int ++allocate_pages (grub_size_t real_size, grub_size_t prot_size) ++{ ++ grub_efi_uintn_t desc_size; ++ grub_efi_memory_descriptor_t *mmap_end; ++ grub_efi_memory_descriptor_t *desc; ++ grub_efi_physical_address_t addr; ++ ++ /* Make sure that each size is aligned to a page boundary. */ ++ real_size = page_align (real_size + SECTOR_SIZE); ++ prot_size = page_align (prot_size); ++ ++ grub_dprintf ("linux", "real_size = %x, prot_size = %x, mmap_size = %x\n", ++ (unsigned int) real_size, (unsigned int) prot_size, ++ (unsigned int) mmap_size); ++ ++ /* Calculate the number of pages; Combine the real mode code with ++ the memory map buffer for simplicity. */ ++ real_mode_pages = (real_size >> 12); ++ prot_mode_pages = (prot_size >> 12); ++ ++ /* Initialize the memory pointers with NULL for convenience. */ ++ real_mode_mem = 0; ++ prot_mode_mem = 0; ++ ++ if (grub_efi_get_memory_map (0, &desc_size, 0) <= 0) ++ grub_fatal ("cannot get memory map"); ++ ++ addr = 0; ++ mmap_end = NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); ++ /* First, find free pages for the real mode code ++ and the memory map buffer. */ ++ for (desc = mmap_buf; ++ desc < mmap_end; ++ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) ++ { ++ if (desc->type == GRUB_EFI_CONVENTIONAL_MEMORY ++ && desc->num_pages >= real_mode_pages) ++ { ++ grub_efi_physical_address_t physical_end; ++ ++ physical_end = desc->physical_start + (desc->num_pages << 12); ++ ++ grub_dprintf ("linux", "physical_start = %x, physical_end = %x\n", ++ (unsigned) desc->physical_start, ++ (unsigned) physical_end); ++ addr = physical_end - real_size; ++ if (addr < 0x10000) ++ continue; ++ ++ /* the kernel wants this address to be under 1 gig.*/ ++ if (desc->physical_start > 0x40000000 - real_size) ++ continue; ++ ++ if (addr > 0x40000000 - real_size) ++ addr = 0x40000000 - real_size; ++ ++ grub_dprintf ("linux", "trying to allocate %u pages at %x\n", ++ (unsigned) real_mode_pages, (unsigned) addr); ++ real_mode_mem = grub_efi_allocate_pages (addr, real_mode_pages); ++ if (! real_mode_mem) ++ grub_fatal ("cannot allocate pages"); ++ ++ desc->num_pages -= real_mode_pages; ++ break; ++ } ++ } ++ ++ if (! real_mode_mem) ++ { ++ grub_printf ("cannot allocate real mode pages"); ++ errnum = ERR_WONT_FIT; ++ goto fail; ++ } ++ ++ grub_printf("Trying to allocate %u pages for VMLINUZ\n", ++ (unsigned) prot_mode_pages); ++ prot_mode_mem = grub_efi_allocate_anypages(prot_mode_pages); ++ ++ if (!prot_mode_mem) ++ grub_fatal("Cannot allocate pages for VMLINUZ"); ++ grub_printf("Got pages at %p\n", prot_mode_mem); ++ ++ return 1; ++ ++ fail: ++ free_pages (); ++ return 0; ++} ++ ++/* do some funky stuff, then boot linux */ ++void ++linux_boot (void) ++{ ++ grub_printf ("zImage is not supported under EFI.\n"); ++ for (;;); ++} ++ ++void ++big_linux_boot (void) ++{ ++ struct linux_kernel_params *params; ++ struct grub_linux_kernel_header *lh; ++ grub_efi_uintn_t map_key; ++ grub_efi_uintn_t desc_size; ++ grub_efi_uint32_t desc_version; ++ int e820_nr_map; ++ ++ params = real_mode_mem; ++ ++ graphics_set_kernel_params (params); ++ ++ if (grub_efi_get_memory_map (&map_key, &desc_size, &desc_version) <= 0) ++ grub_fatal ("cannot get memory map"); ++ ++ /* Pass e820 memmap. */ ++ e820_map_from_efi_map ((struct e820_entry *) params->e820_map, &e820_nr_map, ++ mmap_buf, desc_size, mmap_size); ++ params->e820_nr_map = e820_nr_map; ++ ++ if (! grub_efi_exit_boot_services (map_key)) ++ grub_fatal ("cannot exit boot services"); ++ ++ /* Note that no boot services are available from here. */ ++ ++ /* copy vmlinuz image to hdr.code32_start */ ++ memcpy ((char *)(unsigned long)(params->hdr.code32_start), (char *)prot_mode_mem, ++ prot_kernel_size); ++ /* copy switch image */ ++ memcpy ((void *) 0x700, switch_image, switch_size); ++ ++ lh = ¶ms->hdr; ++ /* Pass EFI parameters. */ ++ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { ++ params->version_0206.efi_mem_desc_size = desc_size; ++ params->version_0206.efi_mem_desc_version = desc_version; ++ params->version_0206.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; ++ params->version_0206.efi_mmap_size = mmap_size; ++ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { ++ params->version_0204.efi_mem_desc_size = desc_size; ++ params->version_0204.efi_mem_desc_version = desc_version; ++ params->version_0204.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; ++ params->version_0204.efi_mmap_size = mmap_size; ++ } else /* dunno */ { ++ params->dunno.efi_mem_desc_size = desc_size; ++ params->dunno.efi_mem_desc_version = desc_version; ++ params->dunno.efi_mmap = (grub_uint32_t) (unsigned long) mmap_buf; ++ params->dunno.efi_mmap_size = mmap_size; ++ params->dunno.efi_mmap_hi = PTR_HI(mmap_buf); ++ } ++ ++#ifdef __x86_64__ ++ /* Pass parameters. */ ++ asm volatile ("mov %0, %%rsi" : : "m" (real_mode_mem)); ++ asm volatile ("movl %0, %%ebx" : : "m" (params->hdr.code32_start)); ++ ++ /* Enter Linux, switch from 64-bit long mode ++ * to 32-bit protect mode, this code end address ++ * must not exceed 0x1000, because linux kernel bootstrap ++ * code will flush this area ++ */ ++ asm volatile ( "mov $0x700, %%rdi" : :); ++ asm volatile ( "jmp *%%rdi" : :); ++#else ++ /* Pass parameters. */ ++ asm volatile ("mov %0, %%esi" : : "m" (real_mode_mem)); ++ asm volatile ("movl %0, %%ebx" : : "m" (params->hdr.code32_start)); ++ ++ /* Enter Linux, switch from 64-bit long mode ++ * to 32-bit protect mode, this code end address ++ * must not exceed 0x1000, because linux kernel bootstrap ++ * code will flush this area ++ */ ++ asm volatile ( "mov $0x700, %%edi" : :); ++ asm volatile ( "jmp *%%edi" : :); ++#endif ++ ++ /* Never reach here. */ ++ for (;;); ++} ++ ++int ++grub_load_linux (char *kernel, char *arg) ++{ ++ struct grub_linux_kernel_header *lh; ++ struct linux_kernel_params *params; ++ static struct linux_kernel_params params_buf; ++ grub_uint8_t setup_sects; ++ grub_size_t real_size, prot_size; ++ grub_ssize_t len; ++ char *dest; ++ ++ if (kernel == NULL) ++ { ++ errnum = ERR_BAD_FILENAME; ++ grub_printf ("no kernel specified"); ++ goto fail1; ++ } ++ ++ if (! grub_open (kernel)) ++ goto fail1; ++ ++ if (grub_read ((char *) ¶ms_buf, sizeof (params_buf)) ++ != sizeof (params_buf)) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_printf ("cannot read the linux header"); ++ goto fail; ++ } ++ ++ lh = ¶ms_buf.hdr; ++ ++ if (lh->boot_flag != grub_cpu_to_le16 (0xaa55)) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_printf ("invalid magic number: %x", lh->boot_flag); ++ goto fail; ++ } ++ ++ /* EFI support is quite new, so reject old versions. */ ++ if (lh->header != grub_cpu_to_le32 (GRUB_LINUX_MAGIC_SIGNATURE) ++ || grub_le_to_cpu16 (lh->version) < 0x0203) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_printf ("too old version"); ++ goto fail; ++ } ++ ++ /* I'm not sure how to support zImage on EFI. */ ++ if (! (lh->loadflags & GRUB_LINUX_FLAG_BIG_KERNEL)) ++ { ++ errnum = ERR_EXEC_FORMAT; ++ grub_printf ("zImage is not supported"); ++ goto fail; ++ } ++ ++ setup_sects = lh->setup_sects; ++ ++ real_size = 0x1000 + grub_strlen(arg); ++ prot_size = grub_file_size () - (setup_sects << SECTOR_BITS) - SECTOR_SIZE; ++ prot_kernel_size = prot_size; ++ ++ if (! allocate_pages (real_size, prot_size)) ++ goto fail; ++ ++ /* XXX Linux assumes that only elilo can boot Linux on EFI!!! */ ++ lh->type_of_loader = 0x50; ++ ++ lh->cmd_line_ptr = (grub_uint32_t) (unsigned long) real_mode_mem + 0x1000; ++ lh->ramdisk_image = 0; ++ lh->ramdisk_size = 0; ++ ++ grub_memset(real_mode_mem, 0, real_size); ++ ++ params = (struct linux_kernel_params *) real_mode_mem; ++ ++ grub_memmove(¶ms->hdr, lh, 0x202 + lh->jump_off - 0x1f1); ++ ++ params->cl_magic = GRUB_LINUX_CL_MAGIC; ++ params->cl_offset = 0x1000; ++ ++ /* These are not needed to be precise, because Linux uses these values ++ only to raise an error when the decompression code cannot find good ++ space. */ ++ params->ext_mem = ((32 * 0x100000) >> 10); ++ params->alt_mem = ((32 * 0x100000) >> 10); ++ ++ /* No APM on EFI. */ ++ params->apm_version = 0; ++ params->apm_code_segment = 0; ++ params->apm_entry = 0; ++ params->apm_16bit_code_segment = 0; ++ params->apm_data_segment = 0; ++ params->apm_flags = 0; ++ params->apm_code_len = 0; ++ params->apm_data_len = 0; ++ ++ /* XXX is there any way to use SpeedStep on EFI? */ ++ params->ist_signature = 0; ++ params->ist_command = 0; ++ params->ist_event = 0; ++ params->ist_perf_level = 0; ++ ++ /* Let the kernel probe the information. */ ++ grub_memset (params->hd0_drive_info, 0, sizeof (params->hd0_drive_info)); ++ grub_memset (params->hd1_drive_info, 0, sizeof (params->hd1_drive_info)); ++ ++ /* No MCA on EFI. */ ++ params->rom_config_len = 0; ++ ++ if (grub_le_to_cpu16 (lh->version) >= 0x0206) { ++ grub_memcpy(¶ms->version_0204.efi_signature, "EL64", 4); ++ params->version_0206.efi_system_table = \ ++ (grub_uint32_t) (unsigned long) grub_efi_system_table; ++ } else if (grub_le_to_cpu16 (lh->version) >= 0x0204) { ++ grub_memcpy(¶ms->version_0204.efi_signature, "EFIL", 4); ++ params->version_0204.efi_system_table = \ ++ (grub_uint32_t) (unsigned long) grub_efi_system_table; ++ } else /* dunno */ { ++ params->dunno.efi_signature = GRUB_LINUX_EFI_SIGNATURE_X64; ++ params->dunno.efi_system_table = \ ++ (grub_uint32_t) (unsigned long) grub_efi_system_table; ++ params->dunno.efi_system_table_hi = PTR_HI(grub_efi_system_table); ++ } ++ /* The other EFI parameters are filled when booting. */ ++ ++ /* No EDD */ ++ params->eddbuf_entries = 0; ++ params->edd_mbr_sig_buf_entries = 0; ++ ++ /* XXX there is no way to know if the kernel really supports EFI. */ ++ grub_printf ("[Linux-EFI, setup=0x%x, size=0x%x]\n", (unsigned int)real_size, ++ (unsigned int)prot_size); ++ ++ /* Check the mem= option to limit memory used for initrd. */ ++ { ++ char *mem; ++ ++ mem = grub_strstr (arg, "mem="); ++ if (mem) ++ { ++ char *value = mem + 4; ++ ++ safe_parse_maxulong (&value, &linux_mem_size); ++ switch (errnum) ++ { ++ case ERR_NUMBER_OVERFLOW: ++ /* If an overflow occurs, use the maximum address for ++ initrd instead. This is good, because MAXINT is ++ greater than LINUX_INITRD_MAX_ADDRESS. */ ++ linux_mem_size = LINUX_INITRD_MAX_ADDRESS; ++ errnum = ERR_NONE; ++ break; ++ ++ case ERR_NONE: ++ { ++ int shift = 0; ++ ++ switch (grub_tolower (*value)) ++ { ++ case 'g': ++ shift += 10; ++ case 'm': ++ shift += 10; ++ case 'k': ++ shift += 10; ++ default: ++ break; ++ } ++ ++ /* Check an overflow. */ ++ if (linux_mem_size > (~0UL >> shift)) ++ linux_mem_size = 0; ++ else ++ linux_mem_size <<= shift; ++ } ++ break; ++ ++ default: ++ linux_mem_size = 0; ++ errnum = ERR_NONE; ++ break; ++ } ++ } ++ else ++ linux_mem_size = 0; ++ } ++ ++ dest = grub_stpcpy ((char *) real_mode_mem + 0x1000, skip_to(0, arg)); ++ ++ grub_seek ((setup_sects << SECTOR_BITS) + SECTOR_SIZE); ++ len = prot_size; ++ if (grub_read ((char *)prot_mode_mem, len) != len) ++ grub_printf ("Couldn't read file"); ++ ++ if (errnum == ERR_NONE) ++ { ++ loaded = 1; ++ } ++ ++ fail: ++ ++ grub_close (); ++ ++ fail1: ++ ++ if (errnum != ERR_NONE) ++ { ++ loaded = 0; ++ } ++ return errnum ? KERNEL_TYPE_NONE : KERNEL_TYPE_BIG_LINUX; ++} ++ ++int ++grub_load_initrd (char *initrd) ++{ ++ grub_ssize_t size; ++ grub_addr_t addr_min, addr_max; ++ grub_addr_t addr; ++ grub_efi_memory_descriptor_t *desc; ++ grub_efi_memory_descriptor_t tdesc; ++ grub_efi_uintn_t desc_size; ++ struct linux_kernel_params *params; ++ ++ if (initrd == NULL) ++ { ++ errnum = ERR_BAD_FILENAME; ++ grub_printf ("No module specified"); ++ goto fail1; ++ } ++ ++ if (! loaded) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("You need to load the kernel first."); ++ goto fail1; ++ } ++ ++ if (! grub_open (initrd)) ++ goto fail1; ++ ++ size = grub_file_size (); ++ initrd_pages = (page_align (size) >> 12); ++ ++ params = (struct linux_kernel_params *) real_mode_mem; ++ grub_dprintf(__func__, "initrd_pages: %lu\n", initrd_pages); ++ ++ addr_max = grub_cpu_to_le32 (params->hdr.initrd_addr_max); ++ if (linux_mem_size != 0 && linux_mem_size < addr_max) ++ addr_max = linux_mem_size; ++ addr_max &= ~((1 << 12)-1); ++ ++ /* Usually, the compression ratio is about 50%. */ ++ addr_min = 0; ++ ++ /* Find the highest address to put the initrd. */ ++ grub_dprintf(__func__, "addr_min: 0x%lx addr_max: 0x%lx mmap_size: %lu\n", addr_min, addr_max, mmap_size); ++ if (grub_efi_get_memory_map (0, &desc_size, 0) <= 0) ++ grub_fatal ("cannot get memory map"); ++ ++ addr = 0; ++ for (desc = mmap_buf; ++ desc < NEXT_MEMORY_DESCRIPTOR (mmap_buf, mmap_size); ++ desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) ++ { ++ if (desc->type != GRUB_EFI_CONVENTIONAL_MEMORY) ++ continue; ++ memcpy(&tdesc, desc, sizeof (tdesc)); ++ if (tdesc.physical_start < addr_min ++ && tdesc.num_pages > ((addr_min - tdesc.physical_start) >> 12)) ++ { ++ tdesc.num_pages -= ((addr_min - tdesc.physical_start) >> 12); ++ tdesc.physical_start = addr_min; ++ } ++ ++ grub_dprintf(__func__, "desc = {type=%d,ps=0x%llx,vs=0x%llx,sz=%llu,attr=%llu}\n", desc->type, (unsigned long long)desc->physical_start, (unsigned long long)desc->virtual_start, (unsigned long long)desc->num_pages, (unsigned long long)desc->attribute); ++ if (tdesc.physical_start >= addr_min ++ && tdesc.physical_start + page_align (size) <= addr_max ++ && tdesc.num_pages >= initrd_pages) ++ { ++ grub_efi_physical_address_t physical_end; ++ ++ physical_end = tdesc.physical_start + (tdesc.num_pages << 12); ++ if (physical_end > addr_max) ++ physical_end = addr_max; ++ ++ if (physical_end <= 0x7fffffffUL && physical_end > addr) ++ addr = physical_end - page_align (size); ++ } ++ } ++ ++ if (addr == 0) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ grub_printf ("no free pages available"); ++ goto fail; ++ } ++ ++ initrd_mem = grub_efi_allocate_pages (addr, initrd_pages); ++ if (! initrd_mem) ++ grub_fatal ("cannot allocate pages: %x@%x", (unsigned)initrd_pages, ++ (unsigned)addr); ++ ++ if (grub_read (initrd_mem, size) != size) ++ { ++ grub_printf ("Couldn't read file"); ++ goto fail; ++ } ++ ++ grub_printf (" [Initrd, addr=0x%x, size=0x%x]\n", (unsigned int) addr, ++ (unsigned int) size); ++ ++ params->hdr.ramdisk_image = addr; ++ params->hdr.ramdisk_size = size; ++ params->hdr.root_dev = 0x0100; /* XXX */ ++ ++ fail: ++ grub_close (); ++ fail1: ++ return !errnum; ++} +diff --git a/efi/x86_64/loader/switch.S b/efi/x86_64/loader/switch.S +new file mode 100644 +index 0000000..d0d8dca +--- /dev/null ++++ b/efi/x86_64/loader/switch.S +@@ -0,0 +1,92 @@ ++# ++# Switch from protected mode to real mode and jump to setup.S ++# image located at %cx:0. ++# ++# This module must be placed into physical memory at 0:7C00h. ++# EFI has some real mode thunking code at 2000:0h. ++# ++# Processor and non-maskable interrupts should be disabled ++# before control is passed to this module. ++# ++ ++#define __KERNEL_CS 0x38 ++#define MSR_EFER 0xc0000080 ++#define _EFER_LME 8 /* Long mode enable */ ++ ++.global _start ++ ++.text ++_start: ++ # ++ # Load identity mapped GDT & real mode IDT. ++ # Add 7C00h to the addresses since this is linked to start ++ # at 0h and it is being placed at 7C00h. ++ # ++ ++ # fixme here EFI bios cs segment is 0x38 ++ # switch to IA32e compatible mode ++ # esi point to kernel parameter ++ # ebx point to kernel entry point ++.code64 ++ cli ++ cld ++ lgdt gdt_64 ++ lidt idt_64 ++ ljmp *exit_ia32e ++ ++ /* switch to IA32e compatible mode */ ++.code32 ++mode32: ++ # ++ # Turn off PG bit in CR0 and set CR3 to zero. ++ # ++ movl %cr0, %eax ++ andl $0x7FFFFFFF, %eax ++ movl %eax, %cr0 ++ ++ /* Setup EFER (Extended Feature Enable Register) */ ++ nop ++ nop ++ movl $0xc0000080, %ecx ++ rdmsr ++ /* Enable Long Mode */ ++ andl $0xFFFFFEFF, %eax ++ /* Make changes effective */ ++ wrmsr ++ ++ /* Disable PAE */ ++ xorl %eax, %eax ++ movl %eax, %cr4 ++ ++ jmp 2f ++2: ++ jmp *%ebx ++//jmp to kernel entry ++ ++.align 8 ++exit_ia32e: ++ .long mode32 ++ .long 0x10 ++ ++gdt_64: .word 0x08 * 9 -1 ++ .quad gdt ++ ++ .word 0, 0, 0 ++idt_64: .word 0 ++ .quad 0 ++ # ++ # GDT & IDT stuff for switching into 32 bit protected mode. ++ # ++ .word 0,0,0 ++gdt: ++ .quad 0x0000000000000000 /* NULL descriptor 0*/ ++ .quad 0x0 /* unused 0x08 */ ++ .quad 0x00cf9a000000ffff /* __KERNEL_CS 0x10 */ ++ .quad 0x00cf92000000ffff /* __KERNEL_DS 0x18 */ ++ .quad 0x00cf92000000ffff ++ .quad 0x00cf92000000ffff ++ .quad 0x00cf92000000ffff ++ .quad 0x00cf9a000000ffff /* __KERNEL32_CS 0x38*/ ++ .quad 0 /* unused */ ++.end ++ +diff --git a/efi/x86_64/loader/switch.h b/efi/x86_64/loader/switch.h +new file mode 100644 +index 0000000..b5dc39a +--- /dev/null ++++ b/efi/x86_64/loader/switch.h +@@ -0,0 +1,25 @@ ++unsigned char switch_image[] = { ++0xfa, 0xfc, 0x0f, 0x01, 0x14, 0x25, 0x48, 0x07, ++0x00, 0x00, 0x0f, 0x01, 0x1c, 0x25, 0x58, 0x07, ++0x00, 0x00, 0xff, 0x2c, 0x25, 0x40, 0x07, 0x00, ++0x00, 0x0f, 0x20, 0xc0, 0x25, 0xff, 0xff, 0xff, ++0x7f, 0x0f, 0x22, 0xc0, 0x90, 0x90, 0xb9, 0x80, ++0x00, 0x00, 0xc0, 0x0f, 0x32, 0x25, 0xff, 0xfe, ++0xff, 0xff, 0x0f, 0x30, 0x31, 0xc0, 0x0f, 0x22, ++0xe0, 0xeb, 0x00, 0xff, 0xe3, 0x8d, 0x76, 0x00, ++0x19, 0x07, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, ++0x47, 0x00, 0x68, 0x07, 0x00, 0x00, 0x00, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++0xff, 0xff, 0x00, 0x00, 0x00, 0x9a, 0xcf, 0x00, ++0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, ++0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, ++0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, ++0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00, ++0xff, 0xff, 0x00, 0x00, 0x00, 0x9a, 0xcf, 0x00, ++0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++}; ++int switch_size = sizeof switch_image; +diff --git a/efi/x86_64/reloc.c b/efi/x86_64/reloc.c +new file mode 100644 +index 0000000..b53eb63 +--- /dev/null ++++ b/efi/x86_64/reloc.c +@@ -0,0 +1,79 @@ ++/* reloc_x86_64.c - position independent x86_64 ELF shared object relocator ++ Copyright (C) 1999 Hewlett-Packard Co. ++ Contributed by David Mosberger . ++ Copyright (C) 2005 Intel Co. ++ Contributed by Fenghua Yu . ++ ++ This file is part of GNU-EFI, the GNU EFI development environment. ++ ++ GNU EFI is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ GNU EFI is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GNU EFI; see the file COPYING. If not, write to the Free ++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ++ 02111-1307, USA. */ ++ ++#include ++#include ++#include ++ ++grub_efi_status_t _relocate (long ldbase, ElfW(Dyn) *dyn, ++ grub_efi_handle_t image_handle, ++ grub_efi_system_table_t *sys_tab) ++{ ++ //extern EFI_STATUS efi_main (EFI_HANDLE, EFI_SYSTEM_TABLE *); ++ long relsz = 0, relent = 0; ++ ElfW(Rel) *rel = 0; ++ unsigned long *addr; ++ int i; ++ ++ for (i = 0; dyn[i].d_tag != DT_NULL; ++i) { ++ switch (dyn[i].d_tag) { ++ case DT_RELA: ++ rel = (ElfW(Rel)*) ((long) dyn[i].d_un.d_ptr + ldbase); ++ break; ++ ++ case DT_RELASZ: ++ relsz = dyn[i].d_un.d_val; ++ break; ++ ++ case DT_RELAENT: ++ relent = dyn[i].d_un.d_val; ++ break; ++ ++ default: ++ break; ++ } ++ } ++ ++ if (!rel || relent == 0){ ++ return GRUB_EFI_LOAD_ERROR; ++ } ++ while (relsz > 0) { ++ /* apply the relocs */ ++ switch (ELF64_R_TYPE (rel->r_info)) { ++ case R_X86_64_NONE: ++ break; ++ ++ case R_X86_64_RELATIVE: ++ addr = (unsigned long *) (ldbase + rel->r_offset); ++ *addr += ldbase; ++ break; ++ ++ default: ++ break; ++ } ++ rel = (ElfW(Rel)*) ((char *) rel + relent); ++ relsz -= relent; ++ } ++ return GRUB_EFI_SUCCESS; ++} ++ +diff --git a/efi/x86_64/setjmp.S b/efi/x86_64/setjmp.S +new file mode 100644 +index 0000000..e042a14 +--- /dev/null ++++ b/efi/x86_64/setjmp.S +@@ -0,0 +1,56 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2003 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include ++ ++ .file "setjmp.S" ++ ++ .text ++ ++/* ++ * int grub_setjmp (grub_jmp_buf env) ++ */ ++FUNCTION(grub_setjmp) ++ pop %rsi /* Return address, and adjust the stack */ ++ xor %rax, %rax ++ movq %rbx, 0(%rdi) /* RBX */ ++ movq %rsp, 8(%rdi) /* RSP */ ++ push %rsi ++ movq %rbp, 16(%rdi) /* RBP */ ++ movq %r12, 24(%rdi) /* R12 */ ++ movq %r13, 32(%rdi) /* R13 */ ++ movq %r14, 40(%rdi) /* R14 */ ++ movq %r15, 48(%rdi) /* R15 */ ++ movq %rsi, 56(%rdi) /* RSI */ ++ ret ++ ++/* ++ * int grub_longjmp (grub_jmp_buf env, int val) ++ */ ++FUNCTION(grub_longjmp) ++ movl %esi, %eax ++ movq (%rdi), %rbx ++ movq 8(%rdi), %rsp ++ movq 16(%rdi), %rbp ++ movq 24(%rdi), %r12 ++ movq 32(%rdi), %r13 ++ movq 40(%rdi), %r14 ++ movq 48(%rdi), %r15 ++ jmp *56(%rdi) ++ +diff --git a/efi/xpm.c b/efi/xpm.c +new file mode 100644 +index 0000000..085a10c +--- /dev/null ++++ b/efi/xpm.c +@@ -0,0 +1,231 @@ ++ ++#if defined(SUPPORT_GRAPHICS) || defined(PLATFORM_EFI) || 1 ++ ++#include ++#include ++#include ++ ++#include "xpm.h" ++ ++unsigned char ++xpm_get_pixel_idx(struct xpm *xpm, int x, int y) ++{ ++ if (x < 0 || x >= xpm->width) ++ return -1; ++ if (y < 0 || y >= xpm->width) ++ return -1; ++ return xpm->image[x + (y * xpm->width)]; ++} ++ ++void ++xpm_set_pixel_idx(struct xpm *xpm, int x, int y, unsigned char idx) ++{ ++ xpm->image[y * xpm->width + x] = idx; ++} ++ ++void ++xpm_get_idx(struct xpm *xpm, unsigned char idx, xpm_pixel_t *pixel) ++{ ++ xpm_pixel_t *xpl; ++ if (!pixel) ++ return; ++ if (idx >= xpm->colors) { ++ pixel->red = pixel->green = pixel->blue = 0; ++ return; ++ } ++ xpl = &xpm->palette[idx]; ++ memcpy(pixel, xpl, sizeof (*pixel)); ++// pixel->red = xpl->red; ++// pixel->green = xpl->green; ++// pixel->blue = xpl->blue; ++} ++ ++int ++xpm_get_pixel(struct xpm *xpm, int x, int y, xpm_pixel_t *pixel) ++{ ++ unsigned char idx; ++ idx = xpm_get_pixel_idx(xpm, x, y); ++ xpm_get_idx(xpm, idx, pixel); ++ return 1; ++} ++ ++static int ++hex_to_int(int v) ++{ ++ if (v >= 'A' && v <= 'F') ++ return (v - 'A' + 10); ++ if (v >= 'a' && v <= 'f') ++ return (v - 'a' + 10); ++ return (v - '0'); ++} ++ ++struct xpm * ++xpm_open(char *path) ++{ ++ char c, prev, target[]="/* XPM */\n", base; ++ char buf[32]; ++ int pos = 0; ++ unsigned int i, idx, len, x, y; ++ unsigned char pal[XPM_MAX_COLORS]; ++ struct xpm *xpm; ++ ++ xpm = grub_malloc(sizeof (*xpm)); ++ if (!xpm) ++ return NULL; ++ ++ if (!grub_open(path)) { ++ grub_free(xpm); ++ grub_printf("grub_open(\"%s\") failed\n", path); ++ return NULL; ++ } ++ ++ grub_memset(xpm, '\0', sizeof (*xpm)); ++ ++ prev = '\n'; ++ c = 0; ++ do { ++ if (grub_read(&c, 1) != 1) { ++ grub_printf("grub_read() failed\n"); ++ grub_free(xpm); ++ grub_close(); ++ return NULL; ++ } ++ if ((pos == 0 && prev == '\n') || pos > 0) { ++ if (c == target[pos]) ++ pos++; ++ else ++ pos = 0; ++ } ++ prev = c; ++ } while (target[pos]); ++ ++ /* parse info */ ++ while (grub_read(&c, 1)) { ++ if (c == '"') ++ break; ++ } ++ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) ++ ; ++ ++ i = 0; ++ xpm->width = c - '0'; ++ while (grub_read(&c, 1)) { ++ if (c >= '0' && c <= '9') ++ xpm->width = xpm->width * 10 + c - '0'; ++ else ++ break; ++ } ++ if (xpm->width > XPM_MAX_WIDTH) { ++ grub_printf("xpm->width (%d) was greater than XPM_MAX_WIDTH (%d)\n", ++ xpm->width, XPM_MAX_WIDTH); ++ grub_free(xpm); ++ grub_close(); ++ return NULL; ++ } ++ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) ++ ; ++ ++ xpm->height = c - '0'; ++ while (grub_read(&c, 1)) { ++ if (c >= '0' && c <= '9') ++ xpm->height = xpm->height * 10 + c - '0'; ++ else ++ break; ++ } ++ if (xpm->height > XPM_MAX_HEIGHT) { ++ grub_printf("xpm->height (%d) was greater than XPM_MAX_HEIGHT (%d)\n", ++ xpm->height, XPM_MAX_HEIGHT); ++ grub_free(xpm); ++ grub_close(); ++ return NULL; ++ } ++ ++ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) ++ ; ++ ++ xpm->colors = c - '0'; ++ while (grub_read(&c, 1)) { ++ if (c >= '0' && c <= '9') ++ xpm->colors = xpm->colors * 10 + c - '0'; ++ else ++ break; ++ } ++ ++ base = 0; ++ while (grub_read(&c, 1) && c != '"') ++ ; ++ ++ /* palette */ ++ for (i = 0, idx = 1; i < xpm->colors; i++) { ++ len = 0; ++ ++ while (grub_read(&c, 1) && c != '"') ++ ; ++ grub_read(&c, 1); /* char */ ++ base = c; ++ grub_read(buf, 4); /* \t c # */ ++ ++ while (grub_read(&c, 1) && c != '"') { ++ if (len < sizeof(buf)) ++ buf[len++] = c; ++ } ++ ++ if (len == 6 && idx < xpm->colors) { ++ unsigned char r, g, b; ++ ++ r = (hex_to_int(buf[0]) << 4) | hex_to_int(buf[1]); ++ g = (hex_to_int(buf[2]) << 4) | hex_to_int(buf[3]); ++ b = (hex_to_int(buf[4]) << 4) | hex_to_int(buf[5]); ++ ++ pal[idx] = base; ++ xpm->palette[idx].red = r; ++ xpm->palette[idx].green = g; ++ xpm->palette[idx].blue = b; ++ ++idx; ++ } ++ } ++ ++ /* parse xpm data */ ++ x = y = 0; ++ while (y < xpm->height) { ++ xpm_pixel_t *pixel = NULL; ++ while (1) { ++ if (!grub_read(&c, 1)) { ++ grub_printf("%s %s:%d grub_read() failed\n", __FILE__, __func__, __LINE__); ++ grub_free(xpm); ++ grub_close(); ++ return NULL; ++ } ++ if (c == '"') ++ break; ++ } ++ ++ while (grub_read(&c, 1) && c != '"') { ++ unsigned char *iaddr = NULL; ++ for (i = 1; i < xpm->colors; i++) ++ if (pal[i] == c) { ++ idx = i; ++ break; ++ } ++ ++ xpm_set_pixel_idx(xpm, x, y, idx); ++ ++ if (++x >= xpm->width) { ++ x = 0; ++ ++ ++y; ++ } ++ } ++ } ++ grub_close(); ++ return xpm; ++} ++ ++void ++xpm_free(struct xpm *xpm) ++{ ++ grub_free(xpm); ++} ++ ++ ++#endif /* SUPPORT_GRAPHICS || PLATFORM_EFI */ +diff --git a/efi/xpm.h b/efi/xpm.h +new file mode 100644 +index 0000000..258abc1 +--- /dev/null ++++ b/efi/xpm.h +@@ -0,0 +1,36 @@ ++#ifndef GRUB_XPM_H ++#define GRUB_XPM_H ++ ++#include ++ ++#define XPM_MAX_COLORS 31 ++#define XPM_MAX_WIDTH 640 ++#define XPM_MAX_HEIGHT 480 ++ ++struct xpm_pixel { ++ unsigned char reserved; ++ unsigned char red; ++ unsigned char green; ++ unsigned char blue; ++}; ++typedef struct xpm_pixel xpm_pixel_t; ++ ++struct xpm { ++ int colors; ++ xpm_pixel_t palette[32]; ++ ++ int width; ++ int height; ++ unsigned char image[XPM_MAX_WIDTH * XPM_MAX_HEIGHT]; ++}; ++ ++extern struct xpm *xpm_open(char *path); ++extern void xpm_free(struct xpm *xpm); ++ ++extern unsigned char xpm_get_pixel_idx(struct xpm *xpm, int x, int y); ++extern void xpm_set_pixel_idx(struct xpm *xpm, int x, int y, unsigned char idx); ++extern int xpm_get_pixel(struct xpm *xpm, int x, int y, xpm_pixel_t *pixel); ++ ++extern void xpm_get_idx(struct xpm *xpm, unsigned char idx, xpm_pixel_t *pixel); ++ ++#endif /* GRUB_XPM_H */ +diff --git a/grub.spec b/grub.spec +new file mode 100644 +index 0000000..7e5982d +--- /dev/null ++++ b/grub.spec +@@ -0,0 +1,438 @@ ++Name: grub ++Version: 0.97 ++Release: 20%{?dist} ++Summary: GRUB - the Grand Unified Boot Loader. ++Group: System Environment/Base ++License: GPLv2+ ++ ++ExclusiveArch: i386 x86_64 ++BuildRequires: binutils >= 2.9.1.0.23, ncurses-devel, ncurses-static, texinfo ++BuildRequires: autoconf /usr/lib/crt1.o automake ++PreReq: /sbin/install-info ++Requires: mktemp ++Requires: /usr/bin/cmp ++Requires: system-logos ++BuildRoot: %{_tmppath}/%{name}-%{version}-root ++ ++URL: http://www.gnu.org/software/%{name}/ ++Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz ++Patch0: grub-fedora-9.patch ++ ++%description ++GRUB (Grand Unified Boot Loader) is an experimental boot loader ++capable of booting into most free operating systems - Linux, FreeBSD, ++NetBSD, GNU Mach, and others as well as most commercial operating ++systems. ++ ++%prep ++%setup -q ++%patch0 -p1 -b .fedora-9 ++ ++%build ++autoreconf ++autoconf ++GCCVERS=$(gcc --version | head -1 | cut -d\ -f3 | cut -d. -f1) ++CFLAGS="-Os -g -fno-strict-aliasing -Wall -Werror -Wno-shadow -Wno-unused" ++if [ "$GCCVERS" == "4" ]; then ++ CFLAGS="$CFLAGS -Wno-pointer-sign" ++fi ++export CFLAGS ++%ifarch x86_64 ++%configure --sbindir=/sbin --disable-auto-linux-mem-opt --datarootdir=%{_datadir} --with-platform=efi ++make ++rm -fr $RPM_BUILD_ROOT ++%makeinstall sbindir=${RPM_BUILD_ROOT}/sbin ++mv ${RPM_BUILD_ROOT}/sbin/grub ${RPM_BUILD_ROOT}/sbin/grub-efi ++make clean ++autoreconf ++autoconf ++CFLAGS="$CFLAGS -static" ++export CFLAGS ++%endif ++%configure --sbindir=/sbin --disable-auto-linux-mem-opt --datarootdir=%{_datadir} ++make ++ ++%install ++%makeinstall sbindir=${RPM_BUILD_ROOT}/sbin ++mkdir -p ${RPM_BUILD_ROOT}/boot/grub ++ ++rm -f ${RPM_BUILD_ROOT}/%{_infodir}/dir ++ ++%clean ++rm -fr $RPM_BUILD_ROOT ++ ++%post ++if [ "$1" = 1 ]; then ++ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/grub.info.gz || : ++ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz || : ++fi ++ ++%preun ++if [ "$1" = 0 ] ;then ++ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/grub.info.gz || : ++ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/multiboot.info.gz || : ++fi ++ ++%files ++%defattr(-,root,root) ++%doc AUTHORS ChangeLog NEWS README COPYING TODO docs/menu.lst ++/boot/grub ++/sbin/grub ++/sbin/grub-install ++/sbin/grub-terminfo ++/sbin/grub-md5-crypt ++%{_bindir}/mbchk ++%{_infodir}/grub* ++%{_infodir}/multiboot* ++%{_mandir}/man*/* ++%{_datadir}/grub ++%ifarch x86_64 ++/sbin/grub-efi ++%endif ++ ++%changelog ++* Mon Nov 05 2007 Peter Jones - 0.97-20 ++- Add EFI support from Intel on x86_64 ++ ++* Thu Sep 20 2007 Peter Jones - 0.97-19 ++- Fix dmraid detection on Intel (isw) controllers in grub-install . ++ ++* Wed Aug 22 2007 Peter Jones - 0.97-18 ++- Fix license tag. ++ ++* Mon Aug 20 2007 Peter Jones - 0.97-17 ++- Use --build-id=none instead of stripping out the build-id notes in the ++ first and second stage loaders. ++ ++* Tue Aug 7 2007 Peter Jones - 0.97-16 ++- Add ext[23] large inode support (patch from Eric Sandeen) ++- Fix auto* breakage that happened when we switched from autoreconf to autoconf ++- Move to original tarball + patch generated from git ++ ++* Mon Jul 16 2007 Peter Jones - 0.97-15 ++- Support booting from GPT ++ ++* Fri Feb 23 2007 Bill Nottingham - 0.97-14 ++- fix scriplet errors when installed with --nodocs ++- coax grub into building (-ltinfo, autoconf instead of autoreconf) ++ ++* Sun Oct 01 2006 Jesse Keating - 0.97-13 ++- rebuilt for unwind info generation, broken in gcc-4.1.1-21 ++ ++* Thu Sep 21 2006 Peter Jones - 0.97-12 ++- Reenable patch 505, which fixes #116311 ++ ++* Tue Aug 15 2006 Peter Jones - 0.97-11 ++- Disable patch 505 (#164497) ++ ++* Wed Aug 2 2006 Peter Jones - 0.97-10 ++- Fix grub-install for multipath ++ ++* Wed Jul 12 2006 Jesse Keating - 0.97-9.1 ++- rebuild ++ ++* Fri Jul 7 2006 Peter Jones - 0.97-9 ++- fix broken error reporting from helper functions ++ ++* Mon Jun 12 2006 Peter Jones - 0.97-8 ++- Fix BIOS keyboard handler to use extended keyboard interrupts, so the ++ Mac Mini works. ++ ++* Mon Jun 5 2006 Jesse Keating - 0.97-7 ++- Added BuildRequires on a 32bit library ++ ++* Sat May 27 2006 Peter Jones - 0.97-6 ++- Fix mactel keyboard problems, patch from Juergen Keil, forwarded by Linus. ++ ++* Mon Mar 13 2006 Peter Jones - 0.97-5 ++- Fix merge error for "bootonce" patch (broken in 0.95->0.97 update) ++- Get rid of the 0.97 "default" stuff, since it conflicts with our working ++ method. ++ ++* Mon Mar 9 2006 Peter Jones - 0.97-4 ++- Fix running "install" multiple times on the same fs in the same invocation ++ of grub. (bz #158426 , patch from lxo@redhat.com) ++ ++* Mon Feb 13 2006 Peter Jones - 0.97-3 ++- fix partition names on dmraid ++ ++* Tue Feb 07 2006 Jesse Keating - 0.97-2.1 ++- rebuilt for new gcc4.1 snapshot and glibc changes ++ ++* Fri Jan 13 2006 Peter Jones - 0.97-2 ++- add dmraid support ++ ++* Wed Dec 14 2005 Peter Jones - 0.97-1 ++- update to grub 0.97 ++ ++* Mon Dec 5 2005 Peter Jones - 0.95-17 ++- fix configure conftest.c bugs ++- add -Wno-unused to defeat gcc41 "unused" checking when there are aliases. ++ ++* Mon Aug 1 2005 Peter Jones - 0.95-16 ++- minor fix to the --recheck fix. ++ ++* Mon Jul 25 2005 Peter Jones 0.95-15 ++- Make "grub-install --recheck" warn the user about how bad it is, ++ and keep a backup file, which it reverts to upon detecting some errors. ++ ++* Wed Jul 6 2005 Peter Jones 0.95-14 ++- Fix changelog to be UTF-8 ++ ++* Thu May 19 2005 Peter Jones 0.95-13 ++- Make the spec work with gcc3 and gcc4, so people can test on existing ++ installations. ++- don't treat i2o like a cciss device, since its partition names aren't done ++ that way. (#158158) ++ ++* Wed Mar 16 2005 Peter Jones 0.95-12 ++- Make installing on a partition work again when not using raid ++ ++* Thu Mar 3 2005 Peter Jones 0.95-11 ++- Make it build with gcc4 ++ ++* Sun Feb 20 2005 Peter Jones 0.95-10 ++- Always install in MBR for raid1 /boot/ ++ ++* Sun Feb 20 2005 Peter Jones 0.95-9 ++- Always use full path for mdadm in grub-install ++ ++* Tue Feb 8 2005 Peter Jones 0.95-8 ++- Mark the simulation stack executable ++- Eliminate the use of inline functions in stage2/builtins.c ++ ++* Wed Jan 11 2005 Peter Jones 0.95-7 ++- Make grub ignore everything before the XPM header in the splash image, ++ fixing #143879 ++- If the boot splash image is missing, use console mode instead ++ of graphics mode. ++- Don't print out errors using the graphics terminal code if we're not ++ actually in graphics mode. ++ ++* Mon Jan 3 2005 Peter Jones 0.95-6 ++- reworked much of how the RAID1 support in grub-install works. This version ++ does not require all the devices in the raid to be listed in device.map, ++ as long as you specify a physical device or partition rather than an md ++ device. It should also work with a windows dual-boot on the first partition. ++ ++* Fri Dec 17 2004 Peter Jones 0.95-5 ++- added support for RAID1 devices to grub-install, partly based on a ++ patch from David Knierim. (#114690) ++ ++* Tue Nov 30 2004 Jeremy Katz 0.95-4 ++- add patch from upstream CVS to handle sparse files on ext[23] ++- make geometry detection a little bit more robust/correct ++- use O_DIRECT when reading/writing from devices. use aligned buffers as ++ needed for read/write (#125808) ++- actually apply the i2o patch ++- detect cciss/cpqarray devices better (#123249) ++ ++* Thu Sep 30 2004 Jeremy Katz - 0.95-3 ++- don't act on the keypress for the menu (#134029) ++ ++* Mon Jun 28 2004 Jeremy Katz - 0.95-2 ++- add patch from Nicholas Miell to make hiddenmenu work more ++ nicely with splashimage mode (#126764) ++ ++* Fri Jun 18 2004 Jeremy Katz - 0.95-1 ++- update to 0.95 ++- drop emd patch, E-MD isn't making forward progress upstream ++- fix static build for x86_64 (#121095) ++ ++* Tue Jun 15 2004 Elliot Lee ++- rebuilt ++ ++* Wed Jun 9 2004 Jeremy Katz ++- require system-logos (#120837) ++ ++* Fri Jun 4 2004 Jeremy Katz ++- buildrequire automake (#125326) ++ ++* Thu May 06 2004 Warren Togami - 0.94-5 ++- i2o patch from Markus Lidel ++ ++* Wed Apr 14 2004 Jeremy Katz - 0.94-4 ++- read geometry off of the disk since HDIO_GETGEO doesn't actually ++ return correct data with a 2.6 kernel ++ ++* Fri Mar 12 2004 Jeremy Katz ++- add texinfo buildrequires (#118146) ++ ++* Wed Feb 25 2004 Jeremy Katz 0.94-3 ++- don't use initrd_max_address ++ ++* Fri Feb 13 2004 Elliot Lee 0.94-2 ++- rebuilt ++ ++* Thu Feb 12 2004 Jeremy Katz 0.94-1 ++- update to 0.94, patch merging and updating as necessary ++ ++* Sat Jan 3 2004 Jeremy Katz 0.93-8 ++- new bootonce patch from Padraig Brady so that you don't lose ++ the old default (#112775) ++ ++* Mon Nov 24 2003 Jeremy Katz ++- add ncurses-devel as a buildrequires (#110732) ++ ++* Tue Oct 14 2003 Jeremy Katz 0.93-7 ++- rebuild ++ ++* Wed Jul 2 2003 Jeremy Katz ++- Requires: /usr/bin/cmp (#98325) ++ ++* Thu May 22 2003 Jeremy Katz 0.93-6 ++- add patch from upstream to fix build with gcc 3.3 ++ ++* Wed Apr 2 2003 Jeremy Katz 0.93-5 ++- add patch to fix support for serial terminfo (#85595) ++ ++* Wed Jan 22 2003 Tim Powers ++- rebuilt ++ ++* Fri Jan 17 2003 Jeremy Katz 0.93-3 ++- add patch from HJ Lu to support large disks (#80980, #63848) ++- add patch to make message when ending edit clearer (#53846) ++ ++* Sun Dec 29 2002 Jeremy Katz 0.93-2 ++- add a patch to reset the terminal type to console before doing 'boot' from ++ the command line (#61069) ++ ++* Sat Dec 28 2002 Jeremy Katz 0.93-1 ++- update to 0.93 ++- update configfile patch ++- graphics patch rework to fit in as a terminal type as present in 0.93 ++- use CFLAGS="-Os -g" ++- patch configure.in to allow building if host_cpu=x86_64, include -m32 in ++ CFLAGS if building on x86_64 ++- link glibc static on x86_64 to not require glibc32 ++- include multiboot info pages ++- drop obsolete patches, reorder remaining patches into some semblance of order ++ ++* Thu Sep 5 2002 Jeremy Katz 0.92-7 ++- splashscreen is in redhat-logos now ++ ++* Tue Sep 3 2002 Jeremy Katz 0.92-6 ++- update splashscreen again ++ ++* Mon Sep 2 2002 Jeremy Katz 0.92-5 ++- update splashscreen ++ ++* Fri Jun 21 2002 Tim Powers 0.92-4 ++- automated rebuild ++ ++* Thu May 23 2002 Tim Powers 0.92-3 ++- automated rebuild ++ ++* Fri May 3 2002 Jeremy Katz 0.92-2 ++- add patch from Grant Edwards to make vga16 + serial happier (#63491) ++ ++* Wed May 1 2002 Jeremy Katz 0.92-1 ++- update to 0.92 ++- back to autoreconf ++- make it work with automake 1.6/autoconf 2.53 ++- use "-falign-jumps=1 -falign-loops=1 -falign-functions=1" instead of ++ "-malign-jumps=1 -malign-loops=1 -malign-functions=1" to not use ++ deprecated gcc options ++ ++* Tue Apr 9 2002 Jeremy Katz 0.91-4 ++- new splash screen ++ ++* Fri Mar 8 2002 Jeremy Katz 0.91-3 ++- include patch from Denis Kitzmen to fix typo causing several options to ++ never be defined (in upstream CVS) ++- include patch from upstream CVS to make displaymem always use hex for ++ consistency ++- add patch from GRUB mailing list from Keir Fraser to add a --once flag to ++ savedefault function so that you can have the equivalent of lilo -R ++ functionality (use 'savedefault --default=N --once' from the grub shell) ++- back to autoconf ++ ++* Sun Jan 27 2002 Jeremy Katz ++- change to use $grubdir instead of /boot/grub in the symlink patch (#58771) ++ ++* Fri Jan 25 2002 Jeremy Katz 0.91-2 ++- don't ifdef out the auto memory passing, use the configure flag instead ++- add a patch so that grub respects mem= from the kernel command line when ++ deciding where to place the initrd (#52558) ++ ++* Mon Jan 21 2002 Jeremy Katz 0.91-1 ++- update to 0.91 final ++- add documentation on splashimage param (#51609) ++ ++* Wed Jan 2 2002 Jeremy Katz 0.91-0.20020102cvs ++- update to current CVS snapshot to fix some of the hangs on boot related ++ to LBA probing (#57503, #55868, and others) ++ ++* Fri Dec 21 2001 Erik Troan 0.90-14 ++- fixed append patch to not require arguments to begin with ++- changed to autoreconf from autoconf ++ ++* Wed Oct 31 2001 Jeremy Katz 0.90-13 ++- include additional patch from Erich to add sync calls in grub-install to ++ work around updated images not being synced to disk ++- fix segfault in grub shell if 'password --md5' is used without specifying ++ a password (#55008) ++ ++* Fri Oct 26 2001 Jeremy Katz 0.90-12 ++- Include Erich Boleyn 's patch to disconnect from the ++ BIOS after APM operations. Should fix #54375 ++ ++* Wed Sep 12 2001 Erik Troan ++- added patch for 'a' option in grub boot menu ++ ++* Wed Sep 5 2001 Jeremy Katz 0.90-11 ++- grub-install: if /boot/grub/grub.conf doesn't exist but /boot/grub/menu.lst ++ does, create a symlink ++ ++* Fri Aug 24 2001 Jeremy Katz ++- pull in patch from upstream CVS to fix md5crypt in grub shell (#52220) ++- use mktemp in grub-install to avoid tmp races ++ ++* Fri Aug 3 2001 Jeremy Katz ++- link curses statically (#49519) ++ ++* Thu Aug 2 2001 Jeremy Katz ++- fix segfault with using the serial device before initialization (#50219) ++ ++* Thu Jul 19 2001 Jeremy Katz ++- add --copy-only flag to grub-install ++ ++* Thu Jul 19 2001 Jeremy Katz ++- copy files in grub-install prior to device probe ++ ++* Thu Jul 19 2001 Jeremy Katz ++- original images don't go in /boot and then grub-install does the right ++ thing ++ ++* Thu Jul 19 2001 Jeremy Katz ++- fix the previous patch ++- put the password prompt in the proper location ++ ++* Thu Jul 19 2001 Jeremy Katz ++- reset the screen when the countdown is cancelled so text will disappear ++ in vga16 mode ++ ++* Mon Jul 16 2001 Jeremy Katz ++- change configfile defaults to grub.conf ++ ++* Sun Jul 15 2001 Jeremy Katz ++- updated to grub 0.90 final ++ ++* Fri Jul 6 2001 Matt Wilson ++- modifed splash screen to a nice shade of blue ++ ++* Tue Jul 3 2001 Matt Wilson ++- added a first cut at a splash screen ++ ++* Sun Jul 1 2001 Nalin Dahyabhai ++- fix datadir mismatch between build and install phases ++ ++* Mon Jun 25 2001 Jeremy Katz ++- update to current CVS ++- forward port VGA16 patch from Paulo César Pereira de ++ Andrade ++- add patch for cciss, ida, and rd raid controllers ++- don't pass mem= to the kernel ++ ++* Wed May 23 2001 Erik Troan ++- initial build for Red Hat +diff --git a/grub/.gitignore b/grub/.gitignore +new file mode 100644 +index 0000000..5d89f6d +--- /dev/null ++++ b/grub/.gitignore +@@ -0,0 +1,2 @@ ++Makefile.in ++.deps +diff --git a/grub/Makefile.am b/grub/Makefile.am +index 7eb2eaa..d4353f7 100644 +--- a/grub/Makefile.am ++++ b/grub/Makefile.am +@@ -15,5 +15,5 @@ AM_CPPFLAGS = -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ + + AM_CFLAGS = $(GRUB_CFLAGS) + +-grub_SOURCES = main.c asmstub.c ++grub_SOURCES = main.c asmstub.c efitftp.c + grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS) +diff --git a/grub/Makefile.in b/grub/Makefile.in +index 136c38f..0e40e1b 100644 +--- a/grub/Makefile.in ++++ b/grub/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -14,17 +14,11 @@ + + @SET_MAKE@ + +-SOURCES = $(grub_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -43,7 +37,7 @@ subdir = grub + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +@@ -57,7 +51,7 @@ grub_OBJECTS = $(am_grub_OBJECTS) + am__DEPENDENCIES_1 = + grub_DEPENDENCIES = ../stage2/libgrub.a ../lib/libcommon.a \ + $(am__DEPENDENCIES_1) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +@@ -70,17 +64,14 @@ ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -89,18 +80,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -108,14 +97,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -129,22 +116,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -156,28 +138,39 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ + @SERIAL_SPEED_SIMULATION_FALSE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 + @SERIAL_SPEED_SIMULATION_TRUE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 -DSIMULATE_SLOWNESS_OF_SERIAL=1 + AM_CPPFLAGS = -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ +@@ -225,7 +218,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + install-sbinPROGRAMS: $(sbin_PROGRAMS) + @$(NORMAL_INSTALL) +- test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" ++ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" + @list='$(sbin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ +@@ -248,7 +241,7 @@ clean-sbinPROGRAMS: + -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) + grub$(EXEEXT): $(grub_OBJECTS) $(grub_DEPENDENCIES) + @rm -f grub$(EXEEXT) +- $(LINK) $(grub_LDFLAGS) $(grub_OBJECTS) $(grub_LDADD) $(LIBS) ++ $(LINK) $(grub_OBJECTS) $(grub_LDADD) $(LIBS) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) +@@ -260,19 +253,18 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ + + .c.o: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +-uninstall-info-am: + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ +@@ -323,22 +315,21 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -354,7 +345,7 @@ check: check-am + all-am: Makefile $(PROGRAMS) + installdirs: + for dir in "$(DESTDIR)$(sbindir)"; do \ +- test -z "$$dir" || $(mkdir_p) "$$dir"; \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: install-am + install-exec: install-exec-am +@@ -402,12 +393,20 @@ info-am: + + install-data-am: + ++install-dvi: install-dvi-am ++ + install-exec-am: install-sbinPROGRAMS + ++install-html: install-html-am ++ + install-info: install-info-am + + install-man: + ++install-pdf: install-pdf-am ++ ++install-ps: install-ps-am ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -427,18 +426,22 @@ ps: ps-am + + ps-am: + +-uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS ++uninstall-am: uninstall-sbinPROGRAMS ++ ++.MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-sbinPROGRAMS ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ +- install-data-am install-exec install-exec-am install-info \ +- install-info-am install-man install-sbinPROGRAMS install-strip \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-sbinPROGRAMS install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ +- uninstall-am uninstall-info-am uninstall-sbinPROGRAMS ++ uninstall-am uninstall-sbinPROGRAMS + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff --git a/grub/asmstub.c b/grub/asmstub.c +index ab95b4b..818be75 100644 +--- a/grub/asmstub.c ++++ b/grub/asmstub.c +@@ -42,6 +42,7 @@ int grub_stage2 (void); + #include + #include + #include ++#include + + #ifdef __linux__ + # include /* ioctl */ +@@ -53,6 +54,9 @@ int grub_stage2 (void); + # ifndef BLKFLSBUF + # define BLKFLSBUF _IO (0x12,97) /* flush buffer cache */ + # endif /* ! BLKFLSBUF */ ++# ifndef O_DIRECT ++# define O_DIRECT 040000 ++# endif /* ! O_DIRECT */ + #endif /* __linux__ */ + + /* We want to prevent any circularararity in our stubs, as well as +@@ -71,7 +75,7 @@ unsigned long install_partition = 0x20000; + unsigned long boot_drive = 0; + int saved_entryno = 0; + char version_string[] = VERSION; +-char config_file[128] = "/boot/grub/menu.lst"; /* FIXME: arbitrary */ ++char config_file[128] = "/boot/grub/grub.conf"; /* FIXME: arbitrary */ + unsigned long linux_text_len = 0; + char *linux_data_tmp_addr = 0; + char *linux_data_real_addr = 0; +@@ -79,7 +83,7 @@ unsigned short io_map[IO_MAP_SIZE]; + struct apm_info apm_bios_info; + + /* Emulation requirements. */ +-char *grub_scratch_mem = 0; ++void *grub_scratch_mem = 0; + + struct geometry *disks = 0; + +@@ -103,14 +107,73 @@ static char *serial_device = 0; + static unsigned int serial_speed; + #endif /* SIMULATE_SLOWNESS_OF_SERIAL */ + ++#ifdef GRUB_UTIL ++int get_sector_size (int drive) ++{ ++ return 0x200; ++} ++int get_sector_bits (int drive) ++{ ++ return 9; ++} ++#endif /* GRUB_UTIL */ ++ ++/* This allocates page-aligned storage of the specified size, which must be ++ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE) ++ */ ++#ifdef __linux__ ++static void * ++grub_mmap_alloc(size_t len) ++{ ++ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE; ++ ++#ifdef MAP_32BIT ++ mmap_flags |= MAP_32BIT; ++#endif ++ /* Mark the simulated stack executable, as GCC uses stack trampolines ++ * to implement nested functions. */ ++ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0); ++} ++#else /* !defined(__linux__) */ ++static void * ++grub_mmap_alloc(size_t len) ++{ ++ int fd = 0, offset = 0, ret = 0; ++ void *pa = MAP_FAILED; ++ char template[] = "/tmp/grub_mmap_alloc_XXXXXX"; ++ errno_t e; ++ ++ fd = mkstemp(template); ++ if (fd < 0) ++ return pa; ++ ++ unlink(template); ++ ++ ret = ftruncate(fd, len); ++ if (ret < 0) ++ return pa; ++ ++ /* Mark the simulated stack executable, as GCC uses stack trampolines ++ * to implement nested functions. */ ++ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, ++ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset); ++ ++ e = errno; ++ close(fd); ++ errno = e; ++ return pa; ++} ++#endif /* defined(__linux__) */ ++ + /* The main entry point into this mess. */ + int + grub_stage2 (void) + { + /* These need to be static, because they survive our stack transitions. */ + static int status = 0; +- static char *realstack; +- char *scratch, *simstack; ++ static void *realstack; ++ void *simstack_alloc_base, *simstack; ++ size_t simstack_size, page_size; + int i; + + auto void doit (void); +@@ -120,8 +183,13 @@ grub_stage2 (void) + void doit (void) + { + /* Make sure our stack lives in the simulated memory area. */ ++#ifdef __x86_64 ++ asm volatile ("movq %%rsp, %0\n\tmovq %1, %%rsp\n" ++ : "=&r" (realstack) : "r" (simstack)); ++#else + asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n" + : "=&r" (realstack) : "r" (simstack)); ++#endif + + /* Do a setjmp here for the stop command. */ + if (! setjmp (env_for_exit)) +@@ -138,13 +206,43 @@ grub_stage2 (void) + } + + /* Replace our stack before we use any local variables. */ ++#ifdef __x86_64 ++ asm volatile ("movq %0, %%rsp\n" : : "r" (realstack)); ++#else + asm volatile ("movl %0, %%esp\n" : : "r" (realstack)); ++#endif + } + + assert (grub_scratch_mem == 0); +- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15); +- assert (scratch); +- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4); ++ ++ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and ++ * make sure the memory is aligned to a multiple of the system's ++ * page size */ ++ page_size = sysconf (_SC_PAGESIZE); ++ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15); ++ if (simstack_size % page_size) ++ { ++ /* If we're not on a page_size boundary, round up to the next one */ ++ simstack_size &= ~(page_size-1); ++ simstack_size += page_size; ++ } ++ ++ /* Add one for a PROT_NONE boundary page at each end. */ ++ simstack_size += 2 * page_size; ++ ++ simstack_alloc_base = grub_mmap_alloc(simstack_size); ++ assert (simstack_alloc_base != MAP_FAILED); ++ ++ /* mark pages above and below our simstack area as innaccessable. ++ * If the implementation we're using doesn't support that, then the ++ * new protection modes are undefined. It's safe to just ignore ++ * them, though. It'd be nice if we knew that we'd get a SEGV for ++ * touching the area, but that's all. it'd be nice to have. */ ++ mprotect (simstack_alloc_base, page_size, PROT_NONE); ++ mprotect ((void *)((unsigned long)simstack_alloc_base + ++ simstack_size - page_size), page_size, PROT_NONE); ++ ++ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size); + + /* FIXME: simulate the memory holes using mprot, if available. */ + +@@ -217,7 +315,7 @@ grub_stage2 (void) + device_map = 0; + free (disks); + disks = 0; +- free (scratch); ++ munmap(simstack_alloc_base, simstack_size); + grub_scratch_mem = 0; + + if (serial_device) +@@ -699,6 +797,13 @@ console_getkey (void) + return console_translate_key (c); + } + ++/* returns modifier status */ ++int ++console_keystatus (void) ++{ ++ return 0; ++} ++ + /* returns packed values, LSB+1 is x, LSB is y */ + int + console_getxy (void) +@@ -766,7 +871,7 @@ get_diskinfo (int drive, struct geometry *geometry) + { + /* The unpartitioned device name: /dev/XdX */ + char *devname = device_map[drive]; +- char buf[512]; ++ char * buf, * buf_unaligned; + + if (! devname) + return -1; +@@ -777,13 +882,13 @@ get_diskinfo (int drive, struct geometry *geometry) + + /* Open read/write, or read-only if that failed. */ + if (! read_only) +- disks[drive].flags = open (devname, O_RDWR); ++ disks[drive].flags = open (devname, O_RDWR | O_DIRECT); + + if (disks[drive].flags == -1) + { + if (read_only || errno == EACCES || errno == EROFS || errno == EPERM) + { +- disks[drive].flags = open (devname, O_RDONLY); ++ disks[drive].flags = open (devname, O_RDONLY | O_DIRECT); + if (disks[drive].flags == -1) + { + assign_device_name (drive, 0); +@@ -797,6 +902,10 @@ get_diskinfo (int drive, struct geometry *geometry) + } + } + ++ buf_unaligned = malloc((512 * sizeof(char)) + 4095); ++ buf = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & ++ (~(4096-1))); ++ + /* Attempt to read the first sector. */ + if (read (disks[drive].flags, buf, 512) != 512) + { +@@ -808,6 +917,7 @@ get_diskinfo (int drive, struct geometry *geometry) + + if (disks[drive].flags != -1) + get_drive_geometry (&disks[drive], device_map, drive); ++ free(buf_unaligned); + } + + if (disks[drive].flags == -1) +@@ -829,24 +939,34 @@ static int + nread (int fd, char *buf, size_t len) + { + int size = len; ++ char * buf_unaligned, * buff, * obuff; ++ int ret; ++ ++ buf_unaligned = malloc((len * sizeof(char)) + 4095); ++ obuff = buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & ++ (~(4096-1))); ++ + + while (len) + { +- int ret = read (fd, buf, len); ++ ret = read (fd, buff, len); + + if (ret <= 0) + { + if (errno == EINTR) + continue; + else +- return ret; ++ break; + } + + len -= ret; +- buf += ret; ++ buff += ret; + } + +- return size; ++ if (!len) ret = size; ++ ++ buf = memcpy(buf, obuff, size); ++ return ret; + } + + /* Write LEN bytes from BUF to FD. Return less than or equal to zero if an +@@ -855,10 +975,18 @@ static int + nwrite (int fd, char *buf, size_t len) + { + int size = len; ++ char * buf_unaligned, * buff; ++ ++ buf_unaligned = malloc((len * sizeof(char)) + 4095); ++ buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & ++ (~(4096-1))); + + while (len) + { +- int ret = write (fd, buf, len); ++ int ret; ++ ++ memcpy(buff, buf, len); ++ ret = write (fd, buff, len); + + if (ret <= 0) + { +@@ -946,20 +1074,20 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, + _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo, + loff_t *, res, uint, wh); + +- offset = (loff_t) sector * (loff_t) SECTOR_SIZE; ++ offset = (loff_t) sector * (loff_t) get_sector_size(drive); + if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET)) + return -1; + } + #else + { +- off_t offset = (off_t) sector * (off_t) SECTOR_SIZE; ++ off_t offset = (off_t) sector * (off_t) get_sector_size(drive); + + if (lseek (fd, offset, SEEK_SET) != offset) + return -1; + } + #endif + +- buf = (char *) (segment << 4); ++ buf = (char *) (unsigned long) (segment << 4); + + switch (subfunc) + { +@@ -971,13 +1099,13 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, + sectors that are read together with the MBR in one read. It + should only remap the MBR, so we split the read in two + parts. -jochen */ +- if (nread (fd, buf, SECTOR_SIZE) != SECTOR_SIZE) ++ if (nread (fd, buf, get_sector_size(drive)) != get_sector_size(drive)) + return -1; +- buf += SECTOR_SIZE; ++ buf += get_sector_size(drive); + nsec--; + } + #endif +- if (nread (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) ++ if (nread (fd, buf, nsec * get_sector_size(drive)) != nsec * get_sector_size(drive)) + return -1; + break; + +@@ -987,10 +1115,10 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, + grub_printf ("Write %d sectors starting from %d sector" + " to drive 0x%x (%s)\n", + nsec, sector, drive, device_map[drive]); +- hex_dump (buf, nsec * SECTOR_SIZE); ++ hex_dump (buf, nsec * get_sector_size(drive)); + } + if (! read_only) +- if (nwrite (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) ++ if (nwrite (fd, buf, nsec * get_sector_size(drive)) != nsec * get_sector_size(drive)) + return -1; + break; + +@@ -1273,3 +1401,21 @@ hercules_setcursor (int on) + { + return 1; + } ++ ++int ++grub_load_linux (char *kernel, char *arg) ++{ ++ return 0; ++} ++ ++int ++grub_load_initrd (char *initrd) ++{ ++ return 0; ++} ++ ++int ++grub_chainloader (char *filename) ++{ ++ return 0; ++} +diff --git a/grub/efitftp.c b/grub/efitftp.c +new file mode 100644 +index 0000000..5355dec +--- /dev/null ++++ b/grub/efitftp.c +@@ -0,0 +1,34 @@ ++#include ++#include ++ ++int efi_tftp_mount (void); ++int efi_tftp_read (char *buf, int len); ++int efi_tftp_dir (char *dirname); ++void efi_tftp_close (void); ++ ++int ++efi_tftp_mount (void) ++{ ++ grub_printf("non-efi efi_tftp_mount()\n"); ++ return 0; ++} ++ ++int ++efi_tftp_read (char *addr, int size) ++{ ++ grub_printf ("non-efi efi_tftp_read (0x%x, %d)\n", (long) addr, size); ++ return 0; ++} ++ ++int ++efi_tftp_dir (char *dirname) ++{ ++ grub_printf ("non-efi efi_ftp_dir (%s)\n", dirname); ++ return 0; ++} ++ ++void ++efi_tftp_close (void) ++{ ++ grub_printf ("non-efi efi_tftp_close ()\n"); ++} +diff --git a/grub/main.c b/grub/main.c +index dfe847e..6083641 100644 +--- a/grub/main.c ++++ b/grub/main.c +@@ -140,7 +140,7 @@ main (int argc, char **argv) + program_name = argv[0]; + default_boot_drive = boot_drive; + default_install_partition = install_partition; +- if (config_file) ++ if (config_file[0]) + default_config_file = config_file; + else + default_config_file = "NONE"; +diff --git a/lib/.gitignore b/lib/.gitignore +new file mode 100644 +index 0000000..5d89f6d +--- /dev/null ++++ b/lib/.gitignore +@@ -0,0 +1,2 @@ ++Makefile.in ++.deps +diff --git a/lib/Makefile.in b/lib/Makefile.in +index 3dae206..e46d1c4 100644 +--- a/lib/Makefile.in ++++ b/lib/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -14,17 +14,11 @@ + + @SET_MAKE@ + +-SOURCES = $(libcommon_a_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -42,7 +36,7 @@ subdir = lib + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +@@ -56,7 +50,7 @@ libcommon_a_LIBADD = + am_libcommon_a_OBJECTS = getopt.$(OBJEXT) getopt1.$(OBJEXT) \ + device.$(OBJEXT) + libcommon_a_OBJECTS = $(am_libcommon_a_OBJECTS) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +@@ -69,17 +63,14 @@ ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -88,18 +79,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -107,14 +96,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -128,22 +115,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -155,28 +137,39 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ + noinst_LIBRARIES = libcommon.a + AM_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/stage2 \ + -I$(top_srcdir)/stage1 +@@ -234,19 +227,18 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ + + .c.o: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +-uninstall-info-am: + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ +@@ -297,22 +289,21 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -373,12 +364,20 @@ info-am: + + install-data-am: + ++install-dvi: install-dvi-am ++ + install-exec-am: + ++install-html: install-html-am ++ + install-info: install-info-am + + install-man: + ++install-pdf: install-pdf-am ++ ++install-ps: install-ps-am ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -398,18 +397,22 @@ ps: ps-am + + ps-am: + +-uninstall-am: uninstall-info-am ++uninstall-am: ++ ++.MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ +- install-data-am install-exec install-exec-am install-info \ +- install-info-am install-man install-strip installcheck \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ +- uninstall-am uninstall-info-am ++ uninstall-am + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff --git a/lib/device.c b/lib/device.c +index d0663b3..50540bc 100644 +--- a/lib/device.c ++++ b/lib/device.c +@@ -36,6 +36,9 @@ + #include + #include + ++#define SECTOR_SIZE 0x200 ++#define SECTOR_BITS 9 ++ + #ifdef __linux__ + # if !defined(__GLIBC__) || \ + ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))) +@@ -131,6 +134,152 @@ get_kfreebsd_version () + #include + #include + ++#if defined(__linux__) ++/* The 2.6 kernel has removed all of the geometry handling for IDE drives ++ * that did fixups for LBA, etc. This means that the geometry we get ++ * with the ioctl has a good chance of being wrong. So, we get to ++ * also know about partition tables and try to read what the geometry ++ * is there. *grumble* Very closely based on code from cfdisk ++ */ ++static void get_kernel_geometry(int fd, long long *cyl, int *heads, int *sectors) { ++ struct hd_geometry hdg; ++ ++ if (ioctl (fd, HDIO_GETGEO, &hdg)) ++ return; ++ ++ *cyl = hdg.cylinders; ++ *heads = hdg.heads; ++ *sectors = hdg.sectors; ++} ++ ++struct partition { ++ unsigned char boot_ind; /* 0x80 - active */ ++ unsigned char head; /* starting head */ ++ unsigned char sector; /* starting sector */ ++ unsigned char cyl; /* starting cylinder */ ++ unsigned char sys_ind; /* What partition type */ ++ unsigned char end_head; /* end head */ ++ unsigned char end_sector; /* end sector */ ++ unsigned char end_cyl; /* end cylinder */ ++ unsigned char start4[4]; /* starting sector counting from 0 */ ++ unsigned char size4[4]; /* nr of sectors in partition */ ++}; ++ ++#define ALIGNMENT 2 ++typedef union { ++ struct { ++ unsigned char align[ALIGNMENT]; ++ unsigned char b[SECTOR_SIZE]; ++ } c; ++ struct { ++ unsigned char align[ALIGNMENT]; ++ unsigned char buffer[0x1BE]; ++ struct partition part[4]; ++ unsigned char magicflag[2]; ++ } p; ++} partition_table; ++ ++#define PART_TABLE_FLAG0 0x55 ++#define PART_TABLE_FLAG1 0xAA ++ ++static void ++get_partition_table_geometry(partition_table *bufp, long long *cyl, int *heads, ++ int *sectors) { ++ struct partition *p; ++ int i,h,s,hh,ss; ++ int first = 1; ++ int bad = 0; ++ ++ if (bufp->p.magicflag[0] != PART_TABLE_FLAG0 || ++ bufp->p.magicflag[1] != PART_TABLE_FLAG1) { ++ /* Matthew Wilcox: slightly friendlier version of ++ fatal(_("Bad signature on partition table"), 3); ++ */ ++ fprintf(stderr, "Unknown partition table signature\n"); ++ return; ++ } ++ ++ hh = ss = 0; ++ for (i=0; i<4; i++) { ++ p = &(bufp->p.part[i]); ++ if (p->sys_ind != 0) { ++ h = p->end_head + 1; ++ s = (p->end_sector & 077); ++ if (first) { ++ hh = h; ++ ss = s; ++ first = 0; ++ } else if (hh != h || ss != s) ++ bad = 1; ++ } ++ } ++ ++ if (!first && !bad) { ++ *heads = hh; ++ *sectors = ss; ++ } ++} ++ ++static long long my_lseek (unsigned int fd, long long offset, ++ unsigned int origin) ++{ ++#if defined(__linux__) && (!defined(__GLIBC__) || \ ++ ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))) ++ /* Maybe libc doesn't have large file support. */ ++ loff_t offset, result; ++ static int _llseek (uint filedes, ulong hi, ulong lo, ++ loff_t *res, uint wh); ++ _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo, ++ loff_t *, res, uint, wh); ++ ++ if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET) < 0) ++ return (long long) -1; ++ return result; ++#else ++ return lseek(fd, offset, SEEK_SET); ++#endif ++} ++ ++static void get_linux_geometry (int fd, struct geometry *geom) { ++ long long kern_cyl = 0; int kern_head = 0, kern_sectors = 0; ++ long long pt_cyl = 0; int pt_head = 0, pt_sectors = 0; ++ partition_table bufp; ++ char *buff, *buf_unaligned; ++ ++ buf_unaligned = malloc(sizeof(partition_table) + 4095); ++ buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) & ++ (~(4096-1))); ++ ++ get_kernel_geometry(fd, &kern_cyl, &kern_head, &kern_sectors); ++ ++ if (my_lseek (fd, 0*SECTOR_SIZE, SEEK_SET) < 0) { ++ fprintf(stderr, "Unable to seek"); ++ } ++ ++ if (read(fd, buff, SECTOR_SIZE) == SECTOR_SIZE) { ++ memcpy(bufp.c.b, buff, SECTOR_SIZE); ++ get_partition_table_geometry(&bufp, &pt_cyl, &pt_head, &pt_sectors); ++ } else { ++ fprintf(stderr, "Unable to read partition table: %s\n", strerror(errno)); ++ } ++ ++ if (pt_head && pt_sectors) { ++ int cyl_size; ++ ++ geom->heads = pt_head; ++ geom->sectors = pt_sectors; ++ cyl_size = pt_head * pt_sectors; ++ geom->cylinders = geom->total_sectors/cyl_size; ++ } else { ++ geom->heads = kern_head; ++ geom->sectors = kern_sectors; ++ geom->cylinders = kern_cyl; ++ } ++ ++ return; ++} ++#endif ++ + /* Get the geometry of a drive DRIVE. */ + void + get_drive_geometry (struct geometry *geom, char **map, int drive) +@@ -151,21 +300,16 @@ get_drive_geometry (struct geometry *geom, char **map, int drive) + #if defined(__linux__) + /* Linux */ + { +- struct hd_geometry hdg; + unsigned long nr; +- +- if (ioctl (fd, HDIO_GETGEO, &hdg)) +- goto fail; + + if (ioctl (fd, BLKGETSIZE, &nr)) + goto fail; + + /* Got the geometry, so save it. */ +- geom->cylinders = hdg.cylinders; +- geom->heads = hdg.heads; +- geom->sectors = hdg.sectors; + geom->total_sectors = nr; +- ++ get_linux_geometry(fd, geom); ++ if (!geom->heads && !geom->cylinders && !geom->sectors) ++ goto fail; + goto success; + } + +@@ -403,10 +547,27 @@ get_dac960_disk_name (char *name, int controller, int drive) + } + + static void ++get_cciss_disk_name (char * name, int controller, int drive) ++{ ++ sprintf (name, "/dev/cciss/c%dd%d", controller, drive); ++} ++ ++static void ++get_cpqarray_disk_name (char * name, int controller, int drive) ++{ ++ sprintf (name, "/dev/ida/c%dd%d", controller, drive); ++} ++static void + get_ataraid_disk_name (char *name, int unit) + { + sprintf (name, "/dev/ataraid/d%c", unit + '0'); + } ++ ++static void ++get_i2o_disk_name (char *name, int unit) ++{ ++ sprintf (name, "/dev/i2o/hd%c", unit + 'a'); ++} + #endif + + /* Check if DEVICE can be read. If an error occurs, return zero, +@@ -490,27 +651,24 @@ check_device (const char *device) + } + + /* Read mapping information from FP, and write it to MAP. */ ++static void rdm_show_error (const char *map_file, int no, const char *msg) ++{ ++ fprintf (stderr, "%s:%d: error: %s\n", map_file, no, msg); ++} ++ ++static void rdm_show_warning (const char *map_file,int no, const char *msg, ...) ++{ ++ va_list ap; ++ ++ va_start (ap, msg); ++ fprintf (stderr, "%s:%d: warning: ", map_file, no); ++ vfprintf (stderr, msg, ap); ++ va_end (ap); ++} ++ + static int + read_device_map (FILE *fp, char **map, const char *map_file) + { +- auto void show_error (int no, const char *msg); +- auto void show_warning (int no, const char *msg, ...); +- +- auto void show_error (int no, const char *msg) +- { +- fprintf (stderr, "%s:%d: error: %s\n", map_file, no, msg); +- } +- +- auto void show_warning (int no, const char *msg, ...) +- { +- va_list ap; +- +- va_start (ap, msg); +- fprintf (stderr, "%s:%d: warning: ", map_file, no); +- vfprintf (stderr, msg, ap); +- va_end (ap); +- } +- + /* If there is the device map file, use the data in it instead of + probing devices. */ + char buf[1024]; /* XXX */ +@@ -540,14 +698,14 @@ read_device_map (FILE *fp, char **map, const char *map_file) + + if (*ptr != '(') + { +- show_error (line_number, "No open parenthesis found"); ++ rdm_show_error (map_file, line_number, "No open parenthesis found"); + return 0; + } + + ptr++; + if ((*ptr != 'f' && *ptr != 'h') || *(ptr + 1) != 'd') + { +- show_error (line_number, "Bad drive name"); ++ rdm_show_error (map_file, line_number, "Bad drive name"); + return 0; + } + +@@ -558,12 +716,12 @@ read_device_map (FILE *fp, char **map, const char *map_file) + drive = strtoul (ptr, &ptr, 10); + if (drive < 0) + { +- show_error (line_number, "Bad device number"); ++ rdm_show_error (map_file, line_number, "Bad device number"); + return 0; + } + else if (drive > 127) + { +- show_warning (line_number, ++ rdm_show_warning (map_file, line_number, + "Ignoring %cd%d due to a BIOS limitation", + is_floppy ? 'f' : 'h', drive); + continue; +@@ -574,7 +732,7 @@ read_device_map (FILE *fp, char **map, const char *map_file) + + if (*ptr != ')') + { +- show_error (line_number, "No close parenthesis found"); ++ rdm_show_error (map_file, line_number, "No close parenthesis found"); + return 0; + } + +@@ -585,7 +743,7 @@ read_device_map (FILE *fp, char **map, const char *map_file) + + if (! *ptr) + { +- show_error (line_number, "No filename found"); ++ rdm_show_error (map_file, line_number, "No filename found"); + return 0; + } + +@@ -598,7 +756,7 @@ read_device_map (FILE *fp, char **map, const char *map_file) + /* Multiple entries for a given drive is not allowed. */ + if (map[drive]) + { +- show_error (line_number, "Duplicated entry found"); ++ rdm_show_error (map_file, line_number, "Duplicated entry found"); + return 0; + } + +@@ -782,7 +940,7 @@ init_device_map (char ***map, const char *map_file, int floppy_disks) + + for (controller = 0; controller < 8; controller++) + { +- for (drive = 0; drive < 15; drive++) ++ for (drive = 0; drive < 32; drive++) + { + char name[24]; + +@@ -801,6 +959,90 @@ init_device_map (char ***map, const char *map_file, int floppy_disks) + } + } + } ++ ++ /* I2O disks. */ ++ for (i = 0; i < 8; i++) ++ { ++ char name[16]; ++ ++ get_i2o_disk_name (name, i); ++ if (check_device (name)) ++ { ++ (*map)[num_hd + 0x80] = strdup (name); ++ assert ((*map)[num_hd + 0x80]); ++ ++ /* If the device map file is opened, write the map. */ ++ if (fp) ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); ++ ++ num_hd++; ++ } ++ } ++ ++#endif /* __linux__ */ ++ ++#ifdef __linux__ ++ /* This is for cciss - we have ++ /dev/cciss/cdp. ++ ++ cciss driver currently supports up to 8 controllers, 16 logical ++ drives, and 7 partitions. */ ++ { ++ int controller, drive; ++ ++ for (controller = 0; controller < 8; controller++) ++ { ++ for (drive = 0; drive < 16; drive++) ++ { ++ char name[24]; ++ ++ get_cciss_disk_name (name, controller, drive); ++ if (check_device (name)) ++ { ++ (*map)[num_hd + 0x80] = strdup (name); ++ assert ((*map)[num_hd + 0x80]); ++ ++ /* If the device map file is opened, write the map. */ ++ if (fp) ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); ++ ++ num_hd++; ++ } ++ } ++ } ++ } ++#endif /* __linux__ */ ++ ++#ifdef __linux__ ++ /* This is for cpqarray - we have ++ /dev/ida/cdp. ++ ++ cpqarray driver currently supports up to 8 controllers, 16 logical ++ drives, and 15 partitions. */ ++ { ++ int controller, drive; ++ ++ for (controller = 0; controller < 8; controller++) ++ { ++ for (drive = 0; drive < 15; drive++) ++ { ++ char name[24]; ++ ++ get_cpqarray_disk_name (name, controller, drive); ++ if (check_device (name)) ++ { ++ (*map)[num_hd + 0x80] = strdup (name); ++ assert ((*map)[num_hd + 0x80]); ++ ++ /* If the device map file is opened, write the map. */ ++ if (fp) ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); ++ ++ num_hd++; ++ } ++ } ++ } ++ } + #endif /* __linux__ */ + + /* OK, close the device map file if opened. */ +@@ -844,6 +1086,7 @@ write_to_partition (char **map, int drive, int partition, + { + char dev[PATH_MAX]; /* XXX */ + int fd; ++ off_t offset = (off_t) sector * (off_t) SECTOR_SIZE; + + if ((partition & 0x00FF00) != 0x00FF00) + { +@@ -861,44 +1104,35 @@ write_to_partition (char **map, int drive, int partition, + if (strcmp (dev + strlen(dev) - 5, "/disc") == 0) + strcpy (dev + strlen(dev) - 5, "/part"); + } +- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1); ++ ++ sprintf (dev + strlen(dev), "%s%d", ++ /* Compaq smart and others */ ++ (strncmp(dev, "/dev/ida/", 9) == 0 || ++ strncmp(dev, "/dev/ataraid/", 13) == 0 || ++ strncmp(dev, "/dev/mapper/", 12) == 0 || ++ strncmp(dev, "/dev/md", 7) == 0 || ++ strncmp(dev, "/dev/cciss/", 11) == 0 || ++ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "", ++ ((partition >> 16) & 0xFF) + 1); + + /* Open the partition. */ + fd = open (dev, O_RDWR); + if (fd < 0) + { ++ /* No partition file, pass thru and not worry about ++ * cache inconsistency. */ ++ if (errno == ENOENT) ++ return -1; + errnum = ERR_NO_PART; + return 0; + } +- +-#if defined(__linux__) && (!defined(__GLIBC__) || \ +- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))) +- /* Maybe libc doesn't have large file support. */ +- { +- loff_t offset, result; +- static int _llseek (uint filedes, ulong hi, ulong lo, +- loff_t *res, uint wh); +- _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo, +- loff_t *, res, uint, wh); +- +- offset = (loff_t) sector * (loff_t) SECTOR_SIZE; +- if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET)) +- { +- errnum = ERR_DEV_VALUES; +- return 0; +- } +- } +-#else +- { +- off_t offset = (off_t) sector * (off_t) SECTOR_SIZE; + +- if (lseek (fd, offset, SEEK_SET) != offset) +- { +- errnum = ERR_DEV_VALUES; +- return 0; +- } +- } +-#endif ++ ++ if (my_lseek(fd, offset, SEEK_SET) != offset) ++ { ++ errnum = ERR_DEV_VALUES; ++ return 0; ++ } + + if (write (fd, buf, size * SECTOR_SIZE) != (size * SECTOR_SIZE)) + { +diff --git a/netboot/.gitignore b/netboot/.gitignore +new file mode 100644 +index 0000000..5d89f6d +--- /dev/null ++++ b/netboot/.gitignore +@@ -0,0 +1,2 @@ ++Makefile.in ++.deps +diff --git a/netboot/Makefile.in b/netboot/Makefile.in +index 75ac299..3a6a501 100644 +--- a/netboot/Makefile.in ++++ b/netboot/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -14,17 +14,11 @@ + + @SET_MAKE@ + +-SOURCES = $(libdrivers_a_SOURCES) $(EXTRA_libdrivers_a_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -42,7 +36,7 @@ subdir = netboot + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +@@ -57,7 +51,7 @@ am_libdrivers_a_OBJECTS = libdrivers_a-config.$(OBJEXT) \ + libdrivers_a-misc.$(OBJEXT) libdrivers_a-pci.$(OBJEXT) \ + libdrivers_a-timer.$(OBJEXT) + libdrivers_a_OBJECTS = $(am_libdrivers_a_OBJECTS) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +@@ -70,17 +64,14 @@ ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -89,18 +80,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -108,14 +97,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -129,22 +116,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -156,28 +138,39 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ + + # For and . + INCLUDES = -I$(top_srcdir)/stage2 -I$(top_srcdir)/stage1 +@@ -349,453 +342,452 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdrivers_a-w89c840.Po@am__quote@ + + .c.o: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + + libdrivers_a-config.o: config.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-config.Tpo" -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-config.Tpo" "$(DEPDIR)/libdrivers_a-config.Po"; else rm -f "$(DEPDIR)/libdrivers_a-config.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.o -MD -MP -MF $(DEPDIR)/libdrivers_a-config.Tpo -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-config.Tpo $(DEPDIR)/libdrivers_a-config.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='libdrivers_a-config.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c + + libdrivers_a-config.obj: config.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-config.Tpo" -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-config.Tpo" "$(DEPDIR)/libdrivers_a-config.Po"; else rm -f "$(DEPDIR)/libdrivers_a-config.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-config.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-config.Tpo -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-config.Tpo $(DEPDIR)/libdrivers_a-config.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='libdrivers_a-config.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` + + libdrivers_a-fsys_tftp.o: fsys_tftp.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" "$(DEPDIR)/libdrivers_a-fsys_tftp.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.o -MD -MP -MF $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo $(DEPDIR)/libdrivers_a-fsys_tftp.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_tftp.c' object='libdrivers_a-fsys_tftp.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fsys_tftp.o `test -f 'fsys_tftp.c' || echo '$(srcdir)/'`fsys_tftp.c + + libdrivers_a-fsys_tftp.obj: fsys_tftp.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo" "$(DEPDIR)/libdrivers_a-fsys_tftp.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fsys_tftp.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fsys_tftp.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fsys_tftp.Tpo $(DEPDIR)/libdrivers_a-fsys_tftp.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_tftp.c' object='libdrivers_a-fsys_tftp.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fsys_tftp.obj `if test -f 'fsys_tftp.c'; then $(CYGPATH_W) 'fsys_tftp.c'; else $(CYGPATH_W) '$(srcdir)/fsys_tftp.c'; fi` + + libdrivers_a-main.o: main.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-main.Tpo" -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-main.Tpo" "$(DEPDIR)/libdrivers_a-main.Po"; else rm -f "$(DEPDIR)/libdrivers_a-main.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.o -MD -MP -MF $(DEPDIR)/libdrivers_a-main.Tpo -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-main.Tpo $(DEPDIR)/libdrivers_a-main.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='libdrivers_a-main.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c + + libdrivers_a-main.obj: main.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-main.Tpo" -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-main.Tpo" "$(DEPDIR)/libdrivers_a-main.Po"; else rm -f "$(DEPDIR)/libdrivers_a-main.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-main.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-main.Tpo -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-main.Tpo $(DEPDIR)/libdrivers_a-main.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='libdrivers_a-main.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` + + libdrivers_a-misc.o: misc.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-misc.Tpo" -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-misc.Tpo" "$(DEPDIR)/libdrivers_a-misc.Po"; else rm -f "$(DEPDIR)/libdrivers_a-misc.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.o -MD -MP -MF $(DEPDIR)/libdrivers_a-misc.Tpo -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-misc.Tpo $(DEPDIR)/libdrivers_a-misc.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc.c' object='libdrivers_a-misc.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c + + libdrivers_a-misc.obj: misc.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-misc.Tpo" -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-misc.Tpo" "$(DEPDIR)/libdrivers_a-misc.Po"; else rm -f "$(DEPDIR)/libdrivers_a-misc.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-misc.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-misc.Tpo -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-misc.Tpo $(DEPDIR)/libdrivers_a-misc.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='misc.c' object='libdrivers_a-misc.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` + + libdrivers_a-pci.o: pci.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci.Tpo" -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci.Tpo" "$(DEPDIR)/libdrivers_a-pci.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.o -MD -MP -MF $(DEPDIR)/libdrivers_a-pci.Tpo -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-pci.Tpo $(DEPDIR)/libdrivers_a-pci.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci.c' object='libdrivers_a-pci.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci.o `test -f 'pci.c' || echo '$(srcdir)/'`pci.c + + libdrivers_a-pci.obj: pci.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-pci.Tpo" -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-pci.Tpo" "$(DEPDIR)/libdrivers_a-pci.Po"; else rm -f "$(DEPDIR)/libdrivers_a-pci.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-pci.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-pci.Tpo -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-pci.Tpo $(DEPDIR)/libdrivers_a-pci.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pci.c' object='libdrivers_a-pci.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-pci.obj `if test -f 'pci.c'; then $(CYGPATH_W) 'pci.c'; else $(CYGPATH_W) '$(srcdir)/pci.c'; fi` + + libdrivers_a-timer.o: timer.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-timer.Tpo" -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-timer.Tpo" "$(DEPDIR)/libdrivers_a-timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-timer.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.o -MD -MP -MF $(DEPDIR)/libdrivers_a-timer.Tpo -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-timer.Tpo $(DEPDIR)/libdrivers_a-timer.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='timer.c' object='libdrivers_a-timer.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-timer.o `test -f 'timer.c' || echo '$(srcdir)/'`timer.c + + libdrivers_a-timer.obj: timer.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-timer.Tpo" -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-timer.Tpo" "$(DEPDIR)/libdrivers_a-timer.Po"; else rm -f "$(DEPDIR)/libdrivers_a-timer.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-timer.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-timer.Tpo -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-timer.Tpo $(DEPDIR)/libdrivers_a-timer.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='timer.c' object='libdrivers_a-timer.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-timer.obj `if test -f 'timer.c'; then $(CYGPATH_W) 'timer.c'; else $(CYGPATH_W) '$(srcdir)/timer.c'; fi` + + libdrivers_a-3c509.o: 3c509.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c509.Tpo" -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c509.Tpo" "$(DEPDIR)/libdrivers_a-3c509.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c509.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.o -MD -MP -MF $(DEPDIR)/libdrivers_a-3c509.Tpo -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c509.Tpo $(DEPDIR)/libdrivers_a-3c509.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c509.c' object='libdrivers_a-3c509.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c509.o `test -f '3c509.c' || echo '$(srcdir)/'`3c509.c + + libdrivers_a-3c509.obj: 3c509.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c509.Tpo" -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c509.Tpo" "$(DEPDIR)/libdrivers_a-3c509.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c509.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c509.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-3c509.Tpo -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c509.Tpo $(DEPDIR)/libdrivers_a-3c509.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c509.c' object='libdrivers_a-3c509.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c509.obj `if test -f '3c509.c'; then $(CYGPATH_W) '3c509.c'; else $(CYGPATH_W) '$(srcdir)/3c509.c'; fi` + + libdrivers_a-3c595.o: 3c595.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c595.Tpo" -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c595.Tpo" "$(DEPDIR)/libdrivers_a-3c595.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c595.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.o -MD -MP -MF $(DEPDIR)/libdrivers_a-3c595.Tpo -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c595.Tpo $(DEPDIR)/libdrivers_a-3c595.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c595.c' object='libdrivers_a-3c595.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c595.o `test -f '3c595.c' || echo '$(srcdir)/'`3c595.c + + libdrivers_a-3c595.obj: 3c595.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c595.Tpo" -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c595.Tpo" "$(DEPDIR)/libdrivers_a-3c595.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c595.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c595.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-3c595.Tpo -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c595.Tpo $(DEPDIR)/libdrivers_a-3c595.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c595.c' object='libdrivers_a-3c595.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c595.obj `if test -f '3c595.c'; then $(CYGPATH_W) '3c595.c'; else $(CYGPATH_W) '$(srcdir)/3c595.c'; fi` + + libdrivers_a-3c90x.o: 3c90x.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c90x.Tpo" -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo" "$(DEPDIR)/libdrivers_a-3c90x.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.o -MD -MP -MF $(DEPDIR)/libdrivers_a-3c90x.Tpo -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c90x.Tpo $(DEPDIR)/libdrivers_a-3c90x.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c90x.c' object='libdrivers_a-3c90x.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c90x.o `test -f '3c90x.c' || echo '$(srcdir)/'`3c90x.c + + libdrivers_a-3c90x.obj: 3c90x.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-3c90x.Tpo" -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo" "$(DEPDIR)/libdrivers_a-3c90x.Po"; else rm -f "$(DEPDIR)/libdrivers_a-3c90x.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-3c90x.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-3c90x.Tpo -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-3c90x.Tpo $(DEPDIR)/libdrivers_a-3c90x.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='3c90x.c' object='libdrivers_a-3c90x.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-3c90x.obj `if test -f '3c90x.c'; then $(CYGPATH_W) '3c90x.c'; else $(CYGPATH_W) '$(srcdir)/3c90x.c'; fi` + + libdrivers_a-cs89x0.o: cs89x0.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" "$(DEPDIR)/libdrivers_a-cs89x0.Po"; else rm -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.o -MD -MP -MF $(DEPDIR)/libdrivers_a-cs89x0.Tpo -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-cs89x0.Tpo $(DEPDIR)/libdrivers_a-cs89x0.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cs89x0.c' object='libdrivers_a-cs89x0.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-cs89x0.o `test -f 'cs89x0.c' || echo '$(srcdir)/'`cs89x0.c + + libdrivers_a-cs89x0.obj: cs89x0.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo" "$(DEPDIR)/libdrivers_a-cs89x0.Po"; else rm -f "$(DEPDIR)/libdrivers_a-cs89x0.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-cs89x0.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-cs89x0.Tpo -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-cs89x0.Tpo $(DEPDIR)/libdrivers_a-cs89x0.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cs89x0.c' object='libdrivers_a-cs89x0.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-cs89x0.obj `if test -f 'cs89x0.c'; then $(CYGPATH_W) 'cs89x0.c'; else $(CYGPATH_W) '$(srcdir)/cs89x0.c'; fi` + + libdrivers_a-davicom.o: davicom.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-davicom.Tpo" -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-davicom.Tpo" "$(DEPDIR)/libdrivers_a-davicom.Po"; else rm -f "$(DEPDIR)/libdrivers_a-davicom.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.o -MD -MP -MF $(DEPDIR)/libdrivers_a-davicom.Tpo -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-davicom.Tpo $(DEPDIR)/libdrivers_a-davicom.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='davicom.c' object='libdrivers_a-davicom.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-davicom.o `test -f 'davicom.c' || echo '$(srcdir)/'`davicom.c + + libdrivers_a-davicom.obj: davicom.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-davicom.Tpo" -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-davicom.Tpo" "$(DEPDIR)/libdrivers_a-davicom.Po"; else rm -f "$(DEPDIR)/libdrivers_a-davicom.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-davicom.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-davicom.Tpo -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-davicom.Tpo $(DEPDIR)/libdrivers_a-davicom.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='davicom.c' object='libdrivers_a-davicom.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-davicom.obj `if test -f 'davicom.c'; then $(CYGPATH_W) 'davicom.c'; else $(CYGPATH_W) '$(srcdir)/davicom.c'; fi` + + libdrivers_a-depca.o: depca.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-depca.Tpo" -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-depca.Tpo" "$(DEPDIR)/libdrivers_a-depca.Po"; else rm -f "$(DEPDIR)/libdrivers_a-depca.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.o -MD -MP -MF $(DEPDIR)/libdrivers_a-depca.Tpo -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-depca.Tpo $(DEPDIR)/libdrivers_a-depca.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='depca.c' object='libdrivers_a-depca.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-depca.o `test -f 'depca.c' || echo '$(srcdir)/'`depca.c + + libdrivers_a-depca.obj: depca.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-depca.Tpo" -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-depca.Tpo" "$(DEPDIR)/libdrivers_a-depca.Po"; else rm -f "$(DEPDIR)/libdrivers_a-depca.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-depca.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-depca.Tpo -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-depca.Tpo $(DEPDIR)/libdrivers_a-depca.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='depca.c' object='libdrivers_a-depca.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-depca.obj `if test -f 'depca.c'; then $(CYGPATH_W) 'depca.c'; else $(CYGPATH_W) '$(srcdir)/depca.c'; fi` + + libdrivers_a-eepro.o: eepro.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro.Tpo" -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro.Tpo" "$(DEPDIR)/libdrivers_a-eepro.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.o -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro.Tpo -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro.Tpo $(DEPDIR)/libdrivers_a-eepro.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro.c' object='libdrivers_a-eepro.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro.o `test -f 'eepro.c' || echo '$(srcdir)/'`eepro.c + + libdrivers_a-eepro.obj: eepro.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro.Tpo" -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro.Tpo" "$(DEPDIR)/libdrivers_a-eepro.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro.Tpo -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro.Tpo $(DEPDIR)/libdrivers_a-eepro.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro.c' object='libdrivers_a-eepro.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro.obj `if test -f 'eepro.c'; then $(CYGPATH_W) 'eepro.c'; else $(CYGPATH_W) '$(srcdir)/eepro.c'; fi` + + libdrivers_a-eepro100.o: eepro100.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro100.Tpo" -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo" "$(DEPDIR)/libdrivers_a-eepro100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.o -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro100.Tpo -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro100.Tpo $(DEPDIR)/libdrivers_a-eepro100.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro100.c' object='libdrivers_a-eepro100.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro100.o `test -f 'eepro100.c' || echo '$(srcdir)/'`eepro100.c + + libdrivers_a-eepro100.obj: eepro100.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-eepro100.Tpo" -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo" "$(DEPDIR)/libdrivers_a-eepro100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-eepro100.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-eepro100.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-eepro100.Tpo -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-eepro100.Tpo $(DEPDIR)/libdrivers_a-eepro100.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eepro100.c' object='libdrivers_a-eepro100.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-eepro100.obj `if test -f 'eepro100.c'; then $(CYGPATH_W) 'eepro100.c'; else $(CYGPATH_W) '$(srcdir)/eepro100.c'; fi` + + libdrivers_a-epic100.o: epic100.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-epic100.Tpo" -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-epic100.Tpo" "$(DEPDIR)/libdrivers_a-epic100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-epic100.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.o -MD -MP -MF $(DEPDIR)/libdrivers_a-epic100.Tpo -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-epic100.Tpo $(DEPDIR)/libdrivers_a-epic100.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='epic100.c' object='libdrivers_a-epic100.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-epic100.o `test -f 'epic100.c' || echo '$(srcdir)/'`epic100.c + + libdrivers_a-epic100.obj: epic100.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-epic100.Tpo" -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-epic100.Tpo" "$(DEPDIR)/libdrivers_a-epic100.Po"; else rm -f "$(DEPDIR)/libdrivers_a-epic100.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-epic100.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-epic100.Tpo -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-epic100.Tpo $(DEPDIR)/libdrivers_a-epic100.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='epic100.c' object='libdrivers_a-epic100.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-epic100.obj `if test -f 'epic100.c'; then $(CYGPATH_W) 'epic100.c'; else $(CYGPATH_W) '$(srcdir)/epic100.c'; fi` + + libdrivers_a-fa311.o: fa311.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-fa311.Tpo" -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fa311.Tpo" "$(DEPDIR)/libdrivers_a-fa311.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fa311.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.o -MD -MP -MF $(DEPDIR)/libdrivers_a-fa311.Tpo -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fa311.Tpo $(DEPDIR)/libdrivers_a-fa311.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fa311.c' object='libdrivers_a-fa311.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fa311.o `test -f 'fa311.c' || echo '$(srcdir)/'`fa311.c + + libdrivers_a-fa311.obj: fa311.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-fa311.Tpo" -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-fa311.Tpo" "$(DEPDIR)/libdrivers_a-fa311.Po"; else rm -f "$(DEPDIR)/libdrivers_a-fa311.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-fa311.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-fa311.Tpo -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-fa311.Tpo $(DEPDIR)/libdrivers_a-fa311.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fa311.c' object='libdrivers_a-fa311.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-fa311.obj `if test -f 'fa311.c'; then $(CYGPATH_W) 'fa311.c'; else $(CYGPATH_W) '$(srcdir)/fa311.c'; fi` + + libdrivers_a-i82586.o: i82586.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-i82586.Tpo" -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i82586.Tpo" "$(DEPDIR)/libdrivers_a-i82586.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i82586.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.o -MD -MP -MF $(DEPDIR)/libdrivers_a-i82586.Tpo -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-i82586.Tpo $(DEPDIR)/libdrivers_a-i82586.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i82586.c' object='libdrivers_a-i82586.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i82586.o `test -f 'i82586.c' || echo '$(srcdir)/'`i82586.c + + libdrivers_a-i82586.obj: i82586.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-i82586.Tpo" -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-i82586.Tpo" "$(DEPDIR)/libdrivers_a-i82586.Po"; else rm -f "$(DEPDIR)/libdrivers_a-i82586.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-i82586.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-i82586.Tpo -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-i82586.Tpo $(DEPDIR)/libdrivers_a-i82586.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='i82586.c' object='libdrivers_a-i82586.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-i82586.obj `if test -f 'i82586.c'; then $(CYGPATH_W) 'i82586.c'; else $(CYGPATH_W) '$(srcdir)/i82586.c'; fi` + + libdrivers_a-lance.o: lance.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-lance.Tpo" -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-lance.Tpo" "$(DEPDIR)/libdrivers_a-lance.Po"; else rm -f "$(DEPDIR)/libdrivers_a-lance.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.o -MD -MP -MF $(DEPDIR)/libdrivers_a-lance.Tpo -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-lance.Tpo $(DEPDIR)/libdrivers_a-lance.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lance.c' object='libdrivers_a-lance.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-lance.o `test -f 'lance.c' || echo '$(srcdir)/'`lance.c + + libdrivers_a-lance.obj: lance.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-lance.Tpo" -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-lance.Tpo" "$(DEPDIR)/libdrivers_a-lance.Po"; else rm -f "$(DEPDIR)/libdrivers_a-lance.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-lance.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-lance.Tpo -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-lance.Tpo $(DEPDIR)/libdrivers_a-lance.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lance.c' object='libdrivers_a-lance.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-lance.obj `if test -f 'lance.c'; then $(CYGPATH_W) 'lance.c'; else $(CYGPATH_W) '$(srcdir)/lance.c'; fi` + + libdrivers_a-natsemi.o: natsemi.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-natsemi.Tpo" -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo" "$(DEPDIR)/libdrivers_a-natsemi.Po"; else rm -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.o -MD -MP -MF $(DEPDIR)/libdrivers_a-natsemi.Tpo -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-natsemi.Tpo $(DEPDIR)/libdrivers_a-natsemi.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='natsemi.c' object='libdrivers_a-natsemi.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-natsemi.o `test -f 'natsemi.c' || echo '$(srcdir)/'`natsemi.c + + libdrivers_a-natsemi.obj: natsemi.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-natsemi.Tpo" -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo" "$(DEPDIR)/libdrivers_a-natsemi.Po"; else rm -f "$(DEPDIR)/libdrivers_a-natsemi.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-natsemi.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-natsemi.Tpo -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-natsemi.Tpo $(DEPDIR)/libdrivers_a-natsemi.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='natsemi.c' object='libdrivers_a-natsemi.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-natsemi.obj `if test -f 'natsemi.c'; then $(CYGPATH_W) 'natsemi.c'; else $(CYGPATH_W) '$(srcdir)/natsemi.c'; fi` + + libdrivers_a-ni5010.o: ni5010.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ni5010.Tpo" -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo" "$(DEPDIR)/libdrivers_a-ni5010.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.o -MD -MP -MF $(DEPDIR)/libdrivers_a-ni5010.Tpo -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ni5010.Tpo $(DEPDIR)/libdrivers_a-ni5010.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ni5010.c' object='libdrivers_a-ni5010.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ni5010.o `test -f 'ni5010.c' || echo '$(srcdir)/'`ni5010.c + + libdrivers_a-ni5010.obj: ni5010.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ni5010.Tpo" -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo" "$(DEPDIR)/libdrivers_a-ni5010.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ni5010.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ni5010.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-ni5010.Tpo -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ni5010.Tpo $(DEPDIR)/libdrivers_a-ni5010.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ni5010.c' object='libdrivers_a-ni5010.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ni5010.obj `if test -f 'ni5010.c'; then $(CYGPATH_W) 'ni5010.c'; else $(CYGPATH_W) '$(srcdir)/ni5010.c'; fi` + + libdrivers_a-ns8390.o: ns8390.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns8390.Tpo" -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo" "$(DEPDIR)/libdrivers_a-ns8390.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.o -MD -MP -MF $(DEPDIR)/libdrivers_a-ns8390.Tpo -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ns8390.Tpo $(DEPDIR)/libdrivers_a-ns8390.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns8390.c' object='libdrivers_a-ns8390.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns8390.o `test -f 'ns8390.c' || echo '$(srcdir)/'`ns8390.c + + libdrivers_a-ns8390.obj: ns8390.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-ns8390.Tpo" -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo" "$(DEPDIR)/libdrivers_a-ns8390.Po"; else rm -f "$(DEPDIR)/libdrivers_a-ns8390.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-ns8390.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-ns8390.Tpo -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-ns8390.Tpo $(DEPDIR)/libdrivers_a-ns8390.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ns8390.c' object='libdrivers_a-ns8390.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-ns8390.obj `if test -f 'ns8390.c'; then $(CYGPATH_W) 'ns8390.c'; else $(CYGPATH_W) '$(srcdir)/ns8390.c'; fi` + + libdrivers_a-otulip.o: otulip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-otulip.Tpo" -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-otulip.Tpo" "$(DEPDIR)/libdrivers_a-otulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-otulip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.o -MD -MP -MF $(DEPDIR)/libdrivers_a-otulip.Tpo -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-otulip.Tpo $(DEPDIR)/libdrivers_a-otulip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='otulip.c' object='libdrivers_a-otulip.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-otulip.o `test -f 'otulip.c' || echo '$(srcdir)/'`otulip.c + + libdrivers_a-otulip.obj: otulip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-otulip.Tpo" -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-otulip.Tpo" "$(DEPDIR)/libdrivers_a-otulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-otulip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-otulip.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-otulip.Tpo -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-otulip.Tpo $(DEPDIR)/libdrivers_a-otulip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='otulip.c' object='libdrivers_a-otulip.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-otulip.obj `if test -f 'otulip.c'; then $(CYGPATH_W) 'otulip.c'; else $(CYGPATH_W) '$(srcdir)/otulip.c'; fi` + + libdrivers_a-rtl8139.o: rtl8139.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" "$(DEPDIR)/libdrivers_a-rtl8139.Po"; else rm -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.o -MD -MP -MF $(DEPDIR)/libdrivers_a-rtl8139.Tpo -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-rtl8139.Tpo $(DEPDIR)/libdrivers_a-rtl8139.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtl8139.c' object='libdrivers_a-rtl8139.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-rtl8139.o `test -f 'rtl8139.c' || echo '$(srcdir)/'`rtl8139.c + + libdrivers_a-rtl8139.obj: rtl8139.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo" "$(DEPDIR)/libdrivers_a-rtl8139.Po"; else rm -f "$(DEPDIR)/libdrivers_a-rtl8139.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-rtl8139.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-rtl8139.Tpo -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-rtl8139.Tpo $(DEPDIR)/libdrivers_a-rtl8139.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtl8139.c' object='libdrivers_a-rtl8139.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-rtl8139.obj `if test -f 'rtl8139.c'; then $(CYGPATH_W) 'rtl8139.c'; else $(CYGPATH_W) '$(srcdir)/rtl8139.c'; fi` + + libdrivers_a-sis900.o: sis900.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-sis900.Tpo" -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sis900.Tpo" "$(DEPDIR)/libdrivers_a-sis900.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sis900.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.o -MD -MP -MF $(DEPDIR)/libdrivers_a-sis900.Tpo -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sis900.Tpo $(DEPDIR)/libdrivers_a-sis900.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sis900.c' object='libdrivers_a-sis900.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sis900.o `test -f 'sis900.c' || echo '$(srcdir)/'`sis900.c + + libdrivers_a-sis900.obj: sis900.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-sis900.Tpo" -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sis900.Tpo" "$(DEPDIR)/libdrivers_a-sis900.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sis900.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sis900.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-sis900.Tpo -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sis900.Tpo $(DEPDIR)/libdrivers_a-sis900.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sis900.c' object='libdrivers_a-sis900.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sis900.obj `if test -f 'sis900.c'; then $(CYGPATH_W) 'sis900.c'; else $(CYGPATH_W) '$(srcdir)/sis900.c'; fi` + + libdrivers_a-sk_g16.o: sk_g16.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" "$(DEPDIR)/libdrivers_a-sk_g16.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.o -MD -MP -MF $(DEPDIR)/libdrivers_a-sk_g16.Tpo -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sk_g16.Tpo $(DEPDIR)/libdrivers_a-sk_g16.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sk_g16.c' object='libdrivers_a-sk_g16.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sk_g16.o `test -f 'sk_g16.c' || echo '$(srcdir)/'`sk_g16.c + + libdrivers_a-sk_g16.obj: sk_g16.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo" "$(DEPDIR)/libdrivers_a-sk_g16.Po"; else rm -f "$(DEPDIR)/libdrivers_a-sk_g16.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-sk_g16.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-sk_g16.Tpo -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-sk_g16.Tpo $(DEPDIR)/libdrivers_a-sk_g16.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sk_g16.c' object='libdrivers_a-sk_g16.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-sk_g16.obj `if test -f 'sk_g16.c'; then $(CYGPATH_W) 'sk_g16.c'; else $(CYGPATH_W) '$(srcdir)/sk_g16.c'; fi` + + libdrivers_a-smc9000.o: smc9000.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-smc9000.Tpo" -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo" "$(DEPDIR)/libdrivers_a-smc9000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.o -MD -MP -MF $(DEPDIR)/libdrivers_a-smc9000.Tpo -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-smc9000.Tpo $(DEPDIR)/libdrivers_a-smc9000.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smc9000.c' object='libdrivers_a-smc9000.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-smc9000.o `test -f 'smc9000.c' || echo '$(srcdir)/'`smc9000.c + + libdrivers_a-smc9000.obj: smc9000.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-smc9000.Tpo" -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo" "$(DEPDIR)/libdrivers_a-smc9000.Po"; else rm -f "$(DEPDIR)/libdrivers_a-smc9000.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-smc9000.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-smc9000.Tpo -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-smc9000.Tpo $(DEPDIR)/libdrivers_a-smc9000.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smc9000.c' object='libdrivers_a-smc9000.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-smc9000.obj `if test -f 'smc9000.c'; then $(CYGPATH_W) 'smc9000.c'; else $(CYGPATH_W) '$(srcdir)/smc9000.c'; fi` + + libdrivers_a-tiara.o: tiara.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tiara.Tpo" -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tiara.Tpo" "$(DEPDIR)/libdrivers_a-tiara.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tiara.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.o -MD -MP -MF $(DEPDIR)/libdrivers_a-tiara.Tpo -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tiara.Tpo $(DEPDIR)/libdrivers_a-tiara.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tiara.c' object='libdrivers_a-tiara.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tiara.o `test -f 'tiara.c' || echo '$(srcdir)/'`tiara.c + + libdrivers_a-tiara.obj: tiara.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tiara.Tpo" -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tiara.Tpo" "$(DEPDIR)/libdrivers_a-tiara.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tiara.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tiara.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-tiara.Tpo -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tiara.Tpo $(DEPDIR)/libdrivers_a-tiara.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tiara.c' object='libdrivers_a-tiara.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tiara.obj `if test -f 'tiara.c'; then $(CYGPATH_W) 'tiara.c'; else $(CYGPATH_W) '$(srcdir)/tiara.c'; fi` + + libdrivers_a-tlan.o: tlan.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tlan.Tpo" -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tlan.Tpo" "$(DEPDIR)/libdrivers_a-tlan.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tlan.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.o -MD -MP -MF $(DEPDIR)/libdrivers_a-tlan.Tpo -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tlan.Tpo $(DEPDIR)/libdrivers_a-tlan.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tlan.c' object='libdrivers_a-tlan.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tlan.o `test -f 'tlan.c' || echo '$(srcdir)/'`tlan.c + + libdrivers_a-tlan.obj: tlan.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tlan.Tpo" -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tlan.Tpo" "$(DEPDIR)/libdrivers_a-tlan.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tlan.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tlan.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-tlan.Tpo -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tlan.Tpo $(DEPDIR)/libdrivers_a-tlan.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tlan.c' object='libdrivers_a-tlan.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tlan.obj `if test -f 'tlan.c'; then $(CYGPATH_W) 'tlan.c'; else $(CYGPATH_W) '$(srcdir)/tlan.c'; fi` + + libdrivers_a-tulip.o: tulip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-tulip.Tpo" -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tulip.Tpo" "$(DEPDIR)/libdrivers_a-tulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tulip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.o -MD -MP -MF $(DEPDIR)/libdrivers_a-tulip.Tpo -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tulip.Tpo $(DEPDIR)/libdrivers_a-tulip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tulip.c' object='libdrivers_a-tulip.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tulip.o `test -f 'tulip.c' || echo '$(srcdir)/'`tulip.c + + libdrivers_a-tulip.obj: tulip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-tulip.Tpo" -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-tulip.Tpo" "$(DEPDIR)/libdrivers_a-tulip.Po"; else rm -f "$(DEPDIR)/libdrivers_a-tulip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-tulip.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-tulip.Tpo -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-tulip.Tpo $(DEPDIR)/libdrivers_a-tulip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tulip.c' object='libdrivers_a-tulip.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-tulip.obj `if test -f 'tulip.c'; then $(CYGPATH_W) 'tulip.c'; else $(CYGPATH_W) '$(srcdir)/tulip.c'; fi` + + libdrivers_a-via-rhine.o: via-rhine.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" "$(DEPDIR)/libdrivers_a-via-rhine.Po"; else rm -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.o -MD -MP -MF $(DEPDIR)/libdrivers_a-via-rhine.Tpo -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-via-rhine.Tpo $(DEPDIR)/libdrivers_a-via-rhine.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='via-rhine.c' object='libdrivers_a-via-rhine.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-via-rhine.o `test -f 'via-rhine.c' || echo '$(srcdir)/'`via-rhine.c + + libdrivers_a-via-rhine.obj: via-rhine.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo" "$(DEPDIR)/libdrivers_a-via-rhine.Po"; else rm -f "$(DEPDIR)/libdrivers_a-via-rhine.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-via-rhine.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-via-rhine.Tpo -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-via-rhine.Tpo $(DEPDIR)/libdrivers_a-via-rhine.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='via-rhine.c' object='libdrivers_a-via-rhine.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-via-rhine.obj `if test -f 'via-rhine.c'; then $(CYGPATH_W) 'via-rhine.c'; else $(CYGPATH_W) '$(srcdir)/via-rhine.c'; fi` + + libdrivers_a-w89c840.o: w89c840.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.o -MD -MP -MF "$(DEPDIR)/libdrivers_a-w89c840.Tpo" -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo" "$(DEPDIR)/libdrivers_a-w89c840.Po"; else rm -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.o -MD -MP -MF $(DEPDIR)/libdrivers_a-w89c840.Tpo -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-w89c840.Tpo $(DEPDIR)/libdrivers_a-w89c840.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='w89c840.c' object='libdrivers_a-w89c840.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-w89c840.o `test -f 'w89c840.c' || echo '$(srcdir)/'`w89c840.c + + libdrivers_a-w89c840.obj: w89c840.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.obj -MD -MP -MF "$(DEPDIR)/libdrivers_a-w89c840.Tpo" -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo" "$(DEPDIR)/libdrivers_a-w89c840.Po"; else rm -f "$(DEPDIR)/libdrivers_a-w89c840.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -MT libdrivers_a-w89c840.obj -MD -MP -MF $(DEPDIR)/libdrivers_a-w89c840.Tpo -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdrivers_a-w89c840.Tpo $(DEPDIR)/libdrivers_a-w89c840.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='w89c840.c' object='libdrivers_a-w89c840.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrivers_a_CFLAGS) $(CFLAGS) -c -o libdrivers_a-w89c840.obj `if test -f 'w89c840.c'; then $(CYGPATH_W) 'w89c840.c'; else $(CYGPATH_W) '$(srcdir)/w89c840.c'; fi` +-uninstall-info-am: + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ +@@ -846,22 +838,21 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -922,12 +913,20 @@ info-am: + + install-data-am: + ++install-dvi: install-dvi-am ++ + install-exec-am: + ++install-html: install-html-am ++ + install-info: install-info-am + + install-man: + ++install-pdf: install-pdf-am ++ ++install-ps: install-ps-am ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -947,18 +946,22 @@ ps: ps-am + + ps-am: + +-uninstall-am: uninstall-info-am ++uninstall-am: ++ ++.MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ +- install-data-am install-exec install-exec-am install-info \ +- install-info-am install-man install-strip installcheck \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ +- uninstall-am uninstall-info-am ++ uninstall-am + + + # Is it really necessary to specify dependecies explicitly? +diff --git a/netboot/etherboot.h b/netboot/etherboot.h +index 74ca16f..9c02b25 100644 +--- a/netboot/etherboot.h ++++ b/netboot/etherboot.h +@@ -246,7 +246,7 @@ Author: Martin Renters + + typedef struct + { +- unsigned long s_addr; ++ unsigned int s_addr; + } + in_addr; + +@@ -302,7 +302,7 @@ struct bootp_t + char bp_htype; + char bp_hlen; + char bp_hops; +- unsigned long bp_xid; ++ unsigned int bp_xid; + unsigned short bp_secs; + unsigned short unused; + in_addr bp_ciaddr; +@@ -411,25 +411,25 @@ struct rpc_t + + struct + { +- long id; +- long type; +- long rpcvers; +- long prog; +- long vers; +- long proc; +- long data[1]; ++ int id; ++ int type; ++ int rpcvers; ++ int prog; ++ int vers; ++ int proc; ++ int data[1]; + } + call; + + struct + { +- long id; +- long type; +- long rstatus; +- long verifier; +- long v2; +- long astatus; +- long data[1]; ++ int id; ++ int type; ++ int rstatus; ++ int verifier; ++ int v2; ++ int astatus; ++ int data[1]; + } + reply; + } +@@ -531,9 +531,7 @@ extern int ip_abort; + extern int network_ready; + extern struct rom_info rom; + extern struct arptable_t arptable[MAX_ARP]; +-extern struct bootpd_t bootp_data; + #define BOOTP_DATA_ADDR (&bootp_data) +-extern unsigned char *end_of_rfc1533; + + /* config.c */ + extern struct nic nic; +diff --git a/netboot/main.c b/netboot/main.c +index 82759b6..b8ba920 100644 +--- a/netboot/main.c ++++ b/netboot/main.c +@@ -53,9 +53,9 @@ int network_ready = 0; + struct rom_info rom; + + static int vendorext_isvalid; +-static unsigned long netmask; ++static unsigned int netmask; + static struct bootpd_t bootp_data; +-static unsigned long xid; ++static unsigned int xid; + static unsigned char *end_of_rfc1533 = NULL; + + #ifndef NO_DHCP_SUPPORT +@@ -773,7 +773,7 @@ await_reply (int type, int ival, void *ptr, int timeout) + if (nic.packetlen >= ETH_HLEN + sizeof (struct arprequest) + && ptype == ARP) + { +- unsigned long tmp; ++ unsigned int tmp; + + arpreply = (struct arprequest *) &nic.packet[ETH_HLEN]; + +diff --git a/netboot/misc.c b/netboot/misc.c +index 28614fd..6ea9a8e 100644 +--- a/netboot/misc.c ++++ b/netboot/misc.c +@@ -21,6 +21,7 @@ + + #define GRUB 1 + #include ++#include + + void + sleep (int secs) +@@ -71,9 +72,10 @@ PRINTF and friends + Note: width specification not supported + **************************************************************************/ + static int +-etherboot_vsprintf (char *buf, const char *fmt, const int *dp) ++etherboot_vsprintf (char *buf, const char *fmt, va_list args) + { + char *p, *s; ++ int n; + + s = buf; + for ( ; *fmt != '\0'; ++fmt) +@@ -86,7 +88,7 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) + + if (*++fmt == 's') + { +- for (p = (char *) *dp++; *p != '\0'; p++) ++ for (p = va_arg (args, char *); *p != '\0'; p++) + buf ? *s++ = *p : grub_putchar (*p); + } + else +@@ -120,46 +122,44 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) + */ + if ((*fmt | 0x20) == 'x') + { +- /* With x86 gcc, sizeof(long) == sizeof(int) */ +- const long *lp = (const long *) dp; +- long h = *lp++; + int ncase = (*fmt & 0x20); ++ ++ n = va_arg (args, int); + +- dp = (const int *) lp; + if (alt) + { + *q++ = '0'; + *q++ = 'X' | ncase; + } + for (; shift >= 0; shift -= 4) +- *q++ = "0123456789ABCDEF"[(h >> shift) & 0xF] | ncase; ++ *q++ = "0123456789ABCDEF"[(n >> shift) & 0xF] | ncase; + } + else if (*fmt == 'd') + { +- int i = *dp++; + char *r; +- +- if (i < 0) ++ ++ n = va_arg (args, int); ++ if (n < 0) + { + *q++ = '-'; +- i = -i; ++ n = -n; + } + + p = q; /* save beginning of digits */ + do + { +- *q++ = '0' + (i % 10); +- i /= 10; ++ *q++ = '0' + (n % 10); ++ n /= 10; + } +- while (i); ++ while (n); + + /* reverse digits, stop in middle */ + r = q; /* don't alter q */ + while (--r > p) + { +- i = *r; ++ n = *r; + *r = *p; +- *p++ = i; ++ *p++ = n; + } + } + else if (*fmt == '@') +@@ -167,14 +167,12 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) + unsigned char *r; + union + { +- long l; ++ int l; + unsigned char c[4]; + } + u; +- const long *lp = (const long *) dp; + +- u.l = *lp++; +- dp = (const int *) lp; ++ u.l = va_arg (args, int); + + for (r = &u.c[0]; r < &u.c[4]; ++r) + q += etherboot_sprintf (q, "%d.", *r); +@@ -184,15 +182,15 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) + else if (*fmt == '!') + { + char *r; +- p = (char *) *dp++; +- ++ ++ p = va_arg (args, char *); + for (r = p + ETH_ALEN; p < r; ++p) + q += etherboot_sprintf (q, "%hhX:", *p); + + --q; + } + else if (*fmt == 'c') +- *q++ = *dp++; ++ *q++ = va_arg (args, int); + else + *q++ = *fmt; + +@@ -211,13 +209,23 @@ etherboot_vsprintf (char *buf, const char *fmt, const int *dp) + int + etherboot_sprintf (char *buf, const char *fmt, ...) + { +- return etherboot_vsprintf (buf, fmt, ((const int *) &fmt) + 1); ++ va_list ap; ++ int ret; ++ ++ va_start (ap, fmt); ++ ret = etherboot_vsprintf (buf, fmt, ap); ++ va_end (ap); ++ return ret; + } + + void + etherboot_printf (const char *fmt, ...) + { +- (void) etherboot_vsprintf (0, fmt, ((const int *) &fmt) + 1); ++ va_list ap; ++ ++ va_start (ap, fmt); ++ (void) etherboot_vsprintf (0, fmt, ap); ++ va_end (ap); + } + + int +diff --git a/netboot/osdep.h b/netboot/osdep.h +index 57218bf..881141b 100644 +--- a/netboot/osdep.h ++++ b/netboot/osdep.h +@@ -21,10 +21,10 @@ + #elif defined(__LITTLE_ENDIAN) + # if !defined(__constant_htonl) + # define __constant_htonl(x) \ +- ((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) | \ +- (((unsigned long int)(x) & 0x0000ff00U) << 8) | \ +- (((unsigned long int)(x) & 0x00ff0000U) >> 8) | \ +- (((unsigned long int)(x) & 0xff000000U) >> 24))) ++ ((unsigned int)((((unsigned int)(x) & 0x000000ffU) << 24) | \ ++ (((unsigned int)(x) & 0x0000ff00U) << 8) | \ ++ (((unsigned int)(x) & 0x00ff0000U) >> 8) | \ ++ (((unsigned int)(x) & 0xff000000U) >> 24))) + # endif + # if !defined(__constant_htons) + # define __constant_htons(x) \ +@@ -36,11 +36,11 @@ + #endif + + #define ntohl(x) \ +-(__builtin_constant_p(x) ? \ ++(__builtin_constant_p((unsigned int)x) ? \ + __constant_htonl((x)) : \ + __swap32(x)) + #define htonl(x) \ +-(__builtin_constant_p(x) ? \ ++(__builtin_constant_p((unsigned int)x) ? \ + __constant_htonl((x)) : \ + __swap32(x)) + #define ntohs(x) \ +@@ -52,21 +52,29 @@ + __constant_htons((x)) : \ + __swap16(x)) + +-static inline unsigned long int __swap32(unsigned long int x) ++static inline unsigned int __swap32(unsigned int x) + { ++#ifdef PLATFORM_EFI ++ __asm__("bswapl %0" : "=r" (x) : "0" (x)); ++#else + __asm__("xchgb %b0,%h0\n\t" + "rorl $16,%0\n\t" + "xchgb %b0,%h0" + : "=q" (x) + : "0" (x)); ++#endif + return x; + } + + static inline unsigned short int __swap16(unsigned short int x) + { ++#ifdef PLATFORM_EFI ++ return __constant_htons(x); ++#else + __asm__("xchgb %b0,%h0" + : "=q" (x) + : "0" (x)); ++#endif + return x; + } + +@@ -76,7 +84,7 @@ static inline unsigned short int __swap16(unsigned short int x) + + #include "linux-asm-io.h" + +-typedef unsigned long Address; ++typedef unsigned int Address; + + /* ANSI prototyping macro */ + #ifdef __STDC__ +diff --git a/stage1/.gitignore b/stage1/.gitignore +new file mode 100644 +index 0000000..5d89f6d +--- /dev/null ++++ b/stage1/.gitignore +@@ -0,0 +1,2 @@ ++Makefile.in ++.deps +diff --git a/stage1/Makefile.am b/stage1/Makefile.am +index 0afc285..cbae397 100644 +--- a/stage1/Makefile.am ++++ b/stage1/Makefile.am +@@ -1,11 +1,14 @@ +-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) +-nodist_pkglib_DATA = stage1 +- +-CLEANFILES = $(nodist_pkglib_DATA) ++pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) + + # We can't use builtins or standard includes. + AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc +-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 ++LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 ++ ++if !PLATFORM_EFI ++ ++nodist_pkgdata_DATA = stage1 ++ ++CLEANFILES = $(nodist_pkgdata_DATA) + + noinst_PROGRAMS = stage1.exec + stage1_exec_SOURCES = stage1.S stage1.h +@@ -13,3 +16,5 @@ stage1_exec_SOURCES = stage1.S stage1.h + SUFFIXES = .exec + .exec: + $(OBJCOPY) -O binary $< $@ ++ ++endif +diff --git a/stage1/Makefile.in b/stage1/Makefile.in +index 7134bdf..c7e251b 100644 +--- a/stage1/Makefile.in ++++ b/stage1/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -15,16 +15,10 @@ + @SET_MAKE@ + + +-SOURCES = $(stage1_exec_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ +-pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -43,7 +37,7 @@ subdir = stage1 + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +@@ -53,8 +47,11 @@ PROGRAMS = $(noinst_PROGRAMS) + am_stage1_exec_OBJECTS = stage1.$(OBJEXT) + stage1_exec_OBJECTS = $(am_stage1_exec_OBJECTS) + stage1_exec_LDADD = $(LDADD) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +-CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +@@ -67,25 +64,22 @@ am__vpath_adj = case $$p in \ + *) f=$$p;; \ + esac; + am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +-am__installdirs = "$(DESTDIR)$(pkglibdir)" +-nodist_pkglibDATA_INSTALL = $(INSTALL_DATA) +-DATA = $(nodist_pkglib_DATA) ++am__installdirs = "$(DESTDIR)$(pkgdatadir)" ++nodist_pkgdataDATA_INSTALL = $(INSTALL_DATA) ++DATA = $(nodist_pkgdata_DATA) + ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -94,33 +88,29 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 ++LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -134,22 +124,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -161,30 +146,41 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ +-nodist_pkglib_DATA = stage1 +-CLEANFILES = $(nodist_pkglib_DATA) ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++nodist_pkgdata_DATA = stage1 ++CLEANFILES = $(nodist_pkgdata_DATA) + + # We can't use builtins or standard includes. + AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc +@@ -228,7 +224,7 @@ clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + stage1.exec$(EXEEXT): $(stage1_exec_OBJECTS) $(stage1_exec_DEPENDENCIES) + @rm -f stage1.exec$(EXEEXT) +- $(LINK) $(stage1_exec_LDFLAGS) $(stage1_exec_OBJECTS) $(stage1_exec_LDADD) $(LIBS) ++ $(LINK) $(stage1_exec_OBJECTS) $(stage1_exec_LDADD) $(LIBS) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) +@@ -236,28 +232,37 @@ mostlyclean-compile: + distclean-compile: + -rm -f *.tab.c + ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1.Po@am__quote@ ++ + .S.o: +- $(CCASCOMPILE) -c $< ++@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< + + .S.obj: +- $(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` +-uninstall-info-am: +-install-nodist_pkglibDATA: $(nodist_pkglib_DATA) ++@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++install-nodist_pkgdataDATA: $(nodist_pkgdata_DATA) + @$(NORMAL_INSTALL) +- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)" +- @list='$(nodist_pkglib_DATA)'; for p in $$list; do \ ++ test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" ++ @list='$(nodist_pkgdata_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ +- echo " $(nodist_pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \ +- $(nodist_pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \ ++ echo " $(nodist_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ ++ $(nodist_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +-uninstall-nodist_pkglibDATA: ++uninstall-nodist_pkgdataDATA: + @$(NORMAL_UNINSTALL) +- @list='$(nodist_pkglib_DATA)'; for p in $$list; do \ ++ @list='$(nodist_pkgdata_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ +- echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ +- rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ ++ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ ++ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) +@@ -309,22 +314,21 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -339,8 +343,8 @@ check-am: all-am + check: check-am + all-am: Makefile $(PROGRAMS) $(DATA) + installdirs: +- for dir in "$(DESTDIR)$(pkglibdir)"; do \ +- test -z "$$dir" || $(mkdir_p) "$$dir"; \ ++ for dir in "$(DESTDIR)$(pkgdatadir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: install-am + install-exec: install-exec-am +@@ -372,6 +376,7 @@ clean: clean-am + clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am + + distclean: distclean-am ++ -rm -rf ./$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags +@@ -386,17 +391,26 @@ info: info-am + + info-am: + +-install-data-am: ++install-data-am: install-nodist_pkgdataDATA ++ ++install-dvi: install-dvi-am + +-install-exec-am: install-nodist_pkglibDATA ++install-exec-am: ++ ++install-html: install-html-am + + install-info: install-info-am + + install-man: + ++install-pdf: install-pdf-am ++ ++install-ps: install-ps-am ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am ++ -rm -rf ./$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-generic + +@@ -412,19 +426,22 @@ ps: ps-am + + ps-am: + +-uninstall-am: uninstall-info-am uninstall-nodist_pkglibDATA ++uninstall-am: uninstall-nodist_pkgdataDATA ++ ++.MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstPROGRAMS ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ +- install-data-am install-exec install-exec-am install-info \ +- install-info-am install-man install-nodist_pkglibDATA \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-nodist_pkgdataDATA \ ++ install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ +- tags uninstall uninstall-am uninstall-info-am \ +- uninstall-nodist_pkglibDATA ++ tags uninstall uninstall-am uninstall-nodist_pkgdataDATA + + .exec: + $(OBJCOPY) -O binary $< $@ +diff --git a/stage1/stage1.S b/stage1/stage1.S +index 985963d..3a896be 100644 +--- a/stage1/stage1.S ++++ b/stage1/stage1.S +@@ -31,6 +31,8 @@ + + /* Print message string */ + #define MSG(x) movw $ABS(x), %si; call message ++ /* Print verbose message string */ ++#define VMSG(x) + + /* XXX: binutils-2.9.1.0.x doesn't produce a short opcode for this. */ + #define MOV_MEM_TO_AL(x) .byte 0xa0; .word x +@@ -151,7 +153,7 @@ real_start: + pushw %dx + + /* print a notification message on the screen */ +- MSG(notification_string) ++ VMSG(notification_string) + + /* do not probe LBA if the drive is a floppy */ + testb $STAGE1_BIOS_HD_FLAG, %dl +diff --git a/stage2/.gitignore b/stage2/.gitignore +new file mode 100644 +index 0000000..e0480a0 +--- /dev/null ++++ b/stage2/.gitignore +@@ -0,0 +1,5 @@ ++Makefile.in ++Makefile ++.deps ++*.a ++*.o +diff --git a/stage2/Makefile.am b/stage2/Makefile.am +index f8e6d42..04ff165 100644 +--- a/stage2/Makefile.am ++++ b/stage2/Makefile.am +@@ -7,19 +7,23 @@ noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ + fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ + imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ + nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ +- terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h ++ terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h gpt.h + EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) + + # For . +-INCLUDES = -I$(top_srcdir)/stage1 ++INCLUDES = -I$(top_srcdir)/stage1 -I$(top_srcdir)/efi + + # The library for /sbin/grub. ++if PLATFORM_EFI ++noinst_LIBRARIES = libgrub.a libstage2.a ++else + noinst_LIBRARIES = libgrub.a ++endif + libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ + disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ +- fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ +- fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ +- terminfo.c tparm.c ++ fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_uefi.c fsys_ufs2.c \ ++ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c sha256crypt.c \ ++ sha512crypt.c stage2.c terminfo.c tparm.c graphics.c efistubs.c + libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ + -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \ +@@ -27,12 +31,14 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 + + # Stage 2 and Stage 1.5's. +-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++ ++if !PLATFORM_EFI + + EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec + + if DISKLESS_SUPPORT +-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ++pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ + ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ + reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ + nbgrub pxegrub +@@ -43,7 +49,7 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ + reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ + xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec + else +-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ++pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ + ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ + reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 + noinst_DATA = pre_stage2 start start_eltorito +@@ -55,11 +61,13 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ + endif + MOSTLYCLEANFILES = $(noinst_PROGRAMS) + +-PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 +-START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 +-NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 +-PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 +-START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 ++endif ++ ++PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) ++START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) ++NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) ++PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) ++START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) + + if NETBOOT_SUPPORT + NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 +@@ -79,10 +87,25 @@ else + HERCULES_FLAGS = + endif + ++if GRAPHICS_SUPPORT ++GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 ++else ++GRAPHICS_FLAGS = ++endif ++ + STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ +- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) ++ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) ++ ++libstage2_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ ++ disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ ++ fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_uefi.c fsys_ufs2.c \ ++ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c sha256crypt.c \ ++ sha512crypt.c stage2.c terminfo.c tparm.c efistubs.c ++libstage2_a_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) + +-STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 ++if !PLATFORM_EFI ++ ++STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) + STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 + + # For stage2 target. +@@ -90,13 +113,15 @@ pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \ + cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ + fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ + fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ +- hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c ++ hercules.c md5.c serial.c smp-imps.c sha256crypt.c sha512crypt.c \ ++ stage2.c terminfo.c tparm.c graphics.c + pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) + pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) + pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) + ++pre_stage2_exec_LDADD = @LIBGCC@ + if NETBOOT_SUPPORT +-pre_stage2_exec_LDADD = ../netboot/libdrivers.a ++pre_stage2_exec_LDADD += ../netboot/libdrivers.a + endif + + if DISKLESS_SUPPORT +@@ -105,7 +130,7 @@ else + BUILT_SOURCES = stage2_size.h + endif + +-CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) ++CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) + + stage2_size.h: pre_stage2 + -rm -f stage2_size.h +@@ -115,6 +140,7 @@ stage2_size.h: pre_stage2 + start_exec_SOURCES = start.S + start_exec_CCASFLAGS = $(STAGE2_COMPILE) + start_exec_LDFLAGS = $(START_LINK) ++start_exec_LDADD = @LIBGCC@ + + # XXX: automake doesn't provide a way to specify dependencies for object + # files explicitly, so we must write this by a general Makefile scheme. +@@ -129,6 +155,7 @@ stage2: pre_stage2 start + start_eltorito_exec_SOURCES = start_eltorito.S + start_eltorito_exec_CCASFLAGS = $(STAGE2_COMPILE) + start_eltorito_exec_LDFLAGS = $(START_ELTORITO_LINK) ++start_eltorito_exec_LDADD = @LIBGCC@ + + start_eltorito_exec-start.$(OBJEXT): stage2_size.h + +@@ -144,6 +171,7 @@ e2fs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \ + e2fs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \ + -DNO_BLOCK_FILES=1 + e2fs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++e2fs_stage1_5_exec_LDADD = @LIBGCC@ + + # For fat_stage1_5 target. + fat_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ +@@ -153,6 +181,7 @@ fat_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \ + fat_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \ + -DNO_BLOCK_FILES=1 + fat_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++fat_stage1_5_exec_LDADD = @LIBGCC@ + + # For ffs_stage1_5 target. + ffs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ +@@ -162,6 +191,7 @@ ffs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \ + ffs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \ + -DNO_BLOCK_FILES=1 + ffs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++ffs_stage1_5_exec_LDADD = @LIBGCC@ + + # For ufs2_stage1_5 target. + ufs2_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ +@@ -171,6 +201,7 @@ ufs2_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS2=1 \ + ufs2_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_UFS2=1 \ + -DNO_BLOCK_FILES=1 + ufs2_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++ufs2_stage1_5_exec_LDADD = @LIBGCC@ + + # For minix_stage1_5 target. + minix_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ +@@ -180,6 +211,7 @@ minix_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \ + minix_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \ + -DNO_BLOCK_FILES=1 + minix_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++minix_stage1_5_exec_LDADD = @LIBGCC@ + + # For reiserfs_stage1_5 target. + reiserfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ +@@ -189,6 +221,7 @@ reiserfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \ + reiserfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \ + -DNO_BLOCK_FILES=1 + reiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++reiserfs_stage1_5_exec_LDADD = @LIBGCC@ + + # For vstafs_stage1_5 target. + vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ +@@ -198,6 +231,7 @@ vstafs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \ + vstafs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \ + -DNO_BLOCK_FILES=1 + vstafs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++vstafs_stage1_5_exec_LDADD = @LIBGCC@ + + # For jfs_stage1_5 target. + jfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ +@@ -207,6 +241,7 @@ jfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \ + jfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \ + -DNO_BLOCK_FILES=1 + jfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++jfs_stage1_5_exec_LDADD = @LIBGCC@ + + # For xfs_stage1_5 target. + xfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ +@@ -216,6 +251,7 @@ xfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \ + xfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \ + -DNO_BLOCK_FILES=1 + xfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++xfs_stage1_5_exec_LDADD = @LIBGCC@ + + # For iso9660_stage1_5 target. + iso9660_stage1_5_exec_SOURCES = start_eltorito.S asm.S common.c char_io.c \ +@@ -225,6 +261,7 @@ iso9660_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ISO9660=1 \ + iso9660_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_ISO9660=1 \ + -DNO_BLOCK_FILES=1 + iso9660_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) ++iso9660_stage1_5_exec_LDADD = @LIBGCC@ + + # For diskless target. + diskless_exec_SOURCES = $(pre_stage2_exec_SOURCES) +@@ -233,7 +270,7 @@ diskless_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) \ + diskless_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) \ + -DSUPPORT_DISKLESS=1 + diskless_exec_LDFLAGS = $(PRE_STAGE2_LINK) +-diskless_exec_LDADD = ../netboot/libdrivers.a ++diskless_exec_LDADD = ../netboot/libdrivers.a @LIBGCC@ + + diskless_size.h: diskless + -rm -f $@ +@@ -270,3 +307,5 @@ pxegrub: pxeloader diskless + SUFFIXES = .exec + .exec: + $(OBJCOPY) -O binary $< $@ ++ ++endif +diff --git a/stage2/Makefile.in b/stage2/Makefile.in +index d0062bd..66e7465 100644 +--- a/stage2/Makefile.in ++++ b/stage2/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -18,16 +18,10 @@ + + + +-SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) $(ffs_stage1_5_exec_SOURCES) $(iso9660_stage1_5_exec_SOURCES) $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) $(start_eltorito_exec_SOURCES) $(ufs2_stage1_5_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ +-pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -77,7 +71,7 @@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +@@ -100,7 +94,7 @@ am_libgrub_a_OBJECTS = libgrub_a-boot.$(OBJEXT) \ + libgrub_a-fsys_xfs.$(OBJEXT) libgrub_a-gunzip.$(OBJEXT) \ + libgrub_a-md5.$(OBJEXT) libgrub_a-serial.$(OBJEXT) \ + libgrub_a-stage2.$(OBJEXT) libgrub_a-terminfo.$(OBJEXT) \ +- libgrub_a-tparm.$(OBJEXT) ++ libgrub_a-tparm.$(OBJEXT) libgrub_a-graphics.$(OBJEXT) + libgrub_a_OBJECTS = $(am_libgrub_a_OBJECTS) + PROGRAMS = $(noinst_PROGRAMS) + am__objects_1 = diskless_exec-asm.$(OBJEXT) \ +@@ -125,10 +119,13 @@ am__objects_1 = diskless_exec-asm.$(OBJEXT) \ + diskless_exec-serial.$(OBJEXT) \ + diskless_exec-smp-imps.$(OBJEXT) \ + diskless_exec-stage2.$(OBJEXT) \ +- diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) ++ diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) \ ++ diskless_exec-graphics.$(OBJEXT) + am_diskless_exec_OBJECTS = $(am__objects_1) + diskless_exec_OBJECTS = $(am_diskless_exec_OBJECTS) + diskless_exec_DEPENDENCIES = ../netboot/libdrivers.a ++diskless_exec_LINK = $(CCLD) $(diskless_exec_CFLAGS) $(CFLAGS) \ ++ $(diskless_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_e2fs_stage1_5_exec_OBJECTS = e2fs_stage1_5_exec-start.$(OBJEXT) \ + e2fs_stage1_5_exec-asm.$(OBJEXT) \ + e2fs_stage1_5_exec-common.$(OBJEXT) \ +@@ -139,6 +136,8 @@ am_e2fs_stage1_5_exec_OBJECTS = e2fs_stage1_5_exec-start.$(OBJEXT) \ + e2fs_stage1_5_exec-bios.$(OBJEXT) + e2fs_stage1_5_exec_OBJECTS = $(am_e2fs_stage1_5_exec_OBJECTS) + e2fs_stage1_5_exec_LDADD = $(LDADD) ++e2fs_stage1_5_exec_LINK = $(CCLD) $(e2fs_stage1_5_exec_CFLAGS) \ ++ $(CFLAGS) $(e2fs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_fat_stage1_5_exec_OBJECTS = fat_stage1_5_exec-start.$(OBJEXT) \ + fat_stage1_5_exec-asm.$(OBJEXT) \ + fat_stage1_5_exec-common.$(OBJEXT) \ +@@ -149,6 +148,8 @@ am_fat_stage1_5_exec_OBJECTS = fat_stage1_5_exec-start.$(OBJEXT) \ + fat_stage1_5_exec-bios.$(OBJEXT) + fat_stage1_5_exec_OBJECTS = $(am_fat_stage1_5_exec_OBJECTS) + fat_stage1_5_exec_LDADD = $(LDADD) ++fat_stage1_5_exec_LINK = $(CCLD) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) \ ++ $(fat_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_ffs_stage1_5_exec_OBJECTS = ffs_stage1_5_exec-start.$(OBJEXT) \ + ffs_stage1_5_exec-asm.$(OBJEXT) \ + ffs_stage1_5_exec-common.$(OBJEXT) \ +@@ -159,6 +160,8 @@ am_ffs_stage1_5_exec_OBJECTS = ffs_stage1_5_exec-start.$(OBJEXT) \ + ffs_stage1_5_exec-bios.$(OBJEXT) + ffs_stage1_5_exec_OBJECTS = $(am_ffs_stage1_5_exec_OBJECTS) + ffs_stage1_5_exec_LDADD = $(LDADD) ++ffs_stage1_5_exec_LINK = $(CCLD) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) \ ++ $(ffs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_iso9660_stage1_5_exec_OBJECTS = \ + iso9660_stage1_5_exec-start_eltorito.$(OBJEXT) \ + iso9660_stage1_5_exec-asm.$(OBJEXT) \ +@@ -170,6 +173,8 @@ am_iso9660_stage1_5_exec_OBJECTS = \ + iso9660_stage1_5_exec-bios.$(OBJEXT) + iso9660_stage1_5_exec_OBJECTS = $(am_iso9660_stage1_5_exec_OBJECTS) + iso9660_stage1_5_exec_LDADD = $(LDADD) ++iso9660_stage1_5_exec_LINK = $(CCLD) $(iso9660_stage1_5_exec_CFLAGS) \ ++ $(CFLAGS) $(iso9660_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_jfs_stage1_5_exec_OBJECTS = jfs_stage1_5_exec-start.$(OBJEXT) \ + jfs_stage1_5_exec-asm.$(OBJEXT) \ + jfs_stage1_5_exec-common.$(OBJEXT) \ +@@ -180,6 +185,8 @@ am_jfs_stage1_5_exec_OBJECTS = jfs_stage1_5_exec-start.$(OBJEXT) \ + jfs_stage1_5_exec-bios.$(OBJEXT) + jfs_stage1_5_exec_OBJECTS = $(am_jfs_stage1_5_exec_OBJECTS) + jfs_stage1_5_exec_LDADD = $(LDADD) ++jfs_stage1_5_exec_LINK = $(CCLD) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) \ ++ $(jfs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_minix_stage1_5_exec_OBJECTS = minix_stage1_5_exec-start.$(OBJEXT) \ + minix_stage1_5_exec-asm.$(OBJEXT) \ + minix_stage1_5_exec-common.$(OBJEXT) \ +@@ -190,9 +197,13 @@ am_minix_stage1_5_exec_OBJECTS = minix_stage1_5_exec-start.$(OBJEXT) \ + minix_stage1_5_exec-bios.$(OBJEXT) + minix_stage1_5_exec_OBJECTS = $(am_minix_stage1_5_exec_OBJECTS) + minix_stage1_5_exec_LDADD = $(LDADD) ++minix_stage1_5_exec_LINK = $(CCLD) $(minix_stage1_5_exec_CFLAGS) \ ++ $(CFLAGS) $(minix_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_nbloader_exec_OBJECTS = nbloader_exec-nbloader.$(OBJEXT) + nbloader_exec_OBJECTS = $(am_nbloader_exec_OBJECTS) + nbloader_exec_LDADD = $(LDADD) ++nbloader_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(nbloader_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_pre_stage2_exec_OBJECTS = pre_stage2_exec-asm.$(OBJEXT) \ + pre_stage2_exec-bios.$(OBJEXT) pre_stage2_exec-boot.$(OBJEXT) \ + pre_stage2_exec-builtins.$(OBJEXT) \ +@@ -217,13 +228,18 @@ am_pre_stage2_exec_OBJECTS = pre_stage2_exec-asm.$(OBJEXT) \ + pre_stage2_exec-smp-imps.$(OBJEXT) \ + pre_stage2_exec-stage2.$(OBJEXT) \ + pre_stage2_exec-terminfo.$(OBJEXT) \ +- pre_stage2_exec-tparm.$(OBJEXT) ++ pre_stage2_exec-tparm.$(OBJEXT) \ ++ pre_stage2_exec-graphics.$(OBJEXT) + pre_stage2_exec_OBJECTS = $(am_pre_stage2_exec_OBJECTS) + @NETBOOT_SUPPORT_TRUE@pre_stage2_exec_DEPENDENCIES = \ + @NETBOOT_SUPPORT_TRUE@ ../netboot/libdrivers.a ++pre_stage2_exec_LINK = $(CCLD) $(pre_stage2_exec_CFLAGS) $(CFLAGS) \ ++ $(pre_stage2_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_pxeloader_exec_OBJECTS = pxeloader_exec-pxeloader.$(OBJEXT) + pxeloader_exec_OBJECTS = $(am_pxeloader_exec_OBJECTS) + pxeloader_exec_LDADD = $(LDADD) ++pxeloader_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(pxeloader_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_reiserfs_stage1_5_exec_OBJECTS = \ + reiserfs_stage1_5_exec-start.$(OBJEXT) \ + reiserfs_stage1_5_exec-asm.$(OBJEXT) \ +@@ -235,13 +251,19 @@ am_reiserfs_stage1_5_exec_OBJECTS = \ + reiserfs_stage1_5_exec-bios.$(OBJEXT) + reiserfs_stage1_5_exec_OBJECTS = $(am_reiserfs_stage1_5_exec_OBJECTS) + reiserfs_stage1_5_exec_LDADD = $(LDADD) ++reiserfs_stage1_5_exec_LINK = $(CCLD) $(reiserfs_stage1_5_exec_CFLAGS) \ ++ $(CFLAGS) $(reiserfs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_start_exec_OBJECTS = start_exec-start.$(OBJEXT) + start_exec_OBJECTS = $(am_start_exec_OBJECTS) + start_exec_LDADD = $(LDADD) ++start_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(start_exec_LDFLAGS) \ ++ $(LDFLAGS) -o $@ + am_start_eltorito_exec_OBJECTS = \ + start_eltorito_exec-start_eltorito.$(OBJEXT) + start_eltorito_exec_OBJECTS = $(am_start_eltorito_exec_OBJECTS) + start_eltorito_exec_LDADD = $(LDADD) ++start_eltorito_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(start_eltorito_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_ufs2_stage1_5_exec_OBJECTS = ufs2_stage1_5_exec-start.$(OBJEXT) \ + ufs2_stage1_5_exec-asm.$(OBJEXT) \ + ufs2_stage1_5_exec-common.$(OBJEXT) \ +@@ -252,6 +274,8 @@ am_ufs2_stage1_5_exec_OBJECTS = ufs2_stage1_5_exec-start.$(OBJEXT) \ + ufs2_stage1_5_exec-bios.$(OBJEXT) + ufs2_stage1_5_exec_OBJECTS = $(am_ufs2_stage1_5_exec_OBJECTS) + ufs2_stage1_5_exec_LDADD = $(LDADD) ++ufs2_stage1_5_exec_LINK = $(CCLD) $(ufs2_stage1_5_exec_CFLAGS) \ ++ $(CFLAGS) $(ufs2_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_vstafs_stage1_5_exec_OBJECTS = \ + vstafs_stage1_5_exec-start.$(OBJEXT) \ + vstafs_stage1_5_exec-asm.$(OBJEXT) \ +@@ -263,6 +287,8 @@ am_vstafs_stage1_5_exec_OBJECTS = \ + vstafs_stage1_5_exec-bios.$(OBJEXT) + vstafs_stage1_5_exec_OBJECTS = $(am_vstafs_stage1_5_exec_OBJECTS) + vstafs_stage1_5_exec_LDADD = $(LDADD) ++vstafs_stage1_5_exec_LINK = $(CCLD) $(vstafs_stage1_5_exec_CFLAGS) \ ++ $(CFLAGS) $(vstafs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + am_xfs_stage1_5_exec_OBJECTS = xfs_stage1_5_exec-start.$(OBJEXT) \ + xfs_stage1_5_exec-asm.$(OBJEXT) \ + xfs_stage1_5_exec-common.$(OBJEXT) \ +@@ -273,11 +299,14 @@ am_xfs_stage1_5_exec_OBJECTS = xfs_stage1_5_exec-start.$(OBJEXT) \ + xfs_stage1_5_exec-bios.$(OBJEXT) + xfs_stage1_5_exec_OBJECTS = $(am_xfs_stage1_5_exec_OBJECTS) + xfs_stage1_5_exec_LDADD = $(LDADD) ++xfs_stage1_5_exec_LINK = $(CCLD) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) \ ++ $(xfs_stage1_5_exec_LDFLAGS) $(LDFLAGS) -o $@ + SCRIPTS = $(noinst_SCRIPTS) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles +-CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +@@ -306,28 +335,25 @@ am__vpath_adj = case $$p in \ + *) f=$$p;; \ + esac; + am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +-am__installdirs = "$(DESTDIR)$(pkglibdir)" +-pkglibDATA_INSTALL = $(INSTALL_DATA) +-DATA = $(noinst_DATA) $(pkglib_DATA) ++am__installdirs = "$(DESTDIR)$(pkgdatadir)" ++pkgdataDATA_INSTALL = $(INSTALL_DATA) ++DATA = $(noinst_DATA) $(pkgdata_DATA) + HEADERS = $(noinst_HEADERS) + ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + + # Stage 2 and Stage 1.5's. +-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -336,18 +362,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -355,14 +379,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -376,22 +398,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -403,28 +420,39 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ + + # For test target. + TESTS = size_test +@@ -435,7 +463,7 @@ noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ + fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ + imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ + nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ +- terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h ++ terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h gpt.h + + EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) + +@@ -448,7 +476,7 @@ libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ + disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ + fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ + fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ +- terminfo.c tparm.c ++ terminfo.c tparm.c graphics.c + + libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ +@@ -456,11 +484,11 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \ + -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 + +-@DISKLESS_SUPPORT_FALSE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ++@DISKLESS_SUPPORT_FALSE@pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ + @DISKLESS_SUPPORT_FALSE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ + @DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 + +-@DISKLESS_SUPPORT_TRUE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ++@DISKLESS_SUPPORT_TRUE@pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ + @DISKLESS_SUPPORT_TRUE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ + @DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ + @DISKLESS_SUPPORT_TRUE@ nbgrub pxegrub +@@ -468,21 +496,23 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start start_eltorito + @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless + MOSTLYCLEANFILES = $(noinst_PROGRAMS) +-PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 +-START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 +-NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 +-PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 +-START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 ++PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) ++START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) ++NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) ++PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) ++START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) + @NETBOOT_SUPPORT_FALSE@NETBOOT_FLAGS = + @NETBOOT_SUPPORT_TRUE@NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 + @SERIAL_SUPPORT_FALSE@SERIAL_FLAGS = + @SERIAL_SUPPORT_TRUE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 + @HERCULES_SUPPORT_FALSE@HERCULES_FLAGS = + @HERCULES_SUPPORT_TRUE@HERCULES_FLAGS = -DSUPPORT_HERCULES=1 ++@GRAPHICS_SUPPORT_FALSE@GRAPHICS_FLAGS = ++@GRAPHICS_SUPPORT_TRUE@GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 + STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ +- $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) ++ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) + +-STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 ++STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) + STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 + + # For stage2 target. +@@ -490,7 +520,8 @@ pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \ + cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ + fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ + fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ +- hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c ++ hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c \ ++ graphics.c + + pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) + pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) +@@ -498,7 +529,7 @@ pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) + @NETBOOT_SUPPORT_TRUE@pre_stage2_exec_LDADD = ../netboot/libdrivers.a + @DISKLESS_SUPPORT_FALSE@BUILT_SOURCES = stage2_size.h + @DISKLESS_SUPPORT_TRUE@BUILT_SOURCES = stage2_size.h diskless_size.h +-CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) ++CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) + start_exec_SOURCES = start.S + start_exec_CCASFLAGS = $(STAGE2_COMPILE) + start_exec_LDFLAGS = $(START_LINK) +@@ -695,52 +726,52 @@ clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + diskless.exec$(EXEEXT): $(diskless_exec_OBJECTS) $(diskless_exec_DEPENDENCIES) + @rm -f diskless.exec$(EXEEXT) +- $(LINK) $(diskless_exec_LDFLAGS) $(diskless_exec_OBJECTS) $(diskless_exec_LDADD) $(LIBS) ++ $(diskless_exec_LINK) $(diskless_exec_OBJECTS) $(diskless_exec_LDADD) $(LIBS) + e2fs_stage1_5.exec$(EXEEXT): $(e2fs_stage1_5_exec_OBJECTS) $(e2fs_stage1_5_exec_DEPENDENCIES) + @rm -f e2fs_stage1_5.exec$(EXEEXT) +- $(LINK) $(e2fs_stage1_5_exec_LDFLAGS) $(e2fs_stage1_5_exec_OBJECTS) $(e2fs_stage1_5_exec_LDADD) $(LIBS) ++ $(e2fs_stage1_5_exec_LINK) $(e2fs_stage1_5_exec_OBJECTS) $(e2fs_stage1_5_exec_LDADD) $(LIBS) + fat_stage1_5.exec$(EXEEXT): $(fat_stage1_5_exec_OBJECTS) $(fat_stage1_5_exec_DEPENDENCIES) + @rm -f fat_stage1_5.exec$(EXEEXT) +- $(LINK) $(fat_stage1_5_exec_LDFLAGS) $(fat_stage1_5_exec_OBJECTS) $(fat_stage1_5_exec_LDADD) $(LIBS) ++ $(fat_stage1_5_exec_LINK) $(fat_stage1_5_exec_OBJECTS) $(fat_stage1_5_exec_LDADD) $(LIBS) + ffs_stage1_5.exec$(EXEEXT): $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_DEPENDENCIES) + @rm -f ffs_stage1_5.exec$(EXEEXT) +- $(LINK) $(ffs_stage1_5_exec_LDFLAGS) $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_LDADD) $(LIBS) ++ $(ffs_stage1_5_exec_LINK) $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_LDADD) $(LIBS) + iso9660_stage1_5.exec$(EXEEXT): $(iso9660_stage1_5_exec_OBJECTS) $(iso9660_stage1_5_exec_DEPENDENCIES) + @rm -f iso9660_stage1_5.exec$(EXEEXT) +- $(LINK) $(iso9660_stage1_5_exec_LDFLAGS) $(iso9660_stage1_5_exec_OBJECTS) $(iso9660_stage1_5_exec_LDADD) $(LIBS) ++ $(iso9660_stage1_5_exec_LINK) $(iso9660_stage1_5_exec_OBJECTS) $(iso9660_stage1_5_exec_LDADD) $(LIBS) + jfs_stage1_5.exec$(EXEEXT): $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_DEPENDENCIES) + @rm -f jfs_stage1_5.exec$(EXEEXT) +- $(LINK) $(jfs_stage1_5_exec_LDFLAGS) $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_LDADD) $(LIBS) ++ $(jfs_stage1_5_exec_LINK) $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_LDADD) $(LIBS) + minix_stage1_5.exec$(EXEEXT): $(minix_stage1_5_exec_OBJECTS) $(minix_stage1_5_exec_DEPENDENCIES) + @rm -f minix_stage1_5.exec$(EXEEXT) +- $(LINK) $(minix_stage1_5_exec_LDFLAGS) $(minix_stage1_5_exec_OBJECTS) $(minix_stage1_5_exec_LDADD) $(LIBS) ++ $(minix_stage1_5_exec_LINK) $(minix_stage1_5_exec_OBJECTS) $(minix_stage1_5_exec_LDADD) $(LIBS) + nbloader.exec$(EXEEXT): $(nbloader_exec_OBJECTS) $(nbloader_exec_DEPENDENCIES) + @rm -f nbloader.exec$(EXEEXT) +- $(LINK) $(nbloader_exec_LDFLAGS) $(nbloader_exec_OBJECTS) $(nbloader_exec_LDADD) $(LIBS) ++ $(nbloader_exec_LINK) $(nbloader_exec_OBJECTS) $(nbloader_exec_LDADD) $(LIBS) + pre_stage2.exec$(EXEEXT): $(pre_stage2_exec_OBJECTS) $(pre_stage2_exec_DEPENDENCIES) + @rm -f pre_stage2.exec$(EXEEXT) +- $(LINK) $(pre_stage2_exec_LDFLAGS) $(pre_stage2_exec_OBJECTS) $(pre_stage2_exec_LDADD) $(LIBS) ++ $(pre_stage2_exec_LINK) $(pre_stage2_exec_OBJECTS) $(pre_stage2_exec_LDADD) $(LIBS) + pxeloader.exec$(EXEEXT): $(pxeloader_exec_OBJECTS) $(pxeloader_exec_DEPENDENCIES) + @rm -f pxeloader.exec$(EXEEXT) +- $(LINK) $(pxeloader_exec_LDFLAGS) $(pxeloader_exec_OBJECTS) $(pxeloader_exec_LDADD) $(LIBS) ++ $(pxeloader_exec_LINK) $(pxeloader_exec_OBJECTS) $(pxeloader_exec_LDADD) $(LIBS) + reiserfs_stage1_5.exec$(EXEEXT): $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_DEPENDENCIES) + @rm -f reiserfs_stage1_5.exec$(EXEEXT) +- $(LINK) $(reiserfs_stage1_5_exec_LDFLAGS) $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_LDADD) $(LIBS) ++ $(reiserfs_stage1_5_exec_LINK) $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_LDADD) $(LIBS) + start.exec$(EXEEXT): $(start_exec_OBJECTS) $(start_exec_DEPENDENCIES) + @rm -f start.exec$(EXEEXT) +- $(LINK) $(start_exec_LDFLAGS) $(start_exec_OBJECTS) $(start_exec_LDADD) $(LIBS) ++ $(start_exec_LINK) $(start_exec_OBJECTS) $(start_exec_LDADD) $(LIBS) + start_eltorito.exec$(EXEEXT): $(start_eltorito_exec_OBJECTS) $(start_eltorito_exec_DEPENDENCIES) + @rm -f start_eltorito.exec$(EXEEXT) +- $(LINK) $(start_eltorito_exec_LDFLAGS) $(start_eltorito_exec_OBJECTS) $(start_eltorito_exec_LDADD) $(LIBS) ++ $(start_eltorito_exec_LINK) $(start_eltorito_exec_OBJECTS) $(start_eltorito_exec_LDADD) $(LIBS) + ufs2_stage1_5.exec$(EXEEXT): $(ufs2_stage1_5_exec_OBJECTS) $(ufs2_stage1_5_exec_DEPENDENCIES) + @rm -f ufs2_stage1_5.exec$(EXEEXT) +- $(LINK) $(ufs2_stage1_5_exec_LDFLAGS) $(ufs2_stage1_5_exec_OBJECTS) $(ufs2_stage1_5_exec_LDADD) $(LIBS) ++ $(ufs2_stage1_5_exec_LINK) $(ufs2_stage1_5_exec_OBJECTS) $(ufs2_stage1_5_exec_LDADD) $(LIBS) + vstafs_stage1_5.exec$(EXEEXT): $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_DEPENDENCIES) + @rm -f vstafs_stage1_5.exec$(EXEEXT) +- $(LINK) $(vstafs_stage1_5_exec_LDFLAGS) $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_LDADD) $(LIBS) ++ $(vstafs_stage1_5_exec_LINK) $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_LDADD) $(LIBS) + xfs_stage1_5.exec$(EXEEXT): $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_DEPENDENCIES) + @rm -f xfs_stage1_5.exec$(EXEEXT) +- $(LINK) $(xfs_stage1_5_exec_LDFLAGS) $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_LDADD) $(LIBS) ++ $(xfs_stage1_5_exec_LINK) $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_LDADD) $(LIBS) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) +@@ -748,6 +779,7 @@ mostlyclean-compile: + distclean-compile: + -rm -f *.tab.c + ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-boot.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-builtins.Po@am__quote@ +@@ -766,6 +798,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_ufs2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_vstafs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_xfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-graphics.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-gunzip.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-hercules.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-md5.Po@am__quote@ +@@ -774,36 +807,46 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-stage2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-terminfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-tparm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e2fs_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffs_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs_stage1_5_exec-start.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-boot.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-builtins.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-char_io.Po@am__quote@ +@@ -820,18 +863,23 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_ufs2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_vstafs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_xfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-graphics.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-gunzip.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-md5.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-serial.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-stage2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-terminfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-tparm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minix_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nbloader_exec-nbloader.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-boot.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-builtins.Po@am__quote@ +@@ -850,6 +898,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-graphics.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-gunzip.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-hercules.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-md5.Po@am__quote@ +@@ -858,2099 +907,2367 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-stage2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-terminfo.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-tparm.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pxeloader_exec-pxeloader.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/start_eltorito_exec-start_eltorito.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/start_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs2_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vstafs_stage1_5_exec-start.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-asm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-bios.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-char_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-common.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs_stage1_5_exec-start.Po@am__quote@ + + .S.o: +- $(CCASCOMPILE) -c $< ++@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< + + .S.obj: +- $(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` ++@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + + diskless_exec-asm.o: asm.S +- $(CCAS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -MT diskless_exec-asm.o -MD -MP -MF $(DEPDIR)/diskless_exec-asm.Tpo -c -o diskless_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/diskless_exec-asm.Tpo $(DEPDIR)/diskless_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='diskless_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + diskless_exec-asm.obj: asm.S +- $(CCAS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -MT diskless_exec-asm.obj -MD -MP -MF $(DEPDIR)/diskless_exec-asm.Tpo -c -o diskless_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/diskless_exec-asm.Tpo $(DEPDIR)/diskless_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='diskless_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CCASFLAGS) $(CCASFLAGS) -c -o diskless_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + e2fs_stage1_5_exec-start.o: start.S +- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo -c -o e2fs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo $(DEPDIR)/e2fs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='e2fs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + e2fs_stage1_5_exec-start.obj: start.S +- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo -c -o e2fs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-start.Tpo $(DEPDIR)/e2fs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='e2fs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + e2fs_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo -c -o e2fs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo $(DEPDIR)/e2fs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='e2fs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + e2fs_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT e2fs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo -c -o e2fs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-asm.Tpo $(DEPDIR)/e2fs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='e2fs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o e2fs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + fat_stage1_5_exec-start.o: start.S +- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-start.Tpo -c -o fat_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-start.Tpo $(DEPDIR)/fat_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='fat_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + fat_stage1_5_exec-start.obj: start.S +- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-start.Tpo -c -o fat_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-start.Tpo $(DEPDIR)/fat_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='fat_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + fat_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-asm.Tpo -c -o fat_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-asm.Tpo $(DEPDIR)/fat_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='fat_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + fat_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT fat_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-asm.Tpo -c -o fat_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-asm.Tpo $(DEPDIR)/fat_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='fat_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o fat_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + ffs_stage1_5_exec-start.o: start.S +- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-start.Tpo -c -o ffs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-start.Tpo $(DEPDIR)/ffs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ffs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + ffs_stage1_5_exec-start.obj: start.S +- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-start.Tpo -c -o ffs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-start.Tpo $(DEPDIR)/ffs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ffs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + ffs_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo -c -o ffs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo $(DEPDIR)/ffs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ffs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + ffs_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ffs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo -c -o ffs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-asm.Tpo $(DEPDIR)/ffs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ffs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ffs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + iso9660_stage1_5_exec-start_eltorito.o: start_eltorito.S +- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-start_eltorito.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo -c -o iso9660_stage1_5_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='iso9660_stage1_5_exec-start_eltorito.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S + + iso9660_stage1_5_exec-start_eltorito.obj: start_eltorito.S +- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-start_eltorito.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo -c -o iso9660_stage1_5_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Tpo $(DEPDIR)/iso9660_stage1_5_exec-start_eltorito.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='iso9660_stage1_5_exec-start_eltorito.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` + + iso9660_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo -c -o iso9660_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo $(DEPDIR)/iso9660_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='iso9660_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + iso9660_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT iso9660_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo -c -o iso9660_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-asm.Tpo $(DEPDIR)/iso9660_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='iso9660_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o iso9660_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + jfs_stage1_5_exec-start.o: start.S +- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-start.Tpo -c -o jfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-start.Tpo $(DEPDIR)/jfs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='jfs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + jfs_stage1_5_exec-start.obj: start.S +- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-start.Tpo -c -o jfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-start.Tpo $(DEPDIR)/jfs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='jfs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + jfs_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo -c -o jfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo $(DEPDIR)/jfs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='jfs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + jfs_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT jfs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo -c -o jfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-asm.Tpo $(DEPDIR)/jfs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='jfs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o jfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + minix_stage1_5_exec-start.o: start.S +- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-start.Tpo -c -o minix_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-start.Tpo $(DEPDIR)/minix_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='minix_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + minix_stage1_5_exec-start.obj: start.S +- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-start.Tpo -c -o minix_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-start.Tpo $(DEPDIR)/minix_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='minix_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + minix_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-asm.Tpo -c -o minix_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-asm.Tpo $(DEPDIR)/minix_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='minix_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + minix_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT minix_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-asm.Tpo -c -o minix_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-asm.Tpo $(DEPDIR)/minix_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='minix_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o minix_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + nbloader_exec-nbloader.o: nbloader.S +- $(CCAS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.o `test -f 'nbloader.S' || echo '$(srcdir)/'`nbloader.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -MT nbloader_exec-nbloader.o -MD -MP -MF $(DEPDIR)/nbloader_exec-nbloader.Tpo -c -o nbloader_exec-nbloader.o `test -f 'nbloader.S' || echo '$(srcdir)/'`nbloader.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/nbloader_exec-nbloader.Tpo $(DEPDIR)/nbloader_exec-nbloader.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='nbloader.S' object='nbloader_exec-nbloader.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.o `test -f 'nbloader.S' || echo '$(srcdir)/'`nbloader.S + + nbloader_exec-nbloader.obj: nbloader.S +- $(CCAS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.obj `if test -f 'nbloader.S'; then $(CYGPATH_W) 'nbloader.S'; else $(CYGPATH_W) '$(srcdir)/nbloader.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -MT nbloader_exec-nbloader.obj -MD -MP -MF $(DEPDIR)/nbloader_exec-nbloader.Tpo -c -o nbloader_exec-nbloader.obj `if test -f 'nbloader.S'; then $(CYGPATH_W) 'nbloader.S'; else $(CYGPATH_W) '$(srcdir)/nbloader.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/nbloader_exec-nbloader.Tpo $(DEPDIR)/nbloader_exec-nbloader.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='nbloader.S' object='nbloader_exec-nbloader.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nbloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o nbloader_exec-nbloader.obj `if test -f 'nbloader.S'; then $(CYGPATH_W) 'nbloader.S'; else $(CYGPATH_W) '$(srcdir)/nbloader.S'; fi` + + pre_stage2_exec-asm.o: asm.S +- $(CCAS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -MT pre_stage2_exec-asm.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-asm.Tpo -c -o pre_stage2_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-asm.Tpo $(DEPDIR)/pre_stage2_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='pre_stage2_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + pre_stage2_exec-asm.obj: asm.S +- $(CCAS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -MT pre_stage2_exec-asm.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-asm.Tpo -c -o pre_stage2_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-asm.Tpo $(DEPDIR)/pre_stage2_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='pre_stage2_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CCASFLAGS) $(CCASFLAGS) -c -o pre_stage2_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + pxeloader_exec-pxeloader.o: pxeloader.S +- $(CCAS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.o `test -f 'pxeloader.S' || echo '$(srcdir)/'`pxeloader.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -MT pxeloader_exec-pxeloader.o -MD -MP -MF $(DEPDIR)/pxeloader_exec-pxeloader.Tpo -c -o pxeloader_exec-pxeloader.o `test -f 'pxeloader.S' || echo '$(srcdir)/'`pxeloader.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pxeloader_exec-pxeloader.Tpo $(DEPDIR)/pxeloader_exec-pxeloader.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='pxeloader.S' object='pxeloader_exec-pxeloader.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.o `test -f 'pxeloader.S' || echo '$(srcdir)/'`pxeloader.S + + pxeloader_exec-pxeloader.obj: pxeloader.S +- $(CCAS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -MT pxeloader_exec-pxeloader.obj -MD -MP -MF $(DEPDIR)/pxeloader_exec-pxeloader.Tpo -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/pxeloader_exec-pxeloader.Tpo $(DEPDIR)/pxeloader_exec-pxeloader.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='pxeloader.S' object='pxeloader_exec-pxeloader.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` + + reiserfs_stage1_5_exec-start.o: start.S +- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='reiserfs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + reiserfs_stage1_5_exec-start.obj: start.S +- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo -c -o reiserfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-start.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='reiserfs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + reiserfs_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo -c -o reiserfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='reiserfs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + reiserfs_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT reiserfs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo -c -o reiserfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-asm.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='reiserfs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + start_exec-start.o: start.S +- $(CCAS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -MT start_exec-start.o -MD -MP -MF $(DEPDIR)/start_exec-start.Tpo -c -o start_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_exec-start.Tpo $(DEPDIR)/start_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='start_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + start_exec-start.obj: start.S +- $(CCAS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -MT start_exec-start.obj -MD -MP -MF $(DEPDIR)/start_exec-start.Tpo -c -o start_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_exec-start.Tpo $(DEPDIR)/start_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='start_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + start_eltorito_exec-start_eltorito.o: start_eltorito.S +- $(CCAS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -MT start_eltorito_exec-start_eltorito.o -MD -MP -MF $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo -c -o start_eltorito_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo $(DEPDIR)/start_eltorito_exec-start_eltorito.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='start_eltorito_exec-start_eltorito.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.o `test -f 'start_eltorito.S' || echo '$(srcdir)/'`start_eltorito.S + + start_eltorito_exec-start_eltorito.obj: start_eltorito.S +- $(CCAS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -MT start_eltorito_exec-start_eltorito.obj -MD -MP -MF $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo -c -o start_eltorito_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/start_eltorito_exec-start_eltorito.Tpo $(DEPDIR)/start_eltorito_exec-start_eltorito.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start_eltorito.S' object='start_eltorito_exec-start_eltorito.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(start_eltorito_exec_CCASFLAGS) $(CCASFLAGS) -c -o start_eltorito_exec-start_eltorito.obj `if test -f 'start_eltorito.S'; then $(CYGPATH_W) 'start_eltorito.S'; else $(CYGPATH_W) '$(srcdir)/start_eltorito.S'; fi` + + ufs2_stage1_5_exec-start.o: start.S +- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo -c -o ufs2_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo $(DEPDIR)/ufs2_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ufs2_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + ufs2_stage1_5_exec-start.obj: start.S +- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo -c -o ufs2_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-start.Tpo $(DEPDIR)/ufs2_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='ufs2_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + ufs2_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo -c -o ufs2_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo $(DEPDIR)/ufs2_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ufs2_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + ufs2_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT ufs2_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo -c -o ufs2_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-asm.Tpo $(DEPDIR)/ufs2_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='ufs2_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o ufs2_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + vstafs_stage1_5_exec-start.o: start.S +- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo -c -o vstafs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo $(DEPDIR)/vstafs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='vstafs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + vstafs_stage1_5_exec-start.obj: start.S +- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo -c -o vstafs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-start.Tpo $(DEPDIR)/vstafs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='vstafs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + vstafs_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo -c -o vstafs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo $(DEPDIR)/vstafs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='vstafs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + vstafs_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT vstafs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo -c -o vstafs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-asm.Tpo $(DEPDIR)/vstafs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='vstafs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o vstafs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + xfs_stage1_5_exec-start.o: start.S +- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-start.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-start.Tpo -c -o xfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-start.Tpo $(DEPDIR)/xfs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='xfs_stage1_5_exec-start.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + + xfs_stage1_5_exec-start.obj: start.S +- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-start.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-start.Tpo -c -o xfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-start.Tpo $(DEPDIR)/xfs_stage1_5_exec-start.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='start.S' object='xfs_stage1_5_exec-start.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + + xfs_stage1_5_exec-asm.o: asm.S +- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-asm.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo -c -o xfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo $(DEPDIR)/xfs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='xfs_stage1_5_exec-asm.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + + xfs_stage1_5_exec-asm.obj: asm.S +- $(CCAS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -MT xfs_stage1_5_exec-asm.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo -c -o xfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` ++@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-asm.Tpo $(DEPDIR)/xfs_stage1_5_exec-asm.Po ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='asm.S' object='xfs_stage1_5_exec-asm.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCCAS_FALSE@ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o xfs_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + + .c.o: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + + libgrub_a-boot.o: boot.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.o -MD -MP -MF "$(DEPDIR)/libgrub_a-boot.Tpo" -c -o libgrub_a-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-boot.Tpo" "$(DEPDIR)/libgrub_a-boot.Po"; else rm -f "$(DEPDIR)/libgrub_a-boot.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.o -MD -MP -MF $(DEPDIR)/libgrub_a-boot.Tpo -c -o libgrub_a-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-boot.Tpo $(DEPDIR)/libgrub_a-boot.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='libgrub_a-boot.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c + + libgrub_a-boot.obj: boot.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-boot.Tpo" -c -o libgrub_a-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-boot.Tpo" "$(DEPDIR)/libgrub_a-boot.Po"; else rm -f "$(DEPDIR)/libgrub_a-boot.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-boot.obj -MD -MP -MF $(DEPDIR)/libgrub_a-boot.Tpo -c -o libgrub_a-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-boot.Tpo $(DEPDIR)/libgrub_a-boot.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='libgrub_a-boot.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` + + libgrub_a-builtins.o: builtins.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.o -MD -MP -MF "$(DEPDIR)/libgrub_a-builtins.Tpo" -c -o libgrub_a-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-builtins.Tpo" "$(DEPDIR)/libgrub_a-builtins.Po"; else rm -f "$(DEPDIR)/libgrub_a-builtins.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.o -MD -MP -MF $(DEPDIR)/libgrub_a-builtins.Tpo -c -o libgrub_a-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-builtins.Tpo $(DEPDIR)/libgrub_a-builtins.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='libgrub_a-builtins.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c + + libgrub_a-builtins.obj: builtins.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-builtins.Tpo" -c -o libgrub_a-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-builtins.Tpo" "$(DEPDIR)/libgrub_a-builtins.Po"; else rm -f "$(DEPDIR)/libgrub_a-builtins.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-builtins.obj -MD -MP -MF $(DEPDIR)/libgrub_a-builtins.Tpo -c -o libgrub_a-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-builtins.Tpo $(DEPDIR)/libgrub_a-builtins.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='libgrub_a-builtins.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` + + libgrub_a-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.o -MD -MP -MF "$(DEPDIR)/libgrub_a-char_io.Tpo" -c -o libgrub_a-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-char_io.Tpo" "$(DEPDIR)/libgrub_a-char_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.o -MD -MP -MF $(DEPDIR)/libgrub_a-char_io.Tpo -c -o libgrub_a-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-char_io.Tpo $(DEPDIR)/libgrub_a-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='libgrub_a-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + libgrub_a-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-char_io.Tpo" -c -o libgrub_a-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-char_io.Tpo" "$(DEPDIR)/libgrub_a-char_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-char_io.obj -MD -MP -MF $(DEPDIR)/libgrub_a-char_io.Tpo -c -o libgrub_a-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-char_io.Tpo $(DEPDIR)/libgrub_a-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='libgrub_a-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + libgrub_a-cmdline.o: cmdline.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.o -MD -MP -MF "$(DEPDIR)/libgrub_a-cmdline.Tpo" -c -o libgrub_a-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-cmdline.Tpo" "$(DEPDIR)/libgrub_a-cmdline.Po"; else rm -f "$(DEPDIR)/libgrub_a-cmdline.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.o -MD -MP -MF $(DEPDIR)/libgrub_a-cmdline.Tpo -c -o libgrub_a-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-cmdline.Tpo $(DEPDIR)/libgrub_a-cmdline.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='libgrub_a-cmdline.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c + + libgrub_a-cmdline.obj: cmdline.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-cmdline.Tpo" -c -o libgrub_a-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-cmdline.Tpo" "$(DEPDIR)/libgrub_a-cmdline.Po"; else rm -f "$(DEPDIR)/libgrub_a-cmdline.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-cmdline.obj -MD -MP -MF $(DEPDIR)/libgrub_a-cmdline.Tpo -c -o libgrub_a-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-cmdline.Tpo $(DEPDIR)/libgrub_a-cmdline.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='libgrub_a-cmdline.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` + + libgrub_a-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.o -MD -MP -MF "$(DEPDIR)/libgrub_a-common.Tpo" -c -o libgrub_a-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-common.Tpo" "$(DEPDIR)/libgrub_a-common.Po"; else rm -f "$(DEPDIR)/libgrub_a-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.o -MD -MP -MF $(DEPDIR)/libgrub_a-common.Tpo -c -o libgrub_a-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-common.Tpo $(DEPDIR)/libgrub_a-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='libgrub_a-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + libgrub_a-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-common.Tpo" -c -o libgrub_a-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-common.Tpo" "$(DEPDIR)/libgrub_a-common.Po"; else rm -f "$(DEPDIR)/libgrub_a-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-common.obj -MD -MP -MF $(DEPDIR)/libgrub_a-common.Tpo -c -o libgrub_a-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-common.Tpo $(DEPDIR)/libgrub_a-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='libgrub_a-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + libgrub_a-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.o -MD -MP -MF "$(DEPDIR)/libgrub_a-disk_io.Tpo" -c -o libgrub_a-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-disk_io.Tpo" "$(DEPDIR)/libgrub_a-disk_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.o -MD -MP -MF $(DEPDIR)/libgrub_a-disk_io.Tpo -c -o libgrub_a-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-disk_io.Tpo $(DEPDIR)/libgrub_a-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='libgrub_a-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + libgrub_a-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-disk_io.Tpo" -c -o libgrub_a-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-disk_io.Tpo" "$(DEPDIR)/libgrub_a-disk_io.Po"; else rm -f "$(DEPDIR)/libgrub_a-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-disk_io.obj -MD -MP -MF $(DEPDIR)/libgrub_a-disk_io.Tpo -c -o libgrub_a-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-disk_io.Tpo $(DEPDIR)/libgrub_a-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='libgrub_a-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + libgrub_a-fsys_ext2fs.o: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" -c -o libgrub_a-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo -c -o libgrub_a-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo $(DEPDIR)/libgrub_a-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='libgrub_a-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c + + libgrub_a-fsys_ext2fs.obj: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" -c -o libgrub_a-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo -c -o libgrub_a-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ext2fs.Tpo $(DEPDIR)/libgrub_a-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='libgrub_a-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` + + libgrub_a-fsys_fat.o: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" -c -o libgrub_a-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" "$(DEPDIR)/libgrub_a-fsys_fat.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_fat.Tpo -c -o libgrub_a-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_fat.Tpo $(DEPDIR)/libgrub_a-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='libgrub_a-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c + + libgrub_a-fsys_fat.obj: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" -c -o libgrub_a-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo" "$(DEPDIR)/libgrub_a-fsys_fat.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_fat.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_fat.Tpo -c -o libgrub_a-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_fat.Tpo $(DEPDIR)/libgrub_a-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='libgrub_a-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` + + libgrub_a-fsys_ffs.o: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" -c -o libgrub_a-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ffs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ffs.Tpo -c -o libgrub_a-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ffs.Tpo $(DEPDIR)/libgrub_a-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='libgrub_a-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c + + libgrub_a-fsys_ffs.obj: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" -c -o libgrub_a-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo" "$(DEPDIR)/libgrub_a-fsys_ffs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ffs.Tpo -c -o libgrub_a-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ffs.Tpo $(DEPDIR)/libgrub_a-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='libgrub_a-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` + + libgrub_a-fsys_iso9660.o: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" -c -o libgrub_a-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" "$(DEPDIR)/libgrub_a-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo -c -o libgrub_a-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo $(DEPDIR)/libgrub_a-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='libgrub_a-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c + + libgrub_a-fsys_iso9660.obj: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" -c -o libgrub_a-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo" "$(DEPDIR)/libgrub_a-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo -c -o libgrub_a-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_iso9660.Tpo $(DEPDIR)/libgrub_a-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='libgrub_a-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` + + libgrub_a-fsys_jfs.o: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" -c -o libgrub_a-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_jfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_jfs.Tpo -c -o libgrub_a-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_jfs.Tpo $(DEPDIR)/libgrub_a-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='libgrub_a-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c + + libgrub_a-fsys_jfs.obj: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" -c -o libgrub_a-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_jfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_jfs.Tpo -c -o libgrub_a-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_jfs.Tpo $(DEPDIR)/libgrub_a-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='libgrub_a-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` + + libgrub_a-fsys_minix.o: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" -c -o libgrub_a-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" "$(DEPDIR)/libgrub_a-fsys_minix.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_minix.Tpo -c -o libgrub_a-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_minix.Tpo $(DEPDIR)/libgrub_a-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='libgrub_a-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c + + libgrub_a-fsys_minix.obj: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" -c -o libgrub_a-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo" "$(DEPDIR)/libgrub_a-fsys_minix.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_minix.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_minix.Tpo -c -o libgrub_a-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_minix.Tpo $(DEPDIR)/libgrub_a-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='libgrub_a-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` + + libgrub_a-fsys_reiserfs.o: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" -c -o libgrub_a-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo -c -o libgrub_a-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo $(DEPDIR)/libgrub_a-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='libgrub_a-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c + + libgrub_a-fsys_reiserfs.obj: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_reiserfs.Tpo $(DEPDIR)/libgrub_a-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='libgrub_a-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` + + libgrub_a-fsys_ufs2.o: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" "$(DEPDIR)/libgrub_a-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo $(DEPDIR)/libgrub_a-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='libgrub_a-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c + + libgrub_a-fsys_ufs2.obj: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" -c -o libgrub_a-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" "$(DEPDIR)/libgrub_a-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo -c -o libgrub_a-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_ufs2.Tpo $(DEPDIR)/libgrub_a-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='libgrub_a-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` + + libgrub_a-fsys_vstafs.o: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" -c -o libgrub_a-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" "$(DEPDIR)/libgrub_a-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo -c -o libgrub_a-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo $(DEPDIR)/libgrub_a-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='libgrub_a-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c + + libgrub_a-fsys_vstafs.obj: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" -c -o libgrub_a-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo" "$(DEPDIR)/libgrub_a-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo -c -o libgrub_a-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_vstafs.Tpo $(DEPDIR)/libgrub_a-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='libgrub_a-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` + + libgrub_a-fsys_xfs.o: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" -c -o libgrub_a-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_xfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.o -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_xfs.Tpo -c -o libgrub_a-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_xfs.Tpo $(DEPDIR)/libgrub_a-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='libgrub_a-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c + + libgrub_a-fsys_xfs.obj: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" -c -o libgrub_a-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo" "$(DEPDIR)/libgrub_a-fsys_xfs.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/libgrub_a-fsys_xfs.Tpo -c -o libgrub_a-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-fsys_xfs.Tpo $(DEPDIR)/libgrub_a-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='libgrub_a-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` + + libgrub_a-gunzip.o: gunzip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.o -MD -MP -MF "$(DEPDIR)/libgrub_a-gunzip.Tpo" -c -o libgrub_a-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-gunzip.Tpo" "$(DEPDIR)/libgrub_a-gunzip.Po"; else rm -f "$(DEPDIR)/libgrub_a-gunzip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.o -MD -MP -MF $(DEPDIR)/libgrub_a-gunzip.Tpo -c -o libgrub_a-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-gunzip.Tpo $(DEPDIR)/libgrub_a-gunzip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='libgrub_a-gunzip.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c + + libgrub_a-gunzip.obj: gunzip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-gunzip.Tpo" -c -o libgrub_a-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-gunzip.Tpo" "$(DEPDIR)/libgrub_a-gunzip.Po"; else rm -f "$(DEPDIR)/libgrub_a-gunzip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-gunzip.obj -MD -MP -MF $(DEPDIR)/libgrub_a-gunzip.Tpo -c -o libgrub_a-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-gunzip.Tpo $(DEPDIR)/libgrub_a-gunzip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='libgrub_a-gunzip.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` + + libgrub_a-md5.o: md5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.o -MD -MP -MF "$(DEPDIR)/libgrub_a-md5.Tpo" -c -o libgrub_a-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-md5.Tpo" "$(DEPDIR)/libgrub_a-md5.Po"; else rm -f "$(DEPDIR)/libgrub_a-md5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.o -MD -MP -MF $(DEPDIR)/libgrub_a-md5.Tpo -c -o libgrub_a-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-md5.Tpo $(DEPDIR)/libgrub_a-md5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='libgrub_a-md5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c + + libgrub_a-md5.obj: md5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-md5.Tpo" -c -o libgrub_a-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-md5.Tpo" "$(DEPDIR)/libgrub_a-md5.Po"; else rm -f "$(DEPDIR)/libgrub_a-md5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-md5.obj -MD -MP -MF $(DEPDIR)/libgrub_a-md5.Tpo -c -o libgrub_a-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-md5.Tpo $(DEPDIR)/libgrub_a-md5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='libgrub_a-md5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` + + libgrub_a-serial.o: serial.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.o -MD -MP -MF "$(DEPDIR)/libgrub_a-serial.Tpo" -c -o libgrub_a-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-serial.Tpo" "$(DEPDIR)/libgrub_a-serial.Po"; else rm -f "$(DEPDIR)/libgrub_a-serial.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.o -MD -MP -MF $(DEPDIR)/libgrub_a-serial.Tpo -c -o libgrub_a-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-serial.Tpo $(DEPDIR)/libgrub_a-serial.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='libgrub_a-serial.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c + + libgrub_a-serial.obj: serial.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-serial.Tpo" -c -o libgrub_a-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-serial.Tpo" "$(DEPDIR)/libgrub_a-serial.Po"; else rm -f "$(DEPDIR)/libgrub_a-serial.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-serial.obj -MD -MP -MF $(DEPDIR)/libgrub_a-serial.Tpo -c -o libgrub_a-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-serial.Tpo $(DEPDIR)/libgrub_a-serial.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='libgrub_a-serial.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` + + libgrub_a-stage2.o: stage2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.o -MD -MP -MF "$(DEPDIR)/libgrub_a-stage2.Tpo" -c -o libgrub_a-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-stage2.Tpo" "$(DEPDIR)/libgrub_a-stage2.Po"; else rm -f "$(DEPDIR)/libgrub_a-stage2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.o -MD -MP -MF $(DEPDIR)/libgrub_a-stage2.Tpo -c -o libgrub_a-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-stage2.Tpo $(DEPDIR)/libgrub_a-stage2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='libgrub_a-stage2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c + + libgrub_a-stage2.obj: stage2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-stage2.Tpo" -c -o libgrub_a-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-stage2.Tpo" "$(DEPDIR)/libgrub_a-stage2.Po"; else rm -f "$(DEPDIR)/libgrub_a-stage2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-stage2.obj -MD -MP -MF $(DEPDIR)/libgrub_a-stage2.Tpo -c -o libgrub_a-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-stage2.Tpo $(DEPDIR)/libgrub_a-stage2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='libgrub_a-stage2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` + + libgrub_a-terminfo.o: terminfo.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.o -MD -MP -MF "$(DEPDIR)/libgrub_a-terminfo.Tpo" -c -o libgrub_a-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-terminfo.Tpo" "$(DEPDIR)/libgrub_a-terminfo.Po"; else rm -f "$(DEPDIR)/libgrub_a-terminfo.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.o -MD -MP -MF $(DEPDIR)/libgrub_a-terminfo.Tpo -c -o libgrub_a-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-terminfo.Tpo $(DEPDIR)/libgrub_a-terminfo.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='libgrub_a-terminfo.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c + + libgrub_a-terminfo.obj: terminfo.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-terminfo.Tpo" -c -o libgrub_a-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-terminfo.Tpo" "$(DEPDIR)/libgrub_a-terminfo.Po"; else rm -f "$(DEPDIR)/libgrub_a-terminfo.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-terminfo.obj -MD -MP -MF $(DEPDIR)/libgrub_a-terminfo.Tpo -c -o libgrub_a-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-terminfo.Tpo $(DEPDIR)/libgrub_a-terminfo.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='libgrub_a-terminfo.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` + + libgrub_a-tparm.o: tparm.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.o -MD -MP -MF "$(DEPDIR)/libgrub_a-tparm.Tpo" -c -o libgrub_a-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-tparm.Tpo" "$(DEPDIR)/libgrub_a-tparm.Po"; else rm -f "$(DEPDIR)/libgrub_a-tparm.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.o -MD -MP -MF $(DEPDIR)/libgrub_a-tparm.Tpo -c -o libgrub_a-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-tparm.Tpo $(DEPDIR)/libgrub_a-tparm.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='libgrub_a-tparm.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c + + libgrub_a-tparm.obj: tparm.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-tparm.Tpo" -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-tparm.Tpo" "$(DEPDIR)/libgrub_a-tparm.Po"; else rm -f "$(DEPDIR)/libgrub_a-tparm.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-tparm.obj -MD -MP -MF $(DEPDIR)/libgrub_a-tparm.Tpo -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-tparm.Tpo $(DEPDIR)/libgrub_a-tparm.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='libgrub_a-tparm.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` + ++libgrub_a-graphics.o: graphics.c ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.o -MD -MP -MF $(DEPDIR)/libgrub_a-graphics.Tpo -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-graphics.Tpo $(DEPDIR)/libgrub_a-graphics.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c ++ ++libgrub_a-graphics.obj: graphics.c ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.obj -MD -MP -MF $(DEPDIR)/libgrub_a-graphics.Tpo -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libgrub_a-graphics.Tpo $(DEPDIR)/libgrub_a-graphics.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` ++ + diskless_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.o -MD -MP -MF "$(DEPDIR)/diskless_exec-bios.Tpo" -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-bios.Tpo" "$(DEPDIR)/diskless_exec-bios.Po"; else rm -f "$(DEPDIR)/diskless_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.o -MD -MP -MF $(DEPDIR)/diskless_exec-bios.Tpo -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-bios.Tpo $(DEPDIR)/diskless_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='diskless_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + diskless_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-bios.Tpo" -c -o diskless_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-bios.Tpo" "$(DEPDIR)/diskless_exec-bios.Po"; else rm -f "$(DEPDIR)/diskless_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.obj -MD -MP -MF $(DEPDIR)/diskless_exec-bios.Tpo -c -o diskless_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-bios.Tpo $(DEPDIR)/diskless_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='diskless_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + diskless_exec-boot.o: boot.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.o -MD -MP -MF "$(DEPDIR)/diskless_exec-boot.Tpo" -c -o diskless_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-boot.Tpo" "$(DEPDIR)/diskless_exec-boot.Po"; else rm -f "$(DEPDIR)/diskless_exec-boot.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.o -MD -MP -MF $(DEPDIR)/diskless_exec-boot.Tpo -c -o diskless_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-boot.Tpo $(DEPDIR)/diskless_exec-boot.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='diskless_exec-boot.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c + + diskless_exec-boot.obj: boot.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-boot.Tpo" -c -o diskless_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-boot.Tpo" "$(DEPDIR)/diskless_exec-boot.Po"; else rm -f "$(DEPDIR)/diskless_exec-boot.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-boot.obj -MD -MP -MF $(DEPDIR)/diskless_exec-boot.Tpo -c -o diskless_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-boot.Tpo $(DEPDIR)/diskless_exec-boot.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='diskless_exec-boot.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` + + diskless_exec-builtins.o: builtins.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.o -MD -MP -MF "$(DEPDIR)/diskless_exec-builtins.Tpo" -c -o diskless_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-builtins.Tpo" "$(DEPDIR)/diskless_exec-builtins.Po"; else rm -f "$(DEPDIR)/diskless_exec-builtins.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.o -MD -MP -MF $(DEPDIR)/diskless_exec-builtins.Tpo -c -o diskless_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-builtins.Tpo $(DEPDIR)/diskless_exec-builtins.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='diskless_exec-builtins.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c + + diskless_exec-builtins.obj: builtins.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-builtins.Tpo" -c -o diskless_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-builtins.Tpo" "$(DEPDIR)/diskless_exec-builtins.Po"; else rm -f "$(DEPDIR)/diskless_exec-builtins.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-builtins.obj -MD -MP -MF $(DEPDIR)/diskless_exec-builtins.Tpo -c -o diskless_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-builtins.Tpo $(DEPDIR)/diskless_exec-builtins.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='diskless_exec-builtins.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` + + diskless_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.o -MD -MP -MF "$(DEPDIR)/diskless_exec-char_io.Tpo" -c -o diskless_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-char_io.Tpo" "$(DEPDIR)/diskless_exec-char_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.o -MD -MP -MF $(DEPDIR)/diskless_exec-char_io.Tpo -c -o diskless_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-char_io.Tpo $(DEPDIR)/diskless_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='diskless_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + diskless_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-char_io.Tpo" -c -o diskless_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-char_io.Tpo" "$(DEPDIR)/diskless_exec-char_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-char_io.obj -MD -MP -MF $(DEPDIR)/diskless_exec-char_io.Tpo -c -o diskless_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-char_io.Tpo $(DEPDIR)/diskless_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='diskless_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + diskless_exec-cmdline.o: cmdline.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.o -MD -MP -MF "$(DEPDIR)/diskless_exec-cmdline.Tpo" -c -o diskless_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-cmdline.Tpo" "$(DEPDIR)/diskless_exec-cmdline.Po"; else rm -f "$(DEPDIR)/diskless_exec-cmdline.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.o -MD -MP -MF $(DEPDIR)/diskless_exec-cmdline.Tpo -c -o diskless_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-cmdline.Tpo $(DEPDIR)/diskless_exec-cmdline.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='diskless_exec-cmdline.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c + + diskless_exec-cmdline.obj: cmdline.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-cmdline.Tpo" -c -o diskless_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-cmdline.Tpo" "$(DEPDIR)/diskless_exec-cmdline.Po"; else rm -f "$(DEPDIR)/diskless_exec-cmdline.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-cmdline.obj -MD -MP -MF $(DEPDIR)/diskless_exec-cmdline.Tpo -c -o diskless_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-cmdline.Tpo $(DEPDIR)/diskless_exec-cmdline.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='diskless_exec-cmdline.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` + + diskless_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.o -MD -MP -MF "$(DEPDIR)/diskless_exec-common.Tpo" -c -o diskless_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-common.Tpo" "$(DEPDIR)/diskless_exec-common.Po"; else rm -f "$(DEPDIR)/diskless_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.o -MD -MP -MF $(DEPDIR)/diskless_exec-common.Tpo -c -o diskless_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-common.Tpo $(DEPDIR)/diskless_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='diskless_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + diskless_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-common.Tpo" -c -o diskless_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-common.Tpo" "$(DEPDIR)/diskless_exec-common.Po"; else rm -f "$(DEPDIR)/diskless_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-common.obj -MD -MP -MF $(DEPDIR)/diskless_exec-common.Tpo -c -o diskless_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-common.Tpo $(DEPDIR)/diskless_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='diskless_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + diskless_exec-console.o: console.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.o -MD -MP -MF "$(DEPDIR)/diskless_exec-console.Tpo" -c -o diskless_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-console.Tpo" "$(DEPDIR)/diskless_exec-console.Po"; else rm -f "$(DEPDIR)/diskless_exec-console.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.o -MD -MP -MF $(DEPDIR)/diskless_exec-console.Tpo -c -o diskless_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-console.Tpo $(DEPDIR)/diskless_exec-console.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='diskless_exec-console.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c + + diskless_exec-console.obj: console.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-console.Tpo" -c -o diskless_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-console.Tpo" "$(DEPDIR)/diskless_exec-console.Po"; else rm -f "$(DEPDIR)/diskless_exec-console.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-console.obj -MD -MP -MF $(DEPDIR)/diskless_exec-console.Tpo -c -o diskless_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-console.Tpo $(DEPDIR)/diskless_exec-console.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='diskless_exec-console.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` + + diskless_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/diskless_exec-disk_io.Tpo" -c -o diskless_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-disk_io.Tpo" "$(DEPDIR)/diskless_exec-disk_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.o -MD -MP -MF $(DEPDIR)/diskless_exec-disk_io.Tpo -c -o diskless_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-disk_io.Tpo $(DEPDIR)/diskless_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='diskless_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + diskless_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-disk_io.Tpo" -c -o diskless_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-disk_io.Tpo" "$(DEPDIR)/diskless_exec-disk_io.Po"; else rm -f "$(DEPDIR)/diskless_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/diskless_exec-disk_io.Tpo -c -o diskless_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-disk_io.Tpo $(DEPDIR)/diskless_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='diskless_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + diskless_exec-fsys_ext2fs.o: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" -c -o diskless_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo -c -o diskless_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo $(DEPDIR)/diskless_exec-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='diskless_exec-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c + + diskless_exec-fsys_ext2fs.obj: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" -c -o diskless_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo -c -o diskless_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ext2fs.Tpo $(DEPDIR)/diskless_exec-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='diskless_exec-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` + + diskless_exec-fsys_fat.o: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" -c -o diskless_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" "$(DEPDIR)/diskless_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_fat.Tpo -c -o diskless_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_fat.Tpo $(DEPDIR)/diskless_exec-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='diskless_exec-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c + + diskless_exec-fsys_fat.obj: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" -c -o diskless_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo" "$(DEPDIR)/diskless_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_fat.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_fat.Tpo -c -o diskless_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_fat.Tpo $(DEPDIR)/diskless_exec-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='diskless_exec-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` + + diskless_exec-fsys_ffs.o: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" -c -o diskless_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ffs.Tpo -c -o diskless_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ffs.Tpo $(DEPDIR)/diskless_exec-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='diskless_exec-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c + + diskless_exec-fsys_ffs.obj: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" -c -o diskless_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo" "$(DEPDIR)/diskless_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ffs.Tpo -c -o diskless_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ffs.Tpo $(DEPDIR)/diskless_exec-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='diskless_exec-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` + + diskless_exec-fsys_iso9660.o: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" -c -o diskless_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" "$(DEPDIR)/diskless_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo -c -o diskless_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo $(DEPDIR)/diskless_exec-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='diskless_exec-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c + + diskless_exec-fsys_iso9660.obj: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" -c -o diskless_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo" "$(DEPDIR)/diskless_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo -c -o diskless_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_iso9660.Tpo $(DEPDIR)/diskless_exec-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='diskless_exec-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` + + diskless_exec-fsys_jfs.o: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" -c -o diskless_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_jfs.Tpo -c -o diskless_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_jfs.Tpo $(DEPDIR)/diskless_exec-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='diskless_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c + + diskless_exec-fsys_jfs.obj: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" -c -o diskless_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_jfs.Tpo -c -o diskless_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_jfs.Tpo $(DEPDIR)/diskless_exec-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='diskless_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` + + diskless_exec-fsys_minix.o: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" -c -o diskless_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" "$(DEPDIR)/diskless_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_minix.Tpo -c -o diskless_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_minix.Tpo $(DEPDIR)/diskless_exec-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='diskless_exec-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c + + diskless_exec-fsys_minix.obj: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" -c -o diskless_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo" "$(DEPDIR)/diskless_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_minix.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_minix.Tpo -c -o diskless_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_minix.Tpo $(DEPDIR)/diskless_exec-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='diskless_exec-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` + + diskless_exec-fsys_reiserfs.o: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" -c -o diskless_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo -c -o diskless_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo $(DEPDIR)/diskless_exec-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='diskless_exec-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c + + diskless_exec-fsys_reiserfs.obj: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_reiserfs.Tpo $(DEPDIR)/diskless_exec-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='diskless_exec-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` + + diskless_exec-fsys_ufs2.o: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" "$(DEPDIR)/diskless_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo $(DEPDIR)/diskless_exec-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='diskless_exec-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c + + diskless_exec-fsys_ufs2.obj: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" -c -o diskless_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" "$(DEPDIR)/diskless_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo -c -o diskless_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_ufs2.Tpo $(DEPDIR)/diskless_exec-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='diskless_exec-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` + + diskless_exec-fsys_vstafs.o: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" -c -o diskless_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" "$(DEPDIR)/diskless_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo -c -o diskless_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo $(DEPDIR)/diskless_exec-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='diskless_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c + + diskless_exec-fsys_vstafs.obj: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" -c -o diskless_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo" "$(DEPDIR)/diskless_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo -c -o diskless_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_vstafs.Tpo $(DEPDIR)/diskless_exec-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='diskless_exec-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` + + diskless_exec-fsys_xfs.o: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" -c -o diskless_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.o -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_xfs.Tpo -c -o diskless_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_xfs.Tpo $(DEPDIR)/diskless_exec-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='diskless_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c + + diskless_exec-fsys_xfs.obj: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" -c -o diskless_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo" "$(DEPDIR)/diskless_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/diskless_exec-fsys_xfs.Tpo -c -o diskless_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-fsys_xfs.Tpo $(DEPDIR)/diskless_exec-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='diskless_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` + + diskless_exec-gunzip.o: gunzip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.o -MD -MP -MF "$(DEPDIR)/diskless_exec-gunzip.Tpo" -c -o diskless_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-gunzip.Tpo" "$(DEPDIR)/diskless_exec-gunzip.Po"; else rm -f "$(DEPDIR)/diskless_exec-gunzip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.o -MD -MP -MF $(DEPDIR)/diskless_exec-gunzip.Tpo -c -o diskless_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-gunzip.Tpo $(DEPDIR)/diskless_exec-gunzip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='diskless_exec-gunzip.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c + + diskless_exec-gunzip.obj: gunzip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-gunzip.Tpo" -c -o diskless_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-gunzip.Tpo" "$(DEPDIR)/diskless_exec-gunzip.Po"; else rm -f "$(DEPDIR)/diskless_exec-gunzip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-gunzip.obj -MD -MP -MF $(DEPDIR)/diskless_exec-gunzip.Tpo -c -o diskless_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-gunzip.Tpo $(DEPDIR)/diskless_exec-gunzip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='diskless_exec-gunzip.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` + + diskless_exec-hercules.o: hercules.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.o -MD -MP -MF "$(DEPDIR)/diskless_exec-hercules.Tpo" -c -o diskless_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-hercules.Tpo" "$(DEPDIR)/diskless_exec-hercules.Po"; else rm -f "$(DEPDIR)/diskless_exec-hercules.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.o -MD -MP -MF $(DEPDIR)/diskless_exec-hercules.Tpo -c -o diskless_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-hercules.Tpo $(DEPDIR)/diskless_exec-hercules.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='diskless_exec-hercules.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c + + diskless_exec-hercules.obj: hercules.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-hercules.Tpo" -c -o diskless_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-hercules.Tpo" "$(DEPDIR)/diskless_exec-hercules.Po"; else rm -f "$(DEPDIR)/diskless_exec-hercules.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-hercules.obj -MD -MP -MF $(DEPDIR)/diskless_exec-hercules.Tpo -c -o diskless_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-hercules.Tpo $(DEPDIR)/diskless_exec-hercules.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='diskless_exec-hercules.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` + + diskless_exec-md5.o: md5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.o -MD -MP -MF "$(DEPDIR)/diskless_exec-md5.Tpo" -c -o diskless_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-md5.Tpo" "$(DEPDIR)/diskless_exec-md5.Po"; else rm -f "$(DEPDIR)/diskless_exec-md5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.o -MD -MP -MF $(DEPDIR)/diskless_exec-md5.Tpo -c -o diskless_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-md5.Tpo $(DEPDIR)/diskless_exec-md5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='diskless_exec-md5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c + + diskless_exec-md5.obj: md5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-md5.Tpo" -c -o diskless_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-md5.Tpo" "$(DEPDIR)/diskless_exec-md5.Po"; else rm -f "$(DEPDIR)/diskless_exec-md5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-md5.obj -MD -MP -MF $(DEPDIR)/diskless_exec-md5.Tpo -c -o diskless_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-md5.Tpo $(DEPDIR)/diskless_exec-md5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='diskless_exec-md5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` + + diskless_exec-serial.o: serial.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.o -MD -MP -MF "$(DEPDIR)/diskless_exec-serial.Tpo" -c -o diskless_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-serial.Tpo" "$(DEPDIR)/diskless_exec-serial.Po"; else rm -f "$(DEPDIR)/diskless_exec-serial.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.o -MD -MP -MF $(DEPDIR)/diskless_exec-serial.Tpo -c -o diskless_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-serial.Tpo $(DEPDIR)/diskless_exec-serial.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='diskless_exec-serial.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c + + diskless_exec-serial.obj: serial.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-serial.Tpo" -c -o diskless_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-serial.Tpo" "$(DEPDIR)/diskless_exec-serial.Po"; else rm -f "$(DEPDIR)/diskless_exec-serial.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-serial.obj -MD -MP -MF $(DEPDIR)/diskless_exec-serial.Tpo -c -o diskless_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-serial.Tpo $(DEPDIR)/diskless_exec-serial.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='diskless_exec-serial.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` + + diskless_exec-smp-imps.o: smp-imps.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.o -MD -MP -MF "$(DEPDIR)/diskless_exec-smp-imps.Tpo" -c -o diskless_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo" "$(DEPDIR)/diskless_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.o -MD -MP -MF $(DEPDIR)/diskless_exec-smp-imps.Tpo -c -o diskless_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-smp-imps.Tpo $(DEPDIR)/diskless_exec-smp-imps.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='diskless_exec-smp-imps.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c + + diskless_exec-smp-imps.obj: smp-imps.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-smp-imps.Tpo" -c -o diskless_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo" "$(DEPDIR)/diskless_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/diskless_exec-smp-imps.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-smp-imps.obj -MD -MP -MF $(DEPDIR)/diskless_exec-smp-imps.Tpo -c -o diskless_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-smp-imps.Tpo $(DEPDIR)/diskless_exec-smp-imps.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='diskless_exec-smp-imps.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` + + diskless_exec-stage2.o: stage2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.o -MD -MP -MF "$(DEPDIR)/diskless_exec-stage2.Tpo" -c -o diskless_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-stage2.Tpo" "$(DEPDIR)/diskless_exec-stage2.Po"; else rm -f "$(DEPDIR)/diskless_exec-stage2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.o -MD -MP -MF $(DEPDIR)/diskless_exec-stage2.Tpo -c -o diskless_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-stage2.Tpo $(DEPDIR)/diskless_exec-stage2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='diskless_exec-stage2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c + + diskless_exec-stage2.obj: stage2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-stage2.Tpo" -c -o diskless_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-stage2.Tpo" "$(DEPDIR)/diskless_exec-stage2.Po"; else rm -f "$(DEPDIR)/diskless_exec-stage2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-stage2.obj -MD -MP -MF $(DEPDIR)/diskless_exec-stage2.Tpo -c -o diskless_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-stage2.Tpo $(DEPDIR)/diskless_exec-stage2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='diskless_exec-stage2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` + + diskless_exec-terminfo.o: terminfo.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.o -MD -MP -MF "$(DEPDIR)/diskless_exec-terminfo.Tpo" -c -o diskless_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-terminfo.Tpo" "$(DEPDIR)/diskless_exec-terminfo.Po"; else rm -f "$(DEPDIR)/diskless_exec-terminfo.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.o -MD -MP -MF $(DEPDIR)/diskless_exec-terminfo.Tpo -c -o diskless_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-terminfo.Tpo $(DEPDIR)/diskless_exec-terminfo.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='diskless_exec-terminfo.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c + + diskless_exec-terminfo.obj: terminfo.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-terminfo.Tpo" -c -o diskless_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-terminfo.Tpo" "$(DEPDIR)/diskless_exec-terminfo.Po"; else rm -f "$(DEPDIR)/diskless_exec-terminfo.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-terminfo.obj -MD -MP -MF $(DEPDIR)/diskless_exec-terminfo.Tpo -c -o diskless_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-terminfo.Tpo $(DEPDIR)/diskless_exec-terminfo.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='diskless_exec-terminfo.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` + + diskless_exec-tparm.o: tparm.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.o -MD -MP -MF "$(DEPDIR)/diskless_exec-tparm.Tpo" -c -o diskless_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-tparm.Tpo" "$(DEPDIR)/diskless_exec-tparm.Po"; else rm -f "$(DEPDIR)/diskless_exec-tparm.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.o -MD -MP -MF $(DEPDIR)/diskless_exec-tparm.Tpo -c -o diskless_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-tparm.Tpo $(DEPDIR)/diskless_exec-tparm.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='diskless_exec-tparm.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c + + diskless_exec-tparm.obj: tparm.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-tparm.Tpo" -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-tparm.Tpo" "$(DEPDIR)/diskless_exec-tparm.Po"; else rm -f "$(DEPDIR)/diskless_exec-tparm.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-tparm.obj -MD -MP -MF $(DEPDIR)/diskless_exec-tparm.Tpo -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-tparm.Tpo $(DEPDIR)/diskless_exec-tparm.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='diskless_exec-tparm.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` + ++diskless_exec-graphics.o: graphics.c ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.o -MD -MP -MF $(DEPDIR)/diskless_exec-graphics.Tpo -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-graphics.Tpo $(DEPDIR)/diskless_exec-graphics.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c ++ ++diskless_exec-graphics.obj: graphics.c ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.obj -MD -MP -MF $(DEPDIR)/diskless_exec-graphics.Tpo -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/diskless_exec-graphics.Tpo $(DEPDIR)/diskless_exec-graphics.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` ++ + e2fs_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo $(DEPDIR)/e2fs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='e2fs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + e2fs_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" -c -o e2fs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo -c -o e2fs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-common.Tpo $(DEPDIR)/e2fs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='e2fs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + e2fs_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" -c -o e2fs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo -c -o e2fs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='e2fs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + e2fs_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" -c -o e2fs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo -c -o e2fs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-char_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='e2fs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + e2fs_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" -c -o e2fs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo -c -o e2fs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='e2fs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + e2fs_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" -c -o e2fs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo -c -o e2fs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/e2fs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='e2fs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + e2fs_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" -c -o e2fs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo -c -o e2fs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='e2fs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + e2fs_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" -c -o e2fs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo -c -o e2fs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/e2fs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='e2fs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + e2fs_stage1_5_exec-fsys_ext2fs.o: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" -c -o e2fs_stage1_5_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo -c -o e2fs_stage1_5_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='e2fs_stage1_5_exec-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c + + e2fs_stage1_5_exec-fsys_ext2fs.obj: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" -c -o e2fs_stage1_5_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo -c -o e2fs_stage1_5_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Tpo $(DEPDIR)/e2fs_stage1_5_exec-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='e2fs_stage1_5_exec-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` + + e2fs_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" -c -o e2fs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo -c -o e2fs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo $(DEPDIR)/e2fs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='e2fs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + e2fs_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" -c -o e2fs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo -c -o e2fs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/e2fs_stage1_5_exec-bios.Tpo $(DEPDIR)/e2fs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='e2fs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o e2fs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + fat_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" -c -o fat_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" "$(DEPDIR)/fat_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-common.Tpo -c -o fat_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-common.Tpo $(DEPDIR)/fat_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='fat_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + fat_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" -c -o fat_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo" "$(DEPDIR)/fat_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-common.Tpo -c -o fat_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-common.Tpo $(DEPDIR)/fat_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='fat_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + fat_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" -c -o fat_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo -c -o fat_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo $(DEPDIR)/fat_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='fat_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + fat_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" -c -o fat_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo -c -o fat_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-char_io.Tpo $(DEPDIR)/fat_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='fat_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + fat_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" -c -o fat_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo -c -o fat_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo $(DEPDIR)/fat_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='fat_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + fat_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" -c -o fat_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/fat_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo -c -o fat_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-disk_io.Tpo $(DEPDIR)/fat_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='fat_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + fat_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" -c -o fat_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo -c -o fat_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/fat_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='fat_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + fat_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" -c -o fat_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo -c -o fat_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/fat_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='fat_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + fat_stage1_5_exec-fsys_fat.o: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" -c -o fat_stage1_5_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo -c -o fat_stage1_5_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='fat_stage1_5_exec-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c + + fat_stage1_5_exec-fsys_fat.obj: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" -c -o fat_stage1_5_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo" "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-fsys_fat.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo -c -o fat_stage1_5_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Tpo $(DEPDIR)/fat_stage1_5_exec-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='fat_stage1_5_exec-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` + + fat_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" -c -o fat_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" "$(DEPDIR)/fat_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-bios.Tpo -c -o fat_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-bios.Tpo $(DEPDIR)/fat_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='fat_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + fat_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" -c -o fat_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo" "$(DEPDIR)/fat_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/fat_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -MT fat_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/fat_stage1_5_exec-bios.Tpo -c -o fat_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fat_stage1_5_exec-bios.Tpo $(DEPDIR)/fat_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='fat_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fat_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o fat_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + ffs_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" -c -o ffs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-common.Tpo -c -o ffs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-common.Tpo $(DEPDIR)/ffs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ffs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + ffs_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" -c -o ffs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-common.Tpo -c -o ffs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-common.Tpo $(DEPDIR)/ffs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ffs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + ffs_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" -c -o ffs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo -c -o ffs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ffs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + ffs_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" -c -o ffs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo -c -o ffs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-char_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ffs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + ffs_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" -c -o ffs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo -c -o ffs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ffs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + ffs_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" -c -o ffs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo -c -o ffs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ffs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ffs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + ffs_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" -c -o ffs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo -c -o ffs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ffs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + ffs_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" -c -o ffs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo -c -o ffs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ffs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + ffs_stage1_5_exec-fsys_ffs.o: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" -c -o ffs_stage1_5_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo -c -o ffs_stage1_5_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='ffs_stage1_5_exec-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c + + ffs_stage1_5_exec-fsys_ffs.obj: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" -c -o ffs_stage1_5_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo -c -o ffs_stage1_5_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Tpo $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='ffs_stage1_5_exec-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` + + ffs_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" -c -o ffs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo -c -o ffs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo $(DEPDIR)/ffs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ffs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + ffs_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" -c -o ffs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ffs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ffs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ffs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo -c -o ffs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ffs_stage1_5_exec-bios.Tpo $(DEPDIR)/ffs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ffs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + iso9660_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" -c -o iso9660_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo -c -o iso9660_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo $(DEPDIR)/iso9660_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='iso9660_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + iso9660_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" -c -o iso9660_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo -c -o iso9660_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-common.Tpo $(DEPDIR)/iso9660_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='iso9660_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + iso9660_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" -c -o iso9660_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo -c -o iso9660_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='iso9660_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + iso9660_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" -c -o iso9660_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo -c -o iso9660_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-char_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='iso9660_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + iso9660_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" -c -o iso9660_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo -c -o iso9660_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='iso9660_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + iso9660_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" -c -o iso9660_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo -c -o iso9660_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Tpo $(DEPDIR)/iso9660_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='iso9660_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + iso9660_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" -c -o iso9660_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo -c -o iso9660_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='iso9660_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + iso9660_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" -c -o iso9660_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo -c -o iso9660_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/iso9660_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='iso9660_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + iso9660_stage1_5_exec-fsys_iso9660.o: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" -c -o iso9660_stage1_5_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo -c -o iso9660_stage1_5_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='iso9660_stage1_5_exec-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c + + iso9660_stage1_5_exec-fsys_iso9660.obj: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" -c -o iso9660_stage1_5_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo -c -o iso9660_stage1_5_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Tpo $(DEPDIR)/iso9660_stage1_5_exec-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='iso9660_stage1_5_exec-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` + + iso9660_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" -c -o iso9660_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo -c -o iso9660_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo $(DEPDIR)/iso9660_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='iso9660_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + iso9660_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" -c -o iso9660_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo" "$(DEPDIR)/iso9660_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -MT iso9660_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo -c -o iso9660_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/iso9660_stage1_5_exec-bios.Tpo $(DEPDIR)/iso9660_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='iso9660_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(iso9660_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o iso9660_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + jfs_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" -c -o jfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-common.Tpo -c -o jfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-common.Tpo $(DEPDIR)/jfs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='jfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + jfs_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" -c -o jfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-common.Tpo -c -o jfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-common.Tpo $(DEPDIR)/jfs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='jfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + jfs_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" -c -o jfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo -c -o jfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='jfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + jfs_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" -c -o jfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo -c -o jfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='jfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + jfs_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" -c -o jfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo -c -o jfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='jfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + jfs_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" -c -o jfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo -c -o jfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/jfs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='jfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + jfs_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" -c -o jfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo -c -o jfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='jfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + jfs_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" -c -o jfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo -c -o jfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='jfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + jfs_stage1_5_exec-fsys_jfs.o: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='jfs_stage1_5_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c + + jfs_stage1_5_exec-fsys_jfs.obj: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" -c -o jfs_stage1_5_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo -c -o jfs_stage1_5_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Tpo $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='jfs_stage1_5_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` + + jfs_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" -c -o jfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo -c -o jfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo $(DEPDIR)/jfs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='jfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + jfs_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" -c -o jfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/jfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/jfs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT jfs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo -c -o jfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/jfs_stage1_5_exec-bios.Tpo $(DEPDIR)/jfs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='jfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + minix_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" -c -o minix_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" "$(DEPDIR)/minix_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-common.Tpo -c -o minix_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-common.Tpo $(DEPDIR)/minix_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='minix_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + minix_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" -c -o minix_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo" "$(DEPDIR)/minix_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-common.Tpo -c -o minix_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-common.Tpo $(DEPDIR)/minix_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='minix_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + minix_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" -c -o minix_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo -c -o minix_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo $(DEPDIR)/minix_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='minix_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + minix_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" -c -o minix_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo -c -o minix_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-char_io.Tpo $(DEPDIR)/minix_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='minix_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + minix_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" -c -o minix_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo -c -o minix_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo $(DEPDIR)/minix_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='minix_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + minix_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" -c -o minix_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/minix_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo -c -o minix_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-disk_io.Tpo $(DEPDIR)/minix_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='minix_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + minix_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" -c -o minix_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo -c -o minix_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/minix_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='minix_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + minix_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" -c -o minix_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo -c -o minix_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/minix_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='minix_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + minix_stage1_5_exec-fsys_minix.o: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" -c -o minix_stage1_5_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo -c -o minix_stage1_5_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='minix_stage1_5_exec-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c + + minix_stage1_5_exec-fsys_minix.obj: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" -c -o minix_stage1_5_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo" "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-fsys_minix.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo -c -o minix_stage1_5_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Tpo $(DEPDIR)/minix_stage1_5_exec-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='minix_stage1_5_exec-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` + + minix_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" -c -o minix_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" "$(DEPDIR)/minix_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-bios.Tpo -c -o minix_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-bios.Tpo $(DEPDIR)/minix_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='minix_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + minix_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" -c -o minix_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo" "$(DEPDIR)/minix_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/minix_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -MT minix_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/minix_stage1_5_exec-bios.Tpo -c -o minix_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/minix_stage1_5_exec-bios.Tpo $(DEPDIR)/minix_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='minix_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(minix_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o minix_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + pre_stage2_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-bios.Tpo" -c -o pre_stage2_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo" "$(DEPDIR)/pre_stage2_exec-bios.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-bios.Tpo -c -o pre_stage2_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-bios.Tpo $(DEPDIR)/pre_stage2_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='pre_stage2_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + pre_stage2_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-bios.Tpo" -c -o pre_stage2_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo" "$(DEPDIR)/pre_stage2_exec-bios.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-bios.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-bios.Tpo -c -o pre_stage2_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-bios.Tpo $(DEPDIR)/pre_stage2_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='pre_stage2_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + pre_stage2_exec-boot.o: boot.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-boot.Tpo" -c -o pre_stage2_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo" "$(DEPDIR)/pre_stage2_exec-boot.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-boot.Tpo -c -o pre_stage2_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-boot.Tpo $(DEPDIR)/pre_stage2_exec-boot.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='pre_stage2_exec-boot.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-boot.o `test -f 'boot.c' || echo '$(srcdir)/'`boot.c + + pre_stage2_exec-boot.obj: boot.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-boot.Tpo" -c -o pre_stage2_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo" "$(DEPDIR)/pre_stage2_exec-boot.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-boot.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-boot.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-boot.Tpo -c -o pre_stage2_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-boot.Tpo $(DEPDIR)/pre_stage2_exec-boot.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='boot.c' object='pre_stage2_exec-boot.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-boot.obj `if test -f 'boot.c'; then $(CYGPATH_W) 'boot.c'; else $(CYGPATH_W) '$(srcdir)/boot.c'; fi` + + pre_stage2_exec-builtins.o: builtins.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" -c -o pre_stage2_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" "$(DEPDIR)/pre_stage2_exec-builtins.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-builtins.Tpo -c -o pre_stage2_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-builtins.Tpo $(DEPDIR)/pre_stage2_exec-builtins.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='pre_stage2_exec-builtins.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-builtins.o `test -f 'builtins.c' || echo '$(srcdir)/'`builtins.c + + pre_stage2_exec-builtins.obj: builtins.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" -c -o pre_stage2_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo" "$(DEPDIR)/pre_stage2_exec-builtins.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-builtins.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-builtins.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-builtins.Tpo -c -o pre_stage2_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-builtins.Tpo $(DEPDIR)/pre_stage2_exec-builtins.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='builtins.c' object='pre_stage2_exec-builtins.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-builtins.obj `if test -f 'builtins.c'; then $(CYGPATH_W) 'builtins.c'; else $(CYGPATH_W) '$(srcdir)/builtins.c'; fi` + + pre_stage2_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" -c -o pre_stage2_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" "$(DEPDIR)/pre_stage2_exec-char_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-char_io.Tpo -c -o pre_stage2_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-char_io.Tpo $(DEPDIR)/pre_stage2_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='pre_stage2_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + pre_stage2_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" -c -o pre_stage2_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo" "$(DEPDIR)/pre_stage2_exec-char_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-char_io.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-char_io.Tpo -c -o pre_stage2_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-char_io.Tpo $(DEPDIR)/pre_stage2_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='pre_stage2_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + pre_stage2_exec-cmdline.o: cmdline.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" -c -o pre_stage2_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" "$(DEPDIR)/pre_stage2_exec-cmdline.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-cmdline.Tpo -c -o pre_stage2_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-cmdline.Tpo $(DEPDIR)/pre_stage2_exec-cmdline.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='pre_stage2_exec-cmdline.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-cmdline.o `test -f 'cmdline.c' || echo '$(srcdir)/'`cmdline.c + + pre_stage2_exec-cmdline.obj: cmdline.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" -c -o pre_stage2_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo" "$(DEPDIR)/pre_stage2_exec-cmdline.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-cmdline.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-cmdline.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-cmdline.Tpo -c -o pre_stage2_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-cmdline.Tpo $(DEPDIR)/pre_stage2_exec-cmdline.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmdline.c' object='pre_stage2_exec-cmdline.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-cmdline.obj `if test -f 'cmdline.c'; then $(CYGPATH_W) 'cmdline.c'; else $(CYGPATH_W) '$(srcdir)/cmdline.c'; fi` + + pre_stage2_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-common.Tpo" -c -o pre_stage2_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-common.Tpo" "$(DEPDIR)/pre_stage2_exec-common.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-common.Tpo -c -o pre_stage2_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-common.Tpo $(DEPDIR)/pre_stage2_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='pre_stage2_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + pre_stage2_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-common.Tpo" -c -o pre_stage2_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-common.Tpo" "$(DEPDIR)/pre_stage2_exec-common.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-common.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-common.Tpo -c -o pre_stage2_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-common.Tpo $(DEPDIR)/pre_stage2_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='pre_stage2_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + pre_stage2_exec-console.o: console.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-console.Tpo" -c -o pre_stage2_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-console.Tpo" "$(DEPDIR)/pre_stage2_exec-console.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-console.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-console.Tpo -c -o pre_stage2_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-console.Tpo $(DEPDIR)/pre_stage2_exec-console.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='pre_stage2_exec-console.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-console.o `test -f 'console.c' || echo '$(srcdir)/'`console.c + + pre_stage2_exec-console.obj: console.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-console.Tpo" -c -o pre_stage2_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-console.Tpo" "$(DEPDIR)/pre_stage2_exec-console.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-console.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-console.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-console.Tpo -c -o pre_stage2_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-console.Tpo $(DEPDIR)/pre_stage2_exec-console.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='console.c' object='pre_stage2_exec-console.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-console.obj `if test -f 'console.c'; then $(CYGPATH_W) 'console.c'; else $(CYGPATH_W) '$(srcdir)/console.c'; fi` + + pre_stage2_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" -c -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" "$(DEPDIR)/pre_stage2_exec-disk_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-disk_io.Tpo -c -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-disk_io.Tpo $(DEPDIR)/pre_stage2_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='pre_stage2_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + pre_stage2_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" -c -o pre_stage2_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo" "$(DEPDIR)/pre_stage2_exec-disk_io.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-disk_io.Tpo -c -o pre_stage2_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-disk_io.Tpo $(DEPDIR)/pre_stage2_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='pre_stage2_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + pre_stage2_exec-fsys_ext2fs.o: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" -c -o pre_stage2_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo -c -o pre_stage2_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='pre_stage2_exec-fsys_ext2fs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ext2fs.o `test -f 'fsys_ext2fs.c' || echo '$(srcdir)/'`fsys_ext2fs.c + + pre_stage2_exec-fsys_ext2fs.obj: fsys_ext2fs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" -c -o pre_stage2_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ext2fs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo -c -o pre_stage2_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ext2fs.c' object='pre_stage2_exec-fsys_ext2fs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ext2fs.obj `if test -f 'fsys_ext2fs.c'; then $(CYGPATH_W) 'fsys_ext2fs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ext2fs.c'; fi` + + pre_stage2_exec-fsys_fat.o: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" -c -o pre_stage2_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo -c -o pre_stage2_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo $(DEPDIR)/pre_stage2_exec-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='pre_stage2_exec-fsys_fat.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_fat.o `test -f 'fsys_fat.c' || echo '$(srcdir)/'`fsys_fat.c + + pre_stage2_exec-fsys_fat.obj: fsys_fat.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" -c -o pre_stage2_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_fat.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_fat.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo -c -o pre_stage2_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_fat.Tpo $(DEPDIR)/pre_stage2_exec-fsys_fat.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_fat.c' object='pre_stage2_exec-fsys_fat.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_fat.obj `if test -f 'fsys_fat.c'; then $(CYGPATH_W) 'fsys_fat.c'; else $(CYGPATH_W) '$(srcdir)/fsys_fat.c'; fi` + + pre_stage2_exec-fsys_ffs.o: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" -c -o pre_stage2_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo -c -o pre_stage2_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='pre_stage2_exec-fsys_ffs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ffs.o `test -f 'fsys_ffs.c' || echo '$(srcdir)/'`fsys_ffs.c + + pre_stage2_exec-fsys_ffs.obj: fsys_ffs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" -c -o pre_stage2_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ffs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo -c -o pre_stage2_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ffs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ffs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ffs.c' object='pre_stage2_exec-fsys_ffs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ffs.obj `if test -f 'fsys_ffs.c'; then $(CYGPATH_W) 'fsys_ffs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ffs.c'; fi` + + pre_stage2_exec-fsys_iso9660.o: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" -c -o pre_stage2_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo -c -o pre_stage2_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='pre_stage2_exec-fsys_iso9660.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_iso9660.o `test -f 'fsys_iso9660.c' || echo '$(srcdir)/'`fsys_iso9660.c + + pre_stage2_exec-fsys_iso9660.obj: fsys_iso9660.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" -c -o pre_stage2_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_iso9660.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo -c -o pre_stage2_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Tpo $(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_iso9660.c' object='pre_stage2_exec-fsys_iso9660.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_iso9660.obj `if test -f 'fsys_iso9660.c'; then $(CYGPATH_W) 'fsys_iso9660.c'; else $(CYGPATH_W) '$(srcdir)/fsys_iso9660.c'; fi` + + pre_stage2_exec-fsys_jfs.o: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" -c -o pre_stage2_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo -c -o pre_stage2_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='pre_stage2_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_jfs.o `test -f 'fsys_jfs.c' || echo '$(srcdir)/'`fsys_jfs.c + + pre_stage2_exec-fsys_jfs.obj: fsys_jfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" -c -o pre_stage2_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_jfs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo -c -o pre_stage2_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_jfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_jfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_jfs.c' object='pre_stage2_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_jfs.obj `if test -f 'fsys_jfs.c'; then $(CYGPATH_W) 'fsys_jfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_jfs.c'; fi` + + pre_stage2_exec-fsys_minix.o: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" -c -o pre_stage2_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo -c -o pre_stage2_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo $(DEPDIR)/pre_stage2_exec-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='pre_stage2_exec-fsys_minix.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_minix.o `test -f 'fsys_minix.c' || echo '$(srcdir)/'`fsys_minix.c + + pre_stage2_exec-fsys_minix.obj: fsys_minix.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" -c -o pre_stage2_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_minix.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_minix.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo -c -o pre_stage2_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_minix.Tpo $(DEPDIR)/pre_stage2_exec-fsys_minix.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_minix.c' object='pre_stage2_exec-fsys_minix.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_minix.obj `if test -f 'fsys_minix.c'; then $(CYGPATH_W) 'fsys_minix.c'; else $(CYGPATH_W) '$(srcdir)/fsys_minix.c'; fi` + + pre_stage2_exec-fsys_reiserfs.o: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" -c -o pre_stage2_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo -c -o pre_stage2_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='pre_stage2_exec-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c + + pre_stage2_exec-fsys_reiserfs.obj: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='pre_stage2_exec-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` + + pre_stage2_exec-fsys_ufs2.o: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='pre_stage2_exec-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c + + pre_stage2_exec-fsys_ufs2.obj: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" -c -o pre_stage2_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo -c -o pre_stage2_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo $(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='pre_stage2_exec-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` + + pre_stage2_exec-fsys_vstafs.o: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" -c -o pre_stage2_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo -c -o pre_stage2_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='pre_stage2_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c + + pre_stage2_exec-fsys_vstafs.obj: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" -c -o pre_stage2_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo -c -o pre_stage2_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='pre_stage2_exec-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` + + pre_stage2_exec-fsys_xfs.o: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" -c -o pre_stage2_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo -c -o pre_stage2_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='pre_stage2_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c + + pre_stage2_exec-fsys_xfs.obj: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" -c -o pre_stage2_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo -c -o pre_stage2_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-fsys_xfs.Tpo $(DEPDIR)/pre_stage2_exec-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='pre_stage2_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` + + pre_stage2_exec-gunzip.o: gunzip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" -c -o pre_stage2_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" "$(DEPDIR)/pre_stage2_exec-gunzip.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-gunzip.Tpo -c -o pre_stage2_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-gunzip.Tpo $(DEPDIR)/pre_stage2_exec-gunzip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='pre_stage2_exec-gunzip.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-gunzip.o `test -f 'gunzip.c' || echo '$(srcdir)/'`gunzip.c + + pre_stage2_exec-gunzip.obj: gunzip.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" -c -o pre_stage2_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo" "$(DEPDIR)/pre_stage2_exec-gunzip.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-gunzip.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-gunzip.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-gunzip.Tpo -c -o pre_stage2_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-gunzip.Tpo $(DEPDIR)/pre_stage2_exec-gunzip.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gunzip.c' object='pre_stage2_exec-gunzip.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-gunzip.obj `if test -f 'gunzip.c'; then $(CYGPATH_W) 'gunzip.c'; else $(CYGPATH_W) '$(srcdir)/gunzip.c'; fi` + + pre_stage2_exec-hercules.o: hercules.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" -c -o pre_stage2_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" "$(DEPDIR)/pre_stage2_exec-hercules.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-hercules.Tpo -c -o pre_stage2_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-hercules.Tpo $(DEPDIR)/pre_stage2_exec-hercules.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='pre_stage2_exec-hercules.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-hercules.o `test -f 'hercules.c' || echo '$(srcdir)/'`hercules.c + + pre_stage2_exec-hercules.obj: hercules.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" -c -o pre_stage2_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo" "$(DEPDIR)/pre_stage2_exec-hercules.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-hercules.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-hercules.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-hercules.Tpo -c -o pre_stage2_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-hercules.Tpo $(DEPDIR)/pre_stage2_exec-hercules.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hercules.c' object='pre_stage2_exec-hercules.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-hercules.obj `if test -f 'hercules.c'; then $(CYGPATH_W) 'hercules.c'; else $(CYGPATH_W) '$(srcdir)/hercules.c'; fi` + + pre_stage2_exec-md5.o: md5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-md5.Tpo" -c -o pre_stage2_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo" "$(DEPDIR)/pre_stage2_exec-md5.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-md5.Tpo -c -o pre_stage2_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-md5.Tpo $(DEPDIR)/pre_stage2_exec-md5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='pre_stage2_exec-md5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c + + pre_stage2_exec-md5.obj: md5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-md5.Tpo" -c -o pre_stage2_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo" "$(DEPDIR)/pre_stage2_exec-md5.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-md5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-md5.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-md5.Tpo -c -o pre_stage2_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-md5.Tpo $(DEPDIR)/pre_stage2_exec-md5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='pre_stage2_exec-md5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi` + + pre_stage2_exec-serial.o: serial.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-serial.Tpo" -c -o pre_stage2_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo" "$(DEPDIR)/pre_stage2_exec-serial.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-serial.Tpo -c -o pre_stage2_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-serial.Tpo $(DEPDIR)/pre_stage2_exec-serial.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='pre_stage2_exec-serial.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-serial.o `test -f 'serial.c' || echo '$(srcdir)/'`serial.c + + pre_stage2_exec-serial.obj: serial.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-serial.Tpo" -c -o pre_stage2_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo" "$(DEPDIR)/pre_stage2_exec-serial.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-serial.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-serial.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-serial.Tpo -c -o pre_stage2_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-serial.Tpo $(DEPDIR)/pre_stage2_exec-serial.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='serial.c' object='pre_stage2_exec-serial.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-serial.obj `if test -f 'serial.c'; then $(CYGPATH_W) 'serial.c'; else $(CYGPATH_W) '$(srcdir)/serial.c'; fi` + + pre_stage2_exec-smp-imps.o: smp-imps.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" -c -o pre_stage2_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" "$(DEPDIR)/pre_stage2_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo -c -o pre_stage2_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo $(DEPDIR)/pre_stage2_exec-smp-imps.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='pre_stage2_exec-smp-imps.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-smp-imps.o `test -f 'smp-imps.c' || echo '$(srcdir)/'`smp-imps.c + + pre_stage2_exec-smp-imps.obj: smp-imps.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" -c -o pre_stage2_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo" "$(DEPDIR)/pre_stage2_exec-smp-imps.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-smp-imps.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-smp-imps.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo -c -o pre_stage2_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-smp-imps.Tpo $(DEPDIR)/pre_stage2_exec-smp-imps.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smp-imps.c' object='pre_stage2_exec-smp-imps.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-smp-imps.obj `if test -f 'smp-imps.c'; then $(CYGPATH_W) 'smp-imps.c'; else $(CYGPATH_W) '$(srcdir)/smp-imps.c'; fi` + + pre_stage2_exec-stage2.o: stage2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" -c -o pre_stage2_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" "$(DEPDIR)/pre_stage2_exec-stage2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-stage2.Tpo -c -o pre_stage2_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-stage2.Tpo $(DEPDIR)/pre_stage2_exec-stage2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='pre_stage2_exec-stage2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-stage2.o `test -f 'stage2.c' || echo '$(srcdir)/'`stage2.c + + pre_stage2_exec-stage2.obj: stage2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" -c -o pre_stage2_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo" "$(DEPDIR)/pre_stage2_exec-stage2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-stage2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-stage2.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-stage2.Tpo -c -o pre_stage2_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-stage2.Tpo $(DEPDIR)/pre_stage2_exec-stage2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage2.c' object='pre_stage2_exec-stage2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-stage2.obj `if test -f 'stage2.c'; then $(CYGPATH_W) 'stage2.c'; else $(CYGPATH_W) '$(srcdir)/stage2.c'; fi` + + pre_stage2_exec-terminfo.o: terminfo.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" -c -o pre_stage2_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" "$(DEPDIR)/pre_stage2_exec-terminfo.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-terminfo.Tpo -c -o pre_stage2_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-terminfo.Tpo $(DEPDIR)/pre_stage2_exec-terminfo.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='pre_stage2_exec-terminfo.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-terminfo.o `test -f 'terminfo.c' || echo '$(srcdir)/'`terminfo.c + + pre_stage2_exec-terminfo.obj: terminfo.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" -c -o pre_stage2_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo" "$(DEPDIR)/pre_stage2_exec-terminfo.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-terminfo.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-terminfo.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-terminfo.Tpo -c -o pre_stage2_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-terminfo.Tpo $(DEPDIR)/pre_stage2_exec-terminfo.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='terminfo.c' object='pre_stage2_exec-terminfo.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-terminfo.obj `if test -f 'terminfo.c'; then $(CYGPATH_W) 'terminfo.c'; else $(CYGPATH_W) '$(srcdir)/terminfo.c'; fi` + + pre_stage2_exec-tparm.o: tparm.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" -c -o pre_stage2_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" "$(DEPDIR)/pre_stage2_exec-tparm.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-tparm.Tpo -c -o pre_stage2_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-tparm.Tpo $(DEPDIR)/pre_stage2_exec-tparm.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='pre_stage2_exec-tparm.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-tparm.o `test -f 'tparm.c' || echo '$(srcdir)/'`tparm.c + + pre_stage2_exec-tparm.obj: tparm.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo" "$(DEPDIR)/pre_stage2_exec-tparm.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-tparm.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-tparm.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-tparm.Tpo -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-tparm.Tpo $(DEPDIR)/pre_stage2_exec-tparm.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tparm.c' object='pre_stage2_exec-tparm.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` + ++pre_stage2_exec-graphics.o: graphics.c ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.o -MD -MP -MF $(DEPDIR)/pre_stage2_exec-graphics.Tpo -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-graphics.Tpo $(DEPDIR)/pre_stage2_exec-graphics.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c ++ ++pre_stage2_exec-graphics.obj: graphics.c ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.obj -MD -MP -MF $(DEPDIR)/pre_stage2_exec-graphics.Tpo -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/pre_stage2_exec-graphics.Tpo $(DEPDIR)/pre_stage2_exec-graphics.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` ++ + reiserfs_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='reiserfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + reiserfs_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" -c -o reiserfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo -c -o reiserfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='reiserfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + reiserfs_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" -c -o reiserfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo -c -o reiserfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='reiserfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + reiserfs_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" -c -o reiserfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo -c -o reiserfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='reiserfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + reiserfs_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" -c -o reiserfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo -c -o reiserfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='reiserfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + reiserfs_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" -c -o reiserfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo -c -o reiserfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='reiserfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + reiserfs_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" -c -o reiserfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo -c -o reiserfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='reiserfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + reiserfs_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" -c -o reiserfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo -c -o reiserfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='reiserfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + reiserfs_stage1_5_exec-fsys_reiserfs.o: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" -c -o reiserfs_stage1_5_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo -c -o reiserfs_stage1_5_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='reiserfs_stage1_5_exec-fsys_reiserfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-fsys_reiserfs.o `test -f 'fsys_reiserfs.c' || echo '$(srcdir)/'`fsys_reiserfs.c + + reiserfs_stage1_5_exec-fsys_reiserfs.obj: fsys_reiserfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" -c -o reiserfs_stage1_5_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-fsys_reiserfs.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo -c -o reiserfs_stage1_5_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-fsys_reiserfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiserfs.c' object='reiserfs_stage1_5_exec-fsys_reiserfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` + + reiserfs_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" -c -o reiserfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo -c -o reiserfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='reiserfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + reiserfs_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" -c -o reiserfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo -c -o reiserfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/reiserfs_stage1_5_exec-bios.Tpo $(DEPDIR)/reiserfs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='reiserfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiserfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + ufs2_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" -c -o ufs2_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo -c -o ufs2_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo $(DEPDIR)/ufs2_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ufs2_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + ufs2_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" -c -o ufs2_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo -c -o ufs2_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-common.Tpo $(DEPDIR)/ufs2_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='ufs2_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + ufs2_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" -c -o ufs2_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo -c -o ufs2_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ufs2_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + ufs2_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" -c -o ufs2_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo -c -o ufs2_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-char_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='ufs2_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + ufs2_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" -c -o ufs2_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo -c -o ufs2_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ufs2_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + ufs2_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" -c -o ufs2_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo -c -o ufs2_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Tpo $(DEPDIR)/ufs2_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='ufs2_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + ufs2_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" -c -o ufs2_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo -c -o ufs2_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ufs2_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + ufs2_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" -c -o ufs2_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo -c -o ufs2_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/ufs2_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='ufs2_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + ufs2_stage1_5_exec-fsys_ufs2.o: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" -c -o ufs2_stage1_5_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo -c -o ufs2_stage1_5_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='ufs2_stage1_5_exec-fsys_ufs2.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c + + ufs2_stage1_5_exec-fsys_ufs2.obj: fsys_ufs2.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" -c -o ufs2_stage1_5_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-fsys_ufs2.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo -c -o ufs2_stage1_5_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Tpo $(DEPDIR)/ufs2_stage1_5_exec-fsys_ufs2.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_ufs2.c' object='ufs2_stage1_5_exec-fsys_ufs2.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-fsys_ufs2.obj `if test -f 'fsys_ufs2.c'; then $(CYGPATH_W) 'fsys_ufs2.c'; else $(CYGPATH_W) '$(srcdir)/fsys_ufs2.c'; fi` + + ufs2_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" -c -o ufs2_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo -c -o ufs2_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo $(DEPDIR)/ufs2_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ufs2_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + ufs2_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" -c -o ufs2_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo" "$(DEPDIR)/ufs2_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -MT ufs2_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo -c -o ufs2_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ufs2_stage1_5_exec-bios.Tpo $(DEPDIR)/ufs2_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='ufs2_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ufs2_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ufs2_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + vstafs_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" -c -o vstafs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo -c -o vstafs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo $(DEPDIR)/vstafs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='vstafs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + vstafs_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" -c -o vstafs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo -c -o vstafs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-common.Tpo $(DEPDIR)/vstafs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='vstafs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + vstafs_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" -c -o vstafs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo -c -o vstafs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='vstafs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + vstafs_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" -c -o vstafs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo -c -o vstafs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-char_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='vstafs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + vstafs_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" -c -o vstafs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo -c -o vstafs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='vstafs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + vstafs_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" -c -o vstafs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo -c -o vstafs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='vstafs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + vstafs_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" -c -o vstafs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo -c -o vstafs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='vstafs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + vstafs_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" -c -o vstafs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo -c -o vstafs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='vstafs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + vstafs_stage1_5_exec-fsys_vstafs.o: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" -c -o vstafs_stage1_5_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo -c -o vstafs_stage1_5_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='vstafs_stage1_5_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-fsys_vstafs.o `test -f 'fsys_vstafs.c' || echo '$(srcdir)/'`fsys_vstafs.c + + vstafs_stage1_5_exec-fsys_vstafs.obj: fsys_vstafs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" -c -o vstafs_stage1_5_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-fsys_vstafs.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo -c -o vstafs_stage1_5_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Tpo $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_vstafs.c' object='vstafs_stage1_5_exec-fsys_vstafs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-fsys_vstafs.obj `if test -f 'fsys_vstafs.c'; then $(CYGPATH_W) 'fsys_vstafs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_vstafs.c'; fi` + + vstafs_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" -c -o vstafs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo -c -o vstafs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo $(DEPDIR)/vstafs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='vstafs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + vstafs_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" -c -o vstafs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/vstafs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT vstafs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo -c -o vstafs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vstafs_stage1_5_exec-bios.Tpo $(DEPDIR)/vstafs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='vstafs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + + xfs_stage1_5_exec-common.o: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" -c -o xfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-common.Tpo -c -o xfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-common.Tpo $(DEPDIR)/xfs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='xfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + + xfs_stage1_5_exec-common.obj: common.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" -c -o xfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-common.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-common.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-common.Tpo -c -o xfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-common.Tpo $(DEPDIR)/xfs_stage1_5_exec-common.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='xfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + + xfs_stage1_5_exec-char_io.o: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" -c -o xfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo -c -o xfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='xfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + + xfs_stage1_5_exec-char_io.obj: char_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" -c -o xfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-char_io.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo -c -o xfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-char_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-char_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='xfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + + xfs_stage1_5_exec-disk_io.o: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" -c -o xfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo -c -o xfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='xfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + + xfs_stage1_5_exec-disk_io.obj: disk_io.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" -c -o xfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-disk_io.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo -c -o xfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-disk_io.Tpo $(DEPDIR)/xfs_stage1_5_exec-disk_io.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='xfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + + xfs_stage1_5_exec-stage1_5.o: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" -c -o xfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo -c -o xfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='xfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + + xfs_stage1_5_exec-stage1_5.obj: stage1_5.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" -c -o xfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-stage1_5.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo -c -o xfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Tpo $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='xfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + + xfs_stage1_5_exec-fsys_xfs.o: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='xfs_stage1_5_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f 'fsys_xfs.c' || echo '$(srcdir)/'`fsys_xfs.c + + xfs_stage1_5_exec-fsys_xfs.obj: fsys_xfs.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" -c -o xfs_stage1_5_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-fsys_xfs.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo -c -o xfs_stage1_5_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Tpo $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_xfs.c' object='xfs_stage1_5_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-fsys_xfs.obj `if test -f 'fsys_xfs.c'; then $(CYGPATH_W) 'fsys_xfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_xfs.c'; fi` + + xfs_stage1_5_exec-bios.o: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" -c -o xfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.o -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo -c -o xfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo $(DEPDIR)/xfs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='xfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + + xfs_stage1_5_exec-bios.obj: bios.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" -c -o xfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo" "$(DEPDIR)/xfs_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/xfs_stage1_5_exec-bios.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT xfs_stage1_5_exec-bios.obj -MD -MP -MF $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo -c -o xfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xfs_stage1_5_exec-bios.Tpo $(DEPDIR)/xfs_stage1_5_exec-bios.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='xfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` +-uninstall-info-am: +-install-pkglibDATA: $(pkglib_DATA) ++install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) +- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)" +- @list='$(pkglib_DATA)'; for p in $$list; do \ ++ test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" ++ @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ +- echo " $(pkglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \ +- $(pkglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \ ++ echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ ++ $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +-uninstall-pkglibDATA: ++uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) +- @list='$(pkglib_DATA)'; for p in $$list; do \ ++ @list='$(pkgdata_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ +- echo " rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ +- rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ ++ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ ++ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) +@@ -3002,9 +3319,9 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + check-TESTS: $(TESTS) +- @failed=0; all=0; xfail=0; xpass=0; skip=0; \ ++ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ + srcdir=$(srcdir); export srcdir; \ +- list='$(TESTS)'; \ ++ list=' $(TESTS) '; \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ +@@ -3013,7 +3330,7 @@ check-TESTS: $(TESTS) + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ +- *" $$tst "*) \ ++ *$$ws$$tst$$ws*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + echo "XPASS: $$tst"; \ +@@ -3025,7 +3342,7 @@ check-TESTS: $(TESTS) + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ +- *" $$tst "*) \ ++ *$$ws$$tst$$ws*) \ + xfail=`expr $$xfail + 1`; \ + echo "XFAIL: $$tst"; \ + ;; \ +@@ -3075,22 +3392,21 @@ check-TESTS: $(TESTS) + else :; fi + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -3108,8 +3424,8 @@ check: $(BUILT_SOURCES) + all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ + $(HEADERS) + installdirs: +- for dir in "$(DESTDIR)$(pkglibdir)"; do \ +- test -z "$$dir" || $(mkdir_p) "$$dir"; \ ++ for dir in "$(DESTDIR)$(pkgdatadir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +@@ -3160,14 +3476,22 @@ info: info-am + + info-am: + +-install-data-am: ++install-data-am: install-pkgdataDATA ++ ++install-dvi: install-dvi-am ++ ++install-exec-am: + +-install-exec-am: install-pkglibDATA ++install-html: install-html-am + + install-info: install-info-am + + install-man: + ++install-pdf: install-pdf-am ++ ++install-ps: install-ps-am ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -3187,19 +3511,22 @@ ps: ps-am + + ps-am: + +-uninstall-am: uninstall-info-am uninstall-pkglibDATA ++uninstall-am: uninstall-pkgdataDATA ++ ++.MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ + clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ +- install-am install-data install-data-am install-exec \ +- install-exec-am install-info install-info-am install-man \ +- install-pkglibDATA install-strip installcheck installcheck-am \ ++ install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-pkgdataDATA install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ +- ps ps-am tags uninstall uninstall-am uninstall-info-am \ +- uninstall-pkglibDATA ++ ps ps-am tags uninstall uninstall-am uninstall-pkgdataDATA + + + stage2_size.h: pre_stage2 +diff --git a/stage2/asm.S b/stage2/asm.S +index 34b6e7d..5c4dd5e 100644 +--- a/stage2/asm.S ++++ b/stage2/asm.S +@@ -98,7 +98,7 @@ VARIABLE(version_string) + .string VERSION + VARIABLE(config_file) + #ifndef STAGE1_5 +- .string "/boot/grub/menu.lst" ++ .string "/boot/grub/grub.conf" + #else /* STAGE1_5 */ + .long 0xffffffff + .string "/boot/grub/stage2" +@@ -1622,36 +1622,78 @@ ENTRY(set_vbe_mode) + */ + + ENTRY(gateA20) ++ pushl %ebx ++ pushl %edx ++ call testA20 ++ jnz 1f ++ call A20_BIOS ++ call testA20 ++ jnz 1f ++ call A20_PORT92 ++ call testA20 ++ jnz 1f ++ call A20_KBDCTL ++ call testA20 ++ jnz 1f ++ movl $0,%eax ++ jmp 2f ++1: ++ movl $-1,%eax ++2: ++ popl %edx ++ popl %ebx ++ ret ++ ++testA20: ++ movl 0x500,%eax ++ movl 0x100500,%ebx ++ notl %eax ++ movl %eax,0x100500 ++ cmpl %eax,0x500 ++ pushfl ++ movl %ebx,0x100500 ++ notl %eax ++ movl %eax,0x500 ++ popfl ++ ret ++ ++A20_BIOS: + /* first, try a BIOS call */ +- pushl %ebp +- movl 8(%esp), %edx + + call EXT_C(prot_to_real) + + .code16 +- movw $0x2400, %ax +- testw %dx, %dx +- jz 1f +- incw %ax ++ movw $0x2401, %ax + 1: stc + int $0x15 +- jnc 2f +- +- /* set non-zero if failed */ +- movb $1, %ah +- +- /* save the status */ +-2: movb %ah, %dl + + DATA32 call EXT_C(real_to_prot) + .code32 ++ ret + +- popl %ebp +- testb %dl, %dl +- jnz 3f ++A20_PORT92: ++ /* ++ * try to switch gateA20 using PORT92, the "Fast A20 and Init" ++ * register ++ */ ++ mov $0x92, %dx ++ inb %dx, %al ++ /* skip the port92 code if it's unimplemented (read returns 0xff) */ ++ cmpb $0xff, %al ++ jz 6f ++ ++ /* set bit1, the ALT_A20_GATE bit */ ++ orb $2, %al ++ /* and $0xfd, %al */ ++ ++ /* clear the INIT_NOW bit; don't accidently reset the machine */ ++ and $0xfe, %al ++ outb %al, %dx ++6: + ret + +-3: /* use keyboard controller */ ++A20_KBDCTL: ++ /* use keyboard controller */ + pushl %eax + + call gloop1 +@@ -1665,11 +1707,7 @@ gloopint1: + jnz gloopint1 + + movb $KB_OUTPUT_MASK, %al +- cmpb $0, 0x8(%esp) +- jz gdoit +- + orb $KB_A20_ENABLE, %al +-gdoit: + outb $K_RDWR + + call gloop1 +@@ -1994,8 +2032,25 @@ ENTRY(console_getkey) + call EXT_C(prot_to_real) + .code16 + ++.again: ++ mov $0x11, %ah /* poll kbd */ + int $0x16 + ++ jz .again ++#if 0 ++/* XXX handle serial here? -- pj */ ++ jnz .kbd ++#endif ++.kbd: ++ mov $0x10, %ah ++ int $0x16 ++ cmp $0xe0, %al ++ jnz .not_ext ++ xor %al, %al ++.not_ext: ++ and %al, %al ++ jz .func_key ++.func_key: + movw %ax, %dx /* real_to_prot uses %eax */ + call translate_keycode + call remap_ascii_char +@@ -2003,7 +2058,7 @@ ENTRY(console_getkey) + DATA32 call EXT_C(real_to_prot) + .code32 + +- movw %dx, %ax ++ mov %dx, %ax + + pop %ebp + ret +@@ -2029,7 +2084,7 @@ ENTRY(console_checkkey) + call EXT_C(prot_to_real) /* enter real mode */ + .code16 + +- movb $0x1, %ah ++ movb $0x11, %ah + int $0x16 + + DATA32 jz notpending +@@ -2051,6 +2106,37 @@ pending: + pop %ebp + ret + ++ ++/* ++ * int console_keystatus (void) ++ * BIOS call "INT 16H Function 02H" to get keyboard modifier status ++ * Call with %ah = 0x2 ++ * Return: %al = keyboard state: ++ * bit 3: alt key down ++ * bit 2: ctrl key down ++ * bit 1: left shift key down ++ * bit 0: right shift key down ++ */ ++ENTRY(console_keystatus) ++ push %ebp ++ ++ call EXT_C(prot_to_real) ++ .code16 ++ ++ movb $0x12, %ah ++ int $0x16 ++ movw %ax, %dx ++ ++ DATA32 call EXT_C(real_to_prot) ++ .code32 ++ ++ movw %dx, %ax ++ ++ /* Mask out numlock, capslock and insert state. */ ++ andl $0x0f0f, %eax ++ pop %ebp ++ ret ++ + + /* + * int console_getxy (void) +@@ -2216,6 +2302,156 @@ ENTRY(console_setcursor) + pop %ebx + pop %ebp + ret ++ ++/* graphics mode functions */ ++#ifdef SUPPORT_GRAPHICS ++VARIABLE(cursorX) ++.word 0 ++VARIABLE(cursorY) ++.word 0 ++VARIABLE(cursorCount) ++.word 0 ++VARIABLE(cursorBuf) ++.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ++ ++ ++/* ++ * int set_videomode(mode) ++ * BIOS call "INT 10H Function 0h" to set video mode ++ * Call with %ah = 0x0 ++ * %al = video mode ++ * Returns old videomode. ++ */ ++ENTRY(set_videomode) ++ push %ebp ++ push %ebx ++ push %ecx ++ ++ movb 0x10(%esp), %cl ++ ++ call EXT_C(prot_to_real) ++ .code16 ++ ++ xorw %bx, %bx ++ movb $0xf, %ah ++ int $0x10 /* Get Current Video mode */ ++ movb %al, %ch ++ xorb %ah, %ah ++ movb %cl, %al ++ int $0x10 /* Set Video mode */ ++ ++ DATA32 call EXT_C(real_to_prot) ++ .code32 ++ ++ xorb %ah, %ah ++ movb %ch, %al ++ ++ pop %ecx ++ pop %ebx ++ pop %ebp ++ ret ++ ++ ++/* ++ * unsigned char * graphics_get_font() ++ * BIOS call "INT 10H Function 11h" to set font ++ * Call with %ah = 0x11 ++ */ ++ENTRY(graphics_get_font) ++ push %ebp ++ push %ebx ++ push %ecx ++ push %edx ++ ++ call EXT_C(prot_to_real) ++ .code16 ++ ++ movw $0x1130, %ax ++ movb $6, %bh /* font 8x16 */ ++ int $0x10 ++ movw %bp, %dx ++ movw %es, %cx ++ ++ DATA32 call EXT_C(real_to_prot) ++ .code32 ++ ++ xorl %eax, %eax ++ movw %cx, %ax ++ shll $4, %eax ++ movw %dx, %ax ++ ++ pop %edx ++ pop %ecx ++ pop %ebx ++ pop %ebp ++ ret ++ ++ ++ ++/* ++ * graphics_set_palette(index, red, green, blue) ++ * BIOS call "INT 10H Function 10h" to set individual dac register ++ * Call with %ah = 0x10 ++ * %bx = register number ++ * %ch = new value for green (0-63) ++ * %cl = new value for blue (0-63) ++ * %dh = new value for red (0-63) ++ */ ++ ++ENTRY(graphics_set_palette) ++ push %ebp ++ push %eax ++ push %ebx ++ push %ecx ++ push %edx ++ ++ movw $0x3c8, %bx /* address write mode register */ ++ ++ /* wait vertical retrace */ ++ ++ movw $0x3da, %dx ++l1b: inb %dx, %al /* wait vertical active display */ ++ test $8, %al ++ jnz l1b ++ ++l2b: inb %dx, %al /* wait vertical retrace */ ++ test $8, %al ++ jnz l2b ++ ++ mov %bx, %dx ++ movb 0x18(%esp), %al /* index */ ++ outb %al, %dx ++ inc %dx ++ ++ movb 0x1c(%esp), %al /* red */ ++ outb %al, %dx ++ ++ movb 0x20(%esp), %al /* green */ ++ outb %al, %dx ++ ++ movb 0x24(%esp), %al /* blue */ ++ outb %al, %dx ++ ++ movw 0x18(%esp), %bx ++ ++ call EXT_C(prot_to_real) ++ .code16 ++ ++ movb %bl, %bh ++ movw $0x1000, %ax ++ int $0x10 ++ ++ DATA32 call EXT_C(real_to_prot) ++ .code32 ++ ++ pop %edx ++ pop %ecx ++ pop %ebx ++ pop %eax ++ pop %ebp ++ ret ++ ++#endif /* SUPPORT_GRAPHICS */ + + /* + * getrtsecs() +diff --git a/stage2/boot.c b/stage2/boot.c +index 4185d23..e30daf8 100644 +--- a/stage2/boot.c ++++ b/stage2/boot.c +@@ -25,10 +25,14 @@ + #include "imgact_aout.h" + #include "i386-elf.h" + ++#ifndef PLATFORM_EFI + static int cur_addr; ++#endif + entry_func entry_addr; ++#ifndef PLATFORM_EFI + static struct mod_list mll[99]; + static int linux_mem_size; ++#endif + + /* + * The next two functions, 'load_image' and 'load_module', are the building +@@ -40,6 +44,9 @@ kernel_t + load_image (char *kernel, char *arg, kernel_t suggested_type, + unsigned long load_flags) + { ++#ifdef PLATFORM_EFI ++ return grub_load_linux (kernel, arg); ++#else + int len, i, exec_type = 0, align_4k = 1; + entry_func real_entry_addr = 0; + kernel_t type = KERNEL_TYPE_NONE; +@@ -221,6 +228,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + { + int big_linux = 0; + int setup_sects = lh->setup_sects; ++ int cmdline_size = 0xff; + + if (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0200) + { +@@ -248,6 +256,14 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + lh->cl_offset = LINUX_CL_OFFSET; + lh->setup_move_size = LINUX_SETUP_MOVE_SIZE; + } ++ ++ if (lh->version >= 0x0206) ++ { ++ cmdline_size = lh->cmdline_size; ++ if (cmdline_size > (LINUX_CL_END_OFFSET - LINUX_CL_OFFSET)) ++ cmdline_size = LINUX_CL_END_OFFSET - LINUX_CL_OFFSET; ++ } ++ + } + else + { +@@ -265,7 +281,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + setup_sects = LINUX_DEFAULT_SETUP_SECTS; + + data_len = setup_sects << 9; +- text_len = filemax - data_len - SECTOR_SIZE; ++ text_len = filemax - data_len - get_sector_size(current_drive); + + linux_data_tmp_addr = (char *) LINUX_BZIMAGE_ADDR + text_len; + +@@ -280,8 +296,12 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + errnum = ERR_WONT_FIT; + else + { +- grub_printf (" [Linux-%s, setup=0x%x, size=0x%x]\n", +- (big_linux ? "bzImage" : "zImage"), data_len, text_len); ++ grub_verbose_printf (" [Linux-%s, setup=0x%x, size=0x%x]\n", ++ (big_linux ? "bzImage" : "zImage"), ++ data_len, text_len); ++ ++ if (silent_grub) ++ lh->vid_mode = 0x0f04; + + /* Video mode selection support. What a mess! */ + /* NOTE: Even the word "mess" is not still enough to +@@ -375,14 +395,15 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + + /* It is possible that DATA_LEN + SECTOR_SIZE is greater than + MULTIBOOT_SEARCH, so the data may have been read partially. */ +- if (data_len + SECTOR_SIZE <= MULTIBOOT_SEARCH) ++ if (data_len + get_sector_size(current_drive) <= MULTIBOOT_SEARCH) + grub_memmove (linux_data_tmp_addr, buffer, +- data_len + SECTOR_SIZE); ++ data_len + get_sector_size(current_drive)); + else + { + grub_memmove (linux_data_tmp_addr, buffer, MULTIBOOT_SEARCH); + grub_read (linux_data_tmp_addr + MULTIBOOT_SEARCH, +- data_len + SECTOR_SIZE - MULTIBOOT_SEARCH); ++ data_len + get_sector_size(current_drive) ++ - MULTIBOOT_SEARCH); + } + + if (lh->header != LINUX_MAGIC_SIGNATURE || +@@ -404,7 +425,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + char *src = skip_to (0, arg); + char *dest = linux_data_tmp_addr + LINUX_CL_OFFSET; + +- while (dest < linux_data_tmp_addr + LINUX_CL_END_OFFSET && *src) ++ while (dest < linux_data_tmp_addr + LINUX_CL_OFFSET + cmdline_size && *src) + *(dest++) = *(src++); + + /* Old Linux kernels have problems determining the amount of +@@ -425,7 +446,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + if (! grub_strstr (arg, "mem=") + && ! (load_flags & KERNEL_LOAD_NO_MEM_OPTION) + && lh->version < 0x0203 /* kernel version < 2.4.18 */ +- && dest + 15 < linux_data_tmp_addr + LINUX_CL_END_OFFSET) ++ && dest + 15 < linux_data_tmp_addr + LINUX_CL_OFFSET + cmdline_size) + { + *dest++ = ' '; + *dest++ = 'm'; +@@ -441,7 +462,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + } + + /* offset into file */ +- grub_seek (data_len + SECTOR_SIZE); ++ grub_seek (data_len + get_sector_size(current_drive)); + + cur_addr = (int) linux_data_tmp_addr + LINUX_SETUP_MOVE_SIZE; + grub_read ((char *) LINUX_BZIMAGE_ADDR, text_len); +@@ -487,7 +508,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + mbi.syms.a.addr = 0; + mbi.syms.a.pad = 0; + +- printf (" [%s-%s", str2, str); ++ verbose_printf (" [%s-%s", str2, str); + + str = ""; + +@@ -496,7 +517,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + if (flags & MULTIBOOT_AOUT_KLUDGE) + str = "-and-data"; + +- printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len); ++ verbose_printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len); + + /* read text, then read data */ + if (grub_read ((char *) RAW_ADDR (cur_addr), text_len) == text_len) +@@ -509,9 +530,9 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + if (align_4k) + cur_addr = (cur_addr + 0xFFF) & 0xFFFFF000; + else +- printf (", C"); ++ verbose_printf (", C"); + +- printf (", data=0x%x", data_len); ++ verbose_printf (", data=0x%x", data_len); + + if ((grub_read ((char *) RAW_ADDR (cur_addr), data_len) + != data_len) +@@ -525,7 +546,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + memset ((char *) RAW_ADDR (cur_addr), 0, bss_len); + cur_addr += bss_len; + +- printf (", bss=0x%x", bss_len); ++ verbose_printf (", bss=0x%x", bss_len); + } + } + else if (!errnum) +@@ -545,7 +566,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + *((int *) RAW_ADDR (cur_addr)) = pu.aout->a_syms; + cur_addr += sizeof (int); + +- printf (", symtab=0x%x", pu.aout->a_syms); ++ verbose_printf (", symtab=0x%x", pu.aout->a_syms); + + if (grub_read ((char *) RAW_ADDR (cur_addr), pu.aout->a_syms) + == pu.aout->a_syms) +@@ -562,7 +583,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + + i -= sizeof (int); + +- printf (", strtab=0x%x", i); ++ verbose_printf (", strtab=0x%x", i); + + symtab_err = (grub_read ((char *) RAW_ADDR (cur_addr), i) + != i); +@@ -576,7 +597,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + + if (symtab_err) + { +- printf ("(bad)"); ++ verbose_printf ("(bad)"); + cur_addr = orig_addr; + mbi.syms.a.tabsize = 0; + mbi.syms.a.strsize = 0; +@@ -630,7 +651,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + /* mark memory as used */ + if (cur_addr < memaddr + memsiz) + cur_addr = memaddr + memsiz; +- printf (", <0x%x:0x%x:0x%x>", memaddr, filesiz, ++ verbose_printf (", <0x%x:0x%x:0x%x>", memaddr, filesiz, + memsiz - filesiz); + /* increment number of segments */ + loaded++; +@@ -676,7 +697,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + shdr = (Elf32_Shdr *) mbi.syms.e.addr; + cur_addr += tab_size; + +- printf (", shtab=0x%x", cur_addr); ++ verbose_printf (", shtab=0x%x", cur_addr); + + for (i = 0; i < mbi.syms.e.num; i++) + { +@@ -718,7 +739,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + + if (symtab_err) + { +- printf ("(bad)"); ++ verbose_printf ("(bad)"); + mbi.syms.e.num = 0; + mbi.syms.e.size = 0; + mbi.syms.e.addr = 0; +@@ -733,7 +754,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + + if (! errnum) + { +- grub_printf (", entry=0x%x]\n", (unsigned) entry_addr); ++ grub_verbose_printf (", entry=0x%x]\n", (unsigned) entry_addr); + + /* If the entry address is physically different from that of the ELF + header, correct it here. */ +@@ -756,8 +777,10 @@ load_image (char *kernel, char *arg, kernel_t suggested_type, + } + + return type; ++#endif + } + ++#ifndef PLATFORM_EFI + int + load_module (char *module, char *arg) + { +@@ -776,7 +799,7 @@ load_module (char *module, char *arg) + return 0; + } + +- printf (" [Multiboot-module @ 0x%x, 0x%x bytes]\n", cur_addr, len); ++ verbose_printf (" [Multiboot-module @ 0x%x, 0x%x bytes]\n", cur_addr, len); + + /* these two simply need to be set if any modules are loaded at all */ + mbi.flags |= MB_INFO_MODS; +@@ -794,11 +817,19 @@ load_module (char *module, char *arg) + grub_close (); + return 1; + } ++#endif + + int + load_initrd (char *initrd) + { +- int len; ++#ifdef PLATFORM_EFI ++#ifndef NO_DECOMPRESSION ++ no_decompression = 1; ++#endif ++ return grub_load_initrd (initrd); ++#else ++ int len, next_addr; ++ char *singleimage, *pos; + unsigned long moveto; + unsigned long max_addr; + struct linux_kernel_header *lh +@@ -807,16 +838,24 @@ load_initrd (char *initrd) + #ifndef NO_DECOMPRESSION + no_decompression = 1; + #endif +- +- if (! grub_open (initrd)) +- goto fail; ++ len = 0; ++ next_addr = cur_addr; + +- len = grub_read ((char *) cur_addr, -1); +- if (! len) +- { +- grub_close (); +- goto fail; +- } ++ /* loop over all initrd images and concatenate them in memory */ ++ singleimage = strtok_r(initrd," \t",&pos); ++ while (singleimage) { ++ if (! grub_open (singleimage)) ++ continue; ++ ++ len += grub_read ((char *) next_addr, -1); ++ grub_close (); ++ ++ next_addr = cur_addr + len; ++ singleimage = strtok_r(NULL," \t",&pos); ++ } ++ ++ if (!len) ++ goto fail; + + if (linux_mem_size) + moveto = linux_mem_size; +@@ -824,8 +863,12 @@ load_initrd (char *initrd) + moveto = (mbi.mem_upper + 0x400) << 10; + + moveto = (moveto - len) & 0xfffff000; ++#if 0 + max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203 + ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS); ++#else ++ max_addr = LINUX_INITRD_MAX_ADDRESS; ++#endif + if (moveto + len >= max_addr) + moveto = (max_addr - len) & 0xfffff000; + +@@ -836,13 +879,12 @@ load_initrd (char *initrd) + moveto -= 0x10000; + memmove ((void *) RAW_ADDR (moveto), (void *) cur_addr, len); + +- printf (" [Linux-initrd @ 0x%x, 0x%x bytes]\n", moveto, len); ++ verbose_printf (" [Linux-initrd @ 0x%x, 0x%x bytes]\n", moveto, len); + + /* FIXME: Should check if the kernel supports INITRD. */ + lh->ramdisk_image = RAW_ADDR (moveto); + lh->ramdisk_size = len; + +- grub_close (); + + fail: + +@@ -851,9 +893,11 @@ load_initrd (char *initrd) + #endif + + return ! errnum; ++#endif + } + + ++#ifndef PLATFORM_EFI + #ifdef GRUB_UTIL + /* Dummy function to fake the *BSD boot. */ + static void +@@ -1018,3 +1062,5 @@ bsd_boot (kernel_t type, int bootdev, char *arg) + extended_memory, mbi.mem_lower); + } + } ++#endif ++ +diff --git a/stage2/builtins.c b/stage2/builtins.c +index 3e08a86..b95b181 100644 +--- a/stage2/builtins.c ++++ b/stage2/builtins.c +@@ -56,6 +56,9 @@ static int bootdev; + /* True when the debug mode is turned on, and false + when it is turned off. */ + int debug = 0; ++int debug_graphics = 0; ++/* Print what we're booting */ ++int grub_verbose = 0; + /* The default entry. */ + int default_entry = 0; + /* The fallback entry. */ +@@ -117,6 +120,27 @@ check_password (char *entered, char* expected, password_t type) + case PASSWORD_MD5: + return check_md5_password (entered, expected); + #endif ++ ++ case PASSWORD_ENCRYPTED: ++ if (grub_memcmp (expected, "$1$", 3) == 0) ++ return check_md5_password (entered, expected); ++ else if (grub_memcmp (expected, "$5$", 3) == 0) ++ { ++ char *hashed; ++ ++ hashed = sha256_crypt (entered, expected); ++ return hashed == NULL || strcmp (expected, hashed); ++ } ++ else if (grub_memcmp (expected, "$6$", 3) == 0) ++ { ++ char *hashed; ++ ++ hashed = sha512_crypt (entered, expected); ++ return hashed == NULL || strcmp (expected, hashed); ++ } ++ else ++ return strcmp (entered, expected); ++ + default: + /* unsupported password type: be secure */ + return 1; +@@ -131,62 +155,98 @@ disk_read_print_func (int sector, int offset, int length) + } + + ++/* blocklist_read_helper nee disk_read_blocklist_func was a nested ++ * function, to which pointers were taken and exposed globally. Even ++ * in the GNU-C nested functions extension, they have local linkage, ++ * and aren't guaranteed to be accessable *at all* outside of their ++ * containing scope. ++ * ++ * Above and beyond all of that, the variables within blocklist_func_context ++ * are originally local variables, with local (not even static) linkage, ++ * from within blocklist_func. These were each referenced by ++ * disk_read_blocklist_func, which is only called from other functions ++ * through a globally scoped pointer. ++ * ++ * The documentation in GCC actually uses the words "all hell will break ++ * loose" to describe this scenario. ++ * ++ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn ++ * about it (possibly because of the scoping madness?) ++ */ ++ ++static struct { ++ int start_sector; ++ int num_sectors; ++ int num_entries; ++ int last_length; ++} blocklist_func_context = { ++ .start_sector = 0, ++ .num_sectors = 0, ++ .num_entries = 0, ++ .last_length = 0 ++}; ++ ++/* Collect contiguous blocks into one entry as many as possible, ++ and print the blocklist notation on the screen. */ ++static void ++blocklist_read_helper (int sector, int offset, int length) ++{ ++ int *start_sector = &blocklist_func_context.start_sector; ++ int *num_sectors = &blocklist_func_context.num_sectors; ++ int *num_entries = &blocklist_func_context.num_entries; ++ int *last_length = &blocklist_func_context.last_length; ++ int sector_size = get_sector_size(current_drive); ++ ++ if (*num_sectors > 0) ++ { ++ if (*start_sector + *num_sectors == sector ++ && offset == 0 && *last_length == sector_size) ++ { ++ *num_sectors++; ++ *last_length = length; ++ return; ++ } ++ else ++ { ++ if (*last_length == sector_size) ++ grub_printf ("%s%d+%d", *num_entries ? "," : "", ++ *start_sector - part_start, *num_sectors); ++ else if (*num_sectors > 1) ++ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "", ++ *start_sector - part_start, *num_sectors-1, ++ *start_sector + *num_sectors-1 - part_start, ++ *last_length); ++ else ++ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "", ++ *start_sector - part_start, *last_length); ++ *num_entries++; ++ *num_sectors = 0; ++ } ++ } ++ ++ if (offset > 0) ++ { ++ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "", ++ sector-part_start, offset, offset+length); ++ *num_entries++; ++ } ++ else ++ { ++ *start_sector = sector; ++ *num_sectors = 1; ++ *last_length = length; ++ } ++} ++ + /* blocklist */ + static int + blocklist_func (char *arg, int flags) + { + char *dummy = (char *) RAW_ADDR (0x100000); +- int start_sector; +- int num_sectors = 0; +- int num_entries = 0; +- int last_length = 0; + +- auto void disk_read_blocklist_func (int sector, int offset, int length); +- +- /* Collect contiguous blocks into one entry as many as possible, +- and print the blocklist notation on the screen. */ +- auto void disk_read_blocklist_func (int sector, int offset, int length) +- { +- if (num_sectors > 0) +- { +- if (start_sector + num_sectors == sector +- && offset == 0 && last_length == SECTOR_SIZE) +- { +- num_sectors++; +- last_length = length; +- return; +- } +- else +- { +- if (last_length == SECTOR_SIZE) +- grub_printf ("%s%d+%d", num_entries ? "," : "", +- start_sector - part_start, num_sectors); +- else if (num_sectors > 1) +- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "", +- start_sector - part_start, num_sectors-1, +- start_sector + num_sectors-1 - part_start, +- last_length); +- else +- grub_printf ("%s%d[0-%d]", num_entries ? "," : "", +- start_sector - part_start, last_length); +- num_entries++; +- num_sectors = 0; +- } +- } +- +- if (offset > 0) +- { +- grub_printf("%s%d[%d-%d]", num_entries ? "," : "", +- sector-part_start, offset, offset+length); +- num_entries++; +- } +- else +- { +- start_sector = sector; +- num_sectors = 1; +- last_length = length; +- } +- } ++ int *start_sector = &blocklist_func_context.start_sector; ++ int *num_sectors = &blocklist_func_context.num_sectors; ++ int *num_entries = &blocklist_func_context.num_entries; + + /* Open the file. */ + if (! grub_open (arg)) +@@ -206,15 +266,15 @@ blocklist_func (char *arg, int flags) + grub_printf (")"); + + /* Read in the whole file to DUMMY. */ +- disk_read_hook = disk_read_blocklist_func; ++ disk_read_hook = blocklist_read_helper; + if (! grub_read (dummy, -1)) + goto fail; + + /* The last entry may not be printed yet. Don't check if it is a + * full sector, since it doesn't matter if we read too much. */ +- if (num_sectors > 0) +- grub_printf ("%s%d+%d", num_entries ? "," : "", +- start_sector - part_start, num_sectors); ++ if (*num_sectors > 0) ++ grub_printf ("%s%d+%d", *num_entries ? "," : "", ++ *start_sector - part_start, *num_sectors); + + grub_printf ("\n"); + +@@ -237,12 +297,25 @@ static struct builtin builtin_blocklist = + static int + boot_func (char *arg, int flags) + { ++ struct term_entry *prev_term = current_term; + /* Clear the int15 handler if we can boot the kernel successfully. + This assumes that the boot code never fails only if KERNEL_TYPE is + not KERNEL_TYPE_NONE. Is this assumption is bad? */ + if (kernel_type != KERNEL_TYPE_NONE) + unset_int15_handler (); + ++ /* if our terminal needed initialization, we should shut it down ++ * before booting the kernel, but we want to save what it was so ++ * we can come back if needed */ ++ if (current_term->shutdown) ++ { ++ (*current_term->shutdown)(); ++ current_term = term_table; /* assumption: console is first */ ++ } ++ ++ if (silent_grub) ++ setcursor(0); ++ + #ifdef SUPPORT_NETBOOT + /* Shut down the networking. */ + cleanup_net (); +@@ -250,11 +323,13 @@ boot_func (char *arg, int flags) + + switch (kernel_type) + { ++#ifndef PLATFORM_EFI + case KERNEL_TYPE_FREEBSD: + case KERNEL_TYPE_NETBSD: + /* *BSD */ + bsd_boot (kernel_type, bootdev, (char *) mbi.cmdline); + break; ++#endif + + case KERNEL_TYPE_LINUX: + /* Linux */ +@@ -296,16 +371,25 @@ boot_func (char *arg, int flags) + chain_stage1 (0, BOOTSEC_LOCATION, boot_part_addr); + break; + ++#ifndef PLATFORM_EFI + case KERNEL_TYPE_MULTIBOOT: + /* Multiboot */ + multi_boot ((int) entry_addr, (int) &mbi); + break; ++#endif + + default: + errnum = ERR_BOOT_COMMAND; + return 1; + } + ++ /* if we get back here, we should go back to what our term was before */ ++ current_term = prev_term; ++ if (current_term->startup) ++ /* if our terminal fails to initialize, fall back to console since ++ * it should always work */ ++ if ((*current_term->startup)() == 0) ++ current_term = term_table; /* we know that console is first */ + return 0; + } + +@@ -402,6 +486,10 @@ static struct builtin builtin_cat = + static int + chainloader_func (char *arg, int flags) + { ++#ifdef PLATFORM_EFI ++ kernel_type = grub_chainloader(arg); ++ return kernel_type == KERNEL_TYPE_NONE; ++#else + int force = 0; + char *file = arg; + +@@ -458,6 +546,7 @@ chainloader_func (char *arg, int flags) + errnum = ERR_NONE; + + return 0; ++#endif + } + + static struct builtin builtin_chainloader = +@@ -564,89 +653,88 @@ static struct builtin builtin_cmp = + /* Set new colors used for the menu interface. Support two methods to + specify a color name: a direct integer representation and a symbolic + color name. An example of the latter is "blink-light-gray/blue". */ +-static int +-color_func (char *arg, int flags) +-{ +- char *normal; +- char *highlight; +- int new_normal_color; +- int new_highlight_color; +- static char *color_list[16] = +- { +- "black", +- "blue", +- "green", +- "cyan", +- "red", +- "magenta", +- "brown", +- "light-gray", +- "dark-gray", +- "light-blue", +- "light-green", +- "light-cyan", +- "light-red", +- "light-magenta", +- "yellow", +- "white" +- }; ++static const char * const color_list[16] = ++{ ++ "black", ++ "blue", ++ "green", ++ "cyan", ++ "red", ++ "magenta", ++ "brown", ++ "light-gray", ++ "dark-gray", ++ "light-blue", ++ "light-green", ++ "light-cyan", ++ "light-red", ++ "light-magenta", ++ "yellow", ++ "white" ++}; + +- auto int color_number (char *str); ++/* Convert the color name STR into the magical number. */ ++static int color_number (char *str) ++{ ++ char *ptr; ++ int i; ++ int color = 0; + +- /* Convert the color name STR into the magical number. */ +- auto int color_number (char *str) +- { +- char *ptr; +- int i; +- int color = 0; +- +- /* Find the separator. */ +- for (ptr = str; *ptr && *ptr != '/'; ptr++) +- ; ++ /* Find the separator. */ ++ for (ptr = str; *ptr && *ptr != '/'; ptr++) ++ ; + +- /* If not found, return -1. */ +- if (! *ptr) +- return -1; ++ /* If not found, return -1. */ ++ if (! *ptr) ++ return -1; + +- /* Terminate the string STR. */ +- *ptr++ = 0; ++ /* Terminate the string STR. */ ++ *ptr++ = 0; + +- /* If STR contains the prefix "blink-", then set the `blink' bit +- in COLOR. */ +- if (substring ("blink-", str) <= 0) +- { +- color = 0x80; +- str += 6; +- } +- +- /* Search for the color name. */ +- for (i = 0; i < 16; i++) +- if (grub_strcmp (color_list[i], str) == 0) +- { +- color |= i; +- break; +- } ++ /* If STR contains the prefix "blink-", then set the `blink' bit ++ in COLOR. */ ++ if (substring ("blink-", str) <= 0) ++ { ++ color = 0x80; ++ str += 6; ++ } ++ ++ /* Search for the color name. */ ++ for (i = 0; i < 16; i++) ++ if (grub_strcmp (color_list[i], str) == 0) ++ { ++ color |= i; ++ break; ++ } + +- if (i == 16) +- return -1; ++ if (i == 16) ++ return -1; + +- str = ptr; +- nul_terminate (str); ++ str = ptr; ++ nul_terminate (str); + +- /* Search for the color name. */ +- for (i = 0; i < 8; i++) +- if (grub_strcmp (color_list[i], str) == 0) +- { +- color |= i << 4; +- break; +- } ++ /* Search for the color name. */ ++ for (i = 0; i < 8; i++) ++ if (grub_strcmp (color_list[i], str) == 0) ++ { ++ color |= i << 4; ++ break; ++ } + +- if (i == 8) +- return -1; ++ if (i == 8) ++ return -1; ++ ++ return color; ++} ++ ++static int ++color_func (char *arg, int flags) ++{ ++ char *normal; ++ char *highlight; ++ int new_normal_color; ++ int new_highlight_color; + +- return color; +- } +- + normal = arg; + highlight = skip_to (0, arg); + +@@ -690,7 +778,6 @@ static struct builtin builtin_color = + " But only the first eight names can be used for BG. You can prefix" + " \"blink-\" to FG if you want a blinking foreground color." + }; +- + + /* configfile */ + static int +@@ -737,14 +824,18 @@ static struct builtin builtin_configfile = + static int + debug_func (char *arg, int flags) + { +- if (debug) ++ int *whichdebug = &debug; ++ if (arg && !strcmp(arg, "--graphics")) ++ whichdebug = &debug_graphics; ++ ++ if (*whichdebug) + { +- debug = 0; ++ *whichdebug = 0; + grub_printf (" Debug mode is turned off\n"); + } + else + { +- debug = 1; ++ *whichdebug = 1; + grub_printf (" Debug mode is turned on\n"); + } + +@@ -755,17 +846,61 @@ static struct builtin builtin_debug = + { + "debug", + debug_func, +- BUILTIN_CMDLINE, ++ BUILTIN_CMDLINE | BUILTIN_MENU, + "debug", + "Turn on/off the debug mode." + }; + + ++/* verbose */ ++static int ++verbose_func (char *arg, int flags) ++{ ++ if (grub_verbose) ++ { ++ grub_verbose = 0; ++ grub_printf (" Verbose mode is turned off\n"); ++ } ++ else ++ { ++ grub_verbose = 1; ++ grub_printf (" Verbose mode is turned on\n"); ++ } ++ ++ return 0; ++} ++ ++static struct builtin builtin_verbose = ++{ ++ "verbose", ++ verbose_func, ++ BUILTIN_CMDLINE | BUILTIN_MENU, ++ "verbose", ++ "Turn on/off verbose output." ++}; ++ ++ ++#if !defined(SUPPORT_DISKLESS) && !defined(GRUB_UTIL) && !defined(PLATFORM_EFI) ++static int savedefault_helper(int); ++#endif + /* default */ + static int + default_func (char *arg, int flags) + { + #ifndef SUPPORT_DISKLESS ++#ifndef GRUB_UTIL ++#ifndef PLATFORM_EFI ++ /* Has a forced once-only default been specified? */ ++ if ((saved_entryno & STAGE2_ONCEONLY_ENTRY) != 0) ++ { ++ int old_defaults=saved_entryno & ~STAGE2_ONCEONLY_ENTRY; ++ grub_timeout = 0; ++ default_entry = old_defaults >> 8; ++ savedefault_helper(old_defaults & 0xff); ++ return 0; ++ } ++#endif ++#endif + if (grub_strcmp (arg, "saved") == 0) + { + default_entry = saved_entryno; +@@ -792,7 +927,7 @@ static struct builtin builtin_default = + }; + + +-#ifdef GRUB_UTIL ++#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) + /* device */ + static int + device_func (char *arg, int flags) +@@ -800,16 +935,17 @@ device_func (char *arg, int flags) + char *drive = arg; + char *device; + +- /* Get the drive number from DRIVE. */ +- if (! set_device (drive)) +- return 1; +- + /* Get the device argument. */ + device = skip_to (0, drive); +- ++ ++ nul_terminate (drive); + /* Terminate DEVICE. */ + nul_terminate (device); + ++ /* Get the drive number from DRIVE. */ ++ if (! set_device (drive)) ++ return 1; ++ + if (! *device || ! check_device (device)) + { + errnum = ERR_FILE_NOT_FOUND; +@@ -817,7 +953,7 @@ device_func (char *arg, int flags) + } + + assign_device_name (current_drive, device); +- ++ + return 0; + } + +@@ -828,9 +964,20 @@ static struct builtin builtin_device = + BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, + "device DRIVE DEVICE", + "Specify DEVICE as the actual drive for a BIOS drive DRIVE. This command" +- " can be used only in the grub shell." ++ " can be used only in the grub shell and in EFI." + }; +-#endif /* GRUB_UTIL */ ++#endif /* defined(GRUB_UTIL) || defined(PLATFORM_EFI) */ ++#ifdef PLATFORM_EFI ++static struct builtin builtin_efimap = ++{ ++ "efimap", ++ device_func, ++ BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, ++ "efimap DRIVE DEVICE", ++ "Specify DEVICE as the actual drive for a BIOS drive DRIVE. This command" ++ " can be used only in EFI." ++}; ++#endif /* PLATFORM_EFI */ + + + #ifdef SUPPORT_NETBOOT +@@ -852,6 +999,139 @@ static struct builtin builtin_dhcp = + }; + #endif /* SUPPORT_NETBOOT */ + ++static int terminal_func (char *arg, int flags); ++ ++#ifdef SUPPORT_GRAPHICS ++ ++static int splashimage_func(char *arg, int flags) { ++ char splashimage[64]; ++ int i; ++ ++ /* filename can only be 64 characters due to our buffer size */ ++ if (strlen(arg) > 63) ++ return 1; ++ if (flags == BUILTIN_CMDLINE) { ++ if (!grub_open(arg)) ++ return 1; ++ grub_close(); ++ } ++ ++ strcpy(splashimage, arg); ++ ++ /* get rid of TERM_NEED_INIT from the graphics terminal. */ ++ for (i = 0; term_table[i].name; i++) { ++ if (grub_strcmp (term_table[i].name, "graphics") == 0) { ++ term_table[i].flags &= ~TERM_NEED_INIT; ++ break; ++ } ++ } ++ ++ graphics_set_splash(splashimage); ++ ++ if (flags == BUILTIN_CMDLINE && graphics_inited) { ++ graphics_end(); ++ graphics_init(); ++ graphics_cls(); ++ } ++ ++ /* FIXME: should we be explicitly switching the terminal as a ++ * side effect here? */ ++ terminal_func("graphics", flags); ++ ++ return 0; ++} ++ ++static struct builtin builtin_splashimage = ++{ ++ "splashimage", ++ splashimage_func, ++ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, ++ "splashimage FILE", ++ "Load FILE as the background image when in graphics mode." ++}; ++ ++ ++/* foreground */ ++static int ++foreground_func(char *arg, int flags) ++{ ++ if (grub_strlen(arg) == 6) { ++ int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2; ++ int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2; ++ int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2; ++ ++ foreground = (r << 16) | (g << 8) | b; ++ if (graphics_inited) ++ graphics_set_palette(15, r, g, b); ++ ++ return (0); ++ } ++ ++ return (1); ++} ++ ++static struct builtin builtin_foreground = ++{ ++ "foreground", ++ foreground_func, ++ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, ++ "foreground RRGGBB", ++ "Sets the foreground color when in graphics mode." ++ "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal." ++}; ++ ++ ++/* background */ ++static int ++background_func(char *arg, int flags) ++{ ++ if (grub_strlen(arg) == 6) { ++ int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2; ++ int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2; ++ int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2; ++ ++ background = (r << 16) | (g << 8) | b; ++ if (graphics_inited) ++ graphics_set_palette(0, r, g, b); ++ return (0); ++ } ++ ++ return (1); ++} ++ ++static struct builtin builtin_background = ++{ ++ "background", ++ background_func, ++ BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, ++ "background RRGGBB", ++ "Sets the background color when in graphics mode." ++ "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal." ++}; ++ ++#endif /* SUPPORT_GRAPHICS */ ++ ++ ++/* clear */ ++static int ++clear_func() ++{ ++ if (current_term->cls) ++ current_term->cls(); ++ ++ return 0; ++} ++ ++static struct builtin builtin_clear = ++{ ++ "clear", ++ clear_func, ++ BUILTIN_CMDLINE | BUILTIN_HELP_LIST, ++ "clear", ++ "Clear the screen" ++}; ++ ++#ifndef PLATFORM_EFI + + /* displayapm */ + static int +@@ -893,6 +1173,7 @@ static struct builtin builtin_displayapm = + "displayapm", + "Display APM BIOS information." + }; ++#endif /* !PLATFORM_EFI */ + + + /* displaymem */ +@@ -912,11 +1193,11 @@ displaymem_func (char *arg, int flags) + if (mbi.flags & MB_INFO_MEM_MAP) + { + struct AddrRangeDesc *map = (struct AddrRangeDesc *) mbi.mmap_addr; +- int end_addr = mbi.mmap_addr + mbi.mmap_length; ++ unsigned long end_addr = mbi.mmap_addr + mbi.mmap_length; + + grub_printf (" [Address Range Descriptor entries " + "immediately follow (values are 64-bit)]\n"); +- while (end_addr > (int) map) ++ while (end_addr > (unsigned long) map) + { + char *str; + +@@ -924,15 +1205,10 @@ displaymem_func (char *arg, int flags) + str = "Usable RAM"; + else + str = "Reserved"; +- grub_printf (" %s: Base Address: 0x%x X 4GB + 0x%x,\n" +- " Length: 0x%x X 4GB + 0x%x bytes\n", +- str, +- (unsigned long) (map->BaseAddr >> 32), +- (unsigned long) (map->BaseAddr & 0xFFFFFFFF), +- (unsigned long) (map->Length >> 32), +- (unsigned long) (map->Length & 0xFFFFFFFF)); +- +- map = ((struct AddrRangeDesc *) (((int) map) + 4 + map->size)); ++ grub_printf (" %s: Base Address: 0x%lx Length: 0x%lx bytes\n", ++ str, map->BaseAddr, map->Length); ++ ++ map = ((struct AddrRangeDesc *) (((unsigned long) map) + 4 + map->size)); + } + } + +@@ -1009,6 +1285,7 @@ static struct builtin builtin_dump = + }; + #endif /* GRUB_UTIL */ + ++#ifndef PLATFORM_EFI + + static char embed_info[32]; + /* embed */ +@@ -1143,6 +1420,7 @@ static struct builtin builtin_embed = + " is a drive, or in the \"bootloader\" area if DEVICE is a FFS partition." + " Print the number of sectors which STAGE1_5 occupies if successful." + }; ++#endif /* ! PLATFORM_EFI */ + + + /* fallback */ +@@ -1230,17 +1508,19 @@ find_func (char *arg, int flags) + } + + /* Hard disks. */ +- for (drive = 0x80; drive < 0x88; drive++) ++ for (drive = 0x80; drive < (0x80 + MAX_HD_NUM); drive++) + { + unsigned long part = 0xFFFFFF; +- unsigned long start, len, offset, ext_offset; +- int type, entry; +- char buf[SECTOR_SIZE]; ++ unsigned long start, len, offset, ext_offset, gpt_offset; ++ int type, entry, gpt_count, gpt_size; ++ int sector_size = get_sector_size(drive); ++ char buf[sector_size]; + + current_drive = drive; + while (next_partition (drive, 0xFFFFFF, &part, &type, + &start, &len, &offset, &entry, +- &ext_offset, buf)) ++ &ext_offset, &gpt_offset, ++ &gpt_count, &gpt_size, buf)) + { + if (type != PC_SLICE_TYPE_NONE + && ! IS_PC_SLICE_TYPE_BSD (type) +@@ -1301,6 +1581,59 @@ static struct builtin builtin_find = + "Search for the filename FILENAME in all of partitions and print the list of" + " the devices which contain the file." + }; ++ ++/* findiso */ ++ ++/* Search for an ISO 9660 partition. */ ++static int ++findiso_func (char *arg, int flags) ++{ ++ unsigned long drive; ++ unsigned long tmp_drive = saved_drive; ++ unsigned long tmp_partition = saved_partition; ++ ++ /* Hard disks. */ ++ for (drive = 0x80; drive < 0x89; drive++) ++ { ++ unsigned long part = 0xFFFFFF; ++ ++ if (drive == 0x88) ++ drive = 0x100; ++ ++ current_drive = drive; ++ current_partition = part; ++ ++ if (open_device ()) ++ { ++ char *type = get_fsys_type(); ++ if (!grub_strcmp(type, "iso9660")) ++ { ++ saved_drive = current_drive; ++ saved_partition = current_partition; ++ errnum = ERR_NONE; ++ return 0; ++ } ++ } ++ ++ /* We want to ignore any error here. */ ++ errnum = ERR_NONE; ++ } ++ ++ saved_drive = tmp_drive; ++ saved_partition = tmp_partition; ++ ++ errnum = ERR_FILE_NOT_FOUND; ++ return 1; ++} ++ ++static struct builtin builtin_findiso = ++{ ++ "findiso", ++ findiso_func, ++ BUILTIN_CMDLINE | BUILTIN_HELP_LIST, ++ "findiso FILENAME", ++ "Set root to the first device with a valid ISO 9660 filesystem." ++}; + + + /* fstest */ +@@ -1679,6 +2012,7 @@ static struct builtin builtin_ifconfig = + }; + #endif /* SUPPORT_NETBOOT */ + ++#ifndef PLATFORM_EFI + + /* impsprobe */ + static int +@@ -1706,6 +2040,7 @@ static struct builtin builtin_impsprobe = + " configuration table and boot the various CPUs which are found into" + " a tight loop." + }; ++#endif /* ! PLATFORM_EFI */ + + + /* initrd */ +@@ -1738,8 +2073,82 @@ static struct builtin builtin_initrd = + " appropriate parameters in the Linux setup area in memory." + }; + ++#ifndef PLATFORM_EFI + + /* install */ ++static struct { ++ int saved_sector; ++ int installaddr; ++ int installlist; ++ int last_length; ++ char *stage2_first_buffer; ++} install_func_context = { ++ .saved_sector = 0, ++ .installaddr = 0, ++ .installlist = 0, ++ .last_length = SECTOR_SIZE, ++ .stage2_first_buffer = NULL, ++}; ++ ++/* Save the first sector of Stage2 in STAGE2_SECT. */ ++/* Formerly disk_read_savesect_func with local scope inside install_func */ ++static void ++install_savesect_helper(int sector, int offset, int length) ++{ ++ if (debug) ++ printf ("[%d]", sector); ++ ++ /* ReiserFS has files which sometimes contain data not aligned ++ on sector boundaries. Returning an error is better than ++ silently failing. */ ++ if (offset != 0 || length != SECTOR_SIZE) ++ errnum = ERR_UNALIGNED; ++ ++ install_func_context.saved_sector = sector; ++} ++ ++/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */ ++/* Formerly disk_read_blocklist_func with local scope inside install_func */ ++static void ++install_blocklist_helper (int sector, int offset, int length) ++{ ++ int *installaddr = &install_func_context.installaddr; ++ int *installlist = &install_func_context.installlist; ++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; ++ /* Was the last sector full? */ ++ int *last_length = &install_func_context.last_length; ++ ++ if (debug) ++ printf("[%d]", sector); ++ ++ if (offset != 0 || *last_length != SECTOR_SIZE) ++ { ++ /* We found a non-sector-aligned data block. */ ++ errnum = ERR_UNALIGNED; ++ return; ++ } ++ ++ *last_length = length; ++ ++ if (*((unsigned long *) (*installlist - 4)) ++ + *((unsigned short *) *installlist) != sector ++ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4) ++ { ++ *installlist -= 8; ++ ++ if (*((unsigned long *) (*installlist - 8))) ++ errnum = ERR_WONT_FIT; ++ else ++ { ++ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4); ++ *((unsigned long *) (*installlist - 4)) = sector; ++ } ++ } ++ ++ *((unsigned short *) *installlist) += 1; ++ *installaddr += 512; ++} ++ + static int + install_func (char *arg, int flags) + { +@@ -1747,8 +2156,12 @@ install_func (char *arg, int flags) + char *stage1_buffer = (char *) RAW_ADDR (0x100000); + char *stage2_buffer = stage1_buffer + SECTOR_SIZE; + char *old_sect = stage2_buffer + SECTOR_SIZE; +- char *stage2_first_buffer = old_sect + SECTOR_SIZE; +- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; ++ /* stage2_first_buffer used to be defined as: ++ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */ ++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; ++ /* and stage2_second_buffer was: ++ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */ ++ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE; + /* XXX: Probably SECTOR_SIZE is reasonable. */ + char *config_filename = stage2_second_buffer + SECTOR_SIZE; + char *dummy = config_filename + SECTOR_SIZE; +@@ -1757,10 +2170,11 @@ install_func (char *arg, int flags) + int src_drive, src_partition, src_part_start; + int i; + struct geometry dest_geom, src_geom; +- int saved_sector; ++ int *saved_sector = &install_func_context.saved_sector; + int stage2_first_sector, stage2_second_sector; + char *ptr; +- int installaddr, installlist; ++ int *installaddr = &install_func_context.installaddr; ++ int *installlist = &install_func_context.installlist; + /* Point to the location of the name of a configuration file in Stage 2. */ + char *config_file_location; + /* If FILE is a Stage 1.5? */ +@@ -1769,68 +2183,18 @@ install_func (char *arg, int flags) + int is_open = 0; + /* If LBA is forced? */ + int is_force_lba = 0; +- /* Was the last sector full? */ +- int last_length = SECTOR_SIZE; ++ int *last_length = &install_func_context.last_length; + ++ /* Reset state. */ ++ *last_length = SECTOR_SIZE; ++ ++ *stage2_first_buffer = old_sect + SECTOR_SIZE; + #ifdef GRUB_UTIL + /* If the Stage 2 is in a partition mounted by an OS, this will store + the filename under the OS. */ + char *stage2_os_file = 0; + #endif /* GRUB_UTIL */ + +- auto void disk_read_savesect_func (int sector, int offset, int length); +- auto void disk_read_blocklist_func (int sector, int offset, int length); +- +- /* Save the first sector of Stage2 in STAGE2_SECT. */ +- auto void disk_read_savesect_func (int sector, int offset, int length) +- { +- if (debug) +- printf ("[%d]", sector); +- +- /* ReiserFS has files which sometimes contain data not aligned +- on sector boundaries. Returning an error is better than +- silently failing. */ +- if (offset != 0 || length != SECTOR_SIZE) +- errnum = ERR_UNALIGNED; +- +- saved_sector = sector; +- } +- +- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and +- INSTALLSECT. */ +- auto void disk_read_blocklist_func (int sector, int offset, int length) +- { +- if (debug) +- printf("[%d]", sector); +- +- if (offset != 0 || last_length != SECTOR_SIZE) +- { +- /* We found a non-sector-aligned data block. */ +- errnum = ERR_UNALIGNED; +- return; +- } +- +- last_length = length; +- +- if (*((unsigned long *) (installlist - 4)) +- + *((unsigned short *) installlist) != sector +- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4) +- { +- installlist -= 8; +- +- if (*((unsigned long *) (installlist - 8))) +- errnum = ERR_WONT_FIT; +- else +- { +- *((unsigned short *) (installlist + 2)) = (installaddr >> 4); +- *((unsigned long *) (installlist - 4)) = sector; +- } +- } +- +- *((unsigned short *) installlist) += 1; +- installaddr += 512; +- } +- + /* First, check the GNU-style long option. */ + while (1) + { +@@ -1862,10 +2226,10 @@ install_func (char *arg, int flags) + addr = skip_to (0, file); + + /* Get the installation address. */ +- if (! safe_parse_maxint (&addr, &installaddr)) ++ if (! safe_parse_maxint (&addr, installaddr)) + { + /* ADDR is not specified. */ +- installaddr = 0; ++ *installaddr = 0; + ptr = addr; + errnum = 0; + } +@@ -1961,17 +2325,17 @@ install_func (char *arg, int flags) + = 0x9090; + + /* Read the first sector of Stage 2. */ +- disk_read_hook = disk_read_savesect_func; +- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) ++ disk_read_hook = install_savesect_helper; ++ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) + goto fail; + +- stage2_first_sector = saved_sector; ++ stage2_first_sector = *saved_sector; + + /* Read the second sector of Stage 2. */ + if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE) + goto fail; + +- stage2_second_sector = saved_sector; ++ stage2_second_sector = *saved_sector; + + /* Check for the version of Stage 2. */ + if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS)) +@@ -1987,27 +2351,27 @@ install_func (char *arg, int flags) + + /* If INSTALLADDR is not specified explicitly in the command-line, + determine it by the Stage 2 id. */ +- if (! installaddr) ++ if (! *installaddr) + { + if (! is_stage1_5) + /* Stage 2. */ +- installaddr = 0x8000; ++ *installaddr = 0x8000; + else + /* Stage 1.5. */ +- installaddr = 0x2000; ++ *installaddr = 0x2000; + } + + *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR)) + = stage2_first_sector; + *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS)) +- = installaddr; ++ = *installaddr; + *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT)) +- = installaddr >> 4; ++ = *installaddr >> 4; + +- i = (int) stage2_first_buffer + SECTOR_SIZE - 4; ++ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4; + while (*((unsigned long *) i)) + { +- if (i < (int) stage2_first_buffer ++ if (i < (int) *stage2_first_buffer + || (*((int *) (i - 4)) & 0x80000000) + || *((unsigned short *) i) >= 0xA00 + || *((short *) (i + 2)) == 0) +@@ -2021,13 +2385,13 @@ install_func (char *arg, int flags) + i -= 8; + } + +- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4; +- installaddr += SECTOR_SIZE; ++ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4; ++ *installaddr += SECTOR_SIZE; + + /* Read the whole of Stage2 except for the first sector. */ + grub_seek (SECTOR_SIZE); + +- disk_read_hook = disk_read_blocklist_func; ++ disk_read_hook = install_blocklist_helper; + if (! grub_read (dummy, -1)) + goto fail; + +@@ -2110,7 +2474,7 @@ install_func (char *arg, int flags) + /* Skip the first sector. */ + grub_seek (SECTOR_SIZE); + +- disk_read_hook = disk_read_savesect_func; ++ disk_read_hook = install_savesect_helper; + if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE) + goto fail; + +@@ -2180,7 +2544,7 @@ install_func (char *arg, int flags) + else + #endif /* GRUB_UTIL */ + { +- if (! devwrite (saved_sector - part_start, 1, stage2_buffer)) ++ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer)) + goto fail; + } + } +@@ -2202,7 +2566,7 @@ install_func (char *arg, int flags) + goto fail; + } + +- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) ++ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) + { + fclose (fp); + errnum = ERR_WRITE; +@@ -2229,7 +2593,7 @@ install_func (char *arg, int flags) + goto fail; + + if (! devwrite (stage2_first_sector - src_part_start, 1, +- stage2_first_buffer)) ++ *stage2_first_buffer)) + goto fail; + + if (! devwrite (stage2_second_sector - src_part_start, 1, +@@ -2322,6 +2686,7 @@ static struct builtin builtin_ioprobe = + "ioprobe DRIVE", + "Probe I/O ports used for the drive DRIVE." + }; ++#endif /* ! PLATFORM_EFI */ + + + /* kernel */ +@@ -2456,6 +2821,7 @@ static struct builtin builtin_makeactive = + " This command is limited to _primary_ PC partitions on a hard disk." + }; + ++#ifndef PLATFORM_EFI + + /* map */ + /* Map FROM_DRIVE to TO_DRIVE. */ +@@ -2519,6 +2885,7 @@ static struct builtin builtin_map = + " when you chain-load some operating systems, such as DOS, if such an" + " OS resides at a non-first drive." + }; ++#endif /* ! PLATFORM_EFI */ + + + #ifdef USE_MD5_PASSWORDS +@@ -2579,6 +2946,7 @@ static struct builtin builtin_md5crypt = + }; + #endif /* USE_MD5_PASSWORDS */ + ++#ifndef PLATFORM_EFI + + /* module */ + static int +@@ -2656,6 +3024,7 @@ static struct builtin builtin_modulenounzip = + "The same as `module', except that automatic decompression is" + " disabled." + }; ++#endif /* !PLATFORM_EFI */ + + + /* pager [on|off] */ +@@ -2698,7 +3067,6 @@ partnew_func (char *arg, int flags) + int start_cl, start_ch, start_dh; + int end_cl, end_ch, end_dh; + int entry; +- char mbr[512]; + + /* Convert a LBA address to a CHS address in the INT 13 format. */ + auto void lba_to_chs (int lba, int *cl, int *ch, int *dh); +@@ -2729,6 +3097,9 @@ partnew_func (char *arg, int flags) + return 1; + } + ++ int sector_size = get_sector_size(current_drive); ++ char mbr[sector_size]; ++ + /* The partition must a primary partition. */ + if ((current_partition >> 16) > 3 + || (current_partition & 0xFFFF) != 0xFFFF) +@@ -2762,7 +3133,7 @@ partnew_func (char *arg, int flags) + return 1; + + /* Read the MBR. */ +- if (! rawread (current_drive, 0, 0, SECTOR_SIZE, mbr)) ++ if (! rawread (current_drive, 0, 0, sector_size, mbr)) + return 1; + + /* Check if the new partition will fit in the disk. */ +@@ -2815,9 +3186,8 @@ parttype_func (char *arg, int flags) + { + int new_type; + unsigned long part = 0xFFFFFF; +- unsigned long start, len, offset, ext_offset; +- int entry, type; +- char mbr[512]; ++ unsigned long start, len, offset, ext_offset, gpt_offset; ++ int entry, type, gpt_count, gpt_size; + + /* Get the drive and the partition. */ + if (! set_device (arg)) +@@ -2829,6 +3199,9 @@ parttype_func (char *arg, int flags) + errnum = ERR_BAD_ARGUMENT; + return 1; + } ++ ++ int sector_size = get_sector_size(current_drive); ++ char mbr[sector_size]; + + /* The partition must be a PC slice. */ + if ((current_partition >> 16) == 0xFF +@@ -2853,8 +3226,15 @@ parttype_func (char *arg, int flags) + /* Look for the partition. */ + while (next_partition (current_drive, 0xFFFFFF, &part, &type, + &start, &len, &offset, &entry, +- &ext_offset, mbr)) ++ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) + { ++ /* The partition may not be a GPT partition. */ ++ if (gpt_offset != 0) ++ { ++ errnum = ERR_BAD_ARGUMENT; ++ return 1; ++ } ++ + if (part == current_partition) + { + /* Found. */ +@@ -2900,6 +3280,11 @@ password_func (char *arg, int flags) + arg = skip_to (0, arg); + } + #endif ++ else if (grub_memcmp (arg, "--encrypted", 5) == 0) ++ { ++ type = PASSWORD_ENCRYPTED; ++ arg = skip_to (0, arg); ++ } + if (grub_memcmp (arg, "--", 2) == 0) + { + type = PASSWORD_UNSUPPORTED; +@@ -2947,7 +3332,7 @@ static struct builtin builtin_password = + "password", + password_func, + BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_NO_ECHO, +- "password [--md5] PASSWD [FILE]", ++ "password [--md5|--encrypted] PASSWD [FILE]", + "If used in the first section of a menu file, disable all" + " interactive editing control (menu entry editor and" + " command line). If the password PASSWD is entered, it loads the" +@@ -2956,7 +3341,8 @@ static struct builtin builtin_password = + " instructions. You can also use it in the script section, in" + " which case it will ask for the password, before continueing." + " The option --md5 tells GRUB that PASSWD is encrypted with" +- " md5crypt." ++ " md5crypt, --encrypted that PASSWD is encrypted (with algorithm" ++ " specified in PASSWD: supported is md5, sha-256, sha-512)." + }; + + +@@ -2982,8 +3368,8 @@ static struct builtin builtin_pause = + "Print MESSAGE, then wait until a key is pressed." + }; + ++#if defined (GRUB_UTIL) || defined (PLATFORM_EFI) + +-#ifdef GRUB_UTIL + /* quit */ + static int + quit_func (char *arg, int flags) +@@ -3002,7 +3388,7 @@ static struct builtin builtin_quit = + "quit", + "Exit from the GRUB shell." + }; +-#endif /* GRUB_UTIL */ ++#endif /* defined (GRUB_UTIL) || defined (PLATFORM_EFI) */ + + + #ifdef SUPPORT_NETBOOT +@@ -3165,7 +3551,8 @@ real_root_func (char *arg, int attempt_mount) + return 1; + + /* Print the type of the filesystem. */ +- print_fsys_type (); ++ if (grub_verbose) ++ print_fsys_type (); + } + + return 0; +@@ -3217,146 +3604,181 @@ static struct builtin builtin_rootnoverify = + }; + + +-/* savedefault */ ++ ++#if !defined(SUPPORT_DISKLESS) && !defined(GRUB_UTIL) && !defined(PLATFORM_EFI) ++/* Write specified default entry number into stage2 file. */ + static int +-savedefault_func (char *arg, int flags) ++savedefault_helper(int new_default) + { +-#if !defined(SUPPORT_DISKLESS) && !defined(GRUB_UTIL) +- unsigned long tmp_drive = saved_drive; +- unsigned long tmp_partition = saved_partition; +- char *default_file = (char *) DEFAULT_FILE_BUF; +- char buf[10]; +- char sect[SECTOR_SIZE]; +- int entryno; +- int sector_count = 0; +- int saved_sectors[2]; +- int saved_offsets[2]; +- int saved_lengths[2]; +- +- /* Save sector information about at most two sectors. */ +- auto void disk_read_savesect_func (int sector, int offset, int length); +- void disk_read_savesect_func (int sector, int offset, int length) +- { +- if (sector_count < 2) +- { +- saved_sectors[sector_count] = sector; +- saved_offsets[sector_count] = offset; +- saved_lengths[sector_count] = length; +- } +- sector_count++; +- } +- +- /* This command is only useful when you boot an entry from the menu +- interface. */ +- if (! (flags & BUILTIN_SCRIPT)) ++ char buffer[512]; ++ int *entryno_ptr; ++ ++ /* Get the geometry of the boot drive (i.e. the disk which contains ++ this stage2). */ ++ if (get_diskinfo (boot_drive, &buf_geom)) + { +- errnum = ERR_UNRECOGNIZED; ++ errnum = ERR_NO_DISK; + return 1; + } + +- /* Determine a saved entry number. */ +- if (*arg) ++ /* Load the second sector of this stage2. */ ++ if (! rawread (boot_drive, install_second_sector, 0, SECTOR_SIZE, buffer)) + { +- if (grub_memcmp (arg, "fallback", sizeof ("fallback") - 1) == 0) +- { +- int i; +- int index = 0; +- +- for (i = 0; i < MAX_FALLBACK_ENTRIES; i++) +- { +- if (fallback_entries[i] < 0) +- break; +- if (fallback_entries[i] == current_entryno) +- { +- index = i + 1; +- break; +- } +- } +- +- if (index >= MAX_FALLBACK_ENTRIES || fallback_entries[index] < 0) +- { +- /* This is the last. */ +- errnum = ERR_BAD_ARGUMENT; +- return 1; +- } ++ return 1; ++ } + +- entryno = fallback_entries[index]; +- } +- else if (! safe_parse_maxint (&arg, &entryno)) +- return 1; ++ /* Sanity check. */ ++ if (buffer[STAGE2_STAGE2_ID] != STAGE2_ID_STAGE2 ++ || *((short *) (buffer + STAGE2_VER_MAJ_OFFS)) != COMPAT_VERSION) ++ { ++ errnum = ERR_BAD_VERSION; ++ return 1; + } +- else +- entryno = current_entryno; ++ ++ entryno_ptr = (int *) (buffer + STAGE2_SAVED_ENTRYNO); + +- /* Open the default file. */ +- saved_drive = boot_drive; +- saved_partition = install_partition; +- if (grub_open (default_file)) ++ /* Check if the saved entry number differs from current entry number. */ ++ if (*entryno_ptr != new_default) + { +- int len; ++ /* Overwrite the saved entry number. */ ++ *entryno_ptr = new_default; + +- disk_read_hook = disk_read_savesect_func; +- len = grub_read (buf, sizeof (buf)); +- disk_read_hook = 0; +- grub_close (); ++ /* Save the image in the disk. */ ++ if (! rawwrite (boot_drive, install_second_sector, buffer)) ++ return 1; + +- if (len != sizeof (buf)) +- { +- /* This is too small. Do not modify the file manually, please! */ +- errnum = ERR_READ; +- goto fail; +- } ++ /* Clear the cache. */ ++ buf_track = -1; ++ } + +- if (sector_count > 2) +- { +- /* Is this possible?! Too fragmented! */ +- errnum = ERR_FSYS_CORRUPT; +- goto fail; +- } +- +- /* Set up a string to be written. */ +- grub_memset (buf, '\n', sizeof (buf)); +- grub_sprintf (buf, "%d", entryno); +- +- if (saved_lengths[0] < sizeof (buf)) +- { +- /* The file is anchored to another file and the first few bytes +- are spanned in two sectors. Uggh... */ +- if (! rawread (current_drive, saved_sectors[0], 0, SECTOR_SIZE, +- sect)) +- goto fail; +- grub_memmove (sect + saved_offsets[0], buf, saved_lengths[0]); +- if (! rawwrite (current_drive, saved_sectors[0], sect)) +- goto fail; ++ return 0; ++} ++#endif + +- if (! rawread (current_drive, saved_sectors[1], 0, SECTOR_SIZE, +- sect)) +- goto fail; +- grub_memmove (sect + saved_offsets[1], +- buf + saved_lengths[0], +- sizeof (buf) - saved_lengths[0]); +- if (! rawwrite (current_drive, saved_sectors[1], sect)) +- goto fail; +- } ++#if !defined(SUPPORT_DISKLESS) && defined(GRUB_UTIL) ++#define SECTOR_SIZE 0x200 ++/* ++ * Full implementation of new `savedefault' for GRUB shell. ++ * XXX This needs fixing for stage2 files which aren't accessible ++ * through a mounted filesystem. ++ */ ++static int ++savedefault_shell(char *arg, int flags) ++{ ++ char *stage2_os_file = "/boot/grub/stage2"; /* Default filename */ ++ FILE *fp; ++ char buffer[512]; ++ int *entryno_ptr; ++ int new_default = 0; ++ int old_default = 0; ++ ++ while (1) ++ { ++ if (grub_memcmp ("--stage2=", arg, sizeof ("--stage2=") - 1) == 0) ++ { ++ stage2_os_file = arg + sizeof ("--stage2=") - 1; ++ arg = skip_to (0, arg); ++ nul_terminate (stage2_os_file); ++ } ++ else if (grub_memcmp ("--default=", arg, sizeof ("--default=") - 1) == 0) ++ { ++ char *p = arg + sizeof ("--default=") - 1; ++ if (! safe_parse_maxint (&p, &new_default)) ++ return 1; ++ arg = skip_to (0, arg); ++ } ++ else if (grub_memcmp ("--once", arg, sizeof ("--once") - 1) == 0) ++ { ++ new_default <<= 8; ++ new_default |= STAGE2_ONCEONLY_ENTRY; ++ arg = skip_to (0, arg); ++ } + else +- { +- /* This is a simple case. It fits into a single sector. */ +- if (! rawread (current_drive, saved_sectors[0], 0, SECTOR_SIZE, +- sect)) +- goto fail; +- grub_memmove (sect + saved_offsets[0], buf, sizeof (buf)); +- if (! rawwrite (current_drive, saved_sectors[0], sect)) +- goto fail; +- } ++ break; ++ } + +- /* Clear the cache. */ +- buf_track = -1; ++ if (! (fp = fopen(stage2_os_file, "r+"))) ++ { ++ errnum = ERR_FILE_NOT_FOUND; ++ return 1; ++ } ++ ++ if (fseek (fp, SECTOR_SIZE, SEEK_SET) != 0) ++ { ++ fclose (fp); ++ errnum = ERR_BAD_VERSION; ++ return 1; ++ } ++ ++ if (fread (buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) ++ { ++ fclose (fp); ++ errnum = ERR_READ; ++ return 1; + } + +- fail: +- saved_drive = tmp_drive; +- saved_partition = tmp_partition; +- return errnum; ++ /* Sanity check. */ ++ if (buffer[STAGE2_STAGE2_ID] != STAGE2_ID_STAGE2 ++ || *((short *) (buffer + STAGE2_VER_MAJ_OFFS)) != COMPAT_VERSION) ++ { ++ errnum = ERR_BAD_VERSION; ++ return 1; ++ } ++ ++ entryno_ptr = (int *) (buffer + STAGE2_SAVED_ENTRYNO); ++ if (new_default & STAGE2_ONCEONLY_ENTRY) ++ { ++ old_default=*entryno_ptr; ++ *entryno_ptr = new_default + (old_default & 0xFF); ++ } ++ else ++ { ++ *entryno_ptr = new_default; ++ } ++ ++ if (fseek (fp, SECTOR_SIZE, SEEK_SET) != 0) ++ { ++ fclose (fp); ++ errnum = ERR_BAD_VERSION; ++ return 1; ++ } ++ ++ if (fwrite (buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) ++ { ++ fclose (fp); ++ errnum = ERR_WRITE; ++ return 1; ++ } ++ ++ (void)fflush (fp); ++ fclose (fp); ++ return 0; ++} ++#undef SECTOR_SIZE ++#endif ++ ++/* savedefault */ ++static int ++savedefault_func (char *arg, int flags) ++{ ++#if !defined(SUPPORT_DISKLESS) ++#if !defined(GRUB_UTIL) ++#if !defined(PLATFORM_EFI) ++ /* This command is only useful when you boot an entry from the menu ++ interface. */ ++ if (! (flags & BUILTIN_SCRIPT)) ++ { ++ errnum = ERR_UNRECOGNIZED; ++ return 1; ++ } ++ ++ return savedefault_helper(current_entryno); ++#else /* defined(PLATFORM_EFI) */ ++ return grub_save_saved_default (current_entryno); ++#endif ++#else /* defined(GRUB_UTIL) */ ++ return savedefault_shell(arg, flags); ++#endif + #else /* ! SUPPORT_DISKLESS && ! GRUB_UTIL */ + errnum = ERR_UNRECOGNIZED; + return 1; +@@ -3368,10 +3790,14 @@ static struct builtin builtin_savedefault = + "savedefault", + savedefault_func, + BUILTIN_CMDLINE, +- "savedefault [NUM | `fallback']", +- "Save the current entry as the default boot entry if no argument is" +- " specified. If a number is specified, this number is saved. If" +- " `fallback' is used, next fallback entry is saved." ++#ifdef GRUB_UTIL ++ "savedefault [--stage2=STAGE2_FILE] [--default=DEFAULT] [--once]", ++ "Save DEFAULT as the default boot entry in STAGE2_FILE. If '--once'" ++ " is specified, the default is reset after the next reboot." ++#else ++ "savedefault", ++ "Save the current entry as the default boot entry." ++#endif + }; + + +@@ -3527,6 +3953,7 @@ static struct builtin builtin_serial = + }; + #endif /* SUPPORT_SERIAL */ + ++#ifndef PLATFORM_EFI + + /* setkey */ + struct keysym +@@ -3612,50 +4039,47 @@ static struct keysym keysym_table[] = + {"delete", 0, 0x7f, 0, 0x53} + }; + +-static int +-setkey_func (char *arg, int flags) ++static int find_key_code (char *key) + { +- char *to_key, *from_key; +- int to_code, from_code; +- int map_in_interrupt = 0; +- +- auto int find_key_code (char *key); +- auto int find_ascii_code (char *key); +- +- auto int find_key_code (char *key) +- { +- int i; ++ int i; + +- for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) +- { +- if (keysym_table[i].unshifted_name && +- grub_strcmp (key, keysym_table[i].unshifted_name) == 0) +- return keysym_table[i].keycode; +- else if (keysym_table[i].shifted_name && +- grub_strcmp (key, keysym_table[i].shifted_name) == 0) +- return keysym_table[i].keycode; +- } +- +- return 0; ++ for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) ++ { ++ if (keysym_table[i].unshifted_name && ++ grub_strcmp (key, keysym_table[i].unshifted_name) == 0) ++ return keysym_table[i].keycode; ++ else if (keysym_table[i].shifted_name && ++ grub_strcmp (key, keysym_table[i].shifted_name) == 0) ++ return keysym_table[i].keycode; + } + +- auto int find_ascii_code (char *key) ++ return 0; ++} ++ ++static int find_ascii_code (char *key) ++{ ++ int i; ++ ++ for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) + { +- int i; +- +- for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) +- { +- if (keysym_table[i].unshifted_name && +- grub_strcmp (key, keysym_table[i].unshifted_name) == 0) +- return keysym_table[i].unshifted_ascii; +- else if (keysym_table[i].shifted_name && +- grub_strcmp (key, keysym_table[i].shifted_name) == 0) +- return keysym_table[i].shifted_ascii; +- } +- +- return 0; ++ if (keysym_table[i].unshifted_name && ++ grub_strcmp (key, keysym_table[i].unshifted_name) == 0) ++ return keysym_table[i].unshifted_ascii; ++ else if (keysym_table[i].shifted_name && ++ grub_strcmp (key, keysym_table[i].shifted_name) == 0) ++ return keysym_table[i].shifted_ascii; + } + ++ return 0; ++} ++ ++static int ++setkey_func (char *arg, int flags) ++{ ++ char *to_key, *from_key; ++ int to_code, from_code; ++ int map_in_interrupt = 0; ++ + to_key = arg; + from_key = skip_to (0, to_key); + +@@ -3830,15 +4254,15 @@ setup_func (char *arg, int flags) + { + char tmp[16]; + grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF); +- grub_strncat (device, tmp, 256); ++ grub_strncat (device, tmp, 16); + } + if ((partition & 0x00FF00) != 0x00FF00) + { + char tmp[16]; + grub_sprintf (tmp, ",%c", 'a' + ((partition >> 8) & 0xFF)); +- grub_strncat (device, tmp, 256); ++ grub_strncat (device, tmp, 16); + } +- grub_strncat (device, ")", 256); ++ grub_strncat (device, ")", 16); + } + + int embed_stage1_5 (char *stage1_5, int drive, int partition) +@@ -3973,7 +4397,7 @@ setup_func (char *arg, int flags) + + /* The prefix was determined. */ + grub_sprintf (stage2, "%s%s", prefix, "/stage2"); +- grub_sprintf (config_filename, "%s%s", prefix, "/menu.lst"); ++ grub_sprintf (config_filename, "%s%s", prefix, "/grub.conf"); + *real_config_filename = 0; + + /* Check if stage2 exists. */ +@@ -4083,9 +4507,26 @@ static struct builtin builtin_setup = + " partition where GRUB images reside, specify the option `--stage2'" + " to tell GRUB the file name under your OS." + }; ++#endif /* ! PLATFORM_EFI */ ++ ++ ++static int ++silent_func (char *arg, int flags) ++{ ++ silent_grub = 1; ++ return 0; ++} ++ ++static struct builtin builtin_silent = ++{ ++ "silent", ++ silent_func, ++ BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, ++ "grub will attempt to avoid printing anything to the screen" ++}; + + +-#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) ++#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) + /* terminal */ + static int + terminal_func (char *arg, int flags) +@@ -4244,17 +4685,21 @@ terminal_func (char *arg, int flags) + end: + current_term = term_table + default_term; + current_term->flags = term_flags; +- ++ + if (lines) + max_lines = lines; + else +- /* 24 would be a good default value. */ +- max_lines = 24; +- ++ max_lines = current_term->max_lines; ++ + /* If the interface is currently the command-line, + restart it to repaint the screen. */ +- if (current_term != prev_term && (flags & BUILTIN_CMDLINE)) ++ if ((current_term != prev_term) && (flags & BUILTIN_CMDLINE)){ ++ if (prev_term->shutdown) ++ prev_term->shutdown(); ++ if (current_term->startup) ++ current_term->startup(); + grub_longjmp (restart_cmdline_env, 0); ++ } + + return 0; + } +@@ -4264,7 +4709,7 @@ static struct builtin builtin_terminal = + "terminal", + terminal_func, + BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, +- "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules]", ++ "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules] [graphics]", + "Select a terminal. When multiple terminals are specified, wait until" + " you push any key to continue. If both console and serial are specified," + " the terminal to which you input a key first will be selected. If no" +@@ -4276,7 +4721,7 @@ static struct builtin builtin_terminal = + " seconds. The option --lines specifies the maximum number of lines." + " The option --silent is used to suppress messages." + }; +-#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */ ++#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ + + + #ifdef SUPPORT_SERIAL +@@ -4462,6 +4907,7 @@ static struct builtin builtin_testload = + " step is to try loading a kernel." + }; + ++#ifndef PLATFORM_EFI + + /* testvbe MODE */ + static int +@@ -4566,6 +5012,7 @@ static struct builtin builtin_testvbe = + "testvbe MODE", + "Test the VBE mode MODE. Hit any key to return." + }; ++#endif /* !PLATFORM_EFI */ + + + #ifdef SUPPORT_NETBOOT +@@ -4598,6 +5045,15 @@ static struct builtin builtin_tftpserver = + static int + timeout_func (char *arg, int flags) + { ++ /* One-shot default shenanigans -- don't piss around with the menu! */ ++ if (grub_timeout != -1) ++ return 0; ++ if ((saved_entryno & STAGE2_ONCEONLY_ENTRY) != 0) ++ { ++ grub_timeout = 0; ++ return 0; ++ } ++ + if (! safe_parse_maxint (&arg, &grub_timeout)) + return 1; + +@@ -4661,6 +5117,7 @@ static struct builtin builtin_unhide = + " partition type code." + }; + ++#ifndef PLATFORM_EFI + + /* uppermem */ + static int +@@ -4790,11 +5247,34 @@ static struct builtin builtin_vbeprobe = + "Probe VBE information. If the mode number MODE is specified, show only" + " the information about only the mode." + }; +- ++#endif /* ! PLATFORM_EFI */ ++ ++ ++/* version */ ++static int ++version_func (char *arg, int flags) ++{ ++ grub_printf ("\n GNU GRUB version %s (%dK lower / %dK upper memory)\n\n", ++ version_string, mbi.mem_lower, mbi.mem_upper); ++ return 0; ++} ++ ++static struct builtin builtin_version = ++{ ++ "version", ++ version_func, ++ BUILTIN_CMDLINE | BUILTIN_HELP_LIST, ++ "version", ++ "Display grub version." ++}; ++ + + /* The table of builtin commands. Sorted in dictionary order. */ + struct builtin *builtin_table[] = + { ++#ifdef SUPPORT_GRAPHICS ++ &builtin_background, ++#endif + &builtin_blocklist, + &builtin_boot, + #ifdef SUPPORT_NETBOOT +@@ -4802,25 +5282,37 @@ struct builtin *builtin_table[] = + #endif /* SUPPORT_NETBOOT */ + &builtin_cat, + &builtin_chainloader, ++ &builtin_clear, + &builtin_cmp, + &builtin_color, + &builtin_configfile, + &builtin_debug, + &builtin_default, +-#ifdef GRUB_UTIL ++#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) + &builtin_device, +-#endif /* GRUB_UTIL */ ++#endif /* defined(GRUB_UTIL) || defined(PLATFORM_EFI) */ + #ifdef SUPPORT_NETBOOT + &builtin_dhcp, + #endif /* SUPPORT_NETBOOT */ ++#ifndef PLATFORM_EFI + &builtin_displayapm, ++#endif + &builtin_displaymem, + #ifdef GRUB_UTIL + &builtin_dump, + #endif /* GRUB_UTIL */ ++#ifdef PLATFORM_EFI ++ &builtin_efimap, ++#endif ++#ifndef PLATFORM_EFI + &builtin_embed, ++#endif + &builtin_fallback, + &builtin_find, ++ &builtin_findiso, ++#ifdef SUPPORT_GRAPHICS ++ &builtin_foreground, ++#endif + &builtin_fstest, + &builtin_geometry, + &builtin_halt, +@@ -4830,27 +5322,35 @@ struct builtin *builtin_table[] = + #ifdef SUPPORT_NETBOOT + &builtin_ifconfig, + #endif /* SUPPORT_NETBOOT */ ++#ifndef PLATFORM_EFI + &builtin_impsprobe, ++#endif + &builtin_initrd, ++#ifndef PLATFORM_EFI + &builtin_install, + &builtin_ioprobe, ++#endif + &builtin_kernel, + &builtin_lock, + &builtin_makeactive, ++#ifndef PLATFORM_EFI + &builtin_map, ++#endif + #ifdef USE_MD5_PASSWORDS + &builtin_md5crypt, + #endif /* USE_MD5_PASSWORDS */ ++#ifndef PLATFORM_EFI + &builtin_module, + &builtin_modulenounzip, ++#endif + &builtin_pager, + &builtin_partnew, + &builtin_parttype, + &builtin_password, + &builtin_pause, +-#ifdef GRUB_UTIL ++#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) + &builtin_quit, +-#endif /* GRUB_UTIL */ ++#endif /* defined(GRUB_UTIL) || defined(PLATFORM_EFI) */ + #ifdef SUPPORT_NETBOOT + &builtin_rarp, + #endif /* SUPPORT_NETBOOT */ +@@ -4862,23 +5362,35 @@ struct builtin *builtin_table[] = + #ifdef SUPPORT_SERIAL + &builtin_serial, + #endif /* SUPPORT_SERIAL */ ++#ifndef PLATFORM_EFI + &builtin_setkey, + &builtin_setup, +-#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) ++#endif ++ &builtin_silent, ++#ifdef SUPPORT_GRAPHICS ++ &builtin_splashimage, ++#endif /* SUPPORT_GRAPHICS */ ++#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) + &builtin_terminal, +-#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */ ++#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ + #ifdef SUPPORT_SERIAL + &builtin_terminfo, + #endif /* SUPPORT_SERIAL */ + &builtin_testload, ++#ifndef PLATFORM_EFI + &builtin_testvbe, ++#endif + #ifdef SUPPORT_NETBOOT + &builtin_tftpserver, + #endif /* SUPPORT_NETBOOT */ + &builtin_timeout, + &builtin_title, + &builtin_unhide, ++#ifndef PLATFORM_EFI + &builtin_uppermem, + &builtin_vbeprobe, ++#endif ++ &builtin_verbose, ++ &builtin_version, + 0 + }; +diff --git a/stage2/char_io.c b/stage2/char_io.c +index c86c240..073201a 100644 +--- a/stage2/char_io.c ++++ b/stage2/char_io.c +@@ -35,29 +35,37 @@ struct term_entry term_table[] = + { + "console", + 0, ++ 24, + console_putchar, + console_checkkey, + console_getkey, ++ console_keystatus, + console_getxy, + console_gotoxy, + console_cls, + console_setcolorstate, + console_setcolor, +- console_setcursor ++ console_setcursor, ++ 0, ++ 0 + }, + #ifdef SUPPORT_SERIAL + { + "serial", + /* A serial device must be initialized. */ + TERM_NEED_INIT, ++ 24, + serial_putchar, + serial_checkkey, + serial_getkey, ++ 0, + serial_getxy, + serial_gotoxy, + serial_cls, + serial_setcolorstate, + 0, ++ 0, ++ 0, + 0 + }, + #endif /* SUPPORT_SERIAL */ +@@ -65,17 +73,39 @@ struct term_entry term_table[] = + { + "hercules", + 0, ++ 24, + hercules_putchar, + console_checkkey, + console_getkey, ++ console_keystatus, + hercules_getxy, + hercules_gotoxy, + hercules_cls, + hercules_setcolorstate, + hercules_setcolor, +- hercules_setcursor ++ hercules_setcursor, ++ 0, ++ 0 + }, + #endif /* SUPPORT_HERCULES */ ++#ifdef SUPPORT_GRAPHICS ++ { "graphics", ++ TERM_NEED_INIT, /* flags */ ++ 30, /* number of lines */ ++ graphics_putchar, /* putchar */ ++ console_checkkey, /* checkkey */ ++ console_getkey, /* getkey */ ++ console_keystatus, /* keystatus */ ++ graphics_getxy, /* getxy */ ++ graphics_gotoxy, /* gotoxy */ ++ graphics_cls, /* cls */ ++ graphics_setcolorstate, /* setcolorstate */ ++ graphics_setcolor, /* setcolor */ ++ graphics_setcursor, /* nocursor */ ++ graphics_init, /* initialize */ ++ graphics_end /* shutdown */ ++ }, ++#endif /* SUPPORT_GRAPHICS */ + /* This must be the last entry. */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + }; +@@ -101,16 +131,16 @@ print_error (void) + } + + char * +-convert_to_ascii (char *buf, int c,...) ++convert_to_ascii (char *buf, int c, unsigned int num) + { +- unsigned long num = *((&c) + 1), mult = 10; ++ unsigned int mult = 10; + char *ptr = buf; + + #ifndef STAGE1_5 + if (c == 'x' || c == 'X') + mult = 16; + +- if ((num & 0x80000000uL) && c == 'd') ++ if ((int) num < 0 && c == 'd') + { + num = (~num) + 1; + *(ptr++) = '-'; +@@ -149,87 +179,266 @@ grub_putstr (const char *str) + grub_putchar (*str++); + } + +-void +-grub_printf (const char *format,...) ++static void write_char(char **str, char c, int *count) + { +- int *dataptr = (int *) &format; +- char c, str[16]; +- +- dataptr++; +- +- while ((c = *(format++)) != 0) +- { +- if (c != '%') +- grub_putchar (c); +- else +- switch (c = *(format++)) +- { +-#ifndef STAGE1_5 +- case 'd': +- case 'x': +- case 'X': +-#endif +- case 'u': +- *convert_to_ascii (str, c, *((unsigned long *) dataptr++)) = 0; +- grub_putstr (str); +- break; +- +-#ifndef STAGE1_5 +- case 'c': +- grub_putchar ((*(dataptr++)) & 0xff); +- break; ++ if (str && *str) ++ *(*str)++ = c; ++ else ++ putchar(c); ++ (*count)++; ++} + +- case 's': +- grub_putstr ((char *) *(dataptr++)); +- break; +-#endif +- } ++static void write_str(char **str, char *s, int *count) ++{ ++ if (s) { ++ while (*s) ++ write_char(str, *s++, count); ++ } else { ++ write_str(str, "(nil)", count); + } + } + +-#ifndef STAGE1_5 ++#define format_ascii(buf, val, is_hex, is_cap, num_pad_chars) ({ \ ++ int _n = sizeof ((buf)) - 2; \ ++ typeof(val) _nval = (val); \ ++ int _negative = 0; \ ++ int _mult = is_hex ? 16 : 10; \ ++ char _a = is_cap ? 'A' : 'a'; \ ++ int _pad = num_pad_chars; \ ++ char hex[] = "0123456789abcdef"; \ ++ memset((buf), '\0', sizeof ((buf))); \ ++ if (!(_nval > 0LL)) \ ++ _negative = 1; \ ++ if (_nval == 0LL) \ ++ _negative = 0; \ ++ if (_negative) \ ++ _nval = (_nval ^ -1); \ ++ do { \ ++ int _dig = _nval % _mult; \ ++ (buf)[_n--] = ((_dig > 9) ? _dig + _a - 10 : '0'+_dig); \ ++ if (_pad > 0) _pad--; \ ++ } while (_nval /= _mult); \ ++ while (_pad--) \ ++ (buf)[_n--] = '0'; \ ++ if (_negative) \ ++ (buf)[_n--] = '-'; \ ++ _mult = 0; \ ++ _n++; \ ++ while (_n < sizeof ((buf))) \ ++ (buf)[_mult++] = (buf)[_n++]; \ ++ if (_negative && _mult > 1) \ ++ ((buf)[_mult-2])++; \ ++ }) ++ + int +-grub_sprintf (char *buffer, const char *format, ...) ++grub_vsprintf (char *str, const char *fmt, va_list args) + { +- /* XXX hohmuth +- ugly hack -- should unify with printf() */ +- int *dataptr = (int *) &format; +- char c, *ptr, str[16]; +- char *bp = buffer; +- +- dataptr++; +- +- while ((c = *format++) != 0) +- { +- if (c != '%') +- *bp++ = c; /* putchar(c); */ +- else +- switch (c = *(format++)) +- { +- case 'd': case 'u': case 'x': +- *convert_to_ascii (str, c, *((unsigned long *) dataptr++)) = 0; +- +- ptr = str; ++ char c; ++ char buf[40]; ++ int pos = 0; ++ ++ int count = 0; ++ ++ char *str_arg; ++ int int_arg; ++ unsigned char uchar_arg; ++ unsigned ushort_arg; ++ unsigned int uint_arg; ++ signed long long_arg; ++ unsigned long ulong_arg; ++ signed long long longlong_arg; ++ unsigned long long ulonglong_arg; ++ ++ c = *fmt++; ++ if (!c) ++ return 0; ++ ++ int is_fmt = 0, is_long = 0, is_signed = 1, is_cap = 0, is_zero_padded = 0; ++ int num_pad_chars = 0; ++ int restart = 1; ++ do { ++ if (restart) { ++ restart = 0; ++ is_fmt = 0; ++ is_long = 0; ++ is_cap = 0; ++ is_signed = 1; ++ is_zero_padded = 0; ++ num_pad_chars = 0; ++ buf[0] = '\0'; ++ pos = 0; ++ } ++ ++ if (!is_fmt) { ++ if (c == '%') { ++ is_fmt = 1; ++ buf[pos++] = c; ++ buf[pos] = '\0'; ++ continue; ++ } else { ++ write_char(&str, c, &count); ++ continue; ++ } ++ } ++ ++ /* below here we only ever hit when is_fmt is 1 */ ++ switch (c) { ++ /* first, modifiers */ ++ case '%': ++ if (pos != 0) ++ write_str(&str, buf, &count); ++ write_char(&str, c, &count); ++ restart = 1; ++ continue; ++ case '0': ++ if (!is_zero_padded) { ++ buf[pos++] = c; ++ buf[pos] = '\0'; ++ is_zero_padded++; ++ continue; ++ } ++ case '1': ++ case '2': ++ case '3': ++ case '4': ++ case '5': ++ case '6': ++ case '7': ++ case '8': ++ case '9': ++ buf[pos++] = c; ++ buf[pos] = '\0'; ++ num_pad_chars *= 10; ++ num_pad_chars += c - '0'; ++ continue; ++ case 'l': ++ buf[pos++] = c; ++ buf[pos] = '\0'; ++ is_long++; ++ continue; ++ case 'L': ++ buf[pos++] = c; ++ buf[pos] = '\0'; ++ is_long = 2; ++ continue; ++ ++ /* below here are things we actually have to print */ ++ case 'c': ++ int_arg = va_arg(args, int) & 0xff; ++ if (int_arg == 0) { ++ char *tmp_str = "\\x00"; ++ write_str(&tmp_str, buf, &count); ++ } else { ++ write_char(&str, int_arg, &count); ++ } ++ restart = 1; ++ continue; ++ case 'd': ++ if (is_long == 0) { ++ int_arg = va_arg(args, signed int); ++ format_ascii(buf, int_arg, 0, 0, 0); ++ } else if (is_long == 1) { ++ long_arg = va_arg(args, signed long); ++ format_ascii(buf, long_arg, 0, 0, 0); ++ } else { ++ longlong_arg = va_arg(args, signed long long); ++ format_ascii(buf, longlong_arg, 0, 0, 0); ++ } ++ write_str(&str, buf, &count); ++ restart = 1; ++ continue; ++ case 's': ++ str_arg = va_arg(args, char *); ++ write_str(&str, str_arg, &count); ++ restart = 1; ++ continue; ++ case 'u': ++ case 'U': ++ if (is_long == 0) { ++ uint_arg = va_arg(args, unsigned int); ++ format_ascii(buf, uint_arg, 0, 0, 0); ++ } else if (is_long == 1) { ++ ulong_arg = va_arg(args, unsigned long); ++ format_ascii(buf, ulong_arg, 0, 0, 0); ++ } else { ++ ulonglong_arg = va_arg(args, unsigned long long); ++ format_ascii(buf, ulonglong_arg, 0, 0, 0); ++ } ++ write_str(&str, buf, &count); ++ restart = 1; ++ continue; ++ case 'P': ++ is_cap = 1; ++ case 'p': ++ ulong_arg = va_arg(args, unsigned long); ++ is_zero_padded = 1; ++ format_ascii(buf, ulong_arg, 1, is_cap, sizeof(ulong_arg)); ++ write_str(&str, is_cap ? "0X" : "0x", &count); ++ write_str(&str, buf, &count); ++ restart = 1; ++ continue; ++ case 'X': ++ is_cap = 1; ++ case 'x': ++ if (num_pad_chars == 2) { ++ int i; ++ char hex[] = "0123456789abcdef"; ++ uint_arg = va_arg(args, unsigned int); ++ uchar_arg = uint_arg & 0xff; ++ format_ascii(buf, uchar_arg, 1, is_cap, num_pad_chars); ++ } else if (num_pad_chars == 4) { ++ uint_arg = va_arg(args, unsigned int); ++ ushort_arg = uint_arg & 0xffff; ++ format_ascii(buf, ushort_arg, 1, is_cap, num_pad_chars); ++ } else if (is_long == 0) { ++ uint_arg = va_arg(args, unsigned int); ++ format_ascii(buf, uint_arg, 1, is_cap, num_pad_chars); ++ } else if (is_long == 1) { ++ ulong_arg = va_arg(args, unsigned long); ++ format_ascii(buf, ulong_arg, 1, is_cap, num_pad_chars); ++ } else { ++ ulonglong_arg = va_arg(args, unsigned long long); ++ format_ascii(buf, ulonglong_arg, 1, is_cap, num_pad_chars); ++ } ++ write_str(&str, buf, &count); ++ restart = 1; ++ continue; ++ default: ++ buf[pos++] = c; ++ buf[pos] = '\0'; ++ write_str(&str, buf, &count); ++ restart = 1; ++ continue; ++ } ++ } while ((c = *fmt++)); ++ ++ if (str) ++ *str = '\0'; ++ return count; ++} + +- while (*ptr) +- *bp++ = *(ptr++); /* putchar(*(ptr++)); */ +- break; ++void ++grub_printf (char *fmt, ...) ++{ ++ va_list ap; + +- case 'c': *bp++ = (*(dataptr++))&0xff; +- /* putchar((*(dataptr++))&0xff); */ +- break; ++ va_start (ap, fmt); ++ grub_vsprintf (0, fmt, ap); ++ va_end (ap); ++} + +- case 's': +- ptr = (char *) (*(dataptr++)); ++#ifndef STAGE1_5 ++int ++grub_sprintf (char *str, const char *fmt, ...) ++{ ++ va_list ap; ++ int ret; + +- while ((c = *ptr++) != 0) +- *bp++ = c; /* putchar(c); */ +- break; +- } +- } ++ va_start (ap, fmt); ++ ret = grub_vsprintf (str, fmt, ap); ++ va_end (ap); + +- *bp = 0; +- return bp - buffer; ++ return ret; + } + + +@@ -898,7 +1107,6 @@ safe_parse_maxint (char **str_ptr, int *myint_ptr) + } + #endif /* STAGE1_5 */ + +-#if !defined(STAGE1_5) || defined(FSYS_FAT) + int + grub_tolower (int c) + { +@@ -907,7 +1115,6 @@ grub_tolower (int c) + + return c; + } +-#endif /* ! STAGE1_5 || FSYS_FAT */ + + int + grub_isspace (int c) +@@ -1004,6 +1211,16 @@ checkkey (void) + { + return current_term->checkkey (); + } ++ ++/* Return keyboard modifier status. */ ++int ++keystatus (void) ++{ ++ if (current_term->keystatus) ++ return current_term->keystatus (); ++ else ++ return 0; ++} + #endif /* ! STAGE1_5 */ + + /* Display an ASCII character. */ +@@ -1046,13 +1263,15 @@ grub_putchar (int c) + the following grub_printf call will print newlines. */ + count_lines = -1; + ++ grub_printf("\n"); + if (current_term->setcolorstate) + current_term->setcolorstate (COLOR_STATE_HIGHLIGHT); + +- grub_printf ("\n[Hit return to continue]"); ++ grub_printf ("[Hit return to continue]"); + + if (current_term->setcolorstate) + current_term->setcolorstate (COLOR_STATE_NORMAL); ++ + + do + { +@@ -1090,7 +1309,7 @@ void + cls (void) + { + /* If the terminal is dumb, there is no way to clean the terminal. */ +- if (current_term->flags & TERM_DUMB) ++ if (current_term->flags & TERM_DUMB) + grub_putchar ('\n'); + else + current_term->cls (); +@@ -1125,6 +1344,26 @@ substring (const char *s1, const char *s2) + return 1; + } + ++int ++subcasestring (const char *s1, const char *s2) ++{ ++ while (tolower(*s1) == tolower(*s2)) ++ { ++ /* The strings match exactly. */ ++ if (! *(s1++)) ++ return 0; ++ s2 ++; ++ } ++ ++ /* S1 is a substring of S2. */ ++ if (*s1 == 0) ++ return -1; ++ ++ /* S1 isn't a substring. */ ++ return 1; ++} ++ ++ + #ifndef STAGE1_5 + /* Terminate the string STR with NUL. */ + int +@@ -1172,41 +1411,180 @@ grub_strlen (const char *str) + + return len; + } +-#endif /* ! STAGE1_5 */ + ++/* this function "borrowed" from dietlibc */ + int +-memcheck (int addr, int len) ++grub_strspn(const char *s, const char *accept) + { +-#ifdef GRUB_UTIL +- auto int start_addr (void); +- auto int end_addr (void); +- +- auto int start_addr (void) ++ int l=0; ++ int a=1,i,al=grub_strlen(accept); ++ ++ while((a)&&(*s)) ++ { ++ for(a=i=0;(!a)&&(i terminate it */ ++ } ++ *ptrptr=s; ++ return tmp; ++} ++ ++char * ++grub_strchr (const char *s, int c) ++{ ++ while (*s) + { +- int ret; ++ if (*s == c) ++ return (char *) s; ++ s++; ++ } ++ ++ return 0; ++} ++ ++char * ++grub_strnchr (const char *s, int c) ++{ ++ while (*s) ++ { ++ if (*s != c) ++ return (char *) s; ++ s++; ++ } ++ ++ return 0; ++} ++ ++char * ++grub_strrchr (const char *s, int c) ++{ ++ char *p = 0; ++ ++ while (*s) ++ { ++ if (*s == c) ++ p = (char *) s; ++ s++; ++ } ++ ++ return p; ++} ++ ++int ++grub_strnlen (const char *s, int n) ++{ ++ int i; ++ ++ if (n == 0) ++ return 0; ++ ++ for (i = 0; s[i] != '\0' && i < n; i++) ++ ; ++ return i; ++} ++ ++char * ++grub_strncpy(char *new, const char *s, int n) ++{ ++ int i; ++ ++ for (i = 0; s[i] != '\0' && i < n; i++) ++ new[i] = s[i]; ++ return new; ++} ++ ++int ++grub_strncasecmp(const char *s0, const char *s1, int n) ++{ ++ int c0, c1; ++ ++ if (s0 == s1 || n == 0) ++ return 0; ++ ++ do { ++ c0 = *s0 & ~0x20; ++ c1 = *s1 & ~0x20; ++ ++ if (--n == 0 || c0 == '\0') ++ break; ++ ++ *s0++; ++ *s1++; ++ } while (c0 == c1); ++ ++ return (c0 > c1 ? 1 : c0 < c1 ? -1 : 0); ++} ++ ++#endif /* ! STAGE1_5 */ ++ ++#ifdef GRUB_UTIL ++static int memcheck_start_addr (void) ++{ ++ int ret; + # if defined(HAVE_START_SYMBOL) +- asm volatile ("movl $start, %0" : "=a" (ret)); ++ asm volatile ("movl $start, %0" : "=a" (ret)); + # elif defined(HAVE_USCORE_START_SYMBOL) +- asm volatile ("movl $_start, %0" : "=a" (ret)); ++ asm volatile ("movl $_start, %0" : "=a" (ret)); + # endif +- return ret; +- } ++ return ret; ++} + +- auto int end_addr (void) +- { +- int ret; ++static int memcheck_end_addr (void) ++{ ++ int ret; + # if defined(HAVE_END_SYMBOL) +- asm volatile ("movl $end, %0" : "=a" (ret)); ++ asm volatile ("movl $end, %0" : "=a" (ret)); + # elif defined(HAVE_USCORE_END_SYMBOL) +- asm volatile ("movl $_end, %0" : "=a" (ret)); ++ asm volatile ("movl $_end, %0" : "=a" (ret)); + # endif +- return ret; +- } ++ return ret; ++} ++#endif /* GRUB_UTIL */ + +- if (start_addr () <= addr && end_addr () > addr + len) ++int ++memcheck (int addr, int len) ++{ ++#ifdef GRUB_UTIL ++ if (memcheck_start_addr () <= addr && memcheck_end_addr () > addr + len) + return ! errnum; + #endif /* GRUB_UTIL */ + ++#ifdef PLATFORM_EFI ++ return 1; ++#else + if ((addr < RAW_ADDR (0x1000)) + || (addr < RAW_ADDR (0x100000) + && RAW_ADDR (mbi.mem_lower * 1024) < (addr + len)) +@@ -1215,12 +1593,23 @@ memcheck (int addr, int len) + errnum = ERR_WONT_FIT; + + return ! errnum; ++#endif ++} ++ ++void ++grub_memcpy(void *dest, const void *src, int len) ++{ ++ int i; ++ register char *d = (char*)dest, *s = (char*)src; ++ ++ for (i = 0; i < len; i++) ++ d[i] = s[i]; + } + + void * + grub_memmove (void *to, const void *from, int len) + { +- if (memcheck ((int) to, len)) ++ if (memcheck ((unsigned long) to, len)) + { + /* This assembly code is stolen from + linux-2.2.2/include/asm-i386/string.h. This is not very fast +@@ -1258,7 +1647,7 @@ grub_memset (void *start, int c, int len) + { + char *p = start; + +- if (memcheck ((int) start, len)) ++ if (memcheck ((unsigned long) start, len)) + { + while (len -- > 0) + *p ++ = c; +@@ -1274,6 +1663,26 @@ grub_strcpy (char *dest, const char *src) + grub_memmove (dest, src, grub_strlen (src) + 1); + return dest; + } ++ ++char * ++grub_stpncpy (char *dest, const char *src, int n) ++{ ++ char *res; ++ ++ res = NULL; ++ while (n != 0) { ++ *dest = *src; ++ if (*src != 0) ++ src++; ++ else if (res == NULL) ++ res = dest; ++ dest++; ++ n--; ++ } ++ if (res == NULL) ++ res = dest; ++ return res; ++} + #endif /* ! STAGE1_5 */ + + #ifndef GRUB_UTIL +diff --git a/stage2/cmdline.c b/stage2/cmdline.c +index a6ee309..cb41eda 100644 +--- a/stage2/cmdline.c ++++ b/stage2/cmdline.c +@@ -48,12 +48,17 @@ skip_to (int after_equal, char *cmdline) + + /* Print a helpful message for the command-line interface. */ + void +-print_cmdline_message (int forever) ++print_cmdline_message (int type) + { + printf (" [ Minimal BASH-like line editing is supported. For the first word, TAB\n" + " lists possible command completions. Anywhere else TAB lists the possible\n" +- " completions of a device/filename.%s ]\n", +- (forever ? "" : " ESC at any time exits.")); ++ " completions of a device/filename."); ++ if (type == CMDLINE_NORMAL_MODE) ++ printf(" ESC at any time exits."); ++ if (type == CMDLINE_EDIT_MODE) ++ printf(" ESC at any time cancels. ENTER \n" ++ " at any time accepts your changes."); ++ printf("]\n"); + } + + /* Find the builtin whose command name is COMMAND and return the +@@ -128,7 +133,7 @@ enter_cmdline (char *heap, int forever) + print_network_configuration (); + grub_putchar ('\n'); + #endif +- print_cmdline_message (forever); ++ print_cmdline_message (forever ? CMDLINE_FOREVER_MODE : CMDLINE_NORMAL_MODE); + + while (1) + { +@@ -215,7 +220,7 @@ run_script (char *script, char *heap) + while (*cur_entry++) + ; + +- grub_memmove (heap, old_entry, (int) cur_entry - (int) old_entry); ++ grub_memmove (heap, old_entry, cur_entry - old_entry); + if (! *heap) + { + /* If there is no more command in SCRIPT... */ +@@ -232,12 +237,12 @@ run_script (char *script, char *heap) + builtin = find_command (heap); + if (! builtin) + { +- grub_printf ("%s\n", old_entry); ++ grub_verbose_printf ("%s\n", old_entry); + continue; + } + + if (! (builtin->flags & BUILTIN_NO_ECHO)) +- grub_printf ("%s\n", old_entry); ++ grub_verbose_printf ("%s\n", old_entry); + + /* If BUILTIN cannot be run in the command-line, skip it. */ + if (! (builtin->flags & BUILTIN_CMDLINE)) +diff --git a/stage2/common.c b/stage2/common.c +index 09f9e31..e96bec2 100644 +--- a/stage2/common.c ++++ b/stage2/common.c +@@ -32,7 +32,7 @@ + struct multiboot_info mbi; + unsigned long saved_drive; + unsigned long saved_partition; +-unsigned long cdrom_drive; ++unsigned long cdrom_drive = 0x100; + #ifndef STAGE1_5 + unsigned long saved_mem_upper; + +@@ -114,7 +114,7 @@ mmap_avail_at (unsigned long bottom) + { + for (cont = 0, addr = mbi.mmap_addr; + addr < mbi.mmap_addr + mbi.mmap_length; +- addr += *((unsigned long *) addr) + 4) ++ addr += *((unsigned int *) addr) + 4) + { + struct AddrRangeDesc *desc = (struct AddrRangeDesc *) addr; + +@@ -183,11 +183,11 @@ init_bios_info (void) + cont = get_mmap_entry ((void *) addr, cont); + + /* If the returned buffer's length is zero, quit. */ +- if (! *((unsigned long *) addr)) ++ if (! *((unsigned int *) addr)) + break; + +- mbi.mmap_length += *((unsigned long *) addr) + 4; +- addr += *((unsigned long *) addr) + 4; ++ mbi.mmap_length += *((unsigned int *) addr) + 4; ++ addr += *((unsigned int *) addr) + 4; + } + while (cont); + +@@ -207,7 +207,7 @@ init_bios_info (void) + /* Find the maximum available address. Ignore any memory holes. */ + for (max_addr = 0, addr = mbi.mmap_addr; + addr < mbi.mmap_addr + mbi.mmap_length; +- addr += *((unsigned long *) addr) + 4) ++ addr += *((unsigned int *) addr) + 4) + { + struct AddrRangeDesc *desc = (struct AddrRangeDesc *) addr; + +@@ -322,6 +322,9 @@ init_bios_info (void) + + /* Set cdrom drive. */ + { ++#ifdef PLATFORM_EFI ++ cdrom_drive = 0x100; ++#else + struct geometry geom; + + /* Get the geometry. */ +@@ -330,6 +333,7 @@ init_bios_info (void) + cdrom_drive = GRUB_INVALID_DRIVE; + else + cdrom_drive = boot_drive; ++#endif + } + + /* Start main routine here. */ +diff --git a/stage2/disk_io.c b/stage2/disk_io.c +index b9bc526..e5a3b2b 100644 +--- a/stage2/disk_io.c ++++ b/stage2/disk_io.c +@@ -21,12 +21,17 @@ + + #include + #include ++#include + + #ifdef SUPPORT_NETBOOT + # define GRUB 1 + # include + #endif + ++#ifdef PLATFORM_EFI ++#include "efistubs.h" ++#endif ++ + #ifdef GRUB_UTIL + # include + #endif +@@ -48,6 +53,9 @@ int fsmax; + struct fsys_entry fsys_table[NUM_FSYS + 1] = + { + /* TFTP should come first because others don't handle net device. */ ++# ifdef PLATFORM_EFI ++ {"efitftp", efi_tftp_mount, efi_tftp_read, efi_tftp_dir, efi_tftp_close, 0}, ++# endif + # ifdef FSYS_TFTP + {"tftp", tftp_mount, tftp_read, tftp_dir, tftp_close, 0}, + # endif +@@ -75,6 +83,9 @@ struct fsys_entry fsys_table[NUM_FSYS + 1] = + # ifdef FSYS_UFS2 + {"ufs2", ufs2_mount, ufs2_read, ufs2_dir, 0, ufs2_embed}, + # endif ++# ifdef PLATFORM_EFI ++ {"uefi", uefi_mount, uefi_read, uefi_dir, uefi_close, 0}, ++# endif + # ifdef FSYS_ISO9660 + {"iso9660", iso9660_mount, iso9660_read, iso9660_dir, 0, 0}, + # endif +@@ -127,8 +138,8 @@ struct geometry buf_geom; + int filepos; + int filemax; + +-static inline unsigned long +-log2 (unsigned long word) ++static inline unsigned int ++grub_log2 (unsigned int word) + { + asm volatile ("bsfl %1,%0" + : "=r" (word) +@@ -140,7 +151,7 @@ int + rawread (int drive, int sector, int byte_offset, int byte_len, char *buf) + { + int slen, sectors_per_vtrack; +- int sector_size_bits = log2 (buf_geom.sector_size); ++ int sector_size_bits = grub_log2 (buf_geom.sector_size); + + if (byte_len <= 0) + return 1; +@@ -163,7 +174,7 @@ rawread (int drive, int sector, int byte_offset, int byte_len, char *buf) + } + buf_drive = drive; + buf_track = -1; +- sector_size_bits = log2 (buf_geom.sector_size); ++ sector_size_bits = grub_log2 (buf_geom.sector_size); + } + + /* Make sure that SECTOR is valid. */ +@@ -297,7 +308,7 @@ devread (int sector, int byte_offset, int byte_len, char *buf) + * Check partition boundaries + */ + if (sector < 0 +- || ((sector + ((byte_offset + byte_len - 1) >> SECTOR_BITS)) ++ || ((sector + ((byte_offset + byte_len - 1) >> get_sector_bits(current_drive))) + >= part_length)) + { + errnum = ERR_OUTSIDE_PART; +@@ -307,8 +318,8 @@ devread (int sector, int byte_offset, int byte_len, char *buf) + /* + * Get the read to the beginning of a partition. + */ +- sector += byte_offset >> SECTOR_BITS; +- byte_offset &= SECTOR_SIZE - 1; ++ sector += byte_offset >> get_sector_bits(current_drive); ++ byte_offset &= get_sector_size(current_drive) - 1; + + #if !defined(STAGE1_5) + if (disk_read_hook && debug) +@@ -347,7 +358,7 @@ rawwrite (int drive, int sector, char *buf) + sector = 1; + } + +- memmove ((char *) SCRATCHADDR, buf, SECTOR_SIZE); ++ memmove ((char *) SCRATCHADDR, buf, get_sector_size(drive)); + if (biosdisk (BIOSDISK_WRITE, drive, &buf_geom, + sector, 1, SCRATCHSEG)) + { +@@ -373,23 +384,23 @@ devwrite (int sector, int sector_count, char *buf) + embed a Stage 1.5 into a partition instead of a MBR, use system + calls directly instead of biosdisk, because of the bug in + Linux. *sigh* */ +- return write_to_partition (device_map, current_drive, current_partition, +- sector, sector_count, buf); ++ int ret; ++ ret = write_to_partition (device_map, current_drive, current_partition, ++ sector, sector_count, buf); ++ if (ret != -1) ++ return ret; + } +- else + #endif /* GRUB_UTIL && __linux__ */ +- { +- int i; +- +- for (i = 0; i < sector_count; i++) +- { +- if (! rawwrite (current_drive, part_start + sector + i, +- buf + (i << SECTOR_BITS))) +- return 0; ++ int i; + +- } +- return 1; +- } ++ for (i = 0; i < sector_count; i++) ++ { ++ if (! rawwrite (current_drive, part_start + sector + i, ++ buf + (i << get_sector_bits(current_drive)))) ++ return 0; ++ ++ } ++ return 1; + } + + static int +@@ -400,7 +411,7 @@ sane_partition (void) + return 1; + + if (!(current_partition & 0xFF000000uL) +- && ((current_drive & 0xFFFFFF7F) < 8 ++ && ((current_drive & 0xFFFFFF7F) < MAX_HD_NUM + || current_drive == cdrom_drive) + && (current_partition & 0xFF) == 0xFF + && ((current_partition & 0xFF00) == 0xFF00 +@@ -458,7 +469,7 @@ make_saved_active (void) + } + + /* Read the MBR in the scratch space. */ +- if (! rawread (saved_drive, 0, 0, SECTOR_SIZE, mbr)) ++ if (! rawread (saved_drive, 0, 0, get_sector_size(saved_drive), mbr)) + return 0; + + /* If the partition is an extended partition, setting the active +@@ -502,8 +513,8 @@ int + set_partition_hidden_flag (int hidden) + { + unsigned long part = 0xFFFFFF; +- unsigned long start, len, offset, ext_offset; +- int entry, type; ++ unsigned long start, len, offset, ext_offset, gpt_offset; ++ int entry, type, gpt_count, gpt_size; + char mbr[512]; + + /* The drive must be a hard disk. */ +@@ -524,8 +535,15 @@ set_partition_hidden_flag (int hidden) + /* Look for the partition. */ + while (next_partition (current_drive, 0xFFFFFF, &part, &type, + &start, &len, &offset, &entry, +- &ext_offset, mbr)) +- { ++ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) ++ { ++ /* The partition may not be a GPT partition. */ ++ if (gpt_offset != 0) ++ { ++ errnum = ERR_BAD_ARGUMENT; ++ return 1; ++ } ++ + if (part == current_partition) + { + /* Found. */ +@@ -577,11 +595,14 @@ next_partition (unsigned long drive, unsigned long dest, + unsigned long *partition, int *type, + unsigned long *start, unsigned long *len, + unsigned long *offset, int *entry, +- unsigned long *ext_offset, char *buf) ++ unsigned long *ext_offset, ++ unsigned long *gpt_offset, int *gpt_count, ++ int *gpt_size, char *buf) + { + /* Forward declarations. */ + auto int next_bsd_partition (void); + auto int next_pc_slice (void); ++ auto int next_gpt_slice(void); + + /* Get next BSD partition in current PC slice. */ + int next_bsd_partition (void) +@@ -601,7 +622,7 @@ next_partition (unsigned long drive, unsigned long dest, + + /* Read the BSD label. */ + if (! rawread (drive, *start + BSD_LABEL_SECTOR, +- 0, SECTOR_SIZE, buf)) ++ 0, get_sector_size(drive), buf)) + return 0; + + /* Check if it is valid. */ +@@ -656,7 +677,7 @@ next_partition (unsigned long drive, unsigned long dest, + } + + /* Read the MBR or the boot sector of the extended partition. */ +- if (! rawread (drive, *offset, 0, SECTOR_SIZE, buf)) ++ if (! rawread (drive, *offset, 0, get_sector_size(drive), buf)) + return 0; + + /* Check if it is valid. */ +@@ -666,6 +687,40 @@ next_partition (unsigned long drive, unsigned long dest, + return 0; + } + ++ /* If this is a GPT partition table, read it as such. */ ++ if (*entry == -1 && *offset == 0 && PC_SLICE_TYPE (buf, 0) == PC_SLICE_TYPE_GPT) ++ { ++ struct grub_gpt_header *hdr = (struct grub_gpt_header *) buf; ++ ++ /* Read in the GPT Partition table header. */ ++ if (! rawread (drive, 1, 0, get_sector_size(drive), buf)) ++ return 0; ++ ++ if (hdr->magic == GPT_HEADER_MAGIC && hdr->version == 0x10000) ++ { ++ /* Let gpt_offset point to the first entry in the GPT ++ partition table. This can also be used by callers of ++ next_partition to determine if a entry comes from a ++ GPT partition table or not. */ ++ *gpt_offset = hdr->partitions; ++ *gpt_count = hdr->maxpart; ++ *gpt_size = hdr->partentry_size; ++ ++ return next_gpt_slice(); ++ } ++ else ++ { ++ /* This is not a valid header for a GPT partition table. ++ Re-read the MBR or the boot sector of the extended ++ partition. */ ++ if (! rawread (drive, *offset, 0, get_sector_size(drive), buf)) ++ return 0; ++ } ++ } ++ ++ /* Not a GPT partition. */ ++ *gpt_offset = 0; ++ + /* Increase the entry number. */ + (*entry)++; + +@@ -710,6 +765,43 @@ next_partition (unsigned long drive, unsigned long dest, + return 1; + } + ++ /* Get the next GPT slice. */ ++ int next_gpt_slice (void) ++ { ++ struct grub_gpt_partentry *gptentry = (struct grub_gpt_partentry *) buf; ++ /* Make GPT partitions show up as PC slices. */ ++ int pc_slice_no = (*partition & 0xFF0000) >> 16; ++ ++ /* If this is the first time... */ ++ if (pc_slice_no == 0xFF) ++ { ++ pc_slice_no = -1; ++ *entry = -1; ++ } ++ ++ do { ++ (*entry)++; ++ ++ if (*entry >= *gpt_count) ++ { ++ errnum = ERR_NO_PART; ++ return 0; ++ } ++ /* Read in the GPT Partition table entry. */ ++ if (! rawread (drive, (*gpt_offset) + GPT_ENTRY_SECTOR (drive, *gpt_size, *entry), GPT_ENTRY_INDEX (drive, *gpt_size, *entry), *gpt_size, buf)) ++ return 0; ++ } while (! (gptentry->type1 && gptentry->type2)); ++ ++ pc_slice_no++; ++ *start = gptentry->start; ++ *len = gptentry->end - gptentry->start + 1; ++ *type = PC_SLICE_TYPE_EXT2FS; ++ *entry = pc_slice_no; ++ *partition = (*entry << 16) | 0xFFFF; ++ ++ return 1; ++ } ++ + /* Start the body of this function. */ + + #ifndef STAGE1_5 +@@ -717,6 +809,9 @@ next_partition (unsigned long drive, unsigned long dest, + return 0; + #endif + ++ if (*partition != 0xFFFFFF && *gpt_offset != 0) ++ return next_gpt_slice (); ++ + /* If previous partition is a BSD partition or a PC slice which + contains BSD partitions... */ + if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type & 0xff)) +@@ -755,8 +850,11 @@ real_open_partition (int flags) + unsigned long dest_partition = current_partition; + unsigned long part_offset; + unsigned long ext_offset; ++ unsigned long gpt_offset; ++ int gpt_count; ++ int gpt_size; + int entry; +- char buf[SECTOR_SIZE]; ++ char buf[4096]; + int bsd_part, pc_slice; + + /* For simplicity. */ +@@ -766,7 +864,8 @@ real_open_partition (int flags) + int ret = next_partition (current_drive, dest_partition, + ¤t_partition, ¤t_slice, + &part_start, &part_length, +- &part_offset, &entry, &ext_offset, buf); ++ &part_offset, &entry, &ext_offset, ++ &gpt_offset, &gpt_count, &gpt_size, buf); + bsd_part = (current_partition >> 8) & 0xFF; + pc_slice = current_partition >> 16; + return ret; +@@ -926,6 +1025,17 @@ open_partition (void) + return real_open_partition (0); + } + ++#if !defined(PLATFORM_EFI) && !defined(GRUB_UTIL) ++int get_sector_size (int drive) ++{ ++ return SECTOR_SIZE; ++} ++int get_sector_bits (int drive) ++{ ++ return SECTOR_BITS; ++} ++#endif /* !defined(PLATFORM_EFI) && !defined(GRUB_UTIL) */ ++ + + #ifndef STAGE1_5 + /* XX used for device completion in 'set_device' and 'print_completions' */ +@@ -978,7 +1088,7 @@ set_device (char *device) + if (*device != ',' && *device != ')') + { + char ch = *device; +-#ifdef SUPPORT_NETBOOT ++#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) + if (*device == 'f' || *device == 'h' + || (*device == 'n' && network_ready) + || (*device == 'c' && cdrom_drive != GRUB_INVALID_DRIVE)) +@@ -1002,14 +1112,14 @@ set_device (char *device) + + if ((*device == 'f' + || *device == 'h' +-#ifdef SUPPORT_NETBOOT ++#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) + || (*device == 'n' && network_ready) + #endif + || (*device == 'c' && cdrom_drive != GRUB_INVALID_DRIVE)) + && (device += 2, (*(device - 1) != 'd'))) + errnum = ERR_NUMBER_PARSING; +- +-#ifdef SUPPORT_NETBOOT ++ ++#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) + if (ch == 'n' && network_ready) + current_drive = NETWORK_DRIVE; + else +@@ -1131,7 +1241,7 @@ set_bootdev (int hdbias) + if ((saved_drive & 0x80) && cur_part_addr) + { + if (rawread (saved_drive, cur_part_offset, +- 0, SECTOR_SIZE, (char *) SCRATCHADDR)) ++ 0, get_sector_size(saved_drive), (char *) SCRATCHADDR)) + { + char *dst, *src; + +@@ -1243,6 +1353,12 @@ setup_part (char *filename) + + + #ifndef STAGE1_5 ++char * ++get_fsys_type (void) ++{ ++ return fsys_table[fsys_type].name; ++} ++ + /* + * This prints the filesystem type or gives relevant information. + */ +@@ -1376,7 +1492,7 @@ print_completions (int is_filename, int is_completion) + + if (!ptr + || *(ptr-1) != 'd' +-#ifdef SUPPORT_NETBOOT ++#if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) + || *(ptr-2) != 'n' + #endif /* SUPPORT_NETBOOT */ + || *(ptr-2) != 'c') +@@ -1385,7 +1501,7 @@ print_completions (int is_filename, int is_completion) + i < (ptr && (*(ptr-1) == 'd' && *(ptr-2) == 'f') ? 1:2); + i++) + { +- for (j = 0; j < 8; j++) ++ for (j = 0; j < MAX_HD_NUM; j++) + { + disk_no = (i * 0x80) + j; + if ((disk_choice || disk_no == current_drive) +@@ -1407,7 +1523,7 @@ print_completions (int is_filename, int is_completion) + || (*(ptr-1) == 'd' && *(ptr-2) == 'c'))) + print_a_completion ("cd"); + +-# ifdef SUPPORT_NETBOOT ++# if defined(SUPPORT_NETBOOT) || defined(PLATFORM_EFI) + if (network_ready + && (disk_choice || NETWORK_DRIVE == current_drive) + && (!ptr +@@ -1596,7 +1712,7 @@ grub_open (char *filename) + + BLK_BLKLENGTH (list_addr) = tmp; + +- filemax += (tmp * SECTOR_SIZE); ++ filemax += (tmp * get_sector_size(current_drive)); + list_addr += BLK_BLKLIST_INC_VAL; + + if (*ptr != ',') +@@ -1673,6 +1789,7 @@ grub_read (char *buf, int len) + if (block_file) + { + int size, off, ret = 0; ++ int sector_size = get_sector_size(current_drive); + + while (len && !errnum) + { +@@ -1687,10 +1804,10 @@ grub_read (char *buf, int len) + /* run BLK_CUR_FILEPOS up to filepos */ + while (filepos > BLK_CUR_FILEPOS) + { +- if ((filepos - (BLK_CUR_FILEPOS & ~(SECTOR_SIZE - 1))) +- >= SECTOR_SIZE) ++ if ((filepos - (BLK_CUR_FILEPOS & ~(sector_size - 1))) ++ >= sector_size) + { +- BLK_CUR_FILEPOS += SECTOR_SIZE; ++ BLK_CUR_FILEPOS += sector_size; + BLK_CUR_BLKNUM++; + + if (BLK_CUR_BLKNUM >= BLK_BLKLENGTH (BLK_CUR_BLKLIST)) +@@ -1703,9 +1820,9 @@ grub_read (char *buf, int len) + BLK_CUR_FILEPOS = filepos; + } + +- off = filepos & (SECTOR_SIZE - 1); ++ off = filepos & (sector_size - 1); + size = ((BLK_BLKLENGTH (BLK_CUR_BLKLIST) - BLK_CUR_BLKNUM) +- * SECTOR_SIZE) - off; ++ * sector_size) - off; + if (size > len) + size = len; + +diff --git a/stage2/efistubs.c b/stage2/efistubs.c +new file mode 100644 +index 0000000..29b086a +--- /dev/null ++++ b/stage2/efistubs.c +@@ -0,0 +1,7 @@ ++ ++#include "shared.h" ++#include "efistubs.h" ++ ++#if defined(PLATFORM_EFI) ++int network_ready = 0; ++#endif /* defined(PLATFORM_EFI) */ +diff --git a/stage2/efistubs.h b/stage2/efistubs.h +new file mode 100644 +index 0000000..97e407d +--- /dev/null ++++ b/stage2/efistubs.h +@@ -0,0 +1,8 @@ ++#ifndef EFISTUBS_H ++#define EFISTUBS_H 1 ++ ++#if defined(PLATFORM_EFI) ++extern int network_ready; ++#endif /* defined(PLATFORM_EFI) */ ++ ++#endif /* EFISTUBS_H */ +diff --git a/stage2/fat.h b/stage2/fat.h +index 7fed6ba..f154eed 100644 +--- a/stage2/fat.h ++++ b/stage2/fat.h +@@ -92,7 +92,7 @@ struct fat_bpb { + #define FAT_DIRENTRY_FIRST_CLUSTER(entry) \ + ((*((unsigned short *) (entry+26)))+(*((unsigned short *) (entry+20)) << 16)) + #define FAT_DIRENTRY_FILELENGTH(entry) \ +- (*((unsigned long *) (entry+28))) ++ (*((unsigned int *) (entry+28))) + + #define FAT_LONGDIR_ID(entry) \ + (*((unsigned char *) (entry))) +diff --git a/stage2/filesys.h b/stage2/filesys.h +index bbad8b9..79e5f1f 100644 +--- a/stage2/filesys.h ++++ b/stage2/filesys.h +@@ -40,6 +40,16 @@ int ufs2_embed (int *start_sector, int needed_sectors); + #define FSYS_UFS2_NUM 0 + #endif + ++#ifdef PLATFORM_EFI ++#define FSYS_UEFI_NUM 1 ++int uefi_mount (void); ++int uefi_read (char *buf, int len); ++int uefi_dir (char *dirname); ++void uefi_close (void); ++#else ++#define FSYS_UEFI_NUM 0 ++#endif ++ + #ifdef FSYS_FAT + #define FSYS_FAT_NUM 1 + int fat_mount (void); +@@ -115,6 +125,17 @@ void tftp_close (void); + #define FSYS_TFTP_NUM 0 + #endif + ++#ifdef PLATFORM_EFI ++#define FSYS_EFI_TFTP_NUM 1 ++int efi_tftp_mount (void); ++int efi_tftp_read (char *buf, int len); ++int efi_tftp_dir (char *dirname); ++void efi_tftp_close (void); ++#else ++#define FSYS_EFI_TFTP_NUM 0 ++#endif ++ ++ + #ifdef FSYS_ISO9660 + #define FSYS_ISO9660_NUM 1 + int iso9660_mount (void); +@@ -128,7 +149,8 @@ int iso9660_dir (char *dirname); + #define NUM_FSYS \ + (FSYS_FFS_NUM + FSYS_FAT_NUM + FSYS_EXT2FS_NUM + FSYS_MINIX_NUM \ + + FSYS_REISERFS_NUM + FSYS_VSTAFS_NUM + FSYS_JFS_NUM + FSYS_XFS_NUM \ +- + FSYS_TFTP_NUM + FSYS_ISO9660_NUM + FSYS_UFS2_NUM) ++ + FSYS_TFTP_NUM + FSYS_EFI_TFTP_NUM + FSYS_ISO9660_NUM + FSYS_UFS2_NUM \ ++ + FSYS_UEFI_NUM) + #endif + + /* defines for the block filesystem info area */ +@@ -137,8 +159,8 @@ int iso9660_dir (char *dirname); + #define BLK_CUR_BLKLIST (*((int*)(FSYS_BUF+4))) + #define BLK_CUR_BLKNUM (*((int*)(FSYS_BUF+8))) + #define BLK_MAX_ADDR (FSYS_BUF+0x7FF9) +-#define BLK_BLKSTART(l) (*((int*)l)) +-#define BLK_BLKLENGTH(l) (*((int*)(l+4))) ++#define BLK_BLKSTART(l) (*((int*)(unsigned long)l)) ++#define BLK_BLKLENGTH(l) (*((int*)(unsigned long)(l+4))) + #define BLK_BLKLIST_START (FSYS_BUF+12) + #define BLK_BLKLIST_INC_VAL 8 + #endif /* NO_BLOCK_FILES */ +diff --git a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c +index 560048f..01386d1 100644 +--- a/stage2/fsys_ext2fs.c ++++ b/stage2/fsys_ext2fs.c +@@ -25,7 +25,7 @@ + static int mapblock1, mapblock2; + + /* sizes are always in bytes, BLOCK values are always in DEV_BSIZE (sectors) */ +-#define DEV_BSIZE 512 ++#define DEV_BSIZE get_sector_size(current_drive) + + /* include/linux/fs.h */ + #define BLOCK_SIZE 1024 /* initial block size for superblock read */ +@@ -33,6 +33,7 @@ static int mapblock1, mapblock2; + #define WHICH_SUPER 1 + /* kind of from fs/ext2/super.c */ + #define SBLOCK (WHICH_SUPER * BLOCK_SIZE / DEV_BSIZE) /* = 2 */ ++#define SBOFF ((WHICH_SUPER * BLOCK_SIZE) % DEV_BSIZE) + + /* include/asm-i386/types.h */ + typedef __signed__ char __s8; +@@ -41,6 +42,7 @@ typedef __signed__ short __s16; + typedef unsigned short __u16; + typedef __signed__ int __s32; + typedef unsigned int __u32; ++typedef unsigned long long __u64; + + /* + * Constants relative to the data blocks, from ext2_fs.h +@@ -51,7 +53,7 @@ typedef unsigned int __u32; + #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) + #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) + +-/* include/linux/ext2_fs.h */ ++/* lib/ext2fs/ext2_fs.h from e2fsprogs */ + struct ext2_super_block + { + __u32 s_inodes_count; /* Inodes count */ +@@ -61,9 +63,9 @@ struct ext2_super_block + __u32 s_free_inodes_count; /* Free inodes count */ + __u32 s_first_data_block; /* First Data Block */ + __u32 s_log_block_size; /* Block size */ +- __s32 s_log_frag_size; /* Fragment size */ ++ __s32 s_obso_log_frag_size; /* Obsoleted Fragment size */ + __u32 s_blocks_per_group; /* # Blocks per group */ +- __u32 s_frags_per_group; /* # Fragments per group */ ++ __u32 s_obso_frags_per_group; /* Obsoleted Fragments per group */ + __u32 s_inodes_per_group; /* # Inodes per group */ + __u32 s_mtime; /* Mount time */ + __u32 s_wtime; /* Write time */ +@@ -72,17 +74,76 @@ struct ext2_super_block + __u16 s_magic; /* Magic signature */ + __u16 s_state; /* File system state */ + __u16 s_errors; /* Behaviour when detecting errors */ +- __u16 s_pad; ++ __u16 s_minor_rev_level; /* minor revision level */ + __u32 s_lastcheck; /* time of last check */ + __u32 s_checkinterval; /* max. time between checks */ + __u32 s_creator_os; /* OS */ + __u32 s_rev_level; /* Revision level */ + __u16 s_def_resuid; /* Default uid for reserved blocks */ + __u16 s_def_resgid; /* Default gid for reserved blocks */ +- __u32 s_reserved[235]; /* Padding to the end of the block */ +- }; +- +-struct ext2_group_desc ++ /* ++ * These fields are for EXT2_DYNAMIC_REV superblocks only. ++ * ++ * Note: the difference between the compatible feature set and ++ * the incompatible feature set is that if there is a bit set ++ * in the incompatible feature set that the kernel doesn't ++ * know about, it should refuse to mount the filesystem. ++ * ++ * e2fsck's requirements are more strict; if it doesn't know ++ * about a feature in either the compatible or incompatible ++ * feature set, it must abort and not try to meddle with ++ * things it doesn't understand... ++ */ ++ __u32 s_first_ino; /* First non-reserved inode */ ++ __u16 s_inode_size; /* size of inode structure */ ++ __u16 s_block_group_nr; /* block group # of this superblock */ ++ __u32 s_feature_compat; /* compatible feature set */ ++ __u32 s_feature_incompat; /* incompatible feature set */ ++ __u32 s_feature_ro_compat; /* readonly-compatible feature set */ ++ __u8 s_uuid[16]; /* 128-bit uuid for volume */ ++ char s_volume_name[16]; /* volume name */ ++ char s_last_mounted[64]; /* directory where last mounted */ ++ __u32 s_algorithm_usage_bitmap; /* For compression */ ++ /* ++ * Performance hints. Directory preallocation should only ++ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. ++ */ ++ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ ++ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ ++ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ ++ /* ++ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. ++ */ ++ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ ++ __u32 s_journal_inum; /* inode number of journal file */ ++ __u32 s_journal_dev; /* device number of journal file */ ++ __u32 s_last_orphan; /* start of list of inodes to delete */ ++ __u32 s_hash_seed[4]; /* HTREE hash seed */ ++ __u8 s_def_hash_version; /* Default hash version to use */ ++ __u8 s_jnl_backup_type; /* Default type of journal backup */ ++ __u16 s_desc_size; /* size of group descriptor */ ++ __u32 s_default_mount_opts; ++ __u32 s_first_meta_bg; /* First metablock group */ ++ __u32 s_mkfs_time; /* When the filesystem was created */ ++ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ ++ /* 64bit desc support valid if EXT4_FEATURE_INCOMPAT_64BIT */ ++ __u32 s_blocks_count_hi; /* Blocks count */ ++ __u32 s_r_blocks_count_hi; /* Reserved blocks count */ ++ __u32 s_free_blocks_count_hi; /* Free blocks count */ ++ __u16 s_min_extra_isize; /* All inodes have at least # bytes */ ++ __u16 s_max_extra_isize; /* New inodes should reverve # bytes */ ++ __u32 s_flags; /* Miscellaneous flags */ ++ __u16 s_raid_stride; /* Raid stride */ ++ __u16 s_mmp_interval; /* # seconds to wait MMP checking */ ++ __u64 s_mmp_block; /* Block for multi-mount protection */ ++ __u32 s_raid_stripe_width; /* Blocks on all data disks (N*stride)*/ ++ __u8 s_log_groups_per_flex;/* FLEX_BG group size*/ ++ __u8 s_reserved_char_pad; ++ __u16 s_reserved_pad; ++ __u32 s_reserved[162]; /* Padding to the end of the block */ ++}; ++ ++struct ext4_group_desc + { + __u32 bg_block_bitmap; /* Blocks bitmap block */ + __u32 bg_inode_bitmap; /* Inodes bitmap block */ +@@ -90,8 +151,18 @@ struct ext2_group_desc + __u16 bg_free_blocks_count; /* Free blocks count */ + __u16 bg_free_inodes_count; /* Free inodes count */ + __u16 bg_used_dirs_count; /* Directories count */ +- __u16 bg_pad; +- __u32 bg_reserved[3]; ++ __u16 bg_flags; /* EXT4_BG_flags (INODE_UNINIT, etc) */ ++ __u32 bg_reserved[2]; /* Likely block/inode bitmap checksum */ ++ __u16 bg_itable_unused; /* Unused inodes count */ ++ __u16 bg_checksum; /* crc16(sb_uuid+group+desc) */ ++ __u32 bg_block_bitmap_hi; /* Blocks bitmap block MSB */ ++ __u32 bg_inode_bitmap_hi; /* Inodes bitmap block MSB */ ++ __u32 bg_inode_table_hi; /* Inodes table block MSB */ ++ __u16 bg_free_blocks_count_hi;/* Free blocks count MSB */ ++ __u16 bg_free_inodes_count_hi;/* Free inodes count MSB */ ++ __u16 bg_used_dirs_count_hi; /* Directories count MSB */ ++ __u16 bg_itable_unused_hi; /* Unused inodes count MSB */ ++ __u32 bg_reserved2[3]; + }; + + struct ext2_inode +@@ -129,22 +200,22 @@ struct ext2_inode + __u32 i_block[EXT2_N_BLOCKS]; /* 40: Pointers to blocks */ + __u32 i_version; /* File version (for NFS) */ + __u32 i_file_acl; /* File ACL */ +- __u32 i_dir_acl; /* Directory ACL */ +- __u32 i_faddr; /* Fragment address */ ++ __u32 i_size_high; ++ __u32 i_obso_faddr; /* Obsoleted fragment address */ + union + { + struct + { +- __u8 l_i_frag; /* Fragment number */ +- __u8 l_i_fsize; /* Fragment size */ +- __u16 i_pad1; +- __u32 l_i_reserved2[2]; ++ __u16 l_i_blocks_high; /* were l_i_reserved1 */ ++ __u16 l_i_file_acl_high; ++ __u16 l_i_uid_high; /* these 2 fields */ ++ __u16 l_i_gid_high; /* were reserved2[0] */ ++ __u32 l_i_reserved2; + } + linux2; + struct + { +- __u8 h_i_frag; /* Fragment number */ +- __u8 h_i_fsize; /* Fragment size */ ++ __u16 h_i_reserved1; /* Obsoleted fragment number/size which are removed in ext4 */ + __u16 h_i_mode_high; + __u16 h_i_uid_high; + __u16 h_i_gid_high; +@@ -153,16 +224,36 @@ struct ext2_inode + hurd2; + struct + { +- __u8 m_i_frag; /* Fragment number */ +- __u8 m_i_fsize; /* Fragment size */ +- __u16 m_pad1; ++ __u16 h_i_reserved1; /* Obsoleted fragment number/size which are removed in ext4 */ ++ __u16 m_i_file_acl_high; + __u32 m_i_reserved2[2]; + } + masix2; + } + osd2; /* OS dependent 2 */ ++ __u16 i_extra_isize; ++ __u16 i_pad1; ++ __u32 i_ctime_extra; /* extra Change time (nsec << 2 | epoch) */ ++ __u32 i_mtime_extra; /* extra Modification time(nsec << 2 | epoch) */ ++ __u32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */ ++ __u32 i_crtime; /* File Creation time */ ++ __u32 i_crtime_extra; /* extra FileCreationtime (nsec << 2 | epoch) */ ++ __u32 i_version_hi; /* high 32 bits for 64-bit version */ + }; + ++#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040 /* extents support */ ++#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 /* grub not supported*/ ++#define EXT4_FEATURE_INCOMPAT_MMP 0x0100 ++#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 ++ ++#define EXT4_HAS_INCOMPAT_FEATURE(sb,mask) \ ++ ( sb->s_feature_incompat & mask ) ++ ++#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ ++#define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ ++ ++#define EXT4_MIN_DESC_SIZE 32 ++ + /* linux/limits.h */ + #define NAME_MAX 255 /* # chars in a file name */ + +@@ -180,6 +271,57 @@ struct ext2_dir_entry + char name[EXT2_NAME_LEN]; /* File name */ + }; + ++/* linux/ext4_fs_extents.h */ ++/* This is the extent on-disk structure. ++ * It's used at the bottom of the tree. ++ */ ++struct ext4_extent ++ { ++ __u32 ee_block; /* first logical block extent covers */ ++ __u16 ee_len; /* number of blocks covered by extent */ ++ __u16 ee_start_hi; /* high 16 bits of physical block */ ++ __u32 ee_start_lo; /* low 32 bits of physical block */ ++ }; ++ ++/* ++ * This is index on-disk structure. ++ * It's used at all the levels except the bottom. ++ */ ++struct ext4_extent_idx ++ { ++ __u32 ei_block; /* index covers logical blocks from 'block' */ ++ __u32 ei_leaf_lo; /* pointer to the physical block of the next * ++ * level. leaf or next index could be there */ ++ __u16 ei_leaf_hi; /* high 16 bits of physical block */ ++ __u16 ei_unused; ++ }; ++ ++/* ++ * Each block (leaves and indexes), even inode-stored has header. ++ */ ++struct ext4_extent_header ++ { ++ __u16 eh_magic; /* probably will support different formats */ ++ __u16 eh_entries; /* number of valid entries */ ++ __u16 eh_max; /* capacity of store in entries */ ++ __u16 eh_depth; /* has tree real underlying blocks? */ ++ __u32 eh_generation; /* generation of the tree */ ++ }; ++ ++#define EXT4_EXT_MAGIC (0xf30a) ++#define EXT_FIRST_EXTENT(__hdr__) \ ++ ((struct ext4_extent *) (((char *) (__hdr__)) + \ ++ sizeof(struct ext4_extent_header))) ++#define EXT_FIRST_INDEX(__hdr__) \ ++ ((struct ext4_extent_idx *) (((char *) (__hdr__)) + \ ++ sizeof(struct ext4_extent_header))) ++#define EXT_LAST_EXTENT(__hdr__) \ ++ (EXT_FIRST_EXTENT((__hdr__)) + (__u16)((__hdr__)->eh_entries) - 1) ++#define EXT_LAST_INDEX(__hdr__) \ ++ (EXT_FIRST_INDEX((__hdr__)) + (__u16)((__hdr__)->eh_entries) - 1) ++ ++ ++ + /* linux/ext2fs.h */ + /* + * EXT2_DIR_PAD defines the directory entries boundaries +@@ -206,25 +348,37 @@ struct ext2_dir_entry + ((struct ext2_super_block *)(FSYS_BUF)) + #define GROUP_DESC \ + ((struct ext2_group_desc *) \ +- ((int)SUPERBLOCK + sizeof(struct ext2_super_block))) ++ ((unsigned long)SUPERBLOCK + sizeof(struct ext2_super_block))) + #define INODE \ +- ((struct ext2_inode *)((int)GROUP_DESC + EXT2_BLOCK_SIZE(SUPERBLOCK))) ++ ((struct ext2_inode *)((unsigned long)GROUP_DESC + EXT2_BLOCK_SIZE(SUPERBLOCK))) + #define DATABLOCK1 \ +- ((int)((int)INODE + sizeof(struct ext2_inode))) ++ ((unsigned long)INODE + sizeof(struct ext2_inode)) + #define DATABLOCK2 \ +- ((int)((int)DATABLOCK1 + EXT2_BLOCK_SIZE(SUPERBLOCK))) ++ ((unsigned long)DATABLOCK1 + EXT2_BLOCK_SIZE(SUPERBLOCK)) + + /* linux/ext2_fs.h */ + #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) + #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) + ++#define EXT2_INODE_SIZE(s) (SUPERBLOCK->s_inode_size) ++#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) ++ + /* linux/ext2_fs.h */ + #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) + /* kind of from ext2/super.c */ + #define EXT2_BLOCK_SIZE(s) (1 << EXT2_BLOCK_SIZE_BITS(s)) + /* linux/ext2fs.h */ ++/* sizeof(struct ext2_group_desc) is changed in ext4 ++ * in kernel code, ext2/3 uses sizeof(struct ext2_group_desc) to calculate ++ * number of desc per block, while ext4 uses superblock->s_desc_size in stead ++ * superblock->s_desc_size is not available in ext2/3 ++ * */ ++#define EXT2_DESC_SIZE(s) \ ++ (EXT4_HAS_INCOMPAT_FEATURE(s,EXT4_FEATURE_INCOMPAT_64BIT)? \ ++ s->s_desc_size : EXT4_MIN_DESC_SIZE) + #define EXT2_DESC_PER_BLOCK(s) \ +- (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) ++ (EXT2_BLOCK_SIZE(s) / EXT2_DESC_SIZE(s)) ++ + /* linux/stat.h */ + #define S_IFMT 00170000 + #define S_IFLNK 0120000 +@@ -239,8 +393,8 @@ struct ext2_dir_entry + * ffz = Find First Zero in word. Undefined if no zero exists, + * so code should check against ~0UL first.. + */ +-static __inline__ unsigned long +-ffz (unsigned long word) ++static __inline__ unsigned int ++ffz (unsigned int word) + { + __asm__ ("bsfl %1,%0" + : "=r" (word) +@@ -260,7 +414,7 @@ ext2fs_mount (void) + && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_EXT2FS)) + && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_OTHER))) + || part_length < (SBLOCK + (sizeof (struct ext2_super_block) / DEV_BSIZE)) +- || !devread (SBLOCK, 0, sizeof (struct ext2_super_block), ++ || !devread (SBLOCK, SBOFF, sizeof (struct ext2_super_block), + (char *) SUPERBLOCK) + || SUPERBLOCK->s_magic != EXT2_SUPER_MAGIC) + retval = 0; +@@ -276,7 +430,7 @@ ext2_rdfsb (int fsblock, int buffer) + printf ("fsblock %d buffer %d\n", fsblock, buffer); + #endif /* E2DEBUG */ + return devread (fsblock * (EXT2_BLOCK_SIZE (SUPERBLOCK) / DEV_BSIZE), 0, +- EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer); ++ EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) (unsigned long) buffer); + } + + /* from +@@ -386,6 +540,122 @@ ext2fs_block_map (int logical_block) + [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; + } + ++/* extent binary search index ++ * find closest index in the current level extent tree ++ * kind of from ext4_ext_binsearch_idx in ext4/extents.c ++ */ ++static struct ext4_extent_idx* ++ext4_ext_binsearch_idx(struct ext4_extent_header* eh, int logical_block) ++{ ++ struct ext4_extent_idx *r, *l, *m; ++ l = EXT_FIRST_INDEX(eh) + 1; ++ r = EXT_LAST_INDEX(eh); ++ while (l <= r) ++ { ++ m = l + (r - l) / 2; ++ if (logical_block < m->ei_block) ++ r = m - 1; ++ else ++ l = m + 1; ++ } ++ return (struct ext4_extent_idx*)(l - 1); ++} ++ ++/* extent binary search ++ * find closest extent in the leaf level ++ * kind of from ext4_ext_binsearch in ext4/extents.c ++ */ ++static struct ext4_extent* ++ext4_ext_binsearch(struct ext4_extent_header* eh, int logical_block) ++{ ++ struct ext4_extent *r, *l, *m; ++ l = EXT_FIRST_EXTENT(eh) + 1; ++ r = EXT_LAST_EXTENT(eh); ++ while (l <= r) ++ { ++ m = l + (r - l) / 2; ++ if (logical_block < m->ee_block) ++ r = m - 1; ++ else ++ l = m + 1; ++ } ++ return (struct ext4_extent*)(l - 1); ++} ++ ++/* Maps extents enabled logical block into physical block via an inode. ++ * EXT4_HUGE_FILE_FL should be checked before calling this. ++ */ ++static int ++ext4fs_block_map (int logical_block) ++{ ++ struct ext4_extent_header *eh; ++ struct ext4_extent *ex, *extent; ++ struct ext4_extent_idx *ei, *index; ++ int depth; ++ int i; ++ ++#ifdef E2DEBUG ++ unsigned char *i; ++ for (i = (unsigned char *) INODE; ++ i < ((unsigned char *) INODE + sizeof (struct ext2_inode)); ++ i++) ++ { ++ printf ("%c", "0123456789abcdef"[*i >> 4]); ++ printf ("%c", "0123456789abcdef"[*i % 16]); ++ if (!((i + 1 - (unsigned char *) INODE) % 16)) ++ { ++ printf ("\n"); ++ } ++ else ++ { ++ printf (" "); ++ } ++ } ++ printf ("logical block %d\n", logical_block); ++#endif /* E2DEBUG */ ++ eh = (struct ext4_extent_header*)INODE->i_block; ++ if (eh->eh_magic != EXT4_EXT_MAGIC) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ while((depth = eh->eh_depth) != 0) ++ { /* extent index */ ++ if (eh->eh_magic != EXT4_EXT_MAGIC) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ ei = ext4_ext_binsearch_idx(eh, logical_block); ++ if (ei->ei_leaf_hi) ++ {/* 64bit physical block number not supported */ ++ errnum = ERR_FILELENGTH; ++ return -1; ++ } ++ if (!ext2_rdfsb(ei->ei_leaf_lo, DATABLOCK1)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ eh = (struct ext4_extent_header*)DATABLOCK1; ++ } ++ ++ /* depth==0, we come to the leaf */ ++ ex = ext4_ext_binsearch(eh, logical_block); ++ if (ex->ee_start_hi) ++ {/* 64bit physical block number not supported */ ++ errnum = ERR_FILELENGTH; ++ return -1; ++ } ++ if ((ex->ee_block + ex->ee_len) < logical_block) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ return ex->ee_start_lo + logical_block - ex->ee_block; ++ ++} ++ + /* preconditions: all preconds of ext2fs_block_map */ + int + ext2fs_read (char *buf, int len) +@@ -420,6 +690,11 @@ ext2fs_read (char *buf, int len) + /* find the (logical) block component of our location */ + logical_block = filepos >> EXT2_BLOCK_SIZE_BITS (SUPERBLOCK); + offset = filepos & (EXT2_BLOCK_SIZE (SUPERBLOCK) - 1); ++ /* map extents enabled logical block number to physical fs on-disk block number */ ++ if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK,EXT4_FEATURE_INCOMPAT_EXTENTS) ++ && INODE->i_flags & EXT4_EXTENTS_FL) ++ map = ext4fs_block_map (logical_block); ++ else + map = ext2fs_block_map (logical_block); + #ifdef E2DEBUG + printf ("map=%d\n", map); +@@ -504,7 +779,7 @@ ext2fs_dir (char *dirname) + int desc; /* index within that group */ + int ino_blk; /* fs pointer of the inode's information */ + int str_chk = 0; /* used to hold the results of a string compare */ +- struct ext2_group_desc *gdp; ++ struct ext4_group_desc *ext4_gdp; + struct ext2_inode *raw_inode; /* inode info corresponding to current_ino */ + + char linkbuf[PATH_MAX]; /* buffer for following symbolic links */ +@@ -546,18 +821,25 @@ ext2fs_dir (char *dirname) + #endif /* E2DEBUG */ + if (!ext2_rdfsb ( + (WHICH_SUPER + group_desc + SUPERBLOCK->s_first_data_block), +- (int) GROUP_DESC)) ++ (unsigned long) GROUP_DESC)) + { + return 0; + } +- gdp = GROUP_DESC; +- ino_blk = gdp[desc].bg_inode_table + ++ ext4_gdp = (struct ext4_group_desc *)( (__u8*)GROUP_DESC + ++ desc * EXT2_DESC_SIZE(SUPERBLOCK)); ++ if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK, EXT4_FEATURE_INCOMPAT_64BIT) ++ && (! ext4_gdp->bg_inode_table_hi)) ++ {/* 64bit itable not supported */ ++ errnum = ERR_FILELENGTH; ++ return -1; ++ } ++ ino_blk = ext4_gdp->bg_inode_table + + (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) +- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); ++ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); + #ifdef E2DEBUG + printf ("inode table fsblock=%d\n", ino_blk); + #endif /* E2DEBUG */ +- if (!ext2_rdfsb (ino_blk, (int) INODE)) ++ if (!ext2_rdfsb (ino_blk, (unsigned long) INODE)) + { + return 0; + } +@@ -565,13 +847,12 @@ ext2fs_dir (char *dirname) + /* reset indirect blocks! */ + mapblock2 = mapblock1 = -1; + +- raw_inode = INODE + +- ((current_ino - 1) +- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); ++ raw_inode = (struct ext2_inode *)((char *)INODE + ++ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * ++ EXT2_INODE_SIZE (SUPERBLOCK)); + #ifdef E2DEBUG + printf ("ipb=%d, sizeof(inode)=%d\n", +- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), +- sizeof (struct ext2_inode)); ++ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); + printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); + printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); + for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode; +@@ -629,7 +910,10 @@ ext2fs_dir (char *dirname) + } + linkbuf[filemax + len] = '\0'; + +- /* Read the symlink data. */ ++ /* Read the symlink data. ++ * Slow symlink is extents enabled ++ * But since grub_read invokes ext2fs_read, nothing to change here ++ */ + if (! ext2_is_fast_symlink ()) + { + /* Read the necessary blocks, and reset the file pointer. */ +@@ -640,7 +924,9 @@ ext2fs_dir (char *dirname) + } + else + { +- /* Copy the data directly from the inode. */ ++ /* Copy the data directly from the inode. ++ * Fast symlink is not extents enabled ++ */ + len = filemax; + memmove (linkbuf, (char *) INODE->i_block, len); + } +@@ -674,6 +960,13 @@ ext2fs_dir (char *dirname) + errnum = ERR_BAD_FILETYPE; + return 0; + } ++ /* if file is too large, just stop and report an error*/ ++ if ( (INODE->i_flags & EXT4_HUGE_FILE_FL) && !(INODE->i_size_high)) ++ { ++ /* file too large, stop reading */ ++ errnum = ERR_FILELENGTH; ++ return 0; ++ } + + filemax = (INODE->i_size); + return 1; +@@ -728,17 +1021,28 @@ ext2fs_dir (char *dirname) + } + + /* else, find the (logical) block component of our location */ ++ /* ext4 logical block number the same as ext2/3 */ + blk = loc >> EXT2_BLOCK_SIZE_BITS (SUPERBLOCK); + + /* we know which logical block of the directory entry we are looking + for, now we have to translate that to the physical (fs) block on + the disk */ ++ /* map extents enabled logical block number to physical fs on-disk block number */ ++ if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK,EXT4_FEATURE_INCOMPAT_EXTENTS) ++ && INODE->i_flags & EXT4_EXTENTS_FL) ++ map = ext4fs_block_map (blk); ++ else + map = ext2fs_block_map (blk); + #ifdef E2DEBUG + printf ("fs block=%d\n", map); + #endif /* E2DEBUG */ + mapblock2 = -1; +- if ((map < 0) || !ext2_rdfsb (map, DATABLOCK2)) ++ if (map < 0) ++ { ++ *rest = ch; ++ return 0; ++ } ++ if (!ext2_rdfsb (map, DATABLOCK2)) + { + errnum = ERR_FSYS_CORRUPT; + *rest = ch; +diff --git a/stage2/fsys_fat.c b/stage2/fsys_fat.c +index f40e658..f1157f4 100644 +--- a/stage2/fsys_fat.c ++++ b/stage2/fsys_fat.c +@@ -49,13 +49,13 @@ struct fat_superblock + /* pointer(s) into filesystem info buffer for DOS stuff */ + #define FAT_SUPER ( (struct fat_superblock *) \ + ( FSYS_BUF + 32256) )/* 512 bytes long */ +-#define FAT_BUF ( FSYS_BUF + 30208 ) /* 4 sector FAT buffer */ +-#define NAME_BUF ( FSYS_BUF + 29184 ) /* Filename buffer (833 bytes) */ ++#define FAT_BUF ( FSYS_BUF + 28160 ) /* 4 sector FAT buffer */ ++#define NAME_BUF ( FSYS_BUF + 27136 ) /* Filename buffer (833 bytes) */ + +-#define FAT_CACHE_SIZE 2048 ++#define FAT_CACHE_SIZE 4096 + +-static __inline__ unsigned long +-log2 (unsigned long word) ++static __inline__ unsigned int ++grub_log2 (unsigned int word) + { + __asm__ ("bsfl %1,%0" + : "=r" (word) +@@ -68,9 +68,12 @@ fat_mount (void) + { + struct fat_bpb bpb; + __u32 magic, first_fat; ++ int sector_size; + + /* Check partition type for harddisk */ + if (((current_drive & 0x80) || (current_slice != 0)) ++ && (current_slice != PC_SLICE_TYPE_EXT2FS) ++ && (current_slice != PC_SLICE_TYPE_LINUX_RAID) + && ! IS_PC_SLICE_TYPE_FAT (current_slice) + && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_MSDOS))) + return 0; +@@ -79,14 +82,16 @@ fat_mount (void) + if (! devread (0, 0, sizeof (bpb), (char *) &bpb)) + return 0; + ++ sector_size = get_sector_size(current_drive); ++ + /* Check if the number of sectors per cluster is zero here, to avoid + zero division. */ + if (bpb.sects_per_clust == 0) + return 0; + +- FAT_SUPER->sectsize_bits = log2 (FAT_CVT_U16 (bpb.bytes_per_sect)); ++ FAT_SUPER->sectsize_bits = grub_log2 (FAT_CVT_U16 (bpb.bytes_per_sect)); + FAT_SUPER->clustsize_bits +- = FAT_SUPER->sectsize_bits + log2 (bpb.sects_per_clust); ++ = FAT_SUPER->sectsize_bits + grub_log2 (bpb.sects_per_clust); + + /* Fill in info about super block */ + FAT_SUPER->num_sectors = FAT_CVT_U16 (bpb.short_sectors) +@@ -106,7 +111,7 @@ fat_mount (void) + FAT_SUPER->data_offset = + FAT_SUPER->root_offset + + ((FAT_SUPER->root_max - 1) >> FAT_SUPER->sectsize_bits) + 1; +- FAT_SUPER->num_clust = ++ FAT_SUPER->num_clust = + 2 + ((FAT_SUPER->num_sectors - FAT_SUPER->data_offset) + / bpb.sects_per_clust); + FAT_SUPER->sects_per_clust = bpb.sects_per_clust; +@@ -153,11 +158,11 @@ fat_mount (void) + /* Now do some sanity checks */ + + if (FAT_CVT_U16(bpb.bytes_per_sect) != (1 << FAT_SUPER->sectsize_bits) +- || FAT_CVT_U16(bpb.bytes_per_sect) != SECTOR_SIZE ++ || FAT_CVT_U16(bpb.bytes_per_sect) != sector_size + || bpb.sects_per_clust != (1 << (FAT_SUPER->clustsize_bits + - FAT_SUPER->sectsize_bits)) + || FAT_SUPER->num_clust <= 2 +- || (FAT_SUPER->fat_size * FAT_SUPER->num_clust / (2 * SECTOR_SIZE) ++ || (FAT_SUPER->fat_size * FAT_SUPER->num_clust / (2 * sector_size) + > FAT_SUPER->fat_length)) + return 0; + +@@ -201,6 +206,7 @@ fat_read (char *buf, int len) + int offset; + int ret = 0; + int size; ++ int sector_size = get_sector_size(current_drive); + + if (FAT_SUPER->file_cluster < 0) + { +@@ -236,10 +242,10 @@ fat_read (char *buf, int len) + if (cached_pos < 0 || + (cached_pos + FAT_SUPER->fat_size) > 2*FAT_CACHE_SIZE) + { +- FAT_SUPER->cached_fat = (fat_entry & ~(2*SECTOR_SIZE - 1)); ++ FAT_SUPER->cached_fat = (fat_entry & ~(2*sector_size - 1)); + cached_pos = (fat_entry - FAT_SUPER->cached_fat); + sector = FAT_SUPER->fat_offset +- + FAT_SUPER->cached_fat / (2*SECTOR_SIZE); ++ + FAT_SUPER->cached_fat / (2*sector_size); + if (!devread (sector, 0, FAT_CACHE_SIZE, (char*) FAT_BUF)) + return 0; + } +@@ -257,6 +263,8 @@ fat_read (char *buf, int len) + return ret; + if (next_cluster < 2 || next_cluster >= FAT_SUPER->num_clust) + { ++ grub_printf("next_cluster: %d FAT_SUPER->num_clust: %d\n", ++ next_cluster, FAT_SUPER->num_clust); + errnum = ERR_FSYS_CORRUPT; + return 0; + } +@@ -340,7 +348,8 @@ fat_dir (char *dirname) + /* Directories don't have a file size */ + filemax = MAXINT; + +- for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++); ++ for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++) ++ *rest = tolower(*rest); + + *rest = 0; + +@@ -432,7 +441,7 @@ fat_dir (char *dirname) + goto print_filename; + # endif /* STAGE1_5 */ + +- if (substring (dirname, filename) == 0) ++ if (subcasestring (dirname, filename) == 0) + break; + } + } +@@ -459,7 +468,7 @@ fat_dir (char *dirname) + if (do_possibilities) + { + print_filename: +- if (substring (dirname, filename) <= 0) ++ if (subcasestring (dirname, filename) <= 0) + { + if (print_possibilities > 0) + print_possibilities = -print_possibilities; +@@ -469,7 +478,7 @@ fat_dir (char *dirname) + } + # endif /* STAGE1_5 */ + +- if (substring (dirname, filename) == 0) ++ if (subcasestring (dirname, filename) == 0) + break; + } + +diff --git a/stage2/fsys_iso9660.c b/stage2/fsys_iso9660.c +index 90e4aa8..858238b 100644 +--- a/stage2/fsys_iso9660.c ++++ b/stage2/fsys_iso9660.c +@@ -56,8 +56,8 @@ struct iso_inode_info { + #define NAME_BUF ((unsigned char *)(FSYS_BUF + 8192)) + + +-static inline unsigned long +-log2 (unsigned long word) ++static inline unsigned int ++grub_log2 (unsigned int word) + { + asm volatile ("bsfl %1,%0" + : "=r" (word) +@@ -68,7 +68,7 @@ log2 (unsigned long word) + static int + iso9660_devread (int sector, int byte_offset, int byte_len, char *buf) + { +- unsigned short sector_size_lg2 = log2(buf_geom.sector_size); ++ unsigned short sector_size_lg2 = grub_log2(buf_geom.sector_size); + + /* + * We have to use own devread() function since BIOS return wrong geometry +@@ -81,8 +81,6 @@ iso9660_devread (int sector, int byte_offset, int byte_len, char *buf) + if (byte_len <= 0) + return 1; + +- sector += (byte_offset >> sector_size_lg2); +- byte_offset &= (buf_geom.sector_size - 1); + asm volatile ("shl%L0 %1,%0" + : "=r"(sector) + : "Ic"((int8_t)(ISO_SECTOR_BITS - sector_size_lg2)), +diff --git a/stage2/fsys_jfs.c b/stage2/fsys_jfs.c +index 307f836..d63b1de 100644 +--- a/stage2/fsys_jfs.c ++++ b/stage2/fsys_jfs.c +@@ -207,19 +207,20 @@ int + jfs_mount (void) + { + struct jfs_superblock super; ++ int sector_bits = get_sector_bits(current_drive); + +- if (part_length < MINJFS >> SECTOR_BITS +- || !devread (SUPER1_OFF >> SECTOR_BITS, 0, ++ if (part_length < MINJFS >> sector_bits ++ || !devread (SUPER1_OFF >> sector_bits, 0, + sizeof(struct jfs_superblock), (char *)&super) + || (super.s_magic != JFS_MAGIC) +- || !devread ((AITBL_OFF >> SECTOR_BITS) + FILESYSTEM_I, ++ || !devread ((AITBL_OFF >> sector_bits) + FILESYSTEM_I, + 0, DISIZE, (char*)fileset)) { + return 0; + } + + jfs.bsize = super.s_bsize; + jfs.l2bsize = super.s_l2bsize; +- jfs.bdlog = jfs.l2bsize - SECTOR_BITS; ++ jfs.bdlog = jfs.l2bsize - sector_bits; + + return 1; + } +@@ -387,9 +388,10 @@ int + jfs_embed (int *start_sector, int needed_sectors) + { + struct jfs_superblock super; ++ int sector_bits = get_sector_bits(current_drive); + + if (needed_sectors > 63 +- || !devread (SUPER1_OFF >> SECTOR_BITS, 0, ++ || !devread (SUPER1_OFF >> sector_bits, 0, + sizeof (struct jfs_superblock), + (char *)&super) + || (super.s_magic != JFS_MAGIC)) { +diff --git a/stage2/fsys_minix.c b/stage2/fsys_minix.c +index 5c76796..175ecf2 100644 +--- a/stage2/fsys_minix.c ++++ b/stage2/fsys_minix.c +@@ -138,11 +138,11 @@ struct minix_dir_entry { + #define SUPERBLOCK \ + ((struct minix_super_block *)(FSYS_BUF)) + #define INODE \ +- ((struct minix_inode *)((int) SUPERBLOCK + BLOCK_SIZE)) ++ ((struct minix_inode *)((unsigned long) SUPERBLOCK + BLOCK_SIZE)) + #define DATABLOCK1 \ +- ((int)((int)INODE + sizeof(struct minix_inode))) ++ ((unsigned long)INODE + sizeof(struct minix_inode)) + #define DATABLOCK2 \ +- ((int)((int)DATABLOCK1 + BLOCK_SIZE)) ++ ((unsigned long)DATABLOCK1 + BLOCK_SIZE) + + /* linux/stat.h */ + #define S_IFMT 00170000 +@@ -193,7 +193,7 @@ static int + minix_rdfsb (int fsblock, int buffer) + { + return devread (fsblock * (BLOCK_SIZE / DEV_BSIZE), 0, +- BLOCK_SIZE, (char *) buffer); ++ BLOCK_SIZE, (char *) (unsigned long) buffer); + } + + /* Maps LOGICAL_BLOCK (the file offset divided by the blocksize) into +@@ -336,7 +336,7 @@ minix_dir (char *dirname) + + ino_blk = (2 + SUPERBLOCK->s_imap_blocks + SUPERBLOCK->s_zmap_blocks + + (current_ino - 1) / MINIX_INODES_PER_BLOCK); +- if (! minix_rdfsb (ino_blk, (int) INODE)) ++ if (! minix_rdfsb (ino_blk, (unsigned long) INODE)) + return 0; + + /* reset indirect blocks! */ +diff --git a/stage2/fsys_reiserfs.c b/stage2/fsys_reiserfs.c +index 93ec5f8..f46fcb2 100644 +--- a/stage2/fsys_reiserfs.c ++++ b/stage2/fsys_reiserfs.c +@@ -292,7 +292,6 @@ struct reiserfs_de_head + + /* The size of the node cache */ + #define FSYSREISER_CACHE_SIZE 24*1024 +-#define FSYSREISER_MIN_BLOCKSIZE SECTOR_SIZE + #define FSYSREISER_MAX_BLOCKSIZE FSYSREISER_CACHE_SIZE / 3 + + /* Info about currently opened file */ +@@ -341,19 +340,19 @@ struct fsys_reiser_info + /* The cached s+tree blocks in FSYS_BUF, see below + * for a more detailed description. + */ +-#define ROOT ((char *) ((int) FSYS_BUF)) ++#define ROOT ((char *) ((unsigned long) FSYS_BUF)) + #define CACHE(i) (ROOT + ((i) << INFO->fullblocksize_shift)) + #define LEAF CACHE (DISK_LEAF_NODE_LEVEL) + + #define BLOCKHEAD(cache) ((struct block_head *) cache) +-#define ITEMHEAD ((struct item_head *) ((int) LEAF + BLKH_SIZE)) +-#define KEY(cache) ((struct key *) ((int) cache + BLKH_SIZE)) ++#define ITEMHEAD ((struct item_head *) ((unsigned long) LEAF + BLKH_SIZE)) ++#define KEY(cache) ((struct key *) ((unsigned long) cache + BLKH_SIZE)) + #define DC(cache) ((struct disk_child *) \ +- ((int) cache + BLKH_SIZE + KEY_SIZE * nr_item)) ++ ((unsigned long) cache + BLKH_SIZE + KEY_SIZE * nr_item)) + /* The fsys_reiser_info block. + */ + #define INFO \ +- ((struct fsys_reiser_info *) ((int) FSYS_BUF + FSYSREISER_CACHE_SIZE)) ++ ((struct fsys_reiser_info *) ((unsigned long) FSYS_BUF + FSYSREISER_CACHE_SIZE)) + /* + * The journal cache. For each transaction it contains the number of + * blocks followed by the real block numbers of this transaction. +@@ -366,8 +365,8 @@ struct fsys_reiser_info + #define JOURNAL_END ((__u32 *) (FSYS_BUF + FSYS_BUFLEN)) + + +-static __inline__ unsigned long +-log2 (unsigned long word) ++static __inline__ unsigned int ++grub_log2 (unsigned int word) + { + __asm__ ("bsfl %1,%0" + : "=r" (word) +@@ -569,9 +568,11 @@ int + reiserfs_mount (void) + { + struct reiserfs_super_block super; +- int superblock = REISERFS_DISK_OFFSET_IN_BYTES >> SECTOR_BITS; ++ int sector_bits = get_sector_bits(current_drive); ++ int sector_size = get_sector_size(current_drive); ++ int superblock = REISERFS_DISK_OFFSET_IN_BYTES >> sector_bits; + +- if (part_length < superblock + (sizeof (super) >> SECTOR_BITS) ++ if (part_length < superblock + (sizeof (super) >> sector_bits) + || ! devread (superblock, 0, sizeof (struct reiserfs_super_block), + (char *) &super) + || (substring (REISER3FS_SUPER_MAGIC_STRING, super.s_magic) > 0 +@@ -582,8 +583,8 @@ reiserfs_mount (void) + <= REISERFS_DISK_OFFSET_IN_BYTES)) + { + /* Try old super block position */ +- superblock = REISERFS_OLD_DISK_OFFSET_IN_BYTES >> SECTOR_BITS; +- if (part_length < superblock + (sizeof (super) >> SECTOR_BITS) ++ superblock = REISERFS_OLD_DISK_OFFSET_IN_BYTES >> sector_bits; ++ if (part_length < superblock + (sizeof (super) >> sector_bits) + || ! devread (superblock, 0, sizeof (struct reiserfs_super_block), + (char *) &super)) + return 0; +@@ -594,7 +595,7 @@ reiserfs_mount (void) + { + /* pre journaling super block ? */ + if (substring (REISERFS_SUPER_MAGIC_STRING, +- (char*) ((int) &super + 20)) > 0) ++ (char*) ((unsigned long) &super + 20)) > 0) + return 0; + + super.s_blocksize = REISERFS_OLD_BLOCKSIZE; +@@ -609,8 +610,8 @@ reiserfs_mount (void) + + INFO->version = super.s_version; + INFO->blocksize = super.s_blocksize; +- INFO->fullblocksize_shift = log2 (super.s_blocksize); +- INFO->blocksize_shift = INFO->fullblocksize_shift - SECTOR_BITS; ++ INFO->fullblocksize_shift = grub_log2 (super.s_blocksize); ++ INFO->blocksize_shift = INFO->fullblocksize_shift - sector_bits; + INFO->cached_slots = + (FSYSREISER_CACHE_SIZE >> INFO->fullblocksize_shift) - 1; + +@@ -622,9 +623,9 @@ reiserfs_mount (void) + /* Clear node cache. */ + memset (INFO->blocks, 0, sizeof (INFO->blocks)); + +- if (super.s_blocksize < FSYSREISER_MIN_BLOCKSIZE ++ if (super.s_blocksize < get_sector_size(current_drive) + || super.s_blocksize > FSYSREISER_MAX_BLOCKSIZE +- || (SECTOR_SIZE << INFO->blocksize_shift) != super.s_blocksize) ++ || (sector_size << INFO->blocksize_shift) != super.s_blocksize) + return 0; + + /* Initialize journal code. If something fails we end with zero +@@ -1215,9 +1216,10 @@ int + reiserfs_embed (int *start_sector, int needed_sectors) + { + struct reiserfs_super_block super; ++ int sector_bits = get_sector_bits(current_drive); + int num_sectors; +- +- if (! devread (REISERFS_DISK_OFFSET_IN_BYTES >> SECTOR_BITS, 0, ++ ++ if (! devread (REISERFS_DISK_OFFSET_IN_BYTES >> sector_bits, 0, + sizeof (struct reiserfs_super_block), (char *) &super)) + return 0; + +@@ -1229,9 +1231,9 @@ reiserfs_embed (int *start_sector, int needed_sectors) + * the journal log */ + super.s_journal_block * super.s_blocksize + > REISERFS_DISK_OFFSET_IN_BYTES)) +- num_sectors = (REISERFS_DISK_OFFSET_IN_BYTES >> SECTOR_BITS) - 1; ++ num_sectors = (REISERFS_DISK_OFFSET_IN_BYTES >> sector_bits) - 1; + else +- num_sectors = (REISERFS_OLD_DISK_OFFSET_IN_BYTES >> SECTOR_BITS) - 1; ++ num_sectors = (REISERFS_OLD_DISK_OFFSET_IN_BYTES >> sector_bits) - 1; + + return (needed_sectors <= num_sectors); + } +diff --git a/stage2/fsys_uefi.c b/stage2/fsys_uefi.c +new file mode 100644 +index 0000000..38ee614 +--- /dev/null ++++ b/stage2/fsys_uefi.c +@@ -0,0 +1,196 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2001 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include "shared.h" ++#include "filesys.h" ++ ++#ifdef PLATFORM_EFI ++#undef GRUB_UTIL ++ ++#include ++#include ++#include ++#include ++#include ++ ++static grub_efi_simple_file_system_t *file_system; ++static grub_efi_guid_t fsinfo_guid = GRUB_EFI_DEVICE_PATH_GUID; ++grub_efi_file_t *root = NULL; ++grub_efi_file_t *file = NULL; ++ ++typedef struct { ++ grub_efi_uint64_t size; ++ grub_efi_uint64_t filesize; ++ grub_efi_uint64_t physicalsize; ++ grub_efi_time_t createtime; ++ grub_efi_time_t accesstime; ++ grub_efi_time_t modifytime; ++ grub_efi_uint64_t attribute; ++ grub_efi_char16_t filename[]; ++} grub_efi_file_info_t; ++ ++int ++uefi_mount (void) ++{ ++ grub_efi_handle_t dev_handle = grub_efidisk_get_current_bdev_handle(); ++ grub_efi_status_t status; ++ ++ if (!dev_handle) ++ return 0; ++ ++ file_system = grub_efi_open_protocol (dev_handle, &simple_file_system_guid, ++ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); ++ ++ if (!file_system) ++ return 0; ++ ++ status = Call_Service_2 (file_system->open_volume, file_system, &root); ++ ++ if (status != GRUB_EFI_SUCCESS) ++ return 0; ++ ++ return 1; ++} ++ ++int ++uefi_dir (char *dirname) ++{ ++ grub_efi_status_t status; ++ grub_efi_char16_t *file_name_w = NULL; ++ grub_efi_char16_t *dir_name_w = NULL; ++ grub_efi_file_info_t *fileinfo = NULL; ++ grub_efi_uintn_t buffersize = 0; ++ grub_efi_file_t *directory = NULL; ++ int i, dirlen = 0, ret = 0; ++ ++ file_name_w = grub_malloc (2 * strlen(dirname) + 2); ++ if (!file_name_w) ++ goto done; ++ ++ for (i=0; iopen, root, &file, file_name_w, ++ GRUB_EFI_FILE_MODE_READ, 0); ++ ++ if (status != GRUB_EFI_SUCCESS) ++ goto done; ++ ++ status = Call_Service_5 (root->open, root, &directory, dir_name_w, ++ GRUB_EFI_FILE_MODE_READ, 0); ++ ++ while (1) { ++ int filenamelen; ++ int invalid = 0; ++ ++ status = Call_Service_3 (directory->read, directory, &buffersize, fileinfo); ++ ++ if (status == GRUB_EFI_BUFFER_TOO_SMALL) { ++ fileinfo = grub_malloc(buffersize); ++ continue; ++ } else if (status) { ++ goto done; ++ } ++ if (buffersize == 0) { ++ goto done; ++ } ++ ++ filenamelen = fileinfo->size - sizeof(*fileinfo); ++ ++ if (filenamelen != ((strlen(dirname) - dirlen) * 2)) ++ continue; ++ ++ for (i=0; ifilename[i] != file_name_w[i + dirlen + 1]) ++ invalid = 1; ++ ++ if (!invalid) ++ break; ++ } ++ ++ ret = 1; ++ filemax = fileinfo->filesize; ++ filepos = 0; ++ ++ done: ++ if (fileinfo) ++ grub_free (fileinfo); ++ if (dir_name_w) ++ grub_free (dir_name_w); ++ if (file_name_w) ++ grub_free (file_name_w); ++ ++ return ret; ++} ++ ++void ++uefi_close (void) ++{ ++ grub_efi_status_t status = 0; ++ ++ if (file) ++ status = Call_Service_1 (file->close, file); ++ ++ file = NULL; ++} ++ ++int ++uefi_read (char *addr, int len) ++{ ++ grub_efi_status_t status; ++ grub_efi_uintn_t length = len; ++ ++ errnum = 0; ++ ++ status = Call_Service_2 (file->set_position, file, filepos); ++ ++ if (status != GRUB_EFI_SUCCESS) ++ goto out; ++ ++ status = Call_Service_3 (file->read, file, &length, addr); ++ ++ len = length; ++ ++ if (status == GRUB_EFI_SUCCESS) { ++ filepos += len; ++ return len; ++ } ++ ++ out: ++ errnum = ERR_FILE_NOT_FOUND; ++ ++ return 0; ++} ++#endif +diff --git a/stage2/fsys_vstafs.c b/stage2/fsys_vstafs.c +index a116717..652e784 100644 +--- a/stage2/fsys_vstafs.c ++++ b/stage2/fsys_vstafs.c +@@ -30,8 +30,8 @@ static struct dir_entry *vstafs_nextdir (void); + + + #define FIRST_SECTOR ((struct first_sector *) FSYS_BUF) +-#define FILE_INFO ((struct fs_file *) (int) FIRST_SECTOR + 8192) +-#define DIRECTORY_BUF ((struct dir_entry *) (int) FILE_INFO + 512) ++#define FILE_INFO ((struct fs_file *) (unsigned long) FIRST_SECTOR + 8192) ++#define DIRECTORY_BUF ((struct dir_entry *) (unsigned long) FILE_INFO + 512) + + #define ROOT_SECTOR 1 + +@@ -186,35 +186,35 @@ vstafs_dir (char *dirname) + int + vstafs_read (char *addr, int len) + { +- struct alloc *a; ++ struct alloc *al; + int size, ret = 0, offset, curr_len = 0; +- int curr_ext; ++ int this_ext; + char extent; + int ext_size; + char *curr_pos; + + get_file_info (f_sector); + size = FILE_INFO->len-VSTAFS_START_DATA; +- a = FILE_INFO->blocks; ++ al = FILE_INFO->blocks; + + if (filepos > 0) + { +- if (filepos < a[0].a_len * 512 - VSTAFS_START_DATA) ++ if (filepos < al[0].a_len * 512 - VSTAFS_START_DATA) + { + offset = filepos + VSTAFS_START_DATA; + extent = 0; +- curr_len = a[0].a_len * 512 - offset - filepos; ++ curr_len = al[0].a_len * 512 - offset - filepos; + } + else + { +- ext_size = a[0].a_len * 512 - VSTAFS_START_DATA; ++ ext_size = al[0].a_len * 512 - VSTAFS_START_DATA; + offset = filepos - ext_size; + extent = 1; + do + { + curr_len -= ext_size; + offset -= ext_size; +- ext_size = a[extent+1].a_len * 512; ++ ext_size = al[extent+1].a_len * 512; + } + while (extent < FILE_INFO->extents && offset>ext_size); + } +@@ -223,16 +223,16 @@ vstafs_read (char *addr, int len) + { + offset = VSTAFS_START_DATA; + extent = 0; +- curr_len = a[0].a_len * 512 - offset; ++ curr_len = al[0].a_len * 512 - offset; + } + + curr_pos = addr; + if (curr_len > len) + curr_len = len; + +- for (curr_ext=extent; +- curr_ext < FILE_INFO->extents; +- curr_len = a[curr_ext].a_len * 512, curr_pos += curr_len, curr_ext++) ++ for (this_ext=extent; ++ this_ext < FILE_INFO->extents; ++ curr_len = al[this_ext].a_len * 512, curr_pos += curr_len, this_ext++) + { + ret += curr_len; + size -= curr_len; +@@ -242,7 +242,7 @@ vstafs_read (char *addr, int len) + curr_len += size; + } + +- devread (a[curr_ext].a_start,offset, curr_len, curr_pos); ++ devread (al[this_ext].a_start,offset, curr_len, curr_pos); + offset = 0; + } + +diff --git a/stage2/fsys_xfs.c b/stage2/fsys_xfs.c +index 76c4c13..226e343 100644 +--- a/stage2/fsys_xfs.c ++++ b/stage2/fsys_xfs.c +@@ -97,19 +97,23 @@ ino2offset (xfs_ino_t ino) + return ino & XFS_INO_MASK(XFS_INO_OFFSET_BITS); + } + +-static inline __const__ xfs_uint16_t +-le16 (xfs_uint16_t x) ++static inline xfs_uint16_t __attribute__((__const__)) ++le16 (xfs_uint16_t x) + { ++#if 1 ++ return ((x & 0xff00) >> 8) | ((x & 0xff) << 8); ++#else + __asm__("xchgb %b0,%h0" \ + : "=q" (x) \ + : "0" (x)); \ + return x; ++#endif + } + +-static inline __const__ xfs_uint32_t ++static inline xfs_uint32_t __attribute__((__const__)) + le32 (xfs_uint32_t x) + { +-#if 0 ++#if 1 + /* 386 doesn't have bswap. */ + __asm__("bswap %0" : "=r" (x) : "0" (x)); + #else +@@ -122,7 +126,7 @@ le32 (xfs_uint32_t x) + return x; + } + +-static inline __const__ xfs_uint64_t ++static inline xfs_uint64_t __attribute__((__const__)) + le64 (xfs_uint64_t x) + { + xfs_uint32_t h = x >> 32; +@@ -187,12 +191,12 @@ fsb2daddr (xfs_fsblock_t fsbno) + } + + #undef offsetof +-#define offsetof(t,m) ((int)&(((t *)0)->m)) ++#define offsetof(t,m) __builtin_offsetof(t, m) + +-static inline int ++static inline xfs_uint64_t + btroot_maxrecs (void) + { +- int tmp = icore.di_forkoff ? (icore.di_forkoff << 3) : xfs.isize; ++ xfs_uint64_t tmp = icore.di_forkoff ? (icore.di_forkoff << 3) : xfs.isize; + + return (tmp - sizeof(xfs_bmdr_block_t) - offsetof(xfs_dinode_t, di_u)) / + (sizeof (xfs_bmbt_key_t) + sizeof (xfs_bmbt_ptr_t)); +@@ -465,7 +469,7 @@ xfs_mount (void) + + xfs.bsize = le32 (super.sb_blocksize); + xfs.blklog = super.sb_blocklog; +- xfs.bdlog = xfs.blklog - SECTOR_BITS; ++ xfs.bdlog = xfs.blklog - get_sector_bits(current_drive); + xfs.rootino = le64 (super.sb_rootino); + xfs.isize = le16 (super.sb_inodesize); + xfs.agblocks = le32 (super.sb_agblocks); +diff --git a/stage2/gpt.h b/stage2/gpt.h +new file mode 100644 +index 0000000..ad6d8f1 +--- /dev/null ++++ b/stage2/gpt.h +@@ -0,0 +1,69 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2005,2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef _GPT_H ++#define _GPT_H ++ ++typedef signed char grub_int8_t; ++typedef signed short grub_int16_t; ++typedef signed int grub_int32_t; ++typedef signed long long int grub_int64_t; ++typedef unsigned char grub_uint8_t; ++typedef unsigned short grub_uint16_t; ++typedef unsigned int grub_uint32_t; ++typedef unsigned long long int grub_uint64_t; ++ ++struct grub_gpt_header ++{ ++ grub_uint64_t magic; ++ grub_uint32_t version; ++ grub_uint32_t headersize; ++ grub_uint32_t crc32; ++ grub_uint32_t unused1; ++ grub_uint64_t primary; ++ grub_uint64_t backup; ++ grub_uint64_t start; ++ grub_uint64_t end; ++ grub_uint8_t guid[16]; ++ grub_uint64_t partitions; ++ grub_uint32_t maxpart; ++ grub_uint32_t partentry_size; ++ grub_uint32_t partentry_crc32; ++} __attribute__ ((packed)); ++ ++struct grub_gpt_partentry ++{ ++ grub_uint64_t type1; ++ grub_uint64_t type2; ++ grub_uint8_t guid[16]; ++ grub_uint64_t start; ++ grub_uint64_t end; ++ grub_uint8_t attrib; ++ char name[72]; ++} __attribute__ ((packed)); ++ ++#define GPT_HEADER_MAGIC 0x5452415020494645ULL ++ ++#define GPT_ENTRY_SECTOR(drive,size,entry) \ ++ ((((entry) * (size) + 1) & ~(get_sector_size(drive) - 1)) \ ++ >> get_sector_bits(drive)) ++#define GPT_ENTRY_INDEX(drive, size,entry) \ ++ ((((entry) * (size) + 1) & (get_sector_size(drive) - 1)) - 1) ++ ++#endif /* _GPT_H */ +diff --git a/stage2/graphics.c b/stage2/graphics.c +new file mode 100644 +index 0000000..81109ae +--- /dev/null ++++ b/stage2/graphics.c +@@ -0,0 +1,573 @@ ++/* graphics.c - graphics mode support for GRUB */ ++/* Implemented as a terminal type by Jeremy Katz based ++ * on a patch by Paulo C�sar Pereira de Andrade ++ */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2001,2002 Red Hat, Inc. ++ * Portions copyright (C) 2000 Conectiva, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++ ++ ++#ifdef SUPPORT_GRAPHICS ++ ++#include ++#include ++#include ++ ++int saved_videomode; ++unsigned char *font8x16; ++ ++int graphics_inited = 0; ++static char splashimage[64]; ++ ++#define VSHADOW VSHADOW1 ++unsigned char VSHADOW1[38400]; ++unsigned char VSHADOW2[38400]; ++unsigned char VSHADOW4[38400]; ++unsigned char VSHADOW8[38400]; ++ ++/* constants to define the viewable area */ ++const int x0 = 0; ++const int x1 = 80; ++const int y0 = 0; ++const int y1 = 30; ++ ++/* text buffer has to be kept around so that we can write things as we ++ * scroll and the like */ ++unsigned short text[80 * 30]; ++ ++/* why do these have to be kept here? */ ++int foreground = (63 << 16) | (63 << 8) | (63), background = 0, border = 0; ++ ++/* current position */ ++static int fontx = 0; ++static int fonty = 0; ++ ++/* global state so that we don't try to recursively scroll or cursor */ ++static int no_scroll = 0; ++ ++/* color state */ ++static int graphics_standard_color = A_NORMAL; ++static int graphics_normal_color = A_NORMAL; ++static int graphics_highlight_color = A_REVERSE; ++static int graphics_current_color = A_NORMAL; ++static color_state graphics_color_state = COLOR_STATE_STANDARD; ++ ++ ++/* graphics local functions */ ++static void graphics_setxy(int col, int row); ++static void graphics_scroll(void); ++ ++/* FIXME: where do these really belong? */ ++static inline void outb(unsigned short port, unsigned char val) ++{ ++ __asm __volatile ("outb %0,%1"::"a" (val), "d" (port)); ++} ++ ++static void MapMask(int value) { ++ outb(0x3c4, 2); ++ outb(0x3c5, value); ++} ++ ++/* bit mask register */ ++static void BitMask(int value) { ++ outb(0x3ce, 8); ++ outb(0x3cf, value); ++} ++ ++ ++ ++/* Set the splash image */ ++void graphics_set_splash(char *splashfile) { ++ grub_strcpy(splashimage, splashfile); ++} ++ ++/* Get the current splash image */ ++char *graphics_get_splash(void) { ++ return splashimage; ++} ++ ++/* Initialize a vga16 graphics display with the palette based off of ++ * the image in splashimage. If the image doesn't exist, leave graphics ++ * mode. */ ++int graphics_init() ++{ ++ if (!read_image(splashimage)) { ++ current_term = term_table; ++ grub_printf("failed to read image\n"); ++ return 0; ++ } ++ ++ font8x16 = (unsigned char*)graphics_get_font(); ++ ++ graphics_inited = 1; ++ ++ /* make sure that the highlight color is set correctly */ ++ graphics_highlight_color = ((graphics_normal_color >> 4) | ++ ((graphics_normal_color & 0xf) << 4)); ++ ++ return 1; ++} ++ ++/* Leave graphics mode */ ++void graphics_end(void) ++{ ++ if (graphics_inited) { ++ set_videomode(saved_videomode); ++ graphics_inited = 0; ++ } ++} ++ ++/* Print ch on the screen. Handle any needed scrolling or the like */ ++void graphics_putchar(int ch) { ++ ch &= 0xff; ++ ++ graphics_cursor(0); ++ ++ if (ch == '\n') { ++ if (fonty + 1 < y1) ++ graphics_setxy(fontx, fonty + 1); ++ else ++ graphics_scroll(); ++ graphics_cursor(1); ++ return; ++ } else if (ch == '\r') { ++ graphics_setxy(x0, fonty); ++ graphics_cursor(1); ++ return; ++ } ++ ++ graphics_cursor(0); ++ ++ text[fonty * 80 + fontx] = ch; ++ text[fonty * 80 + fontx] &= 0x00ff; ++ if (graphics_current_color & 0xf0) ++ text[fonty * 80 + fontx] |= 0x100; ++ ++ graphics_cursor(0); ++ ++ if ((fontx + 1) >= x1) { ++ graphics_setxy(x0, fonty); ++ if (fonty + 1 < y1) ++ graphics_setxy(x0, fonty + 1); ++ else ++ graphics_scroll(); ++ } else { ++ graphics_setxy(fontx + 1, fonty); ++ } ++ ++ graphics_cursor(1); ++} ++ ++/* get the current location of the cursor */ ++int graphics_getxy(void) { ++ return (fontx << 8) | fonty; ++} ++ ++void graphics_gotoxy(int x, int y) { ++ graphics_cursor(0); ++ ++ graphics_setxy(x, y); ++ ++ graphics_cursor(1); ++} ++ ++void graphics_cls(void) { ++ int i; ++ unsigned char *mem, *s1, *s2, *s4, *s8; ++ ++ graphics_cursor(0); ++ graphics_gotoxy(x0, y0); ++ ++ mem = (unsigned char*)VIDEOMEM; ++ s1 = (unsigned char*)VSHADOW1; ++ s2 = (unsigned char*)VSHADOW2; ++ s4 = (unsigned char*)VSHADOW4; ++ s8 = (unsigned char*)VSHADOW8; ++ ++ for (i = 0; i < 80 * 30; i++) ++ text[i] = ' '; ++ graphics_cursor(1); ++ ++ BitMask(0xff); ++ ++ /* plano 1 */ ++ MapMask(1); ++ grub_memcpy(mem, s1, 38400); ++ ++ /* plano 2 */ ++ MapMask(2); ++ grub_memcpy(mem, s2, 38400); ++ ++ /* plano 3 */ ++ MapMask(4); ++ grub_memcpy(mem, s4, 38400); ++ ++ /* plano 4 */ ++ MapMask(8); ++ grub_memcpy(mem, s8, 38400); ++ ++ MapMask(15); ++ ++} ++ ++void graphics_setcolorstate (color_state state) { ++ switch (state) { ++ case COLOR_STATE_STANDARD: ++ graphics_current_color = graphics_standard_color; ++ break; ++ case COLOR_STATE_NORMAL: ++ graphics_current_color = graphics_normal_color; ++ break; ++ case COLOR_STATE_HIGHLIGHT: ++ graphics_current_color = graphics_highlight_color; ++ break; ++ default: ++ graphics_current_color = graphics_standard_color; ++ break; ++ } ++ ++ graphics_color_state = state; ++} ++ ++void graphics_setcolor (int normal_color, int highlight_color) { ++ graphics_normal_color = normal_color; ++ graphics_highlight_color = highlight_color; ++ ++ graphics_setcolorstate (graphics_color_state); ++} ++ ++int graphics_setcursor (int on) { ++ /* FIXME: we don't have a cursor in graphics */ ++ return 0; ++} ++ ++/* Open the file, and search for a valid XPM header. Return 1 if one is found, ++ * leaving the current position as the start of the next line. Else, ++ * return 0. ++ */ ++static int xpm_open(char *s) { ++ char buf, prev, target[]="/* XPM */\n"; ++ int pos=0; ++ ++ if (!grub_open(s)) ++ return 0; ++ ++ prev='\n'; ++ buf=0; ++ do { ++ if (grub_read(&buf, 1) != 1) { ++ grub_close(); ++ return 0; ++ } ++ if ((pos == 0 && prev == '\n') || pos > 0) { ++ if (buf == target[pos]) ++ pos++; ++ else ++ pos=0; ++ } ++ prev=buf; ++ } while (target[pos]); ++ return 1; ++} ++ ++/* Read in the splashscreen image and set the palette up appropriately. ++ * Format of splashscreen is an xpm (can be gzipped) with 16 colors and ++ * 640x480. */ ++int read_image(char *s) ++{ ++ char buf[32], pal[16]; ++ unsigned char c, base, mask, *s1, *s2, *s4, *s8; ++ unsigned i, len, idx, colors, x, y, width, height; ++ ++ if (!xpm_open(s)) ++ return 0; ++ ++ saved_videomode = set_videomode(0x12); ++ ++ /* parse info */ ++ while (grub_read(&c, 1)) { ++ if (c == '"') ++ break; ++ } ++ ++ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) ++ ; ++ ++ i = 0; ++ width = c - '0'; ++ while (grub_read(&c, 1)) { ++ if (c >= '0' && c <= '9') ++ width = width * 10 + c - '0'; ++ else ++ break; ++ } ++ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) ++ ; ++ ++ height = c - '0'; ++ while (grub_read(&c, 1)) { ++ if (c >= '0' && c <= '9') ++ height = height * 10 + c - '0'; ++ else ++ break; ++ } ++ while (grub_read(&c, 1) && (c == ' ' || c == '\t')) ++ ; ++ ++ colors = c - '0'; ++ while (grub_read(&c, 1)) { ++ if (c >= '0' && c <= '9') ++ colors = colors * 10 + c - '0'; ++ else ++ break; ++ } ++ ++ base = 0; ++ while (grub_read(&c, 1) && c != '"') ++ ; ++ ++ /* palette */ ++ for (i = 0, idx = 1; i < colors; i++) { ++ len = 0; ++ ++ while (grub_read(&c, 1) && c != '"') ++ ; ++ grub_read(&c, 1); /* char */ ++ base = c; ++ grub_read(buf, 4); /* \t c # */ ++ ++ while (grub_read(&c, 1) && c != '"') { ++ if (len < sizeof(buf)) ++ buf[len++] = c; ++ } ++ ++ if (len == 6 && idx < 15) { ++ int r = ((hex(buf[0]) << 4) | hex(buf[1])) >> 2; ++ int g = ((hex(buf[2]) << 4) | hex(buf[3])) >> 2; ++ int b = ((hex(buf[4]) << 4) | hex(buf[5])) >> 2; ++ ++ pal[idx] = base; ++ graphics_set_palette(idx, r, g, b); ++ ++idx; ++ } ++ } ++ ++ x = y = len = 0; ++ ++ s1 = (unsigned char*)VSHADOW1; ++ s2 = (unsigned char*)VSHADOW2; ++ s4 = (unsigned char*)VSHADOW4; ++ s8 = (unsigned char*)VSHADOW8; ++ ++ for (i = 0; i < 38400; i++) ++ s1[i] = s2[i] = s4[i] = s8[i] = 0; ++ ++ /* parse xpm data */ ++ while (y < height) { ++ while (1) { ++ if (!grub_read(&c, 1)) { ++ grub_close(); ++ return 0; ++ } ++ if (c == '"') ++ break; ++ } ++ ++ while (grub_read(&c, 1) && c != '"') { ++ for (i = 1; i < 15; i++) ++ if (pal[i] == c) { ++ c = i; ++ break; ++ } ++ ++ mask = 0x80 >> (x & 7); ++ if (c & 1) ++ s1[len + (x >> 3)] |= mask; ++ if (c & 2) ++ s2[len + (x >> 3)] |= mask; ++ if (c & 4) ++ s4[len + (x >> 3)] |= mask; ++ if (c & 8) ++ s8[len + (x >> 3)] |= mask; ++ ++ if (++x >= 640) { ++ x = 0; ++ ++ if (y < 480) ++ len += 80; ++ ++y; ++ } ++ } ++ } ++ ++ grub_close(); ++ ++ graphics_set_palette(0, (background >> 16), (background >> 8) & 63, ++ background & 63); ++ graphics_set_palette(15, (foreground >> 16), (foreground >> 8) & 63, ++ foreground & 63); ++ graphics_set_palette(0x11, (border >> 16), (border >> 8) & 63, ++ border & 63); ++ ++ return 1; ++} ++ ++ ++/* Convert a character which is a hex digit to the appropriate integer */ ++int hex(int v) ++{ ++ if (v >= 'A' && v <= 'F') ++ return (v - 'A' + 10); ++ if (v >= 'a' && v <= 'f') ++ return (v - 'a' + 10); ++ return (v - '0'); ++} ++ ++ ++/* move the graphics cursor location to col, row */ ++static void graphics_setxy(int col, int row) { ++ if (col >= x0 && col < x1) { ++ fontx = col; ++ cursorX = col << 3; ++ } ++ if (row >= y0 && row < y1) { ++ fonty = row; ++ cursorY = row << 4; ++ } ++} ++ ++/* scroll the screen */ ++static void graphics_scroll(void) { ++ int i, j; ++ ++ /* we don't want to scroll recursively... that would be bad */ ++ if (no_scroll) ++ return; ++ no_scroll = 1; ++ ++ /* move everything up a line */ ++ for (j = y0 + 1; j < y1; j++) { ++ graphics_gotoxy(x0, j - 1); ++ for (i = x0; i < x1; i++) { ++ graphics_putchar(text[j * 80 + i]); ++ } ++ } ++ ++ /* last line should be blank */ ++ graphics_gotoxy(x0, y1 - 1); ++ for (i = x0; i < x1; i++) ++ graphics_putchar(' '); ++ graphics_setxy(x0, y1 - 1); ++ ++ no_scroll = 0; ++} ++ ++ ++void graphics_cursor(int set) { ++ unsigned char *pat, *mem, *ptr, chr[16 << 2]; ++ int i, ch, invert, offset; ++ ++ if (set && no_scroll) ++ return; ++ ++ offset = cursorY * 80 + fontx; ++ ch = text[fonty * 80 + fontx] & 0xff; ++ invert = (text[fonty * 80 + fontx] & 0xff00) != 0; ++ pat = font8x16 + (ch << 4); ++ ++ mem = (unsigned char*)VIDEOMEM + offset; ++ ++ if (!set) { ++ for (i = 0; i < 16; i++) { ++ unsigned char mask = pat[i]; ++ ++ if (!invert) { ++ chr[i ] = ((unsigned char*)VSHADOW1)[offset]; ++ chr[16 + i] = ((unsigned char*)VSHADOW2)[offset]; ++ chr[32 + i] = ((unsigned char*)VSHADOW4)[offset]; ++ chr[48 + i] = ((unsigned char*)VSHADOW8)[offset]; ++ ++ /* FIXME: if (shade) */ ++ if (1) { ++ if (ch == DISP_VERT || ch == DISP_LL || ++ ch == DISP_UR || ch == DISP_LR) { ++ unsigned char pmask = ~(pat[i] >> 1); ++ ++ chr[i ] &= pmask; ++ chr[16 + i] &= pmask; ++ chr[32 + i] &= pmask; ++ chr[48 + i] &= pmask; ++ } ++ if (i > 0 && ch != DISP_VERT) { ++ unsigned char pmask = ~(pat[i - 1] >> 1); ++ ++ chr[i ] &= pmask; ++ chr[16 + i] &= pmask; ++ chr[32 + i] &= pmask; ++ chr[48 + i] &= pmask; ++ if (ch == DISP_HORIZ || ch == DISP_UR || ch == DISP_LR) { ++ pmask = ~pat[i - 1]; ++ ++ chr[i ] &= pmask; ++ chr[16 + i] &= pmask; ++ chr[32 + i] &= pmask; ++ chr[48 + i] &= pmask; ++ } ++ } ++ } ++ chr[i ] |= mask; ++ chr[16 + i] |= mask; ++ chr[32 + i] |= mask; ++ chr[48 + i] |= mask; ++ ++ offset += 80; ++ } ++ else { ++ chr[i ] = ~mask; ++ chr[16 + i] = ~mask; ++ chr[32 + i] = ~mask; ++ chr[48 + i] = ~mask; ++ } ++ } ++ } ++ else { ++ MapMask(15); ++ ptr = mem; ++ for (i = 0; i < 16; i++, ptr += 80) { ++ cursorBuf[i] = pat[i]; ++ *ptr = ~pat[i]; ++ } ++ return; ++ } ++ ++ offset = 0; ++ for (i = 1; i < 16; i <<= 1, offset += 16) { ++ int j; ++ ++ MapMask(i); ++ ptr = mem; ++ for (j = 0; j < 16; j++, ptr += 80) ++ *ptr = chr[j + offset]; ++ } ++ ++ MapMask(15); ++} ++ ++#endif /* SUPPORT_GRAPHICS */ +diff --git a/stage2/graphics.h b/stage2/graphics.h +new file mode 100644 +index 0000000..a4cd9e8 +--- /dev/null ++++ b/stage2/graphics.h +@@ -0,0 +1,42 @@ ++/* graphics.h - graphics console interface */ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef GRAPHICS_H ++#define GRAPHICS_H ++ ++/* magic constant */ ++#define VIDEOMEM 0xA0000 ++ ++/* function prototypes */ ++char *graphics_get_splash(void); ++ ++int read_image(char *s); ++void graphics_cursor(int set); ++ ++/* function prototypes for asm functions */ ++void * graphics_get_font(); ++void graphics_set_palette(int idx, int red, int green, int blue); ++void set_int1c_handler(); ++void unset_int1c_handler(); ++ ++extern short cursorX, cursorY; ++extern char cursorBuf[16]; ++ ++#endif /* GRAPHICS_H */ +diff --git a/stage2/gunzip.c b/stage2/gunzip.c +index 8835089..45a2312 100644 +--- a/stage2/gunzip.c ++++ b/stage2/gunzip.c +@@ -141,7 +141,7 @@ static int gzip_filepos; + static int gzip_filemax; + static int gzip_fsmax; + static int saved_filepos; +-static unsigned long gzip_crc; ++static unsigned int gzip_crc; + + /* internal extra variables for use of inflate code */ + static int block_type; +@@ -169,7 +169,14 @@ linalloc (int size) + static void + reset_linalloc (void) + { ++#ifdef PLATFORM_EFI ++ unsigned int top = (mbi.mem_upper << 10) + 0x100000; ++ if (top > GRUB_SCRATCH_MEM_SIZE) ++ top = GRUB_SCRATCH_MEM_SIZE; ++ linalloc_topaddr = RAW_ADDR (top); ++#else + linalloc_topaddr = RAW_ADDR ((mbi.mem_upper << 10) + 0x100000); ++#endif + } + + +@@ -253,7 +260,7 @@ bad_field (int len) + + typedef unsigned char uch; + typedef unsigned short ush; +-typedef unsigned long ulg; ++typedef unsigned int ulg; + + /* + * Window Size +@@ -316,8 +323,8 @@ gunzip_test_header (void) + return 0; + } + +- gzip_crc = *((unsigned long *) buf); +- gzip_fsmax = gzip_filemax = *((unsigned long *) (buf + 4)); ++ gzip_crc = *((unsigned int *) buf); ++ gzip_fsmax = gzip_filemax = *((unsigned int *) (buf + 4)); + + initialize_tables (); + +diff --git a/stage2/iso9660.h b/stage2/iso9660.h +index 4a6a8cc..c311ecf 100644 +--- a/stage2/iso9660.h ++++ b/stage2/iso9660.h +@@ -73,11 +73,11 @@ typedef union { + + typedef struct __iso_16bit { + u_int16_t l, b; +-} iso_16bit_t __attribute__ ((packed)); ++} iso_16bit_t; + + typedef struct __iso_32bit { + u_int32_t l, b; +-} iso_32bit_t __attribute__ ((packed)); ++} iso_32bit_t; + + typedef u_int8_t iso_date_t[7]; + +diff --git a/stage2/mb_info.h b/stage2/mb_info.h +index 1e1e63b..3a8dcfb 100644 +--- a/stage2/mb_info.h ++++ b/stage2/mb_info.h +@@ -44,10 +44,10 @@ struct mod_list + + struct AddrRangeDesc + { +- unsigned long size; ++ unsigned int size; + unsigned long long BaseAddr; + unsigned long long Length; +- unsigned long Type; ++ unsigned int Type; + + /* unspecified optional padding... */ + } __attribute__ ((packed)); +diff --git a/stage2/pc_slice.h b/stage2/pc_slice.h +index a38d97f..2206e82 100644 +--- a/stage2/pc_slice.h ++++ b/stage2/pc_slice.h +@@ -38,50 +38,50 @@ + */ + + #define PC_MBR_CHECK_SIG(mbr_ptr) \ +- ( *( (unsigned short *) (((int) mbr_ptr) + PC_MBR_SIG_OFFSET) ) \ ++ ( *( (unsigned short *) (((unsigned long) mbr_ptr) + PC_MBR_SIG_OFFSET) ) \ + == PC_MBR_SIGNATURE ) + + #define PC_MBR_SIG(mbr_ptr) \ +- ( *( (unsigned short *) (((int) mbr_ptr) + PC_MBR_SIG_OFFSET) ) ) ++ ( *( (unsigned short *) (((unsigned long) mbr_ptr) + PC_MBR_SIG_OFFSET) ) ) + + #define PC_SLICE_FLAG(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET \ + + (part << 4)) ) ) + + #define PC_SLICE_HEAD(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 1 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 1 \ + + (part << 4)) ) ) + + #define PC_SLICE_SEC(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 2 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 2 \ + + (part << 4)) ) ) + + #define PC_SLICE_CYL(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 3 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 3 \ + + (part << 4)) ) ) + + #define PC_SLICE_TYPE(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 4 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 4 \ + + (part << 4)) ) ) + + #define PC_SLICE_EHEAD(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 5 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 5 \ + + (part << 4)) ) ) + + #define PC_SLICE_ESEC(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 6 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 6 \ + + (part << 4)) ) ) + + #define PC_SLICE_ECYL(mbr_ptr, part) \ +- ( *( (unsigned char *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 7 \ ++ ( *( (unsigned char *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 7 \ + + (part << 4)) ) ) + + #define PC_SLICE_START(mbr_ptr, part) \ +- ( *( (unsigned long *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 8 \ ++ ( *( (unsigned int *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 8 \ + + (part << 4)) ) ) + + #define PC_SLICE_LENGTH(mbr_ptr, part) \ +- ( *( (unsigned long *) (((int) mbr_ptr) + PC_SLICE_OFFSET + 12 \ ++ ( *( (unsigned int *) (((unsigned long) mbr_ptr) + PC_SLICE_OFFSET + 12 \ + + (part << 4)) ) ) + + +@@ -115,6 +115,8 @@ + #define PC_SLICE_TYPE_LINUX_EXTENDED 0x85 + #define PC_SLICE_TYPE_VSTAFS 0x9e + #define PC_SLICE_TYPE_DELL_UTIL 0xde ++#define PC_SLICE_TYPE_GPT 0xee ++#define PC_SLICE_TYPE_EFI 0xef + #define PC_SLICE_TYPE_LINUX_RAID 0xfd + + +@@ -129,7 +131,8 @@ + || _type == PC_SLICE_TYPE_FAT16_LBA \ + || _type == PC_SLICE_TYPE_FAT32 \ + || _type == PC_SLICE_TYPE_FAT32_LBA \ +- || _type == PC_SLICE_TYPE_DELL_UTIL; }) ++ || _type == PC_SLICE_TYPE_DELL_UTIL \ ++ || _type == PC_SLICE_TYPE_EFI; }) + + #define IS_PC_SLICE_TYPE_EXTENDED(type) \ + (((type) == PC_SLICE_TYPE_EXTENDED) \ +@@ -177,40 +180,40 @@ + */ + + #define BSD_LABEL_CHECK_MAG(l_ptr) \ +- ( *( (unsigned long *) (((int) l_ptr) + BSD_LABEL_MAG_OFFSET) ) \ +- == ( (unsigned long) BSD_LABEL_MAGIC ) ) ++ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_LABEL_MAG_OFFSET) ) \ ++ == ( (unsigned int) BSD_LABEL_MAGIC ) ) + + #define BSD_LABEL_MAG(l_ptr) \ +- ( *( (unsigned long *) (((int) l_ptr) + BSD_LABEL_MAG_OFFSET) ) ) ++ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_LABEL_MAG_OFFSET) ) ) + + #define BSD_LABEL_DTYPE(l_ptr) \ +- ( *( (unsigned short *) (((int) l_ptr) + BSD_LABEL_MAG_OFFSET + 4) ) ) ++ ( *( (unsigned short *) (((unsigned long) l_ptr) + BSD_LABEL_MAG_OFFSET + 4) ) ) + + #define BSD_LABEL_NPARTS(l_ptr) \ +- ( *( (unsigned short *) (((int) l_ptr) + BSD_LABEL_NPARTS_OFFSET) ) ) ++ ( *( (unsigned short *) (((unsigned long) l_ptr) + BSD_LABEL_NPARTS_OFFSET) ) ) + + #define BSD_PART_LENGTH(l_ptr, part) \ +- ( *( (unsigned long *) (((int) l_ptr) + BSD_PART_OFFSET \ ++ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_PART_OFFSET \ + + (part << 4)) ) ) + + #define BSD_PART_START(l_ptr, part) \ +- ( *( (unsigned long *) (((int) l_ptr) + BSD_PART_OFFSET + 4 \ ++ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 4 \ + + (part << 4)) ) ) + + #define BSD_PART_FRAG_SIZE(l_ptr, part) \ +- ( *( (unsigned long *) (((int) l_ptr) + BSD_PART_OFFSET + 8 \ ++ ( *( (unsigned int *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 8 \ + + (part << 4)) ) ) + + #define BSD_PART_TYPE(l_ptr, part) \ +- ( *( (unsigned char *) (((int) l_ptr) + BSD_PART_OFFSET + 12 \ ++ ( *( (unsigned char *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 12 \ + + (part << 4)) ) ) + + #define BSD_PART_FRAGS_PER_BLOCK(l_ptr, part) \ +- ( *( (unsigned char *) (((int) l_ptr) + BSD_PART_OFFSET + 13 \ ++ ( *( (unsigned char *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 13 \ + + (part << 4)) ) ) + + #define BSD_PART_EXTRA(l_ptr, part) \ +- ( *( (unsigned short *) (((int) l_ptr) + BSD_PART_OFFSET + 14 \ ++ ( *( (unsigned short *) (((unsigned long) l_ptr) + BSD_PART_OFFSET + 14 \ + + (part << 4)) ) ) + + +diff --git a/stage2/serial.c b/stage2/serial.c +index 16c376f..37b9532 100644 +--- a/stage2/serial.c ++++ b/stage2/serial.c +@@ -37,7 +37,7 @@ static int keep_track = 1; + + /* Hardware-dependent definitions. */ + +-#ifndef GRUB_UTIL ++#if ! defined (GRUB_UTIL) && ! defined (PLATFORM_EFI) + /* The structure for speed vs. divisor. */ + struct divisor + { +@@ -187,7 +187,7 @@ serial_hw_init (unsigned short port, unsigned int speed, + + return 1; + } +-#endif /* ! GRUB_UTIL */ ++#endif /* ! defined (GRUB_UTIL) && ! defined (PLATFORM_EFI) */ + + + /* Generic definitions. */ +diff --git a/stage2/sha256crypt.c b/stage2/sha256crypt.c +new file mode 100644 +index 0000000..db168a2 +--- /dev/null ++++ b/stage2/sha256crypt.c +@@ -0,0 +1,723 @@ ++/* SHA256-based Unix crypt implementation. ++ Released into the Public Domain by Ulrich Drepper . ++ Adapted for grub by Miloslav Trmac . */ ++ ++#include ++#include ++ ++#include ++ ++typedef unsigned int uint32_t; ++typedef size_t uintptr_t; ++#define alloca(SIZE) (__builtin_alloca (SIZE)) ++#define MIN(A, B) ((A) < (B) ? (A) : (B)) ++#define MAX(A, B) ((A) > (B) ? (A) : (B)) ++ ++/* Structure to save state of computation between the single steps. */ ++struct sha256_ctx ++{ ++ uint32_t H[8]; ++ ++ uint32_t total[2]; ++ uint32_t buflen; ++ char buffer[128]; /* NB: always correctly aligned for uint32_t. */ ++}; ++ ++ ++#if 1 /* __BYTE_ORDER == __LITTLE_ENDIAN */ ++# define SWAP(n) \ ++ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) ++#else ++# define SWAP(n) (n) ++#endif ++ ++ ++/* This array contains the bytes used to pad the buffer to the next ++ 64-byte boundary. (FIPS 180-2:5.1.1) */ ++static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; ++ ++ ++/* Constants for SHA256 from FIPS 180-2:4.2.2. */ ++static const uint32_t K[64] = ++ { ++ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, ++ 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, ++ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, ++ 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, ++ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, ++ 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, ++ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, ++ 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, ++ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, ++ 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, ++ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, ++ 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, ++ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, ++ 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, ++ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, ++ 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 ++ }; ++ ++ ++/* Process LEN bytes of BUFFER, accumulating context into CTX. ++ It is assumed that LEN % 64 == 0. */ ++static void ++sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx) ++{ ++ const uint32_t *words = buffer; ++ size_t nwords = len / sizeof (uint32_t); ++ uint32_t a = ctx->H[0]; ++ uint32_t b = ctx->H[1]; ++ uint32_t c = ctx->H[2]; ++ uint32_t d = ctx->H[3]; ++ uint32_t e = ctx->H[4]; ++ uint32_t f = ctx->H[5]; ++ uint32_t g = ctx->H[6]; ++ uint32_t h = ctx->H[7]; ++ ++ /* First increment the byte count. FIPS 180-2 specifies the possible ++ length of the file up to 2^64 bits. Here we only compute the ++ number of bytes. Do a double word increment. */ ++ ctx->total[0] += len; ++ if (ctx->total[0] < len) ++ ++ctx->total[1]; ++ ++ /* Process all bytes in the buffer with 64 bytes in each round of ++ the loop. */ ++ while (nwords > 0) ++ { ++ uint32_t W[64]; ++ uint32_t a_save = a; ++ uint32_t b_save = b; ++ uint32_t c_save = c; ++ uint32_t d_save = d; ++ uint32_t e_save = e; ++ uint32_t f_save = f; ++ uint32_t g_save = g; ++ uint32_t h_save = h; ++ unsigned int t; ++ ++ /* Operators defined in FIPS 180-2:4.1.2. */ ++#define Ch(x, y, z) ((x & y) ^ (~x & z)) ++#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z)) ++#define S0(x) (CYCLIC (x, 2) ^ CYCLIC (x, 13) ^ CYCLIC (x, 22)) ++#define S1(x) (CYCLIC (x, 6) ^ CYCLIC (x, 11) ^ CYCLIC (x, 25)) ++#define R0(x) (CYCLIC (x, 7) ^ CYCLIC (x, 18) ^ (x >> 3)) ++#define R1(x) (CYCLIC (x, 17) ^ CYCLIC (x, 19) ^ (x >> 10)) ++ ++ /* It is unfortunate that C does not provide an operator for ++ cyclic rotation. Hope the C compiler is smart enough. */ ++#define CYCLIC(w, s) ((w >> s) | (w << (32 - s))) ++ ++ /* Compute the message schedule according to FIPS 180-2:6.2.2 step 2. */ ++ for (t = 0; t < 16; ++t) ++ { ++ W[t] = SWAP (*words); ++ ++words; ++ } ++ for (t = 16; t < 64; ++t) ++ W[t] = R1 (W[t - 2]) + W[t - 7] + R0 (W[t - 15]) + W[t - 16]; ++ ++ /* The actual computation according to FIPS 180-2:6.2.2 step 3. */ ++ for (t = 0; t < 64; ++t) ++ { ++ uint32_t T1 = h + S1 (e) + Ch (e, f, g) + K[t] + W[t]; ++ uint32_t T2 = S0 (a) + Maj (a, b, c); ++ h = g; ++ g = f; ++ f = e; ++ e = d + T1; ++ d = c; ++ c = b; ++ b = a; ++ a = T1 + T2; ++ } ++ ++ /* Add the starting values of the context according to FIPS 180-2:6.2.2 ++ step 4. */ ++ a += a_save; ++ b += b_save; ++ c += c_save; ++ d += d_save; ++ e += e_save; ++ f += f_save; ++ g += g_save; ++ h += h_save; ++ ++ /* Prepare for the next round. */ ++ nwords -= 16; ++ } ++ ++ /* Put checksum in context given as argument. */ ++ ctx->H[0] = a; ++ ctx->H[1] = b; ++ ctx->H[2] = c; ++ ctx->H[3] = d; ++ ctx->H[4] = e; ++ ctx->H[5] = f; ++ ctx->H[6] = g; ++ ctx->H[7] = h; ++} ++ ++ ++/* Initialize structure containing state of computation. ++ (FIPS 180-2:5.3.2) */ ++static void ++sha256_init_ctx (struct sha256_ctx *ctx) ++{ ++ ctx->H[0] = 0x6a09e667; ++ ctx->H[1] = 0xbb67ae85; ++ ctx->H[2] = 0x3c6ef372; ++ ctx->H[3] = 0xa54ff53a; ++ ctx->H[4] = 0x510e527f; ++ ctx->H[5] = 0x9b05688c; ++ ctx->H[6] = 0x1f83d9ab; ++ ctx->H[7] = 0x5be0cd19; ++ ++ ctx->total[0] = ctx->total[1] = 0; ++ ctx->buflen = 0; ++} ++ ++ ++/* Process the remaining bytes in the internal buffer and the usual ++ prolog according to the standard and write the result to RESBUF. ++ ++ IMPORTANT: On some systems it is required that RESBUF is correctly ++ aligned for a 32 bits value. */ ++static void * ++sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf) ++{ ++ /* Take yet unprocessed bytes into account. */ ++ uint32_t bytes = ctx->buflen; ++ size_t pad; ++ unsigned int i; ++ ++ /* Now count remaining bytes. */ ++ ctx->total[0] += bytes; ++ if (ctx->total[0] < bytes) ++ ++ctx->total[1]; ++ ++ pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes; ++ memcpy (&ctx->buffer[bytes], fillbuf, pad); ++ ++ /* Put the 64-bit file length in *bits* at the end of the buffer. */ ++ *(uint32_t *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3); ++ *(uint32_t *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) | ++ (ctx->total[0] >> 29)); ++ ++ /* Process last bytes. */ ++ sha256_process_block (ctx->buffer, bytes + pad + 8, ctx); ++ ++ /* Put result from CTX in first 32 bytes following RESBUF. */ ++ for (i = 0; i < 8; ++i) ++ ((uint32_t *) resbuf)[i] = SWAP (ctx->H[i]); ++ ++ return resbuf; ++} ++ ++ ++static void ++sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx) ++{ ++ /* When we already have some bits in our internal buffer concatenate ++ both inputs first. */ ++ if (ctx->buflen != 0) ++ { ++ size_t left_over = ctx->buflen; ++ size_t add = 128 - left_over > len ? len : 128 - left_over; ++ ++ memcpy (&ctx->buffer[left_over], buffer, add); ++ ctx->buflen += add; ++ ++ if (ctx->buflen > 64) ++ { ++ sha256_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ++ ++ ctx->buflen &= 63; ++ /* The regions in the following copy operation cannot overlap. */ ++ memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~63], ++ ctx->buflen); ++ } ++ ++ buffer = (const char *) buffer + add; ++ len -= add; ++ } ++ ++ /* Process available complete blocks. */ ++ if (len >= 64) ++ { ++/* To check alignment gcc has an appropriate operator. Other ++ compilers don't. */ ++#if __GNUC__ >= 2 ++# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0) ++#else ++# define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint32_t) != 0) ++#endif ++ if (UNALIGNED_P (buffer)) ++ while (len > 64) ++ { ++ sha256_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); ++ buffer = (const char *) buffer + 64; ++ len -= 64; ++ } ++ else ++ { ++ sha256_process_block (buffer, len & ~63, ctx); ++ buffer = (const char *) buffer + (len & ~63); ++ len &= 63; ++ } ++ } ++ ++ /* Move remaining bytes into internal buffer. */ ++ if (len > 0) ++ { ++ size_t left_over = ctx->buflen; ++ ++ memcpy (&ctx->buffer[left_over], buffer, len); ++ left_over += len; ++ if (left_over >= 64) ++ { ++ sha256_process_block (ctx->buffer, 64, ctx); ++ left_over -= 64; ++ memcpy (ctx->buffer, &ctx->buffer[64], left_over); ++ } ++ ctx->buflen = left_over; ++ } ++} ++ ++ ++/* Define our magic string to mark salt for SHA256 "encryption" ++ replacement. */ ++static const char sha256_salt_prefix[] = "$5$"; ++ ++/* Prefix for optional rounds specification. */ ++static const char sha256_rounds_prefix[] = "rounds="; ++ ++/* Maximum salt string length. */ ++#define SALT_LEN_MAX 16 ++/* Default number of rounds if not explicitly specified. */ ++#define ROUNDS_DEFAULT 5000 ++/* Minimum number of rounds. */ ++#define ROUNDS_MIN 1000 ++/* Maximum number of rounds. */ ++#define ROUNDS_MAX 999999999 ++ ++/* Table with characters for base64 transformation. */ ++static const char b64t[64] = ++"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; ++ ++ ++static char * ++sha256_crypt_r (const char *key, const char *salt, char *buffer, int buflen) ++{ ++ unsigned char alt_result[32] ++ __attribute__ ((__aligned__ (__alignof__ (uint32_t)))); ++ unsigned char temp_result[32] ++ __attribute__ ((__aligned__ (__alignof__ (uint32_t)))); ++ struct sha256_ctx ctx; ++ struct sha256_ctx alt_ctx; ++ size_t salt_len; ++ size_t key_len; ++ size_t cnt; ++ char *cp; ++ char *copied_key = NULL; ++ char *copied_salt = NULL; ++ char *p_bytes; ++ char *s_bytes; ++ /* Default number of rounds. */ ++ size_t rounds = ROUNDS_DEFAULT; ++ bool rounds_custom = false; ++ ++ /* Find beginning of salt string. The prefix should normally always ++ be present. Just in case it is not. */ ++ if (grub_memcmp (sha256_salt_prefix, salt, ++ sizeof (sha256_salt_prefix) - 1) == 0) ++ /* Skip salt prefix. */ ++ salt += sizeof (sha256_salt_prefix) - 1; ++ ++ if (grub_memcmp (salt, sha256_rounds_prefix, ++ sizeof (sha256_rounds_prefix) - 1) == 0) ++ { ++ const char *num = salt + sizeof (sha256_rounds_prefix) - 1; ++ char *endp = (char *)num; ++ int srounds = 0; ++ if (*endp == '0' && tolower (endp[1]) == 'x') ++ /* This would be interpreted as hexadecimal by safe_parse_maxint(). */ ++ endp++; ++ else ++ /* On error, endp and srounds is not changed. */ ++ safe_parse_maxint(&endp, &srounds); ++ if (*endp == '$') ++ { ++ salt = endp + 1; ++ rounds = MAX (ROUNDS_MIN, MIN (srounds, ROUNDS_MAX)); ++ rounds_custom = true; ++ } ++ } ++ ++ salt_len = MIN (strcspn (salt, "$"), SALT_LEN_MAX); ++ key_len = strlen (key); ++ ++ if ((key - (char *) 0) % __alignof__ (uint32_t) != 0) ++ { ++ char *tmp = (char *) alloca (key_len + __alignof__ (uint32_t)); ++ key = copied_key = ++ memcpy (tmp + __alignof__ (uint32_t) ++ - (tmp - (char *) 0) % __alignof__ (uint32_t), ++ key, key_len); ++ } ++ ++ if ((salt - (char *) 0) % __alignof__ (uint32_t) != 0) ++ { ++ char *tmp = (char *) alloca (salt_len + __alignof__ (uint32_t)); ++ salt = copied_salt = ++ memcpy (tmp + __alignof__ (uint32_t) ++ - (tmp - (char *) 0) % __alignof__ (uint32_t), ++ salt, salt_len); ++ } ++ ++ /* Prepare for the real work. */ ++ sha256_init_ctx (&ctx); ++ ++ /* Add the key string. */ ++ sha256_process_bytes (key, key_len, &ctx); ++ ++ /* The last part is the salt string. This must be at most 16 ++ characters and it ends at the first `$' character (for ++ compatibility with existing implementations). */ ++ sha256_process_bytes (salt, salt_len, &ctx); ++ ++ ++ /* Compute alternate SHA256 sum with input KEY, SALT, and KEY. The ++ final result will be added to the first context. */ ++ sha256_init_ctx (&alt_ctx); ++ ++ /* Add key. */ ++ sha256_process_bytes (key, key_len, &alt_ctx); ++ ++ /* Add salt. */ ++ sha256_process_bytes (salt, salt_len, &alt_ctx); ++ ++ /* Add key again. */ ++ sha256_process_bytes (key, key_len, &alt_ctx); ++ ++ /* Now get result of this (32 bytes) and add it to the other ++ context. */ ++ sha256_finish_ctx (&alt_ctx, alt_result); ++ ++ /* Add for any character in the key one byte of the alternate sum. */ ++ for (cnt = key_len; cnt > 32; cnt -= 32) ++ sha256_process_bytes (alt_result, 32, &ctx); ++ sha256_process_bytes (alt_result, cnt, &ctx); ++ ++ /* Take the binary representation of the length of the key and for every ++ 1 add the alternate sum, for every 0 the key. */ ++ for (cnt = key_len; cnt > 0; cnt >>= 1) ++ if ((cnt & 1) != 0) ++ sha256_process_bytes (alt_result, 32, &ctx); ++ else ++ sha256_process_bytes (key, key_len, &ctx); ++ ++ /* Create intermediate result. */ ++ sha256_finish_ctx (&ctx, alt_result); ++ ++ /* Start computation of P byte sequence. */ ++ sha256_init_ctx (&alt_ctx); ++ ++ /* For every character in the password add the entire password. */ ++ for (cnt = 0; cnt < key_len; ++cnt) ++ sha256_process_bytes (key, key_len, &alt_ctx); ++ ++ /* Finish the digest. */ ++ sha256_finish_ctx (&alt_ctx, temp_result); ++ ++ /* Create byte sequence P. */ ++ cp = p_bytes = alloca (key_len); ++ for (cnt = key_len; cnt >= 32; cnt -= 32) ++ { ++ memcpy (cp, temp_result, 32); ++ cp += 32; ++ } ++ memcpy (cp, temp_result, cnt); ++ ++ /* Start computation of S byte sequence. */ ++ sha256_init_ctx (&alt_ctx); ++ ++ /* For every character in the password add the entire password. */ ++ for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt) ++ sha256_process_bytes (salt, salt_len, &alt_ctx); ++ ++ /* Finish the digest. */ ++ sha256_finish_ctx (&alt_ctx, temp_result); ++ ++ /* Create byte sequence S. */ ++ cp = s_bytes = alloca (salt_len); ++ for (cnt = salt_len; cnt >= 32; cnt -= 32) ++ { ++ memcpy (cp, temp_result, 32); ++ cp += 32; ++ } ++ memcpy (cp, temp_result, cnt); ++ ++ /* Repeatedly run the collected hash value through SHA256 to burn ++ CPU cycles. */ ++ for (cnt = 0; cnt < rounds; ++cnt) ++ { ++ /* New context. */ ++ sha256_init_ctx (&ctx); ++ ++ /* Add key or last result. */ ++ if ((cnt & 1) != 0) ++ sha256_process_bytes (p_bytes, key_len, &ctx); ++ else ++ sha256_process_bytes (alt_result, 32, &ctx); ++ ++ /* Add salt for numbers not divisible by 3. */ ++ if (cnt % 3 != 0) ++ sha256_process_bytes (s_bytes, salt_len, &ctx); ++ ++ /* Add key for numbers not divisible by 7. */ ++ if (cnt % 7 != 0) ++ sha256_process_bytes (p_bytes, key_len, &ctx); ++ ++ /* Add key or last result. */ ++ if ((cnt & 1) != 0) ++ sha256_process_bytes (alt_result, 32, &ctx); ++ else ++ sha256_process_bytes (p_bytes, key_len, &ctx); ++ ++ /* Create intermediate result. */ ++ sha256_finish_ctx (&ctx, alt_result); ++ } ++ ++ /* Now we can construct the result string. It consists of three ++ parts. */ ++ cp = stpncpy (buffer, sha256_salt_prefix, MAX (0, buflen)); ++ buflen -= sizeof (sha256_salt_prefix) - 1; ++ ++ if (rounds_custom) ++ { ++ char sbuf[64]; ++ grub_sprintf (sbuf, "%s%llu$", sha256_rounds_prefix, ++ (unsigned long long)rounds); ++ size_t n = strlen (sbuf); ++ memcpy (cp, sbuf, MIN (MAX (0, buflen), n)); ++ cp += n; ++ buflen -= n; ++ } ++ ++ cp = stpncpy (cp, salt, MIN ((size_t) MAX (0, buflen), salt_len)); ++ buflen -= MIN ((size_t) MAX (0, buflen), salt_len); ++ ++ if (buflen > 0) ++ { ++ *cp++ = '$'; ++ --buflen; ++ } ++ ++#define b64_from_24bit(B2, B1, B0, N) \ ++ do { \ ++ unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0); \ ++ int n = (N); \ ++ while (n-- > 0 && buflen > 0) \ ++ { \ ++ *cp++ = b64t[w & 0x3f]; \ ++ --buflen; \ ++ w >>= 6; \ ++ } \ ++ } while (0) ++ ++ b64_from_24bit (alt_result[0], alt_result[10], alt_result[20], 4); ++ b64_from_24bit (alt_result[21], alt_result[1], alt_result[11], 4); ++ b64_from_24bit (alt_result[12], alt_result[22], alt_result[2], 4); ++ b64_from_24bit (alt_result[3], alt_result[13], alt_result[23], 4); ++ b64_from_24bit (alt_result[24], alt_result[4], alt_result[14], 4); ++ b64_from_24bit (alt_result[15], alt_result[25], alt_result[5], 4); ++ b64_from_24bit (alt_result[6], alt_result[16], alt_result[26], 4); ++ b64_from_24bit (alt_result[27], alt_result[7], alt_result[17], 4); ++ b64_from_24bit (alt_result[18], alt_result[28], alt_result[8], 4); ++ b64_from_24bit (alt_result[9], alt_result[19], alt_result[29], 4); ++ b64_from_24bit (0, alt_result[31], alt_result[30], 3); ++ if (buflen <= 0) ++ buffer = NULL; ++ else ++ *cp = '\0'; /* Terminate the string. */ ++ ++ /* Clear the buffer for the intermediate result so that people ++ attaching to processes or reading core dumps cannot get any ++ information. We do it in this way to clear correct_words[] ++ inside the SHA256 implementation as well. */ ++ sha256_init_ctx (&ctx); ++ sha256_finish_ctx (&ctx, alt_result); ++ memset (temp_result, '\0', sizeof (temp_result)); ++ memset (p_bytes, '\0', key_len); ++ memset (s_bytes, '\0', salt_len); ++ memset (&ctx, '\0', sizeof (ctx)); ++ memset (&alt_ctx, '\0', sizeof (alt_ctx)); ++ if (copied_key != NULL) ++ memset (copied_key, '\0', key_len); ++ if (copied_salt != NULL) ++ memset (copied_salt, '\0', salt_len); ++ ++ return buffer; ++} ++ ++ ++/* This entry point is equivalent to the `crypt' function in Unix ++ libcs. */ ++char * ++sha256_crypt (const char *key, const char *salt) ++{ ++ static char buffer[sizeof (sha256_salt_prefix) - 1 ++ + sizeof (sha256_rounds_prefix) + 9 + 1 ++ + 256 + 1 + 43 + 1]; /* 256 bytes for salt */ ++ int needed = (sizeof (sha256_salt_prefix) - 1 ++ + sizeof (sha256_rounds_prefix) + 9 + 1 ++ + strlen (salt) + 1 + 43 + 1); ++ ++ if (sizeof (buffer) < needed) ++ return NULL; ++ ++ return sha256_crypt_r (key, salt, buffer, sizeof (buffer)); ++} ++ ++ ++#ifdef TEST ++static const struct ++{ ++ const char *input; ++ const char result[32]; ++} tests[] = ++ { ++ /* Test vectors from FIPS 180-2: appendix B.1. */ ++ { "abc", ++ "\xba\x78\x16\xbf\x8f\x01\xcf\xea\x41\x41\x40\xde\x5d\xae\x22\x23" ++ "\xb0\x03\x61\xa3\x96\x17\x7a\x9c\xb4\x10\xff\x61\xf2\x00\x15\xad" }, ++ /* Test vectors from FIPS 180-2: appendix B.2. */ ++ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", ++ "\x24\x8d\x6a\x61\xd2\x06\x38\xb8\xe5\xc0\x26\x93\x0c\x3e\x60\x39" ++ "\xa3\x3c\xe4\x59\x64\xff\x21\x67\xf6\xec\xed\xd4\x19\xdb\x06\xc1" }, ++ /* Test vectors from the NESSIE project. */ ++ { "", ++ "\xe3\xb0\xc4\x42\x98\xfc\x1c\x14\x9a\xfb\xf4\xc8\x99\x6f\xb9\x24" ++ "\x27\xae\x41\xe4\x64\x9b\x93\x4c\xa4\x95\x99\x1b\x78\x52\xb8\x55" }, ++ { "a", ++ "\xca\x97\x81\x12\xca\x1b\xbd\xca\xfa\xc2\x31\xb3\x9a\x23\xdc\x4d" ++ "\xa7\x86\xef\xf8\x14\x7c\x4e\x72\xb9\x80\x77\x85\xaf\xee\x48\xbb" }, ++ { "message digest", ++ "\xf7\x84\x6f\x55\xcf\x23\xe1\x4e\xeb\xea\xb5\xb4\xe1\x55\x0c\xad" ++ "\x5b\x50\x9e\x33\x48\xfb\xc4\xef\xa3\xa1\x41\x3d\x39\x3c\xb6\x50" }, ++ { "abcdefghijklmnopqrstuvwxyz", ++ "\x71\xc4\x80\xdf\x93\xd6\xae\x2f\x1e\xfa\xd1\x44\x7c\x66\xc9\x52" ++ "\x5e\x31\x62\x18\xcf\x51\xfc\x8d\x9e\xd8\x32\xf2\xda\xf1\x8b\x73" }, ++ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", ++ "\x24\x8d\x6a\x61\xd2\x06\x38\xb8\xe5\xc0\x26\x93\x0c\x3e\x60\x39" ++ "\xa3\x3c\xe4\x59\x64\xff\x21\x67\xf6\xec\xed\xd4\x19\xdb\x06\xc1" }, ++ { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", ++ "\xdb\x4b\xfc\xbd\x4d\xa0\xcd\x85\xa6\x0c\x3c\x37\xd3\xfb\xd8\x80" ++ "\x5c\x77\xf1\x5f\xc6\xb1\xfd\xfe\x61\x4e\xe0\xa7\xc8\xfd\xb4\xc0" }, ++ { "123456789012345678901234567890123456789012345678901234567890" ++ "12345678901234567890", ++ "\xf3\x71\xbc\x4a\x31\x1f\x2b\x00\x9e\xef\x95\x2d\xd8\x3c\xa8\x0e" ++ "\x2b\x60\x02\x6c\x8e\x93\x55\x92\xd0\xf9\xc3\x08\x45\x3c\x81\x3e" } ++ }; ++#define ntests (sizeof (tests) / sizeof (tests[0])) ++ ++ ++static const struct ++{ ++ const char *salt; ++ const char *input; ++ const char *expected; ++} tests2[] = ++{ ++ { "$5$saltstring", "Hello world!", ++ "$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5" }, ++ { "$5$rounds=10000$saltstringsaltstring", "Hello world!", ++ "$5$rounds=10000$saltstringsaltst$3xv.VbSHBb41AL9AvLeujZkZRBAwqFMz2." ++ "opqey6IcA" }, ++ { "$5$rounds=5000$toolongsaltstring", "This is just a test", ++ "$5$rounds=5000$toolongsaltstrin$Un/5jzAHMgOGZ5.mWJpuVolil07guHPvOW8" ++ "mGRcvxa5" }, ++ { "$5$rounds=1400$anotherlongsaltstring", ++ "a very much longer text to encrypt. This one even stretches over more" ++ "than one line.", ++ "$5$rounds=1400$anotherlongsalts$Rx.j8H.h8HjEDGomFU8bDkXm3XIUnzyxf12" ++ "oP84Bnq1" }, ++ { "$5$rounds=77777$short", ++ "we have a short salt string but not a short password", ++ "$5$rounds=77777$short$JiO1O3ZpDAxGJeaDIuqCoEFysAe1mZNJRs3pw0KQRd/" }, ++ { "$5$rounds=123456$asaltof16chars..", "a short string", ++ "$5$rounds=123456$asaltof16chars..$gP3VQ/6X7UUEW3HkBn2w1/Ptq2jxPyzV/" ++ "cZKmF/wJvD" }, ++ { "$5$rounds=10$roundstoolow", "the minimum number is still observed", ++ "$5$rounds=1000$roundstoolow$yfvwcWrQ8l/K0DAWyuPMDNHpIVlTQebY9l/gL97" ++ "2bIC" }, ++}; ++#define ntests2 (sizeof (tests2) / sizeof (tests2[0])) ++ ++ ++int ++sha256_test (void) ++{ ++ struct sha256_ctx ctx; ++ char sum[32]; ++ int result = 0; ++ int cnt, i; ++ ++ for (cnt = 0; cnt < (int) ntests; ++cnt) ++ { ++ sha256_init_ctx (&ctx); ++ sha256_process_bytes (tests[cnt].input, strlen (tests[cnt].input), &ctx); ++ sha256_finish_ctx (&ctx, sum); ++ if (memcmp (tests[cnt].result, sum, 32) != 0) ++ { ++ printf ("test %d run %d failed\n", cnt, 1); ++ result = 1; ++ } ++ ++ sha256_init_ctx (&ctx); ++ for (i = 0; tests[cnt].input[i] != '\0'; ++i) ++ sha256_process_bytes (&tests[cnt].input[i], 1, &ctx); ++ sha256_finish_ctx (&ctx, sum); ++ if (memcmp (tests[cnt].result, sum, 32) != 0) ++ { ++ printf ("test %d run %d failed\n", cnt, 2); ++ result = 1; ++ } ++ } ++ ++ /* Test vector from FIPS 180-2: appendix B.3. */ ++ char buf[1000]; ++ memset (buf, 'a', sizeof (buf)); ++ sha256_init_ctx (&ctx); ++ for (i = 0; i < 1000; ++i) ++ sha256_process_bytes (buf, sizeof (buf), &ctx); ++ sha256_finish_ctx (&ctx, sum); ++ static const char expected[32] = ++ "\xcd\xc7\x6e\x5c\x99\x14\xfb\x92\x81\xa1\xc7\xe2\x84\xd7\x3e\x67" ++ "\xf1\x80\x9a\x48\xa4\x97\x20\x0e\x04\x6d\x39\xcc\xc7\x11\x2c\xd0"; ++ if (memcmp (expected, sum, 32) != 0) ++ { ++ printf ("test %d failed\n", cnt); ++ result = 1; ++ } ++ ++ for (cnt = 0; cnt < ntests2; ++cnt) ++ { ++ char *cp = sha256_crypt (tests2[cnt].input, tests2[cnt].salt); ++ ++ if (strcmp (cp, tests2[cnt].expected) != 0) ++ { ++ printf ("test %d: expected \"%s\", got \"%s\"\n", ++ cnt, tests2[cnt].expected, cp); ++ result = 1; ++ } ++ } ++ ++ if (result == 0) ++ printf ("all tests OK\n"); ++ ++ return result; ++} ++#endif +diff --git a/stage2/sha512crypt.c b/stage2/sha512crypt.c +new file mode 100644 +index 0000000..ff6cd26 +--- /dev/null ++++ b/stage2/sha512crypt.c +@@ -0,0 +1,795 @@ ++/* SHA512-based Unix crypt implementation. ++ Released into the Public Domain by Ulrich Drepper . ++ Adapted for grub by Miloslav Trmac . */ ++ ++#include ++#include ++ ++#include ++ ++typedef unsigned long long uint64_t; ++typedef size_t uintptr_t; ++#define alloca(SIZE) (__builtin_alloca (SIZE)) ++#define UINT64_C(X) X ## ULL ++#define MIN(a, b) ((a) < (b) ? (a) : (b)) ++#define MAX(a, b) ((a) > (b) ? (a) : (b)) ++ ++/* Structure to save state of computation between the single steps. */ ++struct sha512_ctx ++{ ++ uint64_t H[8]; ++ ++ uint64_t total[2]; ++ uint64_t buflen; ++ char buffer[256]; /* NB: always correctly aligned for uint64_t. */ ++}; ++ ++ ++#if 1 /* __BYTE_ORDER == __LITTLE_ENDIAN */ ++# define SWAP(n) \ ++ (((n) << 56) \ ++ | (((n) & 0xff00) << 40) \ ++ | (((n) & 0xff0000) << 24) \ ++ | (((n) & 0xff000000) << 8) \ ++ | (((n) >> 8) & 0xff000000) \ ++ | (((n) >> 24) & 0xff0000) \ ++ | (((n) >> 40) & 0xff00) \ ++ | ((n) >> 56)) ++#else ++# define SWAP(n) (n) ++#endif ++ ++ ++/* This array contains the bytes used to pad the buffer to the next ++ 64-byte boundary. (FIPS 180-2:5.1.2) */ ++static const unsigned char fillbuf[128] = { 0x80, 0 /* , 0, 0, ... */ }; ++ ++ ++/* Constants for SHA512 from FIPS 180-2:4.2.3. */ ++static const uint64_t K[80] = ++ { ++ UINT64_C (0x428a2f98d728ae22), UINT64_C (0x7137449123ef65cd), ++ UINT64_C (0xb5c0fbcfec4d3b2f), UINT64_C (0xe9b5dba58189dbbc), ++ UINT64_C (0x3956c25bf348b538), UINT64_C (0x59f111f1b605d019), ++ UINT64_C (0x923f82a4af194f9b), UINT64_C (0xab1c5ed5da6d8118), ++ UINT64_C (0xd807aa98a3030242), UINT64_C (0x12835b0145706fbe), ++ UINT64_C (0x243185be4ee4b28c), UINT64_C (0x550c7dc3d5ffb4e2), ++ UINT64_C (0x72be5d74f27b896f), UINT64_C (0x80deb1fe3b1696b1), ++ UINT64_C (0x9bdc06a725c71235), UINT64_C (0xc19bf174cf692694), ++ UINT64_C (0xe49b69c19ef14ad2), UINT64_C (0xefbe4786384f25e3), ++ UINT64_C (0x0fc19dc68b8cd5b5), UINT64_C (0x240ca1cc77ac9c65), ++ UINT64_C (0x2de92c6f592b0275), UINT64_C (0x4a7484aa6ea6e483), ++ UINT64_C (0x5cb0a9dcbd41fbd4), UINT64_C (0x76f988da831153b5), ++ UINT64_C (0x983e5152ee66dfab), UINT64_C (0xa831c66d2db43210), ++ UINT64_C (0xb00327c898fb213f), UINT64_C (0xbf597fc7beef0ee4), ++ UINT64_C (0xc6e00bf33da88fc2), UINT64_C (0xd5a79147930aa725), ++ UINT64_C (0x06ca6351e003826f), UINT64_C (0x142929670a0e6e70), ++ UINT64_C (0x27b70a8546d22ffc), UINT64_C (0x2e1b21385c26c926), ++ UINT64_C (0x4d2c6dfc5ac42aed), UINT64_C (0x53380d139d95b3df), ++ UINT64_C (0x650a73548baf63de), UINT64_C (0x766a0abb3c77b2a8), ++ UINT64_C (0x81c2c92e47edaee6), UINT64_C (0x92722c851482353b), ++ UINT64_C (0xa2bfe8a14cf10364), UINT64_C (0xa81a664bbc423001), ++ UINT64_C (0xc24b8b70d0f89791), UINT64_C (0xc76c51a30654be30), ++ UINT64_C (0xd192e819d6ef5218), UINT64_C (0xd69906245565a910), ++ UINT64_C (0xf40e35855771202a), UINT64_C (0x106aa07032bbd1b8), ++ UINT64_C (0x19a4c116b8d2d0c8), UINT64_C (0x1e376c085141ab53), ++ UINT64_C (0x2748774cdf8eeb99), UINT64_C (0x34b0bcb5e19b48a8), ++ UINT64_C (0x391c0cb3c5c95a63), UINT64_C (0x4ed8aa4ae3418acb), ++ UINT64_C (0x5b9cca4f7763e373), UINT64_C (0x682e6ff3d6b2b8a3), ++ UINT64_C (0x748f82ee5defb2fc), UINT64_C (0x78a5636f43172f60), ++ UINT64_C (0x84c87814a1f0ab72), UINT64_C (0x8cc702081a6439ec), ++ UINT64_C (0x90befffa23631e28), UINT64_C (0xa4506cebde82bde9), ++ UINT64_C (0xbef9a3f7b2c67915), UINT64_C (0xc67178f2e372532b), ++ UINT64_C (0xca273eceea26619c), UINT64_C (0xd186b8c721c0c207), ++ UINT64_C (0xeada7dd6cde0eb1e), UINT64_C (0xf57d4f7fee6ed178), ++ UINT64_C (0x06f067aa72176fba), UINT64_C (0x0a637dc5a2c898a6), ++ UINT64_C (0x113f9804bef90dae), UINT64_C (0x1b710b35131c471b), ++ UINT64_C (0x28db77f523047d84), UINT64_C (0x32caab7b40c72493), ++ UINT64_C (0x3c9ebe0a15c9bebc), UINT64_C (0x431d67c49c100d4c), ++ UINT64_C (0x4cc5d4becb3e42b6), UINT64_C (0x597f299cfc657e2a), ++ UINT64_C (0x5fcb6fab3ad6faec), UINT64_C (0x6c44198c4a475817) ++ }; ++ ++ ++/* Process LEN bytes of BUFFER, accumulating context into CTX. ++ It is assumed that LEN % 128 == 0. */ ++static void ++sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx) ++{ ++ const uint64_t *words = buffer; ++ size_t nwords = len / sizeof (uint64_t); ++ uint64_t a = ctx->H[0]; ++ uint64_t b = ctx->H[1]; ++ uint64_t c = ctx->H[2]; ++ uint64_t d = ctx->H[3]; ++ uint64_t e = ctx->H[4]; ++ uint64_t f = ctx->H[5]; ++ uint64_t g = ctx->H[6]; ++ uint64_t h = ctx->H[7]; ++ ++ /* First increment the byte count. FIPS 180-2 specifies the possible ++ length of the file up to 2^128 bits. Here we only compute the ++ number of bytes. Do a double word increment. */ ++ ctx->total[0] += len; ++ if (ctx->total[0] < len) ++ ++ctx->total[1]; ++ ++ /* Process all bytes in the buffer with 128 bytes in each round of ++ the loop. */ ++ while (nwords > 0) ++ { ++ uint64_t W[80]; ++ uint64_t a_save = a; ++ uint64_t b_save = b; ++ uint64_t c_save = c; ++ uint64_t d_save = d; ++ uint64_t e_save = e; ++ uint64_t f_save = f; ++ uint64_t g_save = g; ++ uint64_t h_save = h; ++ unsigned int t; ++ ++ /* Operators defined in FIPS 180-2:4.1.2. */ ++#define Ch(x, y, z) ((x & y) ^ (~x & z)) ++#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z)) ++#define S0(x) (CYCLIC (x, 28) ^ CYCLIC (x, 34) ^ CYCLIC (x, 39)) ++#define S1(x) (CYCLIC (x, 14) ^ CYCLIC (x, 18) ^ CYCLIC (x, 41)) ++#define R0(x) (CYCLIC (x, 1) ^ CYCLIC (x, 8) ^ (x >> 7)) ++#define R1(x) (CYCLIC (x, 19) ^ CYCLIC (x, 61) ^ (x >> 6)) ++ ++ /* It is unfortunate that C does not provide an operator for ++ cyclic rotation. Hope the C compiler is smart enough. */ ++#define CYCLIC(w, s) ((w >> s) | (w << (64 - s))) ++ ++ /* Compute the message schedule according to FIPS 180-2:6.3.2 step 2. */ ++ for (t = 0; t < 16; ++t) ++ { ++ W[t] = SWAP (*words); ++ ++words; ++ } ++ for (t = 16; t < 80; ++t) ++ W[t] = R1 (W[t - 2]) + W[t - 7] + R0 (W[t - 15]) + W[t - 16]; ++ ++ /* The actual computation according to FIPS 180-2:6.3.2 step 3. */ ++ for (t = 0; t < 80; ++t) ++ { ++ uint64_t T1 = h + S1 (e) + Ch (e, f, g) + K[t] + W[t]; ++ uint64_t T2 = S0 (a) + Maj (a, b, c); ++ h = g; ++ g = f; ++ f = e; ++ e = d + T1; ++ d = c; ++ c = b; ++ b = a; ++ a = T1 + T2; ++ } ++ ++ /* Add the starting values of the context according to FIPS 180-2:6.3.2 ++ step 4. */ ++ a += a_save; ++ b += b_save; ++ c += c_save; ++ d += d_save; ++ e += e_save; ++ f += f_save; ++ g += g_save; ++ h += h_save; ++ ++ /* Prepare for the next round. */ ++ nwords -= 16; ++ } ++ ++ /* Put checksum in context given as argument. */ ++ ctx->H[0] = a; ++ ctx->H[1] = b; ++ ctx->H[2] = c; ++ ctx->H[3] = d; ++ ctx->H[4] = e; ++ ctx->H[5] = f; ++ ctx->H[6] = g; ++ ctx->H[7] = h; ++} ++ ++ ++/* Initialize structure containing state of computation. ++ (FIPS 180-2:5.3.3) */ ++static void ++sha512_init_ctx (struct sha512_ctx *ctx) ++{ ++ ctx->H[0] = UINT64_C (0x6a09e667f3bcc908); ++ ctx->H[1] = UINT64_C (0xbb67ae8584caa73b); ++ ctx->H[2] = UINT64_C (0x3c6ef372fe94f82b); ++ ctx->H[3] = UINT64_C (0xa54ff53a5f1d36f1); ++ ctx->H[4] = UINT64_C (0x510e527fade682d1); ++ ctx->H[5] = UINT64_C (0x9b05688c2b3e6c1f); ++ ctx->H[6] = UINT64_C (0x1f83d9abfb41bd6b); ++ ctx->H[7] = UINT64_C (0x5be0cd19137e2179); ++ ++ ctx->total[0] = ctx->total[1] = 0; ++ ctx->buflen = 0; ++} ++ ++ ++/* Process the remaining bytes in the internal buffer and the usual ++ prolog according to the standard and write the result to RESBUF. ++ ++ IMPORTANT: On some systems it is required that RESBUF is correctly ++ aligned for a 32 bits value. */ ++static void * ++sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf) ++{ ++ /* Take yet unprocessed bytes into account. */ ++ uint64_t bytes = ctx->buflen; ++ size_t pad; ++ unsigned int i; ++ ++ /* Now count remaining bytes. */ ++ ctx->total[0] += bytes; ++ if (ctx->total[0] < bytes) ++ ++ctx->total[1]; ++ ++ pad = bytes >= 112 ? 128 + 112 - bytes : 112 - bytes; ++ memcpy (&ctx->buffer[bytes], fillbuf, pad); ++ ++ /* Put the 128-bit file length in *bits* at the end of the buffer. */ ++ *(uint64_t *) &ctx->buffer[bytes + pad + 8] = SWAP (ctx->total[0] << 3); ++ *(uint64_t *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) | ++ (ctx->total[0] >> 61)); ++ ++ /* Process last bytes. */ ++ sha512_process_block (ctx->buffer, bytes + pad + 16, ctx); ++ ++ /* Put result from CTX in first 64 bytes following RESBUF. */ ++ for (i = 0; i < 8; ++i) ++ ((uint64_t *) resbuf)[i] = SWAP (ctx->H[i]); ++ ++ return resbuf; ++} ++ ++ ++static void ++sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx) ++{ ++ /* When we already have some bits in our internal buffer concatenate ++ both inputs first. */ ++ if (ctx->buflen != 0) ++ { ++ size_t left_over = ctx->buflen; ++ size_t add = 256 - left_over > len ? len : 256 - left_over; ++ ++ memcpy (&ctx->buffer[left_over], buffer, add); ++ ctx->buflen += add; ++ ++ if (ctx->buflen > 128) ++ { ++ sha512_process_block (ctx->buffer, ctx->buflen & ~127, ctx); ++ ++ ctx->buflen &= 127; ++ /* The regions in the following copy operation cannot overlap. */ ++ memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~127], ++ ctx->buflen); ++ } ++ ++ buffer = (const char *) buffer + add; ++ len -= add; ++ } ++ ++ /* Process available complete blocks. */ ++ if (len >= 128) ++ { ++/* To check alignment gcc has an appropriate operator. Other ++ compilers don't. */ ++# if __GNUC__ >= 2 ++# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint64_t) != 0) ++# else ++# define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint64_t) != 0) ++# endif ++ if (UNALIGNED_P (buffer)) ++ while (len > 128) ++ { ++ sha512_process_block (memcpy (ctx->buffer, buffer, 128), 128, ++ ctx); ++ buffer = (const char *) buffer + 128; ++ len -= 128; ++ } ++ else ++ { ++ sha512_process_block (buffer, len & ~127, ctx); ++ buffer = (const char *) buffer + (len & ~127); ++ len &= 127; ++ } ++ } ++ ++ /* Move remaining bytes into internal buffer. */ ++ if (len > 0) ++ { ++ size_t left_over = ctx->buflen; ++ ++ memcpy (&ctx->buffer[left_over], buffer, len); ++ left_over += len; ++ if (left_over >= 128) ++ { ++ sha512_process_block (ctx->buffer, 128, ctx); ++ left_over -= 128; ++ memcpy (ctx->buffer, &ctx->buffer[128], left_over); ++ } ++ ctx->buflen = left_over; ++ } ++} ++ ++ ++/* Define our magic string to mark salt for SHA512 "encryption" ++ replacement. */ ++static const char sha512_salt_prefix[] = "$6$"; ++ ++/* Prefix for optional rounds specification. */ ++static const char sha512_rounds_prefix[] = "rounds="; ++ ++/* Maximum salt string length. */ ++#define SALT_LEN_MAX 16 ++/* Default number of rounds if not explicitly specified. */ ++#define ROUNDS_DEFAULT 5000 ++/* Minimum number of rounds. */ ++#define ROUNDS_MIN 1000 ++/* Maximum number of rounds. */ ++#define ROUNDS_MAX 999999999 ++ ++/* Table with characters for base64 transformation. */ ++static const char b64t[64] = ++"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; ++ ++ ++static char * ++sha512_crypt_r (const char *key, const char *salt, char *buffer, int buflen) ++{ ++ unsigned char alt_result[64] ++ __attribute__ ((__aligned__ (__alignof__ (uint64_t)))); ++ unsigned char temp_result[64] ++ __attribute__ ((__aligned__ (__alignof__ (uint64_t)))); ++ struct sha512_ctx ctx; ++ struct sha512_ctx alt_ctx; ++ size_t salt_len; ++ size_t key_len; ++ size_t cnt; ++ char *cp; ++ char *copied_key = NULL; ++ char *copied_salt = NULL; ++ char *p_bytes; ++ char *s_bytes; ++ /* Default number of rounds. */ ++ size_t rounds = ROUNDS_DEFAULT; ++ bool rounds_custom = false; ++ ++ /* Find beginning of salt string. The prefix should normally always ++ be present. Just in case it is not. */ ++ if (grub_memcmp (sha512_salt_prefix, salt, ++ sizeof (sha512_salt_prefix) - 1) == 0) ++ /* Skip salt prefix. */ ++ salt += sizeof (sha512_salt_prefix) - 1; ++ ++ if (grub_memcmp (salt, sha512_rounds_prefix, ++ sizeof (sha512_rounds_prefix) - 1) == 0) ++ { ++ const char *num = salt + sizeof (sha512_rounds_prefix) - 1; ++ char *endp = (char *)num; ++ int srounds = 0; ++ if (*endp == '0' && tolower (endp[1]) == 'x') ++ /* This would be interpreted as hexadecimal by safe_parse_maxint(). */ ++ endp++; ++ else ++ /* On error, endp and srounds is not changed. */ ++ safe_parse_maxint(&endp, &srounds); ++ if (*endp == '$') ++ { ++ salt = endp + 1; ++ rounds = MAX (ROUNDS_MIN, MIN (srounds, ROUNDS_MAX)); ++ rounds_custom = true; ++ } ++ } ++ ++ salt_len = MIN (strcspn (salt, "$"), SALT_LEN_MAX); ++ key_len = strlen (key); ++ ++ if ((key - (char *) 0) % __alignof__ (uint64_t) != 0) ++ { ++ char *tmp = (char *) alloca (key_len + __alignof__ (uint64_t)); ++ key = copied_key = ++ memcpy (tmp + __alignof__ (uint64_t) ++ - (tmp - (char *) 0) % __alignof__ (uint64_t), ++ key, key_len); ++ } ++ ++ if ((salt - (char *) 0) % __alignof__ (uint64_t) != 0) ++ { ++ char *tmp = (char *) alloca (salt_len + __alignof__ (uint64_t)); ++ salt = copied_salt = ++ memcpy (tmp + __alignof__ (uint64_t) ++ - (tmp - (char *) 0) % __alignof__ (uint64_t), ++ salt, salt_len); ++ } ++ ++ /* Prepare for the real work. */ ++ sha512_init_ctx (&ctx); ++ ++ /* Add the key string. */ ++ sha512_process_bytes (key, key_len, &ctx); ++ ++ /* The last part is the salt string. This must be at most 16 ++ characters and it ends at the first `$' character (for ++ compatibility with existing implementations). */ ++ sha512_process_bytes (salt, salt_len, &ctx); ++ ++ ++ /* Compute alternate SHA512 sum with input KEY, SALT, and KEY. The ++ final result will be added to the first context. */ ++ sha512_init_ctx (&alt_ctx); ++ ++ /* Add key. */ ++ sha512_process_bytes (key, key_len, &alt_ctx); ++ ++ /* Add salt. */ ++ sha512_process_bytes (salt, salt_len, &alt_ctx); ++ ++ /* Add key again. */ ++ sha512_process_bytes (key, key_len, &alt_ctx); ++ ++ /* Now get result of this (64 bytes) and add it to the other ++ context. */ ++ sha512_finish_ctx (&alt_ctx, alt_result); ++ ++ /* Add for any character in the key one byte of the alternate sum. */ ++ for (cnt = key_len; cnt > 64; cnt -= 64) ++ sha512_process_bytes (alt_result, 64, &ctx); ++ sha512_process_bytes (alt_result, cnt, &ctx); ++ ++ /* Take the binary representation of the length of the key and for every ++ 1 add the alternate sum, for every 0 the key. */ ++ for (cnt = key_len; cnt > 0; cnt >>= 1) ++ if ((cnt & 1) != 0) ++ sha512_process_bytes (alt_result, 64, &ctx); ++ else ++ sha512_process_bytes (key, key_len, &ctx); ++ ++ /* Create intermediate result. */ ++ sha512_finish_ctx (&ctx, alt_result); ++ ++ /* Start computation of P byte sequence. */ ++ sha512_init_ctx (&alt_ctx); ++ ++ /* For every character in the password add the entire password. */ ++ for (cnt = 0; cnt < key_len; ++cnt) ++ sha512_process_bytes (key, key_len, &alt_ctx); ++ ++ /* Finish the digest. */ ++ sha512_finish_ctx (&alt_ctx, temp_result); ++ ++ /* Create byte sequence P. */ ++ cp = p_bytes = alloca (key_len); ++ for (cnt = key_len; cnt >= 64; cnt -= 64) ++ { ++ memcpy (cp, temp_result, 64); ++ cp += 64; ++ } ++ memcpy (cp, temp_result, cnt); ++ ++ /* Start computation of S byte sequence. */ ++ sha512_init_ctx (&alt_ctx); ++ ++ /* For every character in the password add the entire password. */ ++ for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt) ++ sha512_process_bytes (salt, salt_len, &alt_ctx); ++ ++ /* Finish the digest. */ ++ sha512_finish_ctx (&alt_ctx, temp_result); ++ ++ /* Create byte sequence S. */ ++ cp = s_bytes = alloca (salt_len); ++ for (cnt = salt_len; cnt >= 64; cnt -= 64) ++ { ++ memcpy (cp, temp_result, 64); ++ cp += 64; ++ } ++ memcpy (cp, temp_result, cnt); ++ ++ /* Repeatedly run the collected hash value through SHA512 to burn ++ CPU cycles. */ ++ for (cnt = 0; cnt < rounds; ++cnt) ++ { ++ /* New context. */ ++ sha512_init_ctx (&ctx); ++ ++ /* Add key or last result. */ ++ if ((cnt & 1) != 0) ++ sha512_process_bytes (p_bytes, key_len, &ctx); ++ else ++ sha512_process_bytes (alt_result, 64, &ctx); ++ ++ /* Add salt for numbers not divisible by 3. */ ++ if (cnt % 3 != 0) ++ sha512_process_bytes (s_bytes, salt_len, &ctx); ++ ++ /* Add key for numbers not divisible by 7. */ ++ if (cnt % 7 != 0) ++ sha512_process_bytes (p_bytes, key_len, &ctx); ++ ++ /* Add key or last result. */ ++ if ((cnt & 1) != 0) ++ sha512_process_bytes (alt_result, 64, &ctx); ++ else ++ sha512_process_bytes (p_bytes, key_len, &ctx); ++ ++ /* Create intermediate result. */ ++ sha512_finish_ctx (&ctx, alt_result); ++ } ++ ++ /* Now we can construct the result string. It consists of three ++ parts. */ ++ cp = stpncpy (buffer, sha512_salt_prefix, MAX (0, buflen)); ++ buflen -= sizeof (sha512_salt_prefix) - 1; ++ ++ if (rounds_custom) ++ { ++ char sbuf[64]; ++ grub_sprintf (sbuf, "%s%llu$", sha512_rounds_prefix, ++ (unsigned long long)rounds); ++ size_t n = strlen (sbuf); ++ memcpy (cp, sbuf, MIN (MAX (0, buflen), n)); ++ cp += n; ++ buflen -= n; ++ } ++ ++ cp = stpncpy (cp, salt, MIN ((size_t) MAX (0, buflen), salt_len)); ++ buflen -= MIN ((size_t) MAX (0, buflen), salt_len); ++ ++ if (buflen > 0) ++ { ++ *cp++ = '$'; ++ --buflen; ++ } ++ ++#define b64_from_24bit(B2, B1, B0, N) \ ++ do { \ ++ unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0); \ ++ int n = (N); \ ++ while (n-- > 0 && buflen > 0) \ ++ { \ ++ *cp++ = b64t[w & 0x3f]; \ ++ --buflen; \ ++ w >>= 6; \ ++ } \ ++ } while (0) ++ ++ b64_from_24bit (alt_result[0], alt_result[21], alt_result[42], 4); ++ b64_from_24bit (alt_result[22], alt_result[43], alt_result[1], 4); ++ b64_from_24bit (alt_result[44], alt_result[2], alt_result[23], 4); ++ b64_from_24bit (alt_result[3], alt_result[24], alt_result[45], 4); ++ b64_from_24bit (alt_result[25], alt_result[46], alt_result[4], 4); ++ b64_from_24bit (alt_result[47], alt_result[5], alt_result[26], 4); ++ b64_from_24bit (alt_result[6], alt_result[27], alt_result[48], 4); ++ b64_from_24bit (alt_result[28], alt_result[49], alt_result[7], 4); ++ b64_from_24bit (alt_result[50], alt_result[8], alt_result[29], 4); ++ b64_from_24bit (alt_result[9], alt_result[30], alt_result[51], 4); ++ b64_from_24bit (alt_result[31], alt_result[52], alt_result[10], 4); ++ b64_from_24bit (alt_result[53], alt_result[11], alt_result[32], 4); ++ b64_from_24bit (alt_result[12], alt_result[33], alt_result[54], 4); ++ b64_from_24bit (alt_result[34], alt_result[55], alt_result[13], 4); ++ b64_from_24bit (alt_result[56], alt_result[14], alt_result[35], 4); ++ b64_from_24bit (alt_result[15], alt_result[36], alt_result[57], 4); ++ b64_from_24bit (alt_result[37], alt_result[58], alt_result[16], 4); ++ b64_from_24bit (alt_result[59], alt_result[17], alt_result[38], 4); ++ b64_from_24bit (alt_result[18], alt_result[39], alt_result[60], 4); ++ b64_from_24bit (alt_result[40], alt_result[61], alt_result[19], 4); ++ b64_from_24bit (alt_result[62], alt_result[20], alt_result[41], 4); ++ b64_from_24bit (0, 0, alt_result[63], 2); ++ ++ if (buflen <= 0) ++ buffer = NULL; ++ else ++ *cp = '\0'; /* Terminate the string. */ ++ ++ /* Clear the buffer for the intermediate result so that people ++ attaching to processes or reading core dumps cannot get any ++ information. We do it in this way to clear correct_words[] ++ inside the SHA512 implementation as well. */ ++ sha512_init_ctx (&ctx); ++ sha512_finish_ctx (&ctx, alt_result); ++ memset (temp_result, '\0', sizeof (temp_result)); ++ memset (p_bytes, '\0', key_len); ++ memset (s_bytes, '\0', salt_len); ++ memset (&ctx, '\0', sizeof (ctx)); ++ memset (&alt_ctx, '\0', sizeof (alt_ctx)); ++ if (copied_key != NULL) ++ memset (copied_key, '\0', key_len); ++ if (copied_salt != NULL) ++ memset (copied_salt, '\0', salt_len); ++ ++ return buffer; ++} ++ ++ ++/* This entry point is equivalent to the `crypt' function in Unix ++ libcs. */ ++char * ++sha512_crypt (const char *key, const char *salt) ++{ ++ /* We don't want to have an arbitrary limit in the size of the ++ password. We can compute an upper bound for the size of the ++ result in advance and so we can prepare the buffer we pass to ++ `sha512_crypt_r'. */ ++ static char buffer[sizeof (sha512_salt_prefix) - 1 ++ + sizeof (sha512_rounds_prefix) + 9 + 1 ++ + 256 + 1 + 86 + 1]; /* 256 bytes for salt */ ++ int needed = (sizeof (sha512_salt_prefix) - 1 ++ + sizeof (sha512_rounds_prefix) + 9 + 1 ++ + strlen (salt) + 1 + 86 + 1); ++ ++ if (sizeof (buffer) < needed) ++ return NULL; ++ ++ return sha512_crypt_r (key, salt, buffer, sizeof (buffer)); ++} ++ ++ ++#ifdef TEST ++static const struct ++{ ++ const char *input; ++ const char result[64]; ++} tests[] = ++ { ++ /* Test vectors from FIPS 180-2: appendix C.1. */ ++ { "abc", ++ "\xdd\xaf\x35\xa1\x93\x61\x7a\xba\xcc\x41\x73\x49\xae\x20\x41\x31" ++ "\x12\xe6\xfa\x4e\x89\xa9\x7e\xa2\x0a\x9e\xee\xe6\x4b\x55\xd3\x9a" ++ "\x21\x92\x99\x2a\x27\x4f\xc1\xa8\x36\xba\x3c\x23\xa3\xfe\xeb\xbd" ++ "\x45\x4d\x44\x23\x64\x3c\xe8\x0e\x2a\x9a\xc9\x4f\xa5\x4c\xa4\x9f" }, ++ /* Test vectors from FIPS 180-2: appendix C.2. */ ++ { "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn" ++ "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu", ++ "\x8e\x95\x9b\x75\xda\xe3\x13\xda\x8c\xf4\xf7\x28\x14\xfc\x14\x3f" ++ "\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1\x72\x99\xae\xad\xb6\x88\x90\x18" ++ "\x50\x1d\x28\x9e\x49\x00\xf7\xe4\x33\x1b\x99\xde\xc4\xb5\x43\x3a" ++ "\xc7\xd3\x29\xee\xb6\xdd\x26\x54\x5e\x96\xe5\x5b\x87\x4b\xe9\x09" }, ++ /* Test vectors from the NESSIE project. */ ++ { "", ++ "\xcf\x83\xe1\x35\x7e\xef\xb8\xbd\xf1\x54\x28\x50\xd6\x6d\x80\x07" ++ "\xd6\x20\xe4\x05\x0b\x57\x15\xdc\x83\xf4\xa9\x21\xd3\x6c\xe9\xce" ++ "\x47\xd0\xd1\x3c\x5d\x85\xf2\xb0\xff\x83\x18\xd2\x87\x7e\xec\x2f" ++ "\x63\xb9\x31\xbd\x47\x41\x7a\x81\xa5\x38\x32\x7a\xf9\x27\xda\x3e" }, ++ { "a", ++ "\x1f\x40\xfc\x92\xda\x24\x16\x94\x75\x09\x79\xee\x6c\xf5\x82\xf2" ++ "\xd5\xd7\xd2\x8e\x18\x33\x5d\xe0\x5a\xbc\x54\xd0\x56\x0e\x0f\x53" ++ "\x02\x86\x0c\x65\x2b\xf0\x8d\x56\x02\x52\xaa\x5e\x74\x21\x05\x46" ++ "\xf3\x69\xfb\xbb\xce\x8c\x12\xcf\xc7\x95\x7b\x26\x52\xfe\x9a\x75" }, ++ { "message digest", ++ "\x10\x7d\xbf\x38\x9d\x9e\x9f\x71\xa3\xa9\x5f\x6c\x05\x5b\x92\x51" ++ "\xbc\x52\x68\xc2\xbe\x16\xd6\xc1\x34\x92\xea\x45\xb0\x19\x9f\x33" ++ "\x09\xe1\x64\x55\xab\x1e\x96\x11\x8e\x8a\x90\x5d\x55\x97\xb7\x20" ++ "\x38\xdd\xb3\x72\xa8\x98\x26\x04\x6d\xe6\x66\x87\xbb\x42\x0e\x7c" }, ++ { "abcdefghijklmnopqrstuvwxyz", ++ "\x4d\xbf\xf8\x6c\xc2\xca\x1b\xae\x1e\x16\x46\x8a\x05\xcb\x98\x81" ++ "\xc9\x7f\x17\x53\xbc\xe3\x61\x90\x34\x89\x8f\xaa\x1a\xab\xe4\x29" ++ "\x95\x5a\x1b\xf8\xec\x48\x3d\x74\x21\xfe\x3c\x16\x46\x61\x3a\x59" ++ "\xed\x54\x41\xfb\x0f\x32\x13\x89\xf7\x7f\x48\xa8\x79\xc7\xb1\xf1" }, ++ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", ++ "\x20\x4a\x8f\xc6\xdd\xa8\x2f\x0a\x0c\xed\x7b\xeb\x8e\x08\xa4\x16" ++ "\x57\xc1\x6e\xf4\x68\xb2\x28\xa8\x27\x9b\xe3\x31\xa7\x03\xc3\x35" ++ "\x96\xfd\x15\xc1\x3b\x1b\x07\xf9\xaa\x1d\x3b\xea\x57\x78\x9c\xa0" ++ "\x31\xad\x85\xc7\xa7\x1d\xd7\x03\x54\xec\x63\x12\x38\xca\x34\x45" }, ++ { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", ++ "\x1e\x07\xbe\x23\xc2\x6a\x86\xea\x37\xea\x81\x0c\x8e\xc7\x80\x93" ++ "\x52\x51\x5a\x97\x0e\x92\x53\xc2\x6f\x53\x6c\xfc\x7a\x99\x96\xc4" ++ "\x5c\x83\x70\x58\x3e\x0a\x78\xfa\x4a\x90\x04\x1d\x71\xa4\xce\xab" ++ "\x74\x23\xf1\x9c\x71\xb9\xd5\xa3\xe0\x12\x49\xf0\xbe\xbd\x58\x94" }, ++ { "123456789012345678901234567890123456789012345678901234567890" ++ "12345678901234567890", ++ "\x72\xec\x1e\xf1\x12\x4a\x45\xb0\x47\xe8\xb7\xc7\x5a\x93\x21\x95" ++ "\x13\x5b\xb6\x1d\xe2\x4e\xc0\xd1\x91\x40\x42\x24\x6e\x0a\xec\x3a" ++ "\x23\x54\xe0\x93\xd7\x6f\x30\x48\xb4\x56\x76\x43\x46\x90\x0c\xb1" ++ "\x30\xd2\xa4\xfd\x5d\xd1\x6a\xbb\x5e\x30\xbc\xb8\x50\xde\xe8\x43" } ++ }; ++#define ntests (sizeof (tests) / sizeof (tests[0])) ++ ++ ++static const struct ++{ ++ const char *salt; ++ const char *input; ++ const char *expected; ++} tests2[] = ++{ ++ { "$6$saltstring", "Hello world!", ++ "$6$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJu" ++ "esI68u4OTLiBFdcbYEdFCoEOfaS35inz1" }, ++ { "$6$rounds=10000$saltstringsaltstring", "Hello world!", ++ "$6$rounds=10000$saltstringsaltst$OW1/O6BYHV6BcXZu8QVeXbDWra3Oeqh0sb" ++ "HbbMCVNSnCM/UrjmM0Dp8vOuZeHBy/YTBmSK6H9qs/y3RnOaw5v." }, ++ { "$6$rounds=5000$toolongsaltstring", "This is just a test", ++ "$6$rounds=5000$toolongsaltstrin$lQ8jolhgVRVhY4b5pZKaysCLi0QBxGoNeKQ" ++ "zQ3glMhwllF7oGDZxUhx1yxdYcz/e1JSbq3y6JMxxl8audkUEm0" }, ++ { "$6$rounds=1400$anotherlongsaltstring", ++ "a very much longer text to encrypt. This one even stretches over more" ++ "than one line.", ++ "$6$rounds=1400$anotherlongsalts$POfYwTEok97VWcjxIiSOjiykti.o/pQs.wP" ++ "vMxQ6Fm7I6IoYN3CmLs66x9t0oSwbtEW7o7UmJEiDwGqd8p4ur1" }, ++ { "$6$rounds=77777$short", ++ "we have a short salt string but not a short password", ++ "$6$rounds=77777$short$WuQyW2YR.hBNpjjRhpYD/ifIw05xdfeEyQoMxIXbkvr0g" ++ "ge1a1x3yRULJ5CCaUeOxFmtlcGZelFl5CxtgfiAc0" }, ++ { "$6$rounds=123456$asaltof16chars..", "a short string", ++ "$6$rounds=123456$asaltof16chars..$BtCwjqMJGx5hrJhZywWvt0RLE8uZ4oPwc" ++ "elCjmw2kSYu.Ec6ycULevoBK25fs2xXgMNrCzIMVcgEJAstJeonj1" }, ++ { "$6$rounds=10$roundstoolow", "the minimum number is still observed", ++ "$6$rounds=1000$roundstoolow$kUMsbe306n21p9R.FRkW3IGn.S9NPN0x50YhH1x" ++ "hLsPuWGsUSklZt58jaTfF4ZEQpyUNGc0dqbpBYYBaHHrsX." }, ++}; ++#define ntests2 (sizeof (tests2) / sizeof (tests2[0])) ++ ++ ++int ++sha512_test (void) ++{ ++ struct sha512_ctx ctx; ++ char sum[64]; ++ int result = 0; ++ int cnt, i; ++ ++ for (cnt = 0; cnt < (int) ntests; ++cnt) ++ { ++ sha512_init_ctx (&ctx); ++ sha512_process_bytes (tests[cnt].input, strlen (tests[cnt].input), &ctx); ++ sha512_finish_ctx (&ctx, sum); ++ if (memcmp (tests[cnt].result, sum, 64) != 0) ++ { ++ printf ("test %d run %d failed\n", cnt, 1); ++ result = 1; ++ } ++ ++ sha512_init_ctx (&ctx); ++ for (i = 0; tests[cnt].input[i] != '\0'; ++i) ++ sha512_process_bytes (&tests[cnt].input[i], 1, &ctx); ++ sha512_finish_ctx (&ctx, sum); ++ if (memcmp (tests[cnt].result, sum, 64) != 0) ++ { ++ printf ("test %d run %d failed\n", cnt, 2); ++ result = 1; ++ } ++ } ++ ++ /* Test vector from FIPS 180-2: appendix C.3. */ ++ char buf[1000]; ++ memset (buf, 'a', sizeof (buf)); ++ sha512_init_ctx (&ctx); ++ for (i = 0; i < 1000; ++i) ++ sha512_process_bytes (buf, sizeof (buf), &ctx); ++ sha512_finish_ctx (&ctx, sum); ++ static const char expected[64] = ++ "\xe7\x18\x48\x3d\x0c\xe7\x69\x64\x4e\x2e\x42\xc7\xbc\x15\xb4\x63" ++ "\x8e\x1f\x98\xb1\x3b\x20\x44\x28\x56\x32\xa8\x03\xaf\xa9\x73\xeb" ++ "\xde\x0f\xf2\x44\x87\x7e\xa6\x0a\x4c\xb0\x43\x2c\xe5\x77\xc3\x1b" ++ "\xeb\x00\x9c\x5c\x2c\x49\xaa\x2e\x4e\xad\xb2\x17\xad\x8c\xc0\x9b"; ++ if (memcmp (expected, sum, 64) != 0) ++ { ++ printf ("test %d failed\n", cnt); ++ result = 1; ++ } ++ ++ for (cnt = 0; cnt < ntests2; ++cnt) ++ { ++ char *cp = sha512_crypt (tests2[cnt].input, tests2[cnt].salt); ++ ++ if (strcmp (cp, tests2[cnt].expected) != 0) ++ { ++ printf ("test %d: expected \"%s\", got \"%s\"\n", ++ cnt, tests2[cnt].expected, cp); ++ result = 1; ++ } ++ } ++ ++ if (result == 0) ++ printf ("all tests OK\n"); ++ ++ return result; ++} ++#endif +diff --git a/stage2/shared.h b/stage2/shared.h +index 77eef11..b56b44b 100644 +--- a/stage2/shared.h ++++ b/stage2/shared.h +@@ -35,9 +35,10 @@ + #endif + + /* Maybe redirect memory requests through grub_scratch_mem. */ +-#ifdef GRUB_UTIL +-extern char *grub_scratch_mem; +-# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem) ++#if defined(GRUB_UTIL) || defined(PLATFORM_EFI) ++#define GRUB_SCRATCH_MEM_SIZE 0x400000 ++extern void *grub_scratch_mem; ++# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem) + # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4) + #else + # define RAW_ADDR(x) (x) +@@ -56,15 +57,15 @@ extern char *grub_scratch_mem; + #define NEW_HEAPSIZE 1500 + + /* 512-byte scratch area */ +-#define SCRATCHADDR RAW_ADDR (0x77e00) +-#define SCRATCHSEG RAW_SEG (0x77e0) ++#define SCRATCHADDR RAW_ADDR (0x77000) ++#define SCRATCHSEG RAW_SEG (0x7700) + + /* +- * This is the location of the raw device buffer. It is 31.5K ++ * This is the location of the raw device buffer. It is 28K + * in size. + */ + +-#define BUFFERLEN 0x7e00 ++#define BUFFERLEN 0x7000 + #define BUFFERADDR RAW_ADDR (0x70000) + #define BUFFERSEG RAW_SEG (0x7000) + +@@ -79,6 +80,8 @@ extern char *grub_scratch_mem; + #define BIOSDISK_FLAG_LBA_EXTENSION 0x1 + #define BIOSDISK_FLAG_CDROM 0x2 + ++#define MAX_HD_NUM 128 ++ + /* + * This is the filesystem (not raw device) buffer. + * It is 32K in size, do not overrun! +@@ -127,7 +130,7 @@ extern char *grub_scratch_mem; + #define MENU_BUFLEN (0x8000 + PASSWORD_BUF - MENU_BUF) + + /* The size of the drive map. */ +-#define DRIVE_MAP_SIZE 8 ++#define DRIVE_MAP_SIZE 128 + + /* The size of the key map. */ + #define KEY_MAP_SIZE 128 +@@ -160,16 +163,18 @@ extern char *grub_scratch_mem; + #define LINUX_VID_MODE_ASK 0xFFFD + + #define LINUX_CL_OFFSET 0x9000 +-#define LINUX_CL_END_OFFSET 0x90FF +-#define LINUX_SETUP_MOVE_SIZE 0x9100 ++#define LINUX_CL_END_OFFSET 0x97FF ++#define LINUX_SETUP_MOVE_SIZE 0x9800 + #define LINUX_CL_MAGIC 0xA33F + + /* + * General disk stuff + */ + ++#ifndef PLATFORM_EFI + #define SECTOR_SIZE 0x200 + #define SECTOR_BITS 9 ++#endif /* PLATFORM_EFI */ + #define BIOS_FLAG_FIXED_DISK 0x80 + + #define BOOTSEC_LOCATION RAW_ADDR (0x7C00) +@@ -200,6 +205,8 @@ extern char *grub_scratch_mem; + #define STAGE2_FORCE_LBA 0x11 + #define STAGE2_VER_STR_OFFS 0x12 + ++#define STAGE2_ONCEONLY_ENTRY 0x10000 ++ + /* Stage 2 identifiers */ + #define STAGE2_ID_STAGE2 0 + #define STAGE2_ID_FFS_STAGE1_5 1 +@@ -360,7 +367,7 @@ extern char *grub_scratch_mem; + #define memcpy grub_memmove /* we don't need a separate memcpy */ + #define memset grub_memset + #define isspace grub_isspace +-#define printf grub_printf ++#define printf(format...) grub_printf(format) + #define sprintf grub_sprintf + #undef putchar + #define putchar grub_putchar +@@ -371,14 +378,24 @@ extern char *grub_scratch_mem; + #define tolower grub_tolower + #define strlen grub_strlen + #define strcpy grub_strcpy ++#define stpncpy grub_stpncpy ++#define strspn grub_strspn ++#define strcspn grub_strcspn ++#define strtok_r grub_strtok_r ++#define strchr grub_strchr ++#define strrchr grub_strrchr ++#define strnchr grub_strnchr ++#define strncpy grub_strncpy ++#define strncasecmp grub_strncasecmp + #endif /* WITHOUT_LIBC_STUBS */ + +- + #ifndef ASM_FILE + /* + * Below this should be ONLY defines and other constructs for C code. + */ + ++#include ++ + /* multiboot stuff */ + + #include "mb_header.h" +@@ -400,30 +417,33 @@ struct linux_kernel_header + unsigned short root_dev; /* Default root device number */ + unsigned short boot_flag; /* 0xAA55 magic number */ + unsigned short jump; /* Jump instruction */ +- unsigned long header; /* Magic signature "HdrS" */ ++ unsigned int header; /* Magic signature "HdrS" */ + unsigned short version; /* Boot protocol version supported */ +- unsigned long realmode_swtch; /* Boot loader hook */ +- unsigned long start_sys; /* Points to kernel version string */ ++ unsigned int realmode_swtch; /* Boot loader hook */ ++ unsigned int start_sys; /* Points to kernel version string */ + unsigned char type_of_loader; /* Boot loader identifier */ + unsigned char loadflags; /* Boot protocol option flags */ + unsigned short setup_move_size; /* Move to high memory size */ +- unsigned long code32_start; /* Boot loader hook */ +- unsigned long ramdisk_image; /* initrd load address */ +- unsigned long ramdisk_size; /* initrd size */ +- unsigned long bootsect_kludge; /* obsolete */ ++ unsigned int code32_start; /* Boot loader hook */ ++ unsigned int ramdisk_image; /* initrd load address */ ++ unsigned int ramdisk_size; /* initrd size */ ++ unsigned int bootsect_kludge; /* obsolete */ + unsigned short heap_end_ptr; /* Free memory after setup end */ + unsigned short pad1; /* Unused */ + char *cmd_line_ptr; /* Points to the kernel command line */ +- unsigned long initrd_addr_max; /* The highest address of initrd */ ++ unsigned int initrd_addr_max; /* The highest address of initrd */ ++ unsigned int kernel_alignment; /* Physical addr alignment required for kernel */ ++ unsigned int relocatable_kernel; /* Whether kernel is relocatable or not */ ++ unsigned int cmdline_size; /* Maximum size of the kernel command line */ + } __attribute__ ((packed)); + + /* Memory map address range descriptor used by GET_MMAP_ENTRY. */ + struct mmar_desc + { +- unsigned long desc_len; /* Size of this descriptor. */ ++ unsigned int desc_len; /* Size of this descriptor. */ + unsigned long long addr; /* Base address. */ + unsigned long long length; /* Length in bytes. */ +- unsigned long type; /* Type of address range. */ ++ unsigned int type; /* Type of address range. */ + } __attribute__ ((packed)); + + /* VBE controller information. */ +@@ -600,6 +620,7 @@ typedef enum + { + PASSWORD_PLAIN, + PASSWORD_MD5, ++ PASSWORD_ENCRYPTED, + PASSWORD_UNSUPPORTED + } + password_t; +@@ -627,8 +648,16 @@ extern void (*disk_read_func) (int, int, int); + #ifndef STAGE1_5 + /* The flag for debug mode. */ + extern int debug; ++extern int debug_graphics; + #endif /* STAGE1_5 */ + ++/* Verbose mode flag. */ ++extern int grub_verbose; ++#define verbose_printf(format...) \ ++ do { if (grub_verbose) printf(format); } while (0) ++#define grub_verbose_printf(format...) \ ++ do { if (grub_verbose) grub_printf(format); } while (0) ++ + extern unsigned long current_drive; + extern unsigned long current_partition; + +@@ -666,6 +695,8 @@ extern struct geometry buf_geom; + extern int filepos; + extern int filemax; + ++extern int silent_grub; ++ + /* + * Common BIOS/boot data. + */ +@@ -804,11 +835,17 @@ int getkey (void); + available. */ + int checkkey (void); + ++/* Return keyboard modifier status. */ ++int ++keystatus (void); ++ + /* Low-level disk I/O */ + int get_diskinfo (int drive, struct geometry *geometry); + int biosdisk (int subfunc, int drive, struct geometry *geometry, + int sector, int nsec, int segment); + void stop_floppy (void); ++int get_sector_size (int drive); ++int get_sector_bits (int drive); + + /* Command-line interface functions. */ + #ifndef STAGE1_5 +@@ -860,17 +897,25 @@ void init_builtins (void); + void init_config (void); + char *skip_to (int after_equal, char *cmdline); + struct builtin *find_command (char *command); +-void print_cmdline_message (int forever); + void enter_cmdline (char *heap, int forever); + int run_script (char *script, char *heap); ++ ++/* the flags for the cmdline message */ ++#define CMDLINE_FOREVER_MODE 0x0 ++#define CMDLINE_NORMAL_MODE 0x1 ++#define CMDLINE_EDIT_MODE 0x2 ++ ++void print_cmdline_message (int type); + #endif + + /* C library replacement functions with identical semantics. */ +-void grub_printf (const char *format,...); ++int grub_vsprintf (char *str, const char *fmt, va_list args); ++void grub_printf (char *format,...); + int grub_sprintf (char *buffer, const char *format, ...); + int grub_tolower (int c); + int grub_isspace (int c); + int grub_strncat (char *s1, const char *s2, int n); ++void grub_memcpy(void *dest, const void *src, int len); + void *grub_memmove (void *to, const void *from, int len); + void *grub_memset (void *start, int c, int len); + int grub_strncat (char *s1, const char *s2, int n); +@@ -879,9 +924,19 @@ int grub_memcmp (const char *s1, const char *s2, int n); + int grub_strcmp (const char *s1, const char *s2); + int grub_strlen (const char *str); + char *grub_strcpy (char *dest, const char *src); ++char *grub_stpncpy (char *dest, const char *src, int n); ++int grub_strspn(const char *s, const char *accept); ++int grub_strcspn(const char *s, const char *reject); ++char *grub_strtok_r(char *s, const char *delim, char **ptrptr); ++char *grub_strchr (const char *s, int c); ++char *grub_strrchr (const char *s, int c); ++char *grub_strnchr (const char *s, int c); ++int grub_strnlen (const char *s, int n); ++char *grub_strncpy (char *new, const char *s, int n); ++int grub_strncasecmp(const char *s0, const char *s1, int n); + + #ifndef GRUB_UTIL +-typedef unsigned long grub_jmp_buf[6]; ++typedef unsigned long grub_jmp_buf[8]; + #else + /* In the grub shell, use the libc jmp_buf instead. */ + # include +@@ -904,10 +959,11 @@ extern grub_jmp_buf restart_cmdline_env; + /* misc */ + void init_page (void); + void print_error (void); +-char *convert_to_ascii (char *buf, int c, ...); ++char *convert_to_ascii (char *buf, int c, unsigned int num); + int get_cmdline (char *prompt, char *cmdline, int maxlen, + int echo_char, int history); + int substring (const char *s1, const char *s2); ++int subcasestring (const char *s1, const char *s2); + int nul_terminate (char *str); + int get_based_digit (int c, int base); + int safe_parse_maxint (char **str_ptr, int *myint_ptr); +@@ -934,7 +990,9 @@ int next_partition (unsigned long drive, unsigned long dest, + unsigned long *partition, int *type, + unsigned long *start, unsigned long *len, + unsigned long *offset, int *entry, +- unsigned long *ext_offset, char *buf); ++ unsigned long *ext_offset, ++ unsigned long *gpt_offset, int *gpt_count, ++ int *gpt_size, char *buf); + + /* Sets device to the one represented by the SAVED_* parameters. */ + int make_saved_active (void); +@@ -962,6 +1020,8 @@ int dir (char *dirname); + + int set_bootdev (int hdbias); + ++char *get_fsys_type (void); ++ + /* Display statistics on the current active device. */ + void print_fsys_type (void); + +@@ -987,10 +1047,22 @@ int load_module (char *module, char *arg); + int load_initrd (char *initrd); + + int check_password(char *entered, char* expected, password_t type); ++ ++char *sha256_crypt (const char *key, const char *salt); ++char *sha512_crypt (const char *key, const char *salt); + #endif + + void init_bios_info (void); + ++#ifdef PLATFORM_EFI ++void grub_set_config_file (char *path_name); ++int grub_save_saved_default (int new_default); ++extern int check_device (const char *device); ++extern void assign_device_name (int drive, const char *device); ++#endif ++int grub_load_linux (char *kernel, char *arg); ++int grub_load_initrd (char *initrd); ++int grub_chainloader (char *filename); + #endif /* ASM_FILE */ + + #endif /* ! GRUB_SHARED_HEADER */ +diff --git a/stage2/smp-imps.h b/stage2/smp-imps.h +index c0fdce3..bae9b77 100644 +--- a/stage2/smp-imps.h ++++ b/stage2/smp-imps.h +@@ -196,7 +196,6 @@ struct imps_interrupt + + int imps_probe (void); + +- + /* + * Defines that use variables + */ +diff --git a/stage2/stage1_5.c b/stage2/stage1_5.c +index 5c45d4c..c2d9632 100644 +--- a/stage2/stage1_5.c ++++ b/stage2/stage1_5.c +@@ -30,7 +30,8 @@ disk_read_savesect_func (int sector, int offset, int length) + void + cmain (void) + { +- grub_printf ("\n\nGRUB loading, please wait...\n"); ++ if (0) ++ grub_printf ("\n\nGRUB loading, please wait...\n"); + + /* + * Here load the true second-stage boot-loader. +diff --git a/stage2/stage2.c b/stage2/stage2.c +index 4dbf6f5..cca4332 100644 +--- a/stage2/stage2.c ++++ b/stage2/stage2.c +@@ -22,6 +22,8 @@ + + grub_jmp_buf restart_env; + ++int silent_grub = 0; ++ + #if defined(PRESET_MENU_STRING) || defined(SUPPORT_DISKLESS) + + # if defined(PRESET_MENU_STRING) +@@ -233,6 +235,10 @@ run_menu (char *menu_entries, char *config_entries, int num_entries, + { + int c, time1, time2 = -1, first_entry = 0; + char *cur_entry = 0; ++ struct term_entry *prev_term = NULL; ++ ++ if (grub_verbose) ++ cls(); + + /* + * Main loop for menu UI. +@@ -254,18 +260,33 @@ restart: + interface. */ + if (grub_timeout < 0) + show_menu = 1; +- ++ + /* If SHOW_MENU is false, don't display the menu until ESC is pressed. */ + if (! show_menu) + { ++ /* Don't show the "Booting in blah seconds message" if the timeout is 0 */ ++ int print_message = grub_timeout != 0; ++ + /* Get current time. */ + while ((time1 = getrtsecs ()) == 0xFF) + ; + ++ if (print_message) ++ grub_printf("\rPress any key to enter the menu\n\n\n"); ++ + while (1) + { +- /* Check if ESC is pressed. */ +- if (checkkey () != -1 && ASCII_CHAR (getkey ()) == '\e') ++ /* Check if any key is pressed */ ++ if (checkkey () != -1) ++ { ++ grub_timeout = -1; ++ show_menu = 1; ++ getkey (); ++ break; ++ } ++ ++ /* See if a modifier key is held down. */ ++ if (keystatus () != 0) + { + grub_timeout = -1; + show_menu = 1; +@@ -287,8 +308,10 @@ restart: + grub_timeout--; + + /* Print a message. */ +- grub_printf ("\rPress `ESC' to enter the menu... %d ", +- grub_timeout); ++ if (print_message) ++ grub_printf ("\rBooting %s in %d seconds...", ++ get_entry(menu_entries, first_entry + entryno, 0), ++ grub_timeout); + } + } + } +@@ -319,7 +342,8 @@ restart: + if (config_entries) + printf ("\ + Press enter to boot the selected OS, \'e\' to edit the\n\ +- commands before booting, or \'c\' for a command-line."); ++ commands before booting, \'a\' to modify the kernel arguments\n\ ++ before booting, or \'c\' for a command-line."); + else + printf ("\ + Press \'b\' to boot, \'e\' to edit the selected command in the\n\ +@@ -514,7 +538,7 @@ restart: + if (c == 'O') + { + grub_memmove (cur_entry + 2, cur_entry, +- ((int) heap) - ((int) cur_entry)); ++ heap - cur_entry); + + cur_entry[0] = ' '; + cur_entry[1] = 0; +@@ -530,8 +554,8 @@ restart: + 0); + + grub_memmove (cur_entry, ptr, +- ((int) heap) - ((int) ptr)); +- heap -= (((int) ptr) - ((int) cur_entry)); ++ heap - ptr); ++ heap -= ptr - cur_entry; + + num_entries--; + +@@ -655,7 +679,7 @@ restart: + else + { + cls (); +- print_cmdline_message (0); ++ print_cmdline_message (CMDLINE_EDIT_MODE); + + new_heap = heap + NEW_HEAPSIZE + 1; + +@@ -681,7 +705,7 @@ restart: + + /* align rest of commands properly */ + grub_memmove (cur_entry + j, cur_entry + i, +- (int) heap - ((int) cur_entry + i)); ++ (unsigned long) heap - ((unsigned long) cur_entry + i)); + + /* copy command to correct area */ + grub_memmove (cur_entry, new_heap, j); +@@ -697,6 +721,98 @@ restart: + enter_cmdline (heap, 0); + goto restart; + } ++ if (config_entries && c == 'a') ++ { ++ int new_num_entries = 0, i = 0, j; ++ int needs_padding, amount; ++ char *new_heap; ++ char * entries; ++ char * entry_copy; ++ char * append_line; ++ char * start; ++ ++ entry_copy = new_heap = heap; ++ cur_entry = get_entry (config_entries, first_entry + entryno, ++ 1); ++ ++ do ++ { ++ while ((*(new_heap++) = cur_entry[i++]) != 0); ++ new_num_entries++; ++ } ++ while (config_entries && cur_entry[i]); ++ ++ /* this only needs to be done if config_entries is non-NULL, ++ but it doesn't hurt to do it always */ ++ *(new_heap++) = 0; ++ ++ new_heap = heap + NEW_HEAPSIZE + 1; ++ ++ entries = entry_copy; ++ while (*entries) ++ { ++ if ((strstr(entries, "kernel") == entries) && ++ isspace(entries[6])) ++ break; ++ ++ while (*entries) entries++; ++ entries++; ++ } ++ ++ if (!*entries) ++ goto restart; ++ ++ start = entries + 6; ++ ++ /* skip the white space */ ++ while (*start && isspace(*start)) start++; ++ /* skip the kernel name */ ++ while (*start && !isspace(*start)) start++; ++ ++ /* skip the white space */ ++ needs_padding = (!*start || !isspace(*start)); ++ while (*start && isspace(*start)) start++; ++ ++ append_line = new_heap; ++ grub_strcpy(append_line, start); ++ ++ cls(); ++ print_cmdline_message (CMDLINE_EDIT_MODE); ++ ++ if (get_cmdline(PACKAGE " append> ", ++ append_line, NEW_HEAPSIZE + 1, ++ 0, 1)) ++ goto restart; ++ ++ /* have new args; append_line points to the ++ new args and start points to the old ++ args */ ++ ++ i = grub_strlen(start); ++ j = grub_strlen(append_line); ++ ++ if (i > (j + needs_padding)) ++ amount = i; ++ else ++ amount = j + needs_padding; ++ ++ /* align rest of commands properly */ ++ memmove (start + j + needs_padding, start + i, ++ ((unsigned long) append_line) - ((unsigned long) start) - (amount)); ++ ++ if (needs_padding) ++ *start = ' '; ++ ++ /* copy command to correct area */ ++ memmove (start + needs_padding, append_line, j); ++ ++ /* set up this entry to boot */ ++ config_entries = NULL; ++ cur_entry = entry_copy; ++ heap = new_heap; ++ ++ break; ++ } + #ifdef GRUB_UTIL + if (c == 'q') + { +@@ -712,16 +828,31 @@ restart: + + boot_entry: + +- cls (); +- setcursor (1); ++ if (grub_verbose || show_menu) ++ { ++ cls (); ++ setcursor (1); ++ } ++ /* if our terminal needed initialization, we should shut it down ++ * before booting the kernel, but we want to save what it was so ++ * we can come back if needed */ ++ prev_term = current_term; ++ if (current_term->shutdown) ++ { ++ (*current_term->shutdown)(); ++ current_term = term_table; /* assumption: console is first */ ++ } ++ ++ if (silent_grub) ++ setcursor(0); + + while (1) + { + if (config_entries) +- printf (" Booting \'%s\'\n\n", ++ verbose_printf (" Booting \'%s\'\n\n", + get_entry (menu_entries, first_entry + entryno, 0)); + else +- printf (" Booting command-list\n\n"); ++ verbose_printf (" Booting command-list\n\n"); + + if (! cur_entry) + cur_entry = get_entry (config_entries, first_entry + entryno, 1); +@@ -748,6 +879,13 @@ restart: + break; + } + ++ /* if we get back here, we should go back to what our term was before */ ++ current_term = prev_term; ++ if (current_term->startup) ++ /* if our terminal fails to initialize, fall back to console since ++ * it should always work */ ++ if ((*current_term->startup)() == 0) ++ current_term = term_table; /* we know that console is first */ + show_menu = 1; + goto restart; + } +@@ -867,38 +1005,8 @@ cmain (void) + if (use_config_file) + #endif /* GRUB_UTIL */ + { +- char *default_file = (char *) DEFAULT_FILE_BUF; + int i; +- +- /* Get a saved default entry if possible. */ +- saved_entryno = 0; +- *default_file = 0; +- grub_strncat (default_file, config_file, DEFAULT_FILE_BUFLEN); +- for (i = grub_strlen(default_file); i >= 0; i--) +- if (default_file[i] == '/') +- { +- i++; +- break; +- } +- default_file[i] = 0; +- grub_strncat (default_file + i, "default", DEFAULT_FILE_BUFLEN - i); +- if (grub_open (default_file)) +- { +- char buf[10]; /* This is good enough. */ +- char *p = buf; +- int len; +- +- len = grub_read (buf, sizeof (buf)); +- if (len > 0) +- { +- buf[sizeof (buf) - 1] = 0; +- safe_parse_maxint (&p, &saved_entryno); +- } + +- grub_close (); +- } +- errnum = ERR_NONE; +- + do + { + /* STATE 0: Before any title command. +@@ -1050,11 +1158,16 @@ cmain (void) + while (is_preset); + } + ++ /* go ahead and make sure the terminal is setup */ ++ if (current_term->startup) ++ (*current_term->startup)(); ++ + if (! num_entries) + { + /* If no acceptable config file, goto command-line, starting + heap from where the config entries would have been stored + if there were any. */ ++ grub_verbose = 1; + enter_cmdline (config_entries, 1); + } + else +diff --git a/stage2/start.S b/stage2/start.S +index 9a7d504..7a6652f 100644 +--- a/stage2/start.S ++++ b/stage2/start.S +@@ -39,6 +39,9 @@ + + /* Print message string */ + #define MSG(x) movw $ABS(x), %si; call message ++ ++ /* Print verbose message string */ ++#define VMSG(x) + + .file "start.S" + +@@ -67,9 +70,9 @@ _start: + + /* print a notification message on the screen */ + pushw %si +- MSG(notification_string) ++ VMSG(notification_string) + popw %si +- ++ + /* this sets up for the first run through "bootloop" */ + movw $ABS(firstlist - BOOTSEC_LISTSIZE), %di + +@@ -291,9 +294,9 @@ copy_buffer: + movsb /* this runs the actual copy */ + + /* restore addressing regs and print a dot with correct DS +- (MSG modifies SI, which is saved, and unused AX and BX) */ ++ (VMSG modifies SI, which is saved, and unused AX and BX) */ + popw %ds +- MSG(notification_step) ++ VMSG(notification_step) + popa + + /* check if finished with this dataset */ +@@ -310,7 +313,7 @@ copy_buffer: + + bootit: + /* print a newline */ +- MSG(notification_done) ++ VMSG(notification_done) + popw %dx /* this makes sure %dl is our "boot" drive */ + #ifdef STAGE1_5 + ljmp $0, $0x2200 +diff --git a/stage2/term.h b/stage2/term.h +index 8261c7c..803de58 100644 +--- a/stage2/term.h ++++ b/stage2/term.h +@@ -54,18 +54,28 @@ typedef enum + /* Set when the terminal needs to be initialized. */ + #define TERM_NEED_INIT (1 << 16) + ++/* Bitmasks for modifier keys returned by term->keystatus(). */ ++#define TERM_STATUS_ALT (1 << 3) ++#define TERM_STATUS_CTRL (1 << 2) ++#define TERM_STATUS_LEFT_SHIFT (1 << 1) ++#define TERM_STATUS_RIGHT_SHIFT (1 << 0) ++ + struct term_entry + { + /* The name of a terminal. */ + const char *name; + /* The feature flags defined above. */ + unsigned long flags; ++ /* Default for maximum number of lines if not specified */ ++ unsigned short max_lines; + /* Put a character. */ + void (*putchar) (int c); + /* Check if any input character is available. */ + int (*checkkey) (void); + /* Get a character. */ + int (*getkey) (void); ++ /* Get keyboard modifier status. */ ++ int (*keystatus) (void); + /* Get the cursor position. The return value is ((X << 8) | Y). */ + int (*getxy) (void); + /* Go to the position (X, Y). */ +@@ -79,6 +89,11 @@ struct term_entry + void (*setcolor) (int normal_color, int highlight_color); + /* Turn on/off the cursor. */ + int (*setcursor) (int on); ++ ++ /* function to start a terminal */ ++ int (*startup) (void); ++ /* function to use to shutdown a terminal */ ++ void (*shutdown) (void); + }; + + /* This lists up available terminals. */ +@@ -96,6 +111,7 @@ void console_putchar (int c); + #ifndef STAGE1_5 + int console_checkkey (void); + int console_getkey (void); ++int console_keystatus (void); + int console_getxy (void); + void console_gotoxy (int x, int y); + void console_cls (void); +@@ -124,4 +140,23 @@ void hercules_setcolor (int normal_color, int highlight_color); + int hercules_setcursor (int on); + #endif + ++#ifdef SUPPORT_GRAPHICS ++extern int foreground, background, border, graphics_inited; ++ ++void graphics_set_splash(char *splashfile); ++int set_videomode (int mode); ++void graphics_putchar (int c); ++int graphics_getxy(void); ++void graphics_gotoxy(int x, int y); ++void graphics_cls(void); ++void graphics_setcolorstate (color_state state); ++void graphics_setcolor (int normal_color, int highlight_color); ++int graphics_setcursor (int on); ++int graphics_init(void); ++void graphics_end(void); ++ ++int hex(int v); ++void graphics_set_palette(int idx, int red, int green, int blue); ++#endif /* SUPPORT_GRAPHICS */ ++ + #endif /* ! GRUB_TERM_HEADER */ +diff --git a/stage2/tparm.c b/stage2/tparm.c +index ff78d53..408b284 100644 +--- a/stage2/tparm.c ++++ b/stage2/tparm.c +@@ -320,7 +320,7 @@ parse_format(const char *s, char *format, int *len) + #define isLOWER(c) ((c) >= 'a' && (c) <= 'z') + + static inline char * +-tparam_internal(const char *string, int *dataptr) ++tparam_internal(const char *string, va_list args) + { + #define NUM_VARS 26 + char *p_is_s[9]; +@@ -461,9 +461,9 @@ tparam_internal(const char *string, int *dataptr) + * a char* and an int may not be the same size on the stack. + */ + if (p_is_s[i] != 0) { +- p_is_s[i] = (char *)(*(dataptr++)); ++ p_is_s[i] = va_arg (args, char *); + } else { +- param[i] = (int)(*(dataptr++)); ++ param[i] = va_arg (args, int); + } + } + +@@ -716,11 +716,11 @@ char * + grub_tparm(const char *string,...) + { + char *result; +- int *dataptr = (int *) &string; ++ va_list ap; + +- dataptr++; +- +- result = tparam_internal(string, dataptr); ++ va_start (ap, string); ++ result = tparam_internal(string, ap); ++ va_end(ap); + + return result; + } +diff --git a/test b/test +new file mode 100644 +index 0000000..b182379 +--- /dev/null ++++ b/test +@@ -0,0 +1 @@ ++fo of fo +diff --git a/util/.gitignore b/util/.gitignore +new file mode 100644 +index 0000000..6687356 +--- /dev/null ++++ b/util/.gitignore +@@ -0,0 +1,7 @@ ++Makefile.in ++Makefile ++.deps ++grub-image ++grub-install ++grub-md5-crypt ++grub-terminfo +diff --git a/util/Makefile.am b/util/Makefile.am +index 2e04711..fa545b1 100644 +--- a/util/Makefile.am ++++ b/util/Makefile.am +@@ -1,6 +1,7 @@ ++if !PLATFORM_EFI ++ + bin_PROGRAMS = mbchk +-sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo \ +- grub-set-default ++sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo grub-crypt + noinst_SCRIPTS = grub-image mkbimage + + EXTRA_DIST = mkbimage +@@ -10,3 +11,9 @@ AM_CFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/docs + + mbchk_SOURCES = mbchk.c + mbchk_LDADD = ../lib/libcommon.a ++ ++else ++ ++sbin_SCRIPTS = grub-md5-crypt grub-terminfo grub-crypt ++ ++endif +diff --git a/util/Makefile.in b/util/Makefile.in +index e700cf7..aa5a12e 100644 +--- a/util/Makefile.in ++++ b/util/Makefile.in +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.9.4 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -15,17 +15,11 @@ + @SET_MAKE@ + + +-SOURCES = $(mbchk_SOURCES) +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-top_builddir = .. + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-INSTALL = @INSTALL@ + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c +@@ -43,17 +37,16 @@ bin_PROGRAMS = mbchk$(EXEEXT) + subdir = util + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/grub-image.in $(srcdir)/grub-install.in \ +- $(srcdir)/grub-md5-crypt.in $(srcdir)/grub-set-default.in \ +- $(srcdir)/grub-terminfo.in ++ $(srcdir)/grub-md5-crypt.in $(srcdir)/grub-terminfo.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/configure.in + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = $(top_builddir)/config.h + CONFIG_CLEAN_FILES = grub-image grub-install grub-md5-crypt \ +- grub-terminfo grub-set-default ++ grub-terminfo + am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" + binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + PROGRAMS = $(bin_PROGRAMS) +@@ -62,7 +55,7 @@ mbchk_OBJECTS = $(am_mbchk_OBJECTS) + mbchk_DEPENDENCIES = ../lib/libcommon.a + sbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) + SCRIPTS = $(noinst_SCRIPTS) $(sbin_SCRIPTS) +-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles + COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +@@ -75,17 +68,14 @@ ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ +-AMDEP_FALSE = @AMDEP_FALSE@ +-AMDEP_TRUE = @AMDEP_TRUE@ + AMTAR = @AMTAR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ + AUTOMAKE = @AUTOMAKE@ + AWK = @AWK@ +-BUILD_EXAMPLE_KERNEL_FALSE = @BUILD_EXAMPLE_KERNEL_FALSE@ +-BUILD_EXAMPLE_KERNEL_TRUE = @BUILD_EXAMPLE_KERNEL_TRUE@ + CC = @CC@ + CCAS = @CCAS@ ++CCASDEPMODE = @CCASDEPMODE@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ +@@ -94,18 +84,16 @@ CPPFLAGS = @CPPFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-DISKLESS_SUPPORT_FALSE = @DISKLESS_SUPPORT_FALSE@ +-DISKLESS_SUPPORT_TRUE = @DISKLESS_SUPPORT_TRUE@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ + FSYS_CFLAGS = @FSYS_CFLAGS@ ++GREP = @GREP@ + GRUB_CFLAGS = @GRUB_CFLAGS@ + GRUB_LIBS = @GRUB_LIBS@ +-HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ +-HERCULES_SUPPORT_TRUE = @HERCULES_SUPPORT_TRUE@ ++INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ +@@ -113,14 +101,12 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ +-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ + MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ + NETBOOT_DRIVERS = @NETBOOT_DRIVERS@ +-NETBOOT_SUPPORT_FALSE = @NETBOOT_SUPPORT_FALSE@ +-NETBOOT_SUPPORT_TRUE = @NETBOOT_SUPPORT_TRUE@ + NET_CFLAGS = @NET_CFLAGS@ + NET_EXTRAFLAGS = @NET_EXTRAFLAGS@ + OBJCOPY = @OBJCOPY@ +@@ -134,22 +120,17 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + PERL = @PERL@ + RANLIB = @RANLIB@ +-SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ +-SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ +-SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ +-SERIAL_SUPPORT_TRUE = @SERIAL_SUPPORT_TRUE@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STAGE1_CFLAGS = @STAGE1_CFLAGS@ + STAGE2_CFLAGS = @STAGE2_CFLAGS@ + STRIP = @STRIP@ + VERSION = @VERSION@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_OBJCOPY = @ac_ct_OBJCOPY@ +-ac_ct_RANLIB = @ac_ct_RANLIB@ +-ac_ct_STRIP = @ac_ct_STRIP@ +-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -161,31 +142,40 @@ build_alias = @build_alias@ + build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ ++builddir = @builddir@ + datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ + exec_prefix = @exec_prefix@ + host = @host@ + host_alias = @host_alias@ + host_cpu = @host_cpu@ + host_os = @host_os@ + host_vendor = @host_vendor@ ++htmldir = @htmldir@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ + libdir = @libdir@ + libexecdir = @libexecdir@ ++localedir = @localedir@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ ++psdir = @psdir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ +-sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo \ +- grub-set-default +- ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++sbin_SCRIPTS = grub-install grub-md5-crypt grub-terminfo + noinst_SCRIPTS = grub-image mkbimage + EXTRA_DIST = mkbimage + +@@ -234,11 +224,9 @@ grub-md5-crypt: $(top_builddir)/config.status $(srcdir)/grub-md5-crypt.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + grub-terminfo: $(top_builddir)/config.status $(srcdir)/grub-terminfo.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +-grub-set-default: $(top_builddir)/config.status $(srcdir)/grub-set-default.in +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) +- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" ++ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ +@@ -261,10 +249,10 @@ clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + mbchk$(EXEEXT): $(mbchk_OBJECTS) $(mbchk_DEPENDENCIES) + @rm -f mbchk$(EXEEXT) +- $(LINK) $(mbchk_LDFLAGS) $(mbchk_OBJECTS) $(mbchk_LDADD) $(LIBS) ++ $(LINK) $(mbchk_OBJECTS) $(mbchk_LDADD) $(LIBS) + install-sbinSCRIPTS: $(sbin_SCRIPTS) + @$(NORMAL_INSTALL) +- test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" ++ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" + @list='$(sbin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ +@@ -291,19 +279,18 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbchk.Po@am__quote@ + + .c.o: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: +-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +-uninstall-info-am: + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ +@@ -354,22 +341,21 @@ distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + + distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ +- list='$(DISTFILES)'; for file in $$list; do \ +- case $$file in \ +- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ +- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ +- esac; \ ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test "$$dir" != "$$file" && test "$$dir" != "."; then \ +- dir="/$$dir"; \ +- $(mkdir_p) "$(distdir)$$dir"; \ +- else \ +- dir=''; \ +- fi; \ + if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ +@@ -385,7 +371,7 @@ check: check-am + all-am: Makefile $(PROGRAMS) $(SCRIPTS) + installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)"; do \ +- test -z "$$dir" || $(mkdir_p) "$$dir"; \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: install-am + install-exec: install-exec-am +@@ -433,12 +419,20 @@ info-am: + + install-data-am: + ++install-dvi: install-dvi-am ++ + install-exec-am: install-binPROGRAMS install-sbinSCRIPTS + ++install-html: install-html-am ++ + install-info: install-info-am + + install-man: + ++install-pdf: install-pdf-am ++ ++install-ps: install-ps-am ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -458,20 +452,23 @@ ps: ps-am + + ps-am: + +-uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ +- uninstall-sbinSCRIPTS ++uninstall-am: uninstall-binPROGRAMS uninstall-sbinSCRIPTS ++ ++.MAKE: install-am install-strip + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ +- install-data install-data-am install-exec install-exec-am \ +- install-info install-info-am install-man install-sbinSCRIPTS \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-sbinSCRIPTS \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ +- uninstall-info-am uninstall-sbinSCRIPTS ++ uninstall-sbinSCRIPTS + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff --git a/util/grub-crypt.in b/util/grub-crypt.in +new file mode 100644 +index 0000000..e8783c8 +--- /dev/null ++++ b/util/grub-crypt.in +@@ -0,0 +1,80 @@ ++#! /usr/bin/python ++ ++'''Generate encrypted passwords for GRUB.''' ++ ++import crypt ++import getopt ++import getpass ++import sys ++ ++def usage(): ++ '''Output usage message to stderr and exit.''' ++ print >> sys.stderr, 'Usage: grub-crypt [OPTION]...' ++ print >> sys.stderr, 'Try `$progname --help\' for more information.' ++ sys.exit(1) ++ ++def gen_salt(): ++ '''Generate a random salt.''' ++ ret = '' ++ with open('/dev/urandom', 'rb') as urandom: ++ while True: ++ byte = urandom.read(1) ++ if byte in ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ++ './0123456789'): ++ ret += byte ++ if len(ret) == 16: ++ break ++ return ret ++ ++def main(): ++ '''Top level.''' ++ crypt_type = '$6$' # SHA-256 ++ try: ++ opts, args = getopt.getopt(sys.argv[1:], 'hv', ++ ('help', 'version', 'md5', 'sha-256', ++ 'sha-512')) ++ except getopt.GetoptError, err: ++ print >> sys.stderr, str(err) ++ usage() ++ if args: ++ print >> sys.stderr, 'Unexpected argument `%s\'' % (args[0],) ++ usage() ++ for (opt, _) in opts: ++ if opt in ('-h', '--help'): ++ print ( ++'''Usage: grub-crypt [OPTION]... ++Encrypt a password. ++ ++ -h, --help Print this message and exit ++ -v, --version Print the version information and exit ++ --md5 Use MD5 to encrypt the password ++ --sha-256 Use SHA-256 to encrypt the password ++ --sha-512 Use SHA-512 to encrypt the password (default) ++ ++Report bugs to . ++EOF''') ++ sys.exit(0) ++ elif opt in ('-v', '--version'): ++ print 'grub-crypt (GNU GRUB @VERSION@)' ++ sys.exit(0) ++ elif opt == '--md5': ++ crypt_type = '$1$' ++ elif opt == '--sha-256': ++ crypt_type = '$5$' ++ elif opt == '--sha-512': ++ crypt_type = '$6$' ++ else: ++ assert False, 'Unhandled option' ++ password = getpass.getpass('Password: ') ++ password2 = getpass.getpass('Retype password: ') ++ if not password: ++ print >> sys.stderr, 'Empty password is not permitted.' ++ sys.exit(1) ++ if password != password2: ++ print >> sys.stderr, 'Sorry, passwords do not match.' ++ sys.exit(1) ++ salt = crypt_type + gen_salt() ++ print crypt.crypt(password, salt) ++ ++if __name__ == '__main__': ++ main() +diff --git a/util/grub-install.in b/util/grub-install.in +index 2e598b0..12539b8 100644 +--- a/util/grub-install.in ++++ b/util/grub-install.in +@@ -21,34 +21,36 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + sbindir=@sbindir@ +-libdir=@libdir@ ++datadir=@datadir@ + PACKAGE=@PACKAGE@ + VERSION=@VERSION@ + host_cpu=@host_cpu@ + host_os=@host_os@ + host_vendor=@host_vendor@ +-pkglibdir=${libdir}/${PACKAGE}/${host_cpu}-${host_vendor} ++pkgdatadir=${datadir}/${PACKAGE}/${host_cpu}-${host_vendor} + + grub_shell=${sbindir}/grub +-grub_set_default=${sbindir}/grub-set-default +-log_file=/tmp/grub-install.log.$$ +-img_file=/tmp/grub-install.img.$$ ++mdadm=${sbindir}/mdadm ++log_file=${TMPDIR:-/tmp}/grub-install.log.$$ ++img_file=${TMPDIR:-/tmp}/grub-install.img.$$ + rootdir= + grub_prefix=/boot/grub + ++install_drives= + install_device= + no_floppy= + force_lba= + recheck=no + debug=no ++justcopy=no + + # look for secure tempfile creation wrappers on this platform + if test -x /bin/tempfile; then + mklog="/bin/tempfile --prefix=grub" + mkimg="/bin/tempfile --prefix=grub" + elif test -x /bin/mktemp; then +- mklog="/bin/mktemp /tmp/grub-install.log.XXXXXX" +- mkimg="/bin/mktemp /tmp/grub-install.img.XXXXXX" ++ mklog="/bin/mktemp ${TMPDIR:-/tmp}/grub-install.log.XXXXXX" ++ mkimg="/bin/mktemp ${TMPDIR:-/tmp}/grub-install.img.XXXXXX" + else + mklog="" + mkimg="" +@@ -70,6 +72,8 @@ Install GRUB on your drive. + --force-lba force GRUB to use LBA mode even for a buggy + BIOS + --recheck probe a device map even if it already exists ++ This flag is unreliable and its use is ++ strongly discouraged. + + INSTALL_DEVICE can be a GRUB device name or a system device filename. + +@@ -96,17 +100,28 @@ convert () { + # Break the device name into the disk part and the partition part. + case "$host_os" in + linux*) +- tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \ ++ tmp_disk=`echo "$1" | grep -v '/mapper/control$' | ++ grep -v '/mapper/[[:alnum:]]\+-[[:alnum:]]\+$' | uniq | ++ sed -e 's%\([shv]d[a-z]\)[0-9]*$%\1%' \ + -e 's%\(d[0-9]*\)p[0-9]*$%\1%' \ + -e 's%\(fd[0-9]*\)$%\1%' \ + -e 's%/part[0-9]*$%/disc%' \ +- -e 's%\(c[0-7]d[0-9]*\).*$%\1%'` +- tmp_part=`echo "$1" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' \ ++ -e 's%\(c[0-7]d[0-9]*\).*$%\1%' \ ++ -e 's%\(/mapper/[[:alpha:]]\+[[:digit:]]\+\)p[[:digit:]]\+$%\1%' \ ++ -e 's%\(/mapper/isw_[[:alpha:]_]\+[[:alpha:]]\+[[:digit:]]\+\)p[[:digit:]]\+$%\1%' \ ++ -e 's%\(/mapper/[[:alpha:]]\+_[[:alpha:]]\+\)[[:digit:]]\+$%\1%'` ++ tmp_part=`echo "$1" | grep -v '/mapper/control$' | ++ grep -v '/mapper/[[:alnum:]]\+-[[:alnum:]]\+$' | uniq | ++ sed -e 's%.*/[shv]d[a-z]\([0-9]*\)$%\1%' \ + -e 's%.*d[0-9]*p%%' \ + -e 's%.*/fd[0-9]*$%%' \ + -e 's%.*/floppy/[0-9]*$%%' \ + -e 's%.*/\(disc\|part\([0-9]*\)\)$%\2%' \ +- -e 's%.*c[0-7]d[0-9]*p%%'` ++ -e 's%.*c[0-7]d[0-9]*p%%' \ ++ -e 's%.*/mapper/[[:alpha:]]\+[[:digit:]]\+p\([[:digit:]]\+\)$%\1%' \ ++ -e 's%.*/mapper/isw_[[:alpha:]_]\+[[:alpha:]]\+[[:digit:]]\+p\([[:digit:]]\+\)$%\1%' \ ++ -e 's%.*/mapper/[[:alpha:]]\+_[[:alpha:]]\+\([[:digit:]]\+\)$%\1%' | ++ grep -v '.*/mapper/.*'` + ;; + gnu*) + tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'` +@@ -196,7 +211,7 @@ resolve_symlink () { + while test -L $tmp_fname; do + tmp_new_fname=`ls -al $tmp_fname | sed -n 's%.*-> \(.*\)%\1%p'` + if test -z "$tmp_new_fname"; then +- echo "Unrecognized ls output" 2>&1 ++ echo "Unrecognized ls output" 1>&2 + exit 1 + fi + +@@ -211,6 +226,80 @@ resolve_symlink () { + echo "$tmp_fname" + } + ++# Usage: is_raid1_device devicename ++# Returns 0 if devicename is a raid1 md device, 1 if it is not. ++is_raid1_device () { ++ case "$host_os" in ++ linux*) ++ level=`$mdadm --query --detail $1 2>/dev/null | \ ++ awk '/Raid Level :/ {print $4}'` ++ if [ "$level" = "raid1" ]; then ++ return 0 ++ fi ++ ;; ++ esac ++ return 1 ++} ++ ++# Usage: find_real_devs device ++# Returns space separated list of devices for linux if device is ++# a raid1 device. In all other cases, the provided value is returned. ++find_real_devs () { ++ source_device=$1 ++ case "$host_os" in ++ linux*) ++ if is_raid1_device $source_device ; then ++ list="" ++ for device in `$mdadm --query --detail "${source_device}" | \ ++ awk '/\/dev\/[^(md)]/ {print $7}'` ; do ++ list="$list $device" ++ done ++ echo $list ++ return 0 ++ fi ++ ;; ++ esac ++ echo $source_device ++ return 0 ++} ++ ++# Usage: stat_device file ++# Find major:minor of a device node. ++stat_device() { ++ majmin=`stat -c "%t:%T" "$1" 2>/dev/null` ++ if test -z "$majmin"; then ++ echo "Could not find device for $1" 1>&2 ++ exit 1 ++ fi ++ ++ echo "$majmin" ++} ++ ++# Usage: find_mapper_device file ++# Find a file in /dev/mapper with the same major:minor as the specified node. ++find_mapper_device() { ++ if [ -b "$1" ]; then ++ dev="$1" ++ else ++ mntpnt=`echo "$1" | sed 's,/,\\\\/,g'` ++ dev=`awk '($2 ~ /'$mntpnt'/) { print $1 }' /etc/mtab` ++ fi ++ if test -z "$dev"; then ++ echo "Could not find device for $1" 1>&2 ++ exit 1 ++ fi ++ ++ majmin=`stat_device $dev` ++ for x in /dev/mapper/* ; do ++ devmajmin=`stat_device "$x"` ++ if [ "$majmin" == "$devmajmin" ]; then ++ echo "$x" ++ return 0 ++ fi ++ done ++ return 1 ++} ++ + # Usage: find_device file + # Find block device on which the file resides. + find_device () { +@@ -219,15 +308,55 @@ find_device () { + tmp_fname=`df $1/ | sed -n 's%.*\(/dev/[^ ]*\).*%\1%p'` + + if test -z "$tmp_fname"; then +- echo "Could not find device for $1" 2>&1 ++ echo "Could not find device for $1" 1>&2 + exit 1 + fi + +- tmp_fname=`resolve_symlink $tmp_fname` ++ ret_fname=`resolve_symlink $tmp_fname` || exit 1 ++ tmp_fname=`find_mapper_device $ret_fname` ++ if test -n "$tmp_fname"; then ++ ret_fname="$tmp_fname" ++ fi ++ ++ echo "$ret_fname" ++ return 0 ++} ++ ++copy_images() { ++ # Copy the GRUB images to the GRUB directory. ++ for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do ++ rm -f $file || exit 1 ++ done ++ for file in \ ++ ${pkgdatadir}/stage1 ${pkgdatadir}/stage2 ${pkgdatadir}/*stage1_5; do ++ cp -f $file ${grubdir} 1>&2 || exit 1 ++ done ++} ++ ++ ++dump_boot_block () { ++ sync ++ $grub_shell --batch $no_floppy --device-map=$device_map <$log_file ++dump ${root_drive}${tmp} ${img_file} ++quit ++EOF ++} ++ ++ ++install_boot_block () { ++ # Before all invocations of the grub shell, call sync to make sure ++ # the raw device is in sync with any bufferring in filesystems. ++ sync + +- echo "$tmp_fname" ++ # Now perform the installation. ++ $grub_shell --batch $no_floppy --device-map=$device_map <>$log_file ++root $1 ++setup $force_lba --stage2=$grubdir/stage2 --prefix=$grub_prefix $2 ++quit ++EOF + } + ++ + # Check the arguments. + for option in "$@"; do + case "$option" in +@@ -247,6 +376,8 @@ for option in "$@"; do + force_lba="--force-lba" ;; + --recheck) + recheck=yes ;; ++ --just-copy) ++ justcopy=yes ;; + # This is an undocumented feature... + --debug) + debug=yes ;; +@@ -265,12 +396,6 @@ for option in "$@"; do + esac + done + +-if test "x$install_device" = x; then +- echo "install_device not specified." 1>&2 +- usage +- exit 1 +-fi +- + # If the debugging feature is enabled, print commands. + if test $debug = yes; then + set -x +@@ -293,6 +418,26 @@ esac + grubdir=${bootdir}/grub + device_map=${grubdir}/device.map + ++if [ "$recheck" == "yes" ]; then ++ if grep 'mapper' ${device_map} >/dev/null; then ++ echo 'grub-install does not support reprobing of device.map when' 1>&2 ++ echo 'using a device-mapper based boot device.' 1>&2 ++ exit 1 ++ fi ++fi ++ ++# if they just want the images copied, copy the images and then exit ++if test $justcopy = yes; then ++ copy_images ++ exit 0 ++fi ++ ++if test "x$install_device" = x; then ++ echo "install_device not specified." 1>&2 ++ usage ++ exit 1 ++fi ++ + # Check if GRUB is installed. + # This is necessary, because the user can specify "grub --read-only". + set $grub_shell dummy +@@ -303,17 +448,17 @@ else + exit 1 + fi + +-if test -f "$pkglibdir/stage1"; then ++if test -f "$pkgdatadir/stage1"; then + : + else +- echo "${pkglibdir}/stage1: Not found." 1>&2 ++ echo "${pkgdatadir}/stage1: Not found." 1>&2 + exit 1 + fi + +-if test -f "$pkglibdir/stage2"; then ++if test -f "$pkgdatadir/stage2"; then + : + else +- echo "${pkglibdir}/stage2: Not found." 1>&2 ++ echo "${pkgdatadir}/stage2: Not found." 1>&2 + exit 1 + fi + +@@ -324,9 +469,11 @@ fi + test -d "$bootdir" || mkdir "$bootdir" || exit 1 + test -d "$grubdir" || mkdir "$grubdir" || exit 1 + ++copy_images ++ + # If --recheck is specified, remove the device map, if present. + if test $recheck = yes; then +- rm -f $device_map ++ mv $device_map ${device_map}.backup + fi + + # Create the device map file if it is not present. +@@ -336,6 +483,10 @@ else + # Create a safe temporary file. + test -n "$mklog" && log_file=`$mklog` + ++ # Before all invocations of the grub shell, call sync to make sure ++ # the raw device is in sync with any bufferring in filesystems. ++ sync ++ + $grub_shell --batch $no_floppy --device-map=$device_map <$log_file + quit + EOF +@@ -351,34 +502,60 @@ fi + tmp=`sed -n '/^([fh]d[0-9]*)/s/\(^(.*)\).*/\1/p' $device_map \ + | sort | uniq -d | sed -n 1p` + if test -n "$tmp"; then +- echo "The drive $tmp is defined multiple times in the device map $device_map" 1>&2 ++ echo "The drive $tmp is defined multiple times in the new device map." 1>&2 ++ if test $recheck = yes; then ++ echo "Reverting to backed up copy." 1>&2 ++ mv ${device_map}.backup $device_map ++ fi ++ exit 1 ++fi ++ ++# Make sure device.map has at least one hd device ++grep -q "^(hd[0-9]\+)" $device_map ++if [ "x$?" != "x0" ]; then ++ echo "No suitable drive was found in the generated device map." 1>&2 ++ if test $recheck = yes; then ++ echo "Reverting to backed up copy." 1>&2 ++ mv ${device_map}.backup $device_map ++ fi + exit 1 + fi + + # Check for INSTALL_DEVICE. + case "$install_device" in + /dev/*) +- install_device=`resolve_symlink "$install_device"` +- install_drive=`convert "$install_device"` +- # I don't know why, but some shells wouldn't die if exit is +- # called in a function. +- if test "x$install_drive" = x; then ++ install_device=`resolve_symlink "$install_device"` || exit 1 ++ for install_drive in `find_real_devs $install_device` ; do ++ install_drive=`convert $install_drive` || exit 1 ++ if is_raid1_device $install_device; then ++ install_drive=`echo $install_drive | sed 's/,[0-9]*)/)/'` ++ fi ++ if [ "x$install_drive" = "x" ]; then ++ exit 1 ++ fi ++ install_drives="${install_drives} ${install_drive}" ++ done ++ unset install_drive ++ ++ if test "x$install_drives" = x ; then + exit 1 + fi ;; + \([hf]d[0-9]*\)) +- install_drive="$install_device" ;; ++ install_drives="$install_device" ;; + [hf]d[0-9]*) + # The GRUB format with no parenthesis. +- install_drive="($install_device)" ;; ++ install_drives="($install_device)" ;; + *) + echo "Format of install_device not recognized." 1>&2 + usage + exit 1 ;; + esac + ++unset install_device ++ + # Get the root drive. +-root_device=`find_device ${rootdir}` +-bootdir_device=`find_device ${bootdir}` ++root_device=`find_device ${rootdir}` || exit 1 ++bootdir_device=`find_device ${bootdir}` || exit 1 + + # Check if the boot directory is in the same device as the root directory. + if test "x$root_device" != "x$bootdir_device"; then +@@ -387,15 +564,8 @@ if test "x$root_device" != "x$bootdir_device"; then + grub_prefix="/grub" + fi + +-# Convert the root device to a GRUB drive. +-root_drive=`convert "$root_device"` +-if test "x$root_drive" = x; then +- exit 1 +-fi +- +-# Check if the root directory exists in the same device as the grub +-# directory. +-grubdir_device=`find_device ${grubdir}` ++# Check if the root directory exists in the same device as the grub directory. ++grubdir_device=`find_device ${grubdir}` || exit 1 + + if test "x$grubdir_device" != "x$root_device"; then + # For now, cannot deal with this situation. +@@ -406,61 +576,71 @@ EOF + exit 1 + fi + +-# Copy the GRUB images to the GRUB directory. +-for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do +- rm -f $file || exit 1 +-done +-for file in \ +- ${pkglibdir}/stage1 ${pkglibdir}/stage2 ${pkglibdir}/*stage1_5; do +- cp -f $file ${grubdir} || exit 1 +-done +- +-# Make a default file. +-${grub_set_default} --root-directory=${rootdir} default +- + # Make sure that GRUB reads the same images as the host OS. + test -n "$mkimg" && img_file=`$mkimg` + test -n "$mklog" && log_file=`$mklog` + ++# There's not a real root device, so just pick the first ++if is_raid1_device $root_device ; then ++ root_device=`find_real_devs $root_device | awk '{print $1}'` ++fi ++ ++# Convert the root deviceto a GRUB drive. ++root_drive=`convert "$root_device"` || exit 1 ++if [ "x$root_drive" = x ]; then ++ exit 1 ++fi ++ + for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do + count=5 + tmp=`echo $file | sed "s|^${grubdir}|${grub_prefix}|"` + while test $count -gt 0; do +- $grub_shell --batch $no_floppy --device-map=$device_map <$log_file +-dump ${root_drive}${tmp} ${img_file} +-quit +-EOF +- if grep "Error [0-9]*: " $log_file >/dev/null; then +- : +- elif cmp $file $img_file >/dev/null; then +- break +- fi +- sleep 1 +- count=`expr $count - 1` ++ dump_boot_block $root_drive $img_file ++ if grep "Error [0-9]*: " $log_file >/dev/null; then ++ : ++ else ++ # Use sha1sum instead of cmp to avoid a dependency on diffutils. ++ sha1=`sha1sum $file | cut -d' ' -f 1` ++ sha2=`sha1sum $img_file | cut -d' ' -f 1` ++ if test -f $file -a -f $img_file -a "$sha1" = "$sha2"; then ++ break ++ fi ++ fi ++ sleep 1 ++ count=`expr $count - 1` + done + if test $count -eq 0; then +- echo "The file $file not read correctly." 1>&2 +- exit 1 ++ echo "The file $file not read correctly." 1>&2 ++ exit 1 + fi + done + + rm -f $img_file + rm -f $log_file + ++if ! test -e ${grubdir}/grub.conf ; then ++ test -e ${grubdir}/menu.lst && ln -s ./menu.lst ${grubdir}/grub.conf ++fi ++ + # Create a safe temporary file. + test -n "$mklog" && log_file=`$mklog` + +-# Now perform the installation. +-$grub_shell --batch $no_floppy --device-map=$device_map <$log_file +-root $root_drive +-setup $force_lba --stage2=$grubdir/stage2 --prefix=$grub_prefix $install_drive +-quit +-EOF ++for install_drive in $install_drives; do ++ # Convert the root deviceto a GRUB drive. ++ root_drive=`convert "$root_device"` || exit 1 ++ if [ "x$root_drive" = x ]; then ++ exit 1 ++ fi ++ install_boot_block $root_drive $install_drive ++done + +-if grep "Error [0-9]*: " $log_file >/dev/null || test $debug = yes; then ++if grep "Error [0-9]*: " $log_file >/dev/null ; then + cat $log_file 1>&2 + exit 1 + fi ++if test $debug = yes; then ++ cat $log_file 1>&2 ++fi + + rm -f $log_file + diff --git a/grub.spec b/grub.spec index d1e98b9..18ae0a5 100644 --- a/grub.spec +++ b/grub.spec @@ -1,6 +1,6 @@ Name: grub Version: 0.97 -Release: 84%{?dist} +Release: 87%{?dist} Epoch: 1 Summary: Grand Unified Boot Loader. Group: System Environment/Base @@ -14,7 +14,7 @@ BuildRequires: glibc-static BuildRequires: git Requires(post): /sbin/install-info Requires(preun): /sbin/install-info -Requires: mktemp +Requires: coreutils Requires: system-logos BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Conflicts: grub2 @@ -24,9 +24,8 @@ Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz # This is from # http://git.kernel.org/?p=boot/grub-fedora/grub-fedora.git;a=summary -Patch0: grub-fedora-16.patch -Patch1: 0001-Fall-back-to-old-efi-GOP-detection-behavior.patch -Patch2: 0001-Fix-strange-compilation-problem.patch +Patch0: grub-fedora-17.patch +Patch1: 0001-Fix-strange-compilation-problem.patch %description GRUB (Grand Unified Boot Loader) is an experimental boot loader @@ -121,6 +120,16 @@ fi /sbin/grub-crypt %changelog +* Tue Feb 14 2012 Peter Jones - 0.97-87 +- Fix TFTP booting on systems with multiple NICs +- Fix ISO size calculation when not on an optical disc. + +* Thu Feb 09 2012 Peter Jones - 0.97-86 +- Add EFI filesystem stuff for mac booting. + +* Fri Jan 13 2012 Fedora Release Engineering - 1:0.97-85 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Wed Oct 26 2011 Fedora Release Engineering - 1:0.97-84 - Rebuilt for glibc bug#747377