grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] DL support on usparc & cls disabling when debugging


From: Vincent Pelletier
Subject: Re: [PATCH] DL support on usparc & cls disabling when debugging
Date: Sat, 22 Oct 2005 14:24:54 +0200
User-agent: Debian Thunderbird 1.0.7 (X11/20051017)

Vincent Pelletier wrote:
> I'll send a separate patch for the .mk & .rmk files, because I have a
> lot of dust in those files.

Here they are, along with cache.S
I'll commit those tomorrow if nothing is wrong with those
(conf/sparc64-ieee1275.rmk, conf/sparc64-ieee1275.mk and
kern/sparc64/dl.c, kern/sparc64/cache.S, -kern/sparc64/cache.c).

2005-10-22  Vincent Pelletier <address@hidden>

        * kern/sparc64/cache.S : New file (for sparc64 port).  Replaces
        kern/sparc64/cache.c.
        * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS):
        (COMMON_CFLAGS): Don't use registers for globals as it' not
        implemented in dynamic loader.
        (COMMON_LDFLAGS): Link as elf64.
        (grubof_HEADERS): Sync with grub progression.
        (normal_mod_SOURCES): Likewise.
        (grubof_SOURCES): Revert to ASM file for cache flushing, as it's
        now implemented.
        (grubof_LDFLAGS): Don't use register for globals, use the
        correct parameter to tell linker which model to use (thanks Jeff
        Bailey).
        (pkgdata_MODULES): Enable module build - except linux.mod and
        _linux.mod.
        (_linux_mod_SOURCES): Commented because module isn't built.
        (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS):
        Likewise.
        (_linux_mod_LDFLAGS): New macro, commented out because module
        isn't built.
        (linux_mod_LDFLAGS): Likewise.
        (fshelp_mod_LDFLAGS): New macro.
        (fat_mod_LDFLAGS, ext2_mod_LDFLAGS, ufs_mod_LDFLAGS,
        minix_mod_LDFLAGS, hfs_mod_LDFLAGS, jfs_mod_LDFLAGS,
        iso9660_mod_LDFLAGS, normal_mod_LDFLAGS, hello_mod_LDFLAGS,
        boot_mod_LDFLAGS, terminal_mod_LDFLAGS, ls_mod_LDFLAGS,
        cmp_mod_LDFLAGS, cat_mod_LDFLAGS, font_mod_LDFLAGS,
        amiga_mod_LDFLAGS, apple_mod_LDFLAGS, pc_mod_LDFLAGS,
        sun_mod_LDFLAGS, loopback_mod_LDFLAGS, suspend_mod_LDFLAGS,
        reboot_mod_LDFLAGS, halt_mod_LDFLAGS, help_mod_LDFLAGS,
        default_mod_LDFLAGS, timeout_mod_LDFLAGS,
        configfile_mod_LDFLAGS, search_mod_LDFLAGS): Likewise.
        * conf/sparc64-ieee1275.mk: Generated from sparc64-ieee1275.rmk.
Index: cache.S
===================================================================
RCS file: cache.S
diff -N cache.S
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ cache.S     22 Oct 2005 12:23:18 -0000
@@ -0,0 +1,44 @@
+/* cache.S - Flush the processor cache for a specific region.  */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2005  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 <grub/symbol.h>
+
+        .file   "cache.S"
+
+        .text
+
+/*
+ * void grub_arch_sync_caches (void *address, grub_size_t len)
+ */
+FUNCTION(grub_arch_sync_caches)
+        save            %o6,    -0xC,  %o6      ! Get a new register window,
+                                                ! reserve space on stack for
+                                                ! %i0, %i1, %i2
+        brz,pn          %i0,    return          ! Return if address == 0.
+         nop
+        brz,pn          %i1,    return          ! Return if len == 0.
+         clr             %i2                    ! index = 0.
+loop:   flush           %i0 + %i2               ! Flush address + index.
+        cmp             %i1,    %i2             ! Compare len & index .
+        bpos,a,pt       %xcc,   loop            ! If len > index, loop.
+         add            %i2,    8,      %i2     ! Go to next doubleword.
+return: ret                                     ! Restore caller's register
+         restore                                ! window and return.
+
Index: cache.c
===================================================================
RCS file: cache.c
diff -N cache.c
--- cache.c     21 Aug 2005 18:42:55 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-#include <grub/types.h>
-
-void grub_arch_sync_caches(void *address __attribute__((unused)),
-                           grub_size_t len __attribute__((unused)));
-void grub_arch_sync_caches(void *address __attribute__((unused)),
-                           grub_size_t len __attribute__((unused)))
-{
-  return;
-}
Index: sparc64-ieee1275.rmk
===================================================================
RCS file: /cvsroot/grub/grub2/conf/sparc64-ieee1275.rmk,v
retrieving revision 1.2
diff -u -p -r1.2 sparc64-ieee1275.rmk
--- sparc64-ieee1275.rmk        21 Aug 2005 19:33:14 -0000      1.2
+++ sparc64-ieee1275.rmk        22 Oct 2005 12:21:02 -0000
@@ -1,8 +1,9 @@
 
 # -*- makefile -*-
 
-COMMON_ASFLAGS = -nostdinc
-COMMON_CFLAGS = -ggdb -ffreestanding -m64 -mcpu=v9 -mtune=ultrasparc
+COMMON_ASFLAGS = -nostdinc -Av9
+COMMON_CFLAGS = -ggdb -ffreestanding -m64 -mno-app-regs
+COMMON_LDFLAGS = -melf64_sparc
 
 # Images.
 
@@ -11,8 +12,9 @@ DEFSYMFILES += kernel_syms.lst
 
 grubof_HEADERS = arg.h boot.h device.h disk.h dl.h elf.h env.h err.h \
        file.h fs.h kernel.h misc.h mm.h net.h rescue.h symbol.h \
-       term.h types.h loader.h \
-       partition.h pc_partition.h ieee1275/ieee1275.h machine/time.h
+       term.h types.h sparc64/libgcc.h loader.h \
+       partition.h pc_partition.h ieee1275/ieee1275.h machine/time.h \
+       machine/kernel.h
 
 grubof_symlist.c: $(addprefix include/grub/,$(grubof_HEADERS)) gensymlist.sh
        sh $(srcdir)/gensymlist.sh $(filter %.h,$^) > $@
@@ -59,146 +61,178 @@ grubof_SOURCES = kern/sparc64/ieee1275/i
        kern/rescue.c kern/term.c term/ieee1275/ofconsole.c \
        kern/sparc64/ieee1275/openfw.c disk/ieee1275/ofdisk.c \
        kern/partition.c kern/env.c kern/sparc64/dl.c grubof_symlist.c \
-       kern/sparc64/cache.c
+       kern/sparc64/cache.S
 grubof_HEADERS = grub/sparc64/ieee1275/ieee1275.h
 grubof_CFLAGS = $(COMMON_CFLAGS)
 grubof_ASFLAGS = $(COMMON_ASFLAGS)
-grubof_LDFLAGS = -m64 -nostdlib -Wl,-N,-Ttext,0x200000,-Bstatic -Xlinker 
--oformat -Xlinker elf64-sparc
+grubof_LDFLAGS = -mno-app-regs -nostdlib 
-Wl,-N,-Ttext,0x200000,-Bstatic,-melf64_sparc
 
 # For genmoddep.
 genmoddep_SOURCES = util/genmoddep.c
 
 # Modules.
-#pkgdata_MODULES = _linux.mod linux.mod fat.mod ufs.mod ext2.mod minix.mod \
-#      hfs.mod jfs.mod normal.mod hello.mod font.mod ls.mod \
-#      boot.mod cmp.mod cat.mod terminal.mod fshelp.mod amiga.mod apple.mod \
-#      pc.mod suspend.mod loopback.mod help.mod reboot.mod halt.mod sun.mod \
-#      default.mod timeout.mod configfile.mod search.mod
+#_linux.mod linux.mod
+pkgdata_MODULES = fshelp.mod ext2.mod fat.mod ufs.mod minix.mod \
+       hfs.mod jfs.mod normal.mod hello.mod font.mod ls.mod \
+       boot.mod cmp.mod cat.mod terminal.mod amiga.mod apple.mod \
+       pc.mod suspend.mod loopback.mod help.mod reboot.mod halt.mod sun.mod \
+       default.mod timeout.mod configfile.mod search.mod
 
 # For fshelp.mod.
 fshelp_mod_SOURCES = fs/fshelp.c
 fshelp_mod_CFLAGS = $(COMMON_CFLAGS)
+fshelp_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For fat.mod.
 fat_mod_SOURCES = fs/fat.c
 fat_mod_CFLAGS = $(COMMON_CFLAGS)
+fat_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For ext2.mod.
 ext2_mod_SOURCES = fs/ext2.c
 ext2_mod_CFLAGS = $(COMMON_CFLAGS)
+ext2_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For ufs.mod.
 ufs_mod_SOURCES = fs/ufs.c
 ufs_mod_CFLAGS = $(COMMON_CFLAGS)
+ufs_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For minix.mod.
 minix_mod_SOURCES = fs/minix.c
 minix_mod_CFLAGS = $(COMMON_CFLAGS)
+minix_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For hfs.mod.
 hfs_mod_SOURCES = fs/hfs.c
 hfs_mod_CFLAGS = $(COMMON_CFLAGS)
+hfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For jfs.mod.
 jfs_mod_SOURCES = fs/jfs.c
 jfs_mod_CFLAGS = $(COMMON_CFLAGS)
+jfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For iso9660.mod.
 iso9660_mod_SOURCES = fs/iso9660.c
 iso9660_mod_CFLAGS = $(COMMON_CFLAGS)
+iso9660_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For _linux.mod.
-_linux_mod_SOURCES = loader/sparc64/ieee1275/linux.c
-_linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#_linux_mod_SOURCES = loader/sparc64/ieee1275/linux.c
+#_linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#_linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
  
 # For linux.mod.
-linux_mod_SOURCES = loader/sparc64/ieee1275/linux_normal.c
-linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#linux_mod_SOURCES = loader/sparc64/ieee1275/linux_normal.c
+#linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For normal.mod.
 normal_mod_SOURCES = normal/arg.c normal/cmdline.c normal/command.c    \
-       normal/context.c normal/main.c normal/menu.c                    \
-       normal/menu_entry.c                                             \
+       normal/completion.c normal/context.c normal/main.c              \
+       normal/menu.c normal/menu_entry.c normal/misc.c                 \
        normal/sparc64/setjmp.c
 normal_mod_CFLAGS = $(COMMON_CFLAGS)
 normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
+normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For hello.mod.
 hello_mod_SOURCES = hello/hello.c
 hello_mod_CFLAGS = $(COMMON_CFLAGS)
+hello_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For boot.mod.
 boot_mod_SOURCES = commands/boot.c
 boot_mod_CFLAGS = $(COMMON_CFLAGS)
+boot_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For terminal.mod.
 terminal_mod_SOURCES = commands/terminal.c
 terminal_mod_CFLAGS = $(COMMON_CFLAGS)
+terminal_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For ls.mod.
 ls_mod_SOURCES = commands/ls.c
 ls_mod_CFLAGS = $(COMMON_CFLAGS)
+ls_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For cmp.mod.
 cmp_mod_SOURCES = commands/cmp.c
 cmp_mod_CFLAGS = $(COMMON_CFLAGS)
+cmp_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For cat.mod.
 cat_mod_SOURCES = commands/cat.c
 cat_mod_CFLAGS = $(COMMON_CFLAGS)
+cat_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For font.mod.
 font_mod_SOURCES = font/manager.c
 font_mod_CFLAGS = $(COMMON_CFLAGS)
+font_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For amiga.mod
 amiga_mod_SOURCES = partmap/amiga.c
 amiga_mod_CFLAGS = $(COMMON_CFLAGS)
+amiga_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For apple.mod
 apple_mod_SOURCES = partmap/apple.c
 apple_mod_CFLAGS = $(COMMON_CFLAGS)
+apple_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For pc.mod
 pc_mod_SOURCES = partmap/pc.c
 pc_mod_CFLAGS = $(COMMON_CFLAGS)
+pc_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For sun.mod
 sun_mod_SOURCES = partmap/sun.c
 sun_mod_CFLAGS = $(COMMON_CFLAGS)
+sun_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For loopback.mod
 loopback_mod_SOURCES = disk/loopback.c
 loopback_mod_CFLAGS = $(COMMON_CFLAGS)
+loopback_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For suspend.mod
 suspend_mod_SOURCES = commands/ieee1275/suspend.c
 suspend_mod_CFLAGS = $(COMMON_CFLAGS)
+suspend_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For reboot.mod
 reboot_mod_SOURCES = commands/ieee1275/reboot.c
 reboot_mod_CFLAGS = $(COMMON_CFLAGS)
+reboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For halt.mod
 halt_mod_SOURCES = commands/ieee1275/halt.c
 halt_mod_CFLAGS = $(COMMON_CFLAGS)
+halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For help.mod.
 help_mod_SOURCES = commands/help.c
 help_mod_CFLAGS = $(COMMON_CFLAGS)
+help_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For default.mod
 default_mod_SOURCES = commands/default.c
 default_mod_CFLAGS =  $(COMMON_CFLAGS)
+default_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For timeout.mod
 timeout_mod_SOURCES = commands/timeout.c
 timeout_mod_CFLAGS =  $(COMMON_CFLAGS)
+timeout_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For configfile.mod
 configfile_mod_SOURCES = commands/configfile.c
 configfile_mod_CFLAGS = $(COMMON_CFLAGS)
+configfile_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For search.mod.
 search_mod_SOURCES = commands/search.c
 search_mod_CFLAGS = $(COMMON_CFLAGS)
+search_mod_LDFLAGS = $(COMMON_LDFLAGS)
Index: sparc64-ieee1275.mk
===================================================================
RCS file: /cvsroot/grub/grub2/conf/sparc64-ieee1275.mk,v
retrieving revision 1.2
diff -u -p -r1.2 sparc64-ieee1275.mk
--- sparc64-ieee1275.mk 21 Aug 2005 19:33:14 -0000      1.2
+++ sparc64-ieee1275.mk 22 Oct 2005 12:21:02 -0000
@@ -1,8 +1,9 @@
 
 # -*- makefile -*-
 
-COMMON_ASFLAGS = -nostdinc
-COMMON_CFLAGS = -ggdb -ffreestanding -m64 -mcpu=v9 -mtune=ultrasparc
+COMMON_ASFLAGS = -nostdinc -Av9
+COMMON_CFLAGS = -ggdb -ffreestanding -m64 -mno-app-regs
+COMMON_LDFLAGS = -melf64_sparc
 
 # Images.
 
@@ -11,7 +12,9 @@ DEFSYMFILES += kernel_syms.lst
 
 grubof_HEADERS = arg.h boot.h device.h disk.h dl.h elf.h env.h err.h \
        file.h fs.h kernel.h misc.h mm.h net.h rescue.h symbol.h \
-       term.h types.h loader.h \
+       term.h types.h sparc64/libgcc.h loader.h \
+       partition.h pc_partition.h ieee1275/ieee1275.h machine/time.h \
+       machine/kernel.h \
        partition.h pc_partition.h ieee1275/ieee1275.h machine/time.h
 
 grubof_symlist.c: $(addprefix include/grub/,$(grubof_HEADERS)) gensymlist.sh
@@ -59,11 +62,12 @@ grubof_SOURCES = kern/sparc64/ieee1275/i
        kern/rescue.c kern/term.c term/ieee1275/ofconsole.c \
        kern/sparc64/ieee1275/openfw.c disk/ieee1275/ofdisk.c \
        kern/partition.c kern/env.c kern/sparc64/dl.c grubof_symlist.c \
-       kern/sparc64/cache.c
-CLEANFILES += grubof grubof-kern_sparc64_ieee1275_init.o 
grubof-kern_ieee1275_ieee1275.o grubof-kern_main.o grubof-kern_device.o 
grubof-kern_disk.o grubof-kern_dl.o grubof-kern_file.o grubof-kern_fs.o 
grubof-kern_err.o grubof-kern_misc.o grubof-kern_mm.o grubof-kern_loader.o 
grubof-kern_rescue.o grubof-kern_term.o grubof-term_ieee1275_ofconsole.o 
grubof-kern_sparc64_ieee1275_openfw.o grubof-disk_ieee1275_ofdisk.o 
grubof-kern_partition.o grubof-kern_env.o grubof-kern_sparc64_dl.o 
grubof-grubof_symlist.o grubof-kern_sparc64_cache.o
-MOSTLYCLEANFILES += grubof-kern_sparc64_ieee1275_init.d 
grubof-kern_ieee1275_ieee1275.d grubof-kern_main.d grubof-kern_device.d 
grubof-kern_disk.d grubof-kern_dl.d grubof-kern_file.d grubof-kern_fs.d 
grubof-kern_err.d grubof-kern_misc.d grubof-kern_mm.d grubof-kern_loader.d 
grubof-kern_rescue.d grubof-kern_term.d grubof-term_ieee1275_ofconsole.d 
grubof-kern_sparc64_ieee1275_openfw.d grubof-disk_ieee1275_ofdisk.d 
grubof-kern_partition.d grubof-kern_env.d grubof-kern_sparc64_dl.d 
grubof-grubof_symlist.d grubof-kern_sparc64_cache.d
+       kern/sparc64/cache.S \
+       fs/ext2.c fs/fshelp.c
+CLEANFILES += grubof grubof-kern_sparc64_ieee1275_init.o 
grubof-kern_ieee1275_ieee1275.o grubof-kern_main.o grubof-kern_device.o 
grubof-kern_disk.o grubof-kern_dl.o grubof-kern_file.o grubof-kern_fs.o 
grubof-kern_err.o grubof-kern_misc.o grubof-kern_mm.o grubof-kern_loader.o 
grubof-kern_rescue.o grubof-kern_term.o grubof-term_ieee1275_ofconsole.o 
grubof-kern_sparc64_ieee1275_openfw.o grubof-disk_ieee1275_ofdisk.o 
grubof-kern_partition.o grubof-kern_env.o grubof-kern_sparc64_dl.o 
grubof-grubof_symlist.o grubof-kern_sparc64_cache.o grubof-fs_ext2.o 
grubof-fs_fshelp.o
+MOSTLYCLEANFILES += grubof-kern_sparc64_ieee1275_init.d 
grubof-kern_ieee1275_ieee1275.d grubof-kern_main.d grubof-kern_device.d 
grubof-kern_disk.d grubof-kern_dl.d grubof-kern_file.d grubof-kern_fs.d 
grubof-kern_err.d grubof-kern_misc.d grubof-kern_mm.d grubof-kern_loader.d 
grubof-kern_rescue.d grubof-kern_term.d grubof-term_ieee1275_ofconsole.d 
grubof-kern_sparc64_ieee1275_openfw.d grubof-disk_ieee1275_ofdisk.d 
grubof-kern_partition.d grubof-kern_env.d grubof-kern_sparc64_dl.d 
grubof-grubof_symlist.d grubof-kern_sparc64_cache.d grubof-fs_ext2.d 
grubof-fs_fshelp.d
 
-grubof: grubof-kern_sparc64_ieee1275_init.o grubof-kern_ieee1275_ieee1275.o 
grubof-kern_main.o grubof-kern_device.o grubof-kern_disk.o grubof-kern_dl.o 
grubof-kern_file.o grubof-kern_fs.o grubof-kern_err.o grubof-kern_misc.o 
grubof-kern_mm.o grubof-kern_loader.o grubof-kern_rescue.o grubof-kern_term.o 
grubof-term_ieee1275_ofconsole.o grubof-kern_sparc64_ieee1275_openfw.o 
grubof-disk_ieee1275_ofdisk.o grubof-kern_partition.o grubof-kern_env.o 
grubof-kern_sparc64_dl.o grubof-grubof_symlist.o grubof-kern_sparc64_cache.o
+grubof: grubof-kern_sparc64_ieee1275_init.o grubof-kern_ieee1275_ieee1275.o 
grubof-kern_main.o grubof-kern_device.o grubof-kern_disk.o grubof-kern_dl.o 
grubof-kern_file.o grubof-kern_fs.o grubof-kern_err.o grubof-kern_misc.o 
grubof-kern_mm.o grubof-kern_loader.o grubof-kern_rescue.o grubof-kern_term.o 
grubof-term_ieee1275_ofconsole.o grubof-kern_sparc64_ieee1275_openfw.o 
grubof-disk_ieee1275_ofdisk.o grubof-kern_partition.o grubof-kern_env.o 
grubof-kern_sparc64_dl.o grubof-grubof_symlist.o grubof-kern_sparc64_cache.o 
grubof-fs_ext2.o grubof-fs_fshelp.o
        $(CC) -o $@ $^ $(LDFLAGS) $(grubof_LDFLAGS)
 
 grubof-kern_sparc64_ieee1275_init.o: kern/sparc64/ieee1275/init.c
@@ -234,18 +238,34 @@ grubof-grubof_symlist.d: grubof_symlist.
 
 -include grubof-grubof_symlist.d
 
-grubof-kern_sparc64_cache.o: kern/sparc64/cache.c
+grubof-kern_sparc64_cache.o: kern/sparc64/cache.S
        $(CC) -Ikern/sparc64 -I$(srcdir)/kern/sparc64 $(CPPFLAGS) $(CFLAGS) 
$(grubof_CFLAGS) -c -o $@ $<
 
-grubof-kern_sparc64_cache.d: kern/sparc64/cache.c
+grubof-kern_sparc64_cache.d: kern/sparc64/cache.S
        set -e;           $(CC) -Ikern/sparc64 -I$(srcdir)/kern/sparc64 
$(CPPFLAGS) $(CFLAGS) $(grubof_CFLAGS) -M $<      | sed 's,cache\.o[ 
:]*,grubof-kern_sparc64_cache.o $@ : ,g' > $@;       [ -s $@ ] || rm -f $@
 
 -include grubof-kern_sparc64_cache.d
 
+grubof-fs_ext2.o: fs/ext2.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(grubof_CFLAGS) -c -o 
$@ $<
+
+grubof-fs_ext2.d: fs/ext2.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(grubof_CFLAGS) -M $<          | sed 's,ext2\.o[ :]*,grubof-fs_ext2.o $@ : ,g' 
> $@;           [ -s $@ ] || rm -f $@
+
+-include grubof-fs_ext2.d
+
+grubof-fs_fshelp.o: fs/fshelp.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(grubof_CFLAGS) -c -o 
$@ $<
+
+grubof-fs_fshelp.d: fs/fshelp.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(grubof_CFLAGS) -M $<          | sed 's,fshelp\.o[ :]*,grubof-fs_fshelp.o $@ : 
,g' > $@;       [ -s $@ ] || rm -f $@
+
+-include grubof-fs_fshelp.d
+
 grubof_HEADERS = grub/sparc64/ieee1275/ieee1275.h
 grubof_CFLAGS = $(COMMON_CFLAGS)
 grubof_ASFLAGS = $(COMMON_ASFLAGS)
-grubof_LDFLAGS = -m64 -nostdlib -Wl,-N,-Ttext,0x200000,-Bstatic -Xlinker 
--oformat -Xlinker elf64-sparc
+grubof_LDFLAGS = -mno-app-regs -nostdlib 
-Wl,-N,-Ttext,0x200000,-Bstatic,-melf64_sparc
 
 # For genmoddep.
 genmoddep_SOURCES = util/genmoddep.c
@@ -265,139 +285,1642 @@ genmoddep-util_genmoddep.d: util/genmodd
 
 
 # Modules.
-#pkgdata_MODULES = _linux.mod linux.mod fat.mod ufs.mod ext2.mod minix.mod \
-#      hfs.mod jfs.mod normal.mod hello.mod font.mod ls.mod \
-#      boot.mod cmp.mod cat.mod terminal.mod fshelp.mod amiga.mod apple.mod \
-#      pc.mod suspend.mod loopback.mod help.mod reboot.mod halt.mod sun.mod \
-#      default.mod timeout.mod configfile.mod search.mod
+#_linux.mod linux.mod fshelp.mod ext2.mod
+pkgdata_MODULES = fat.mod ufs.mod minix.mod \
+       hfs.mod jfs.mod normal.mod hello.mod font.mod ls.mod \
+       boot.mod cmp.mod cat.mod terminal.mod amiga.mod apple.mod \
+       pc.mod suspend.mod loopback.mod help.mod reboot.mod halt.mod sun.mod \
+       default.mod timeout.mod configfile.mod search.mod
 
 # For fshelp.mod.
 fshelp_mod_SOURCES = fs/fshelp.c
 fshelp_mod_CFLAGS = $(COMMON_CFLAGS)
+fshelp_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For fat.mod.
 fat_mod_SOURCES = fs/fat.c
+CLEANFILES += fat.mod mod-fat.o mod-fat.c pre-fat.o fat_mod-fs_fat.o 
def-fat.lst und-fat.lst
+MOSTLYCLEANFILES += fat_mod-fs_fat.d
+DEFSYMFILES += def-fat.lst
+UNDSYMFILES += und-fat.lst
+
+fat.mod: pre-fat.o mod-fat.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(fat_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(fat_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-fat.o: fat_mod-fs_fat.o
+       -rm -f $@
+       $(LD) $(fat_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-fat.o: mod-fat.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(fat_mod_CFLAGS) -c -o $@ $<
+
+mod-fat.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'fat' $< > $@ || (rm -f $@; exit 1)
+
+def-fat.lst: pre-fat.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 fat/' > $@
+
+und-fat.lst: pre-fat.o
+       echo 'fat' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+fat_mod-fs_fat.o: fs/fat.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(fat_mod_CFLAGS) -c -o 
$@ $<
+
+fat_mod-fs_fat.d: fs/fat.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(fat_mod_CFLAGS) -M $<         | sed 's,fat\.o[ :]*,fat_mod-fs_fat.o $@ : ,g' 
> $@;    [ -s $@ ] || rm -f $@
+
+-include fat_mod-fs_fat.d
+
+CLEANFILES += cmd-fat.lst fs-fat.lst
+COMMANDFILES += cmd-fat.lst
+FSFILES += fs-fat.lst
+
+cmd-fat.lst: fs/fat.c gencmdlist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(fat_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh fat > $@ || (rm -f 
$@; exit 1)
+
+fs-fat.lst: fs/fat.c genfslist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(fat_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh fat > $@ || (rm -f 
$@; exit 1)
+
+
 fat_mod_CFLAGS = $(COMMON_CFLAGS)
+fat_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For ext2.mod.
 ext2_mod_SOURCES = fs/ext2.c
 ext2_mod_CFLAGS = $(COMMON_CFLAGS)
+ext2_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For ufs.mod.
 ufs_mod_SOURCES = fs/ufs.c
+CLEANFILES += ufs.mod mod-ufs.o mod-ufs.c pre-ufs.o ufs_mod-fs_ufs.o 
def-ufs.lst und-ufs.lst
+MOSTLYCLEANFILES += ufs_mod-fs_ufs.d
+DEFSYMFILES += def-ufs.lst
+UNDSYMFILES += und-ufs.lst
+
+ufs.mod: pre-ufs.o mod-ufs.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(ufs_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(ufs_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-ufs.o: ufs_mod-fs_ufs.o
+       -rm -f $@
+       $(LD) $(ufs_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-ufs.o: mod-ufs.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(ufs_mod_CFLAGS) -c -o $@ $<
+
+mod-ufs.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'ufs' $< > $@ || (rm -f $@; exit 1)
+
+def-ufs.lst: pre-ufs.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 ufs/' > $@
+
+und-ufs.lst: pre-ufs.o
+       echo 'ufs' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+ufs_mod-fs_ufs.o: fs/ufs.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(ufs_mod_CFLAGS) -c -o 
$@ $<
+
+ufs_mod-fs_ufs.d: fs/ufs.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(ufs_mod_CFLAGS) -M $<         | sed 's,ufs\.o[ :]*,ufs_mod-fs_ufs.o $@ : ,g' 
> $@;    [ -s $@ ] || rm -f $@
+
+-include ufs_mod-fs_ufs.d
+
+CLEANFILES += cmd-ufs.lst fs-ufs.lst
+COMMANDFILES += cmd-ufs.lst
+FSFILES += fs-ufs.lst
+
+cmd-ufs.lst: fs/ufs.c gencmdlist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(ufs_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh ufs > $@ || (rm -f 
$@; exit 1)
+
+fs-ufs.lst: fs/ufs.c genfslist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(ufs_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh ufs > $@ || (rm -f 
$@; exit 1)
+
+
 ufs_mod_CFLAGS = $(COMMON_CFLAGS)
+ufs_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For minix.mod.
 minix_mod_SOURCES = fs/minix.c
+CLEANFILES += minix.mod mod-minix.o mod-minix.c pre-minix.o 
minix_mod-fs_minix.o def-minix.lst und-minix.lst
+MOSTLYCLEANFILES += minix_mod-fs_minix.d
+DEFSYMFILES += def-minix.lst
+UNDSYMFILES += und-minix.lst
+
+minix.mod: pre-minix.o mod-minix.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(minix_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(minix_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-minix.o: minix_mod-fs_minix.o
+       -rm -f $@
+       $(LD) $(minix_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-minix.o: mod-minix.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(minix_mod_CFLAGS) -c -o $@ $<
+
+mod-minix.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'minix' $< > $@ || (rm -f $@; exit 1)
+
+def-minix.lst: pre-minix.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 minix/' > $@
+
+und-minix.lst: pre-minix.o
+       echo 'minix' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+minix_mod-fs_minix.o: fs/minix.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(minix_mod_CFLAGS) -c 
-o $@ $<
+
+minix_mod-fs_minix.d: fs/minix.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(minix_mod_CFLAGS) -M $<       | sed 's,minix\.o[ :]*,minix_mod-fs_minix.o $@ 
: ,g' > $@;      [ -s $@ ] || rm -f $@
+
+-include minix_mod-fs_minix.d
+
+CLEANFILES += cmd-minix.lst fs-minix.lst
+COMMANDFILES += cmd-minix.lst
+FSFILES += fs-minix.lst
+
+cmd-minix.lst: fs/minix.c gencmdlist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(minix_mod_CFLAGS) -E $<       | sh $(srcdir)/gencmdlist.sh minix > $@ || (rm 
-f $@; exit 1)
+
+fs-minix.lst: fs/minix.c genfslist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(minix_mod_CFLAGS) -E $<       | sh $(srcdir)/genfslist.sh minix > $@ || (rm 
-f $@; exit 1)
+
+
 minix_mod_CFLAGS = $(COMMON_CFLAGS)
+minix_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For hfs.mod.
 hfs_mod_SOURCES = fs/hfs.c
+CLEANFILES += hfs.mod mod-hfs.o mod-hfs.c pre-hfs.o hfs_mod-fs_hfs.o 
def-hfs.lst und-hfs.lst
+MOSTLYCLEANFILES += hfs_mod-fs_hfs.d
+DEFSYMFILES += def-hfs.lst
+UNDSYMFILES += und-hfs.lst
+
+hfs.mod: pre-hfs.o mod-hfs.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(hfs_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(hfs_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-hfs.o: hfs_mod-fs_hfs.o
+       -rm -f $@
+       $(LD) $(hfs_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-hfs.o: mod-hfs.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(hfs_mod_CFLAGS) -c -o $@ $<
+
+mod-hfs.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'hfs' $< > $@ || (rm -f $@; exit 1)
+
+def-hfs.lst: pre-hfs.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 hfs/' > $@
+
+und-hfs.lst: pre-hfs.o
+       echo 'hfs' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+hfs_mod-fs_hfs.o: fs/hfs.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(hfs_mod_CFLAGS) -c -o 
$@ $<
+
+hfs_mod-fs_hfs.d: fs/hfs.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(hfs_mod_CFLAGS) -M $<         | sed 's,hfs\.o[ :]*,hfs_mod-fs_hfs.o $@ : ,g' 
> $@;    [ -s $@ ] || rm -f $@
+
+-include hfs_mod-fs_hfs.d
+
+CLEANFILES += cmd-hfs.lst fs-hfs.lst
+COMMANDFILES += cmd-hfs.lst
+FSFILES += fs-hfs.lst
+
+cmd-hfs.lst: fs/hfs.c gencmdlist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(hfs_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh hfs > $@ || (rm -f 
$@; exit 1)
+
+fs-hfs.lst: fs/hfs.c genfslist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(hfs_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh hfs > $@ || (rm -f 
$@; exit 1)
+
+
 hfs_mod_CFLAGS = $(COMMON_CFLAGS)
+hfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For jfs.mod.
 jfs_mod_SOURCES = fs/jfs.c
+CLEANFILES += jfs.mod mod-jfs.o mod-jfs.c pre-jfs.o jfs_mod-fs_jfs.o 
def-jfs.lst und-jfs.lst
+MOSTLYCLEANFILES += jfs_mod-fs_jfs.d
+DEFSYMFILES += def-jfs.lst
+UNDSYMFILES += und-jfs.lst
+
+jfs.mod: pre-jfs.o mod-jfs.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(jfs_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(jfs_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-jfs.o: jfs_mod-fs_jfs.o
+       -rm -f $@
+       $(LD) $(jfs_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-jfs.o: mod-jfs.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(jfs_mod_CFLAGS) -c -o $@ $<
+
+mod-jfs.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'jfs' $< > $@ || (rm -f $@; exit 1)
+
+def-jfs.lst: pre-jfs.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 jfs/' > $@
+
+und-jfs.lst: pre-jfs.o
+       echo 'jfs' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+jfs_mod-fs_jfs.o: fs/jfs.c
+       $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(jfs_mod_CFLAGS) -c -o 
$@ $<
+
+jfs_mod-fs_jfs.d: fs/jfs.c
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(jfs_mod_CFLAGS) -M $<         | sed 's,jfs\.o[ :]*,jfs_mod-fs_jfs.o $@ : ,g' 
> $@;    [ -s $@ ] || rm -f $@
+
+-include jfs_mod-fs_jfs.d
+
+CLEANFILES += cmd-jfs.lst fs-jfs.lst
+COMMANDFILES += cmd-jfs.lst
+FSFILES += fs-jfs.lst
+
+cmd-jfs.lst: fs/jfs.c gencmdlist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(jfs_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh jfs > $@ || (rm -f 
$@; exit 1)
+
+fs-jfs.lst: fs/jfs.c genfslist.sh
+       set -e;           $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) 
$(jfs_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh jfs > $@ || (rm -f 
$@; exit 1)
+
+
 jfs_mod_CFLAGS = $(COMMON_CFLAGS)
+jfs_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For iso9660.mod.
 iso9660_mod_SOURCES = fs/iso9660.c
 iso9660_mod_CFLAGS = $(COMMON_CFLAGS)
+iso9660_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For _linux.mod.
-_linux_mod_SOURCES = loader/sparc64/ieee1275/linux.c
-_linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#_linux_mod_SOURCES = loader/sparc64/ieee1275/linux.c
+#_linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#_linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
  
 # For linux.mod.
-linux_mod_SOURCES = loader/sparc64/ieee1275/linux_normal.c
-linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#linux_mod_SOURCES = loader/sparc64/ieee1275/linux_normal.c
+#linux_mod_CFLAGS = $(COMMON_CFLAGS)
+#linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For normal.mod.
 normal_mod_SOURCES = normal/arg.c normal/cmdline.c normal/command.c    \
-       normal/context.c normal/main.c normal/menu.c                    \
-       normal/menu_entry.c                                             \
+       normal/completion.c normal/context.c normal/main.c              \
+       normal/menu.c normal/menu_entry.c normal/misc.c                 \
        normal/sparc64/setjmp.c
+CLEANFILES += normal.mod mod-normal.o mod-normal.c pre-normal.o 
normal_mod-normal_arg.o normal_mod-normal_cmdline.o normal_mod-normal_command.o 
normal_mod-normal_completion.o normal_mod-normal_context.o 
normal_mod-normal_main.o normal_mod-normal_menu.o 
normal_mod-normal_menu_entry.o normal_mod-normal_misc.o 
normal_mod-normal_sparc64_setjmp.o def-normal.lst und-normal.lst
+MOSTLYCLEANFILES += normal_mod-normal_arg.d normal_mod-normal_cmdline.d 
normal_mod-normal_command.d normal_mod-normal_completion.d 
normal_mod-normal_context.d normal_mod-normal_main.d normal_mod-normal_menu.d 
normal_mod-normal_menu_entry.d normal_mod-normal_misc.d 
normal_mod-normal_sparc64_setjmp.d
+DEFSYMFILES += def-normal.lst
+UNDSYMFILES += und-normal.lst
+
+normal.mod: pre-normal.o mod-normal.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(normal_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(normal_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-normal.o: normal_mod-normal_arg.o normal_mod-normal_cmdline.o 
normal_mod-normal_command.o normal_mod-normal_completion.o 
normal_mod-normal_context.o normal_mod-normal_main.o normal_mod-normal_menu.o 
normal_mod-normal_menu_entry.o normal_mod-normal_misc.o 
normal_mod-normal_sparc64_setjmp.o
+       -rm -f $@
+       $(LD) $(normal_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-normal.o: mod-normal.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(normal_mod_CFLAGS) -c -o $@ $<
+
+mod-normal.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'normal' $< > $@ || (rm -f $@; exit 1)
+
+def-normal.lst: pre-normal.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 normal/' > $@
+
+und-normal.lst: pre-normal.o
+       echo 'normal' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+normal_mod-normal_arg.o: normal/arg.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_arg.d: normal/arg.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,arg\.o[ 
:]*,normal_mod-normal_arg.o $@ : ,g' > $@;     [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_arg.d
+
+CLEANFILES += cmd-arg.lst fs-arg.lst
+COMMANDFILES += cmd-arg.lst
+FSFILES += fs-arg.lst
+
+cmd-arg.lst: normal/arg.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-arg.lst: normal/arg.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_cmdline.o: normal/cmdline.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_cmdline.d: normal/cmdline.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,cmdline\.o[ 
:]*,normal_mod-normal_cmdline.o $@ : ,g' > $@;     [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_cmdline.d
+
+CLEANFILES += cmd-cmdline.lst fs-cmdline.lst
+COMMANDFILES += cmd-cmdline.lst
+FSFILES += fs-cmdline.lst
+
+cmd-cmdline.lst: normal/cmdline.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-cmdline.lst: normal/cmdline.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_command.o: normal/command.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_command.d: normal/command.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,command\.o[ 
:]*,normal_mod-normal_command.o $@ : ,g' > $@;     [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_command.d
+
+CLEANFILES += cmd-command.lst fs-command.lst
+COMMANDFILES += cmd-command.lst
+FSFILES += fs-command.lst
+
+cmd-command.lst: normal/command.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-command.lst: normal/command.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_completion.o: normal/completion.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_completion.d: normal/completion.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,completion\.o[ 
:]*,normal_mod-normal_completion.o $@ : ,g' > $@;       [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_completion.d
+
+CLEANFILES += cmd-completion.lst fs-completion.lst
+COMMANDFILES += cmd-completion.lst
+FSFILES += fs-completion.lst
+
+cmd-completion.lst: normal/completion.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-completion.lst: normal/completion.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_context.o: normal/context.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_context.d: normal/context.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,context\.o[ 
:]*,normal_mod-normal_context.o $@ : ,g' > $@;     [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_context.d
+
+CLEANFILES += cmd-context.lst fs-context.lst
+COMMANDFILES += cmd-context.lst
+FSFILES += fs-context.lst
+
+cmd-context.lst: normal/context.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-context.lst: normal/context.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_main.o: normal/main.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_main.d: normal/main.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,main\.o[ 
:]*,normal_mod-normal_main.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_main.d
+
+CLEANFILES += cmd-main.lst fs-main.lst
+COMMANDFILES += cmd-main.lst
+FSFILES += fs-main.lst
+
+cmd-main.lst: normal/main.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-main.lst: normal/main.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_menu.o: normal/menu.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_menu.d: normal/menu.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,menu\.o[ 
:]*,normal_mod-normal_menu.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_menu.d
+
+CLEANFILES += cmd-menu.lst fs-menu.lst
+COMMANDFILES += cmd-menu.lst
+FSFILES += fs-menu.lst
+
+cmd-menu.lst: normal/menu.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-menu.lst: normal/menu.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_menu_entry.o: normal/menu_entry.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_menu_entry.d: normal/menu_entry.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,menu_entry\.o[ 
:]*,normal_mod-normal_menu_entry.o $@ : ,g' > $@;       [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_menu_entry.d
+
+CLEANFILES += cmd-menu_entry.lst fs-menu_entry.lst
+COMMANDFILES += cmd-menu_entry.lst
+FSFILES += fs-menu_entry.lst
+
+cmd-menu_entry.lst: normal/menu_entry.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-menu_entry.lst: normal/menu_entry.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_misc.o: normal/misc.c
+       $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_misc.d: normal/misc.c
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,misc\.o[ 
:]*,normal_mod-normal_misc.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include normal_mod-normal_misc.d
+
+CLEANFILES += cmd-misc.lst fs-misc.lst
+COMMANDFILES += cmd-misc.lst
+FSFILES += fs-misc.lst
+
+cmd-misc.lst: normal/misc.c gencmdlist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+fs-misc.lst: normal/misc.c genfslist.sh
+       set -e;           $(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) 
$(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh normal > 
$@ || (rm -f $@; exit 1)
+
+
+normal_mod-normal_sparc64_setjmp.o: normal/sparc64/setjmp.c
+       $(CC) -Inormal/sparc64 -I$(srcdir)/normal/sparc64 $(CPPFLAGS) $(CFLAGS) 
$(normal_mod_CFLAGS) -c -o $@ $<
+
+normal_mod-normal_sparc64_setjmp.d: normal/sparc64/setjmp.c
+       set -e;           $(CC) -Inormal/sparc64 -I$(srcdir)/normal/sparc64 
$(CPPFLAGS) $(CFLAGS) $(normal_mod_CFLAGS) -M $<      | sed 's,setjmp\.o[ 
:]*,normal_mod-normal_sparc64_setjmp.o $@ : ,g' > $@;       [ -s $@ ] || rm -f 
$@
+
+-include normal_mod-normal_sparc64_setjmp.d
+
+CLEANFILES += cmd-setjmp.lst fs-setjmp.lst
+COMMANDFILES += cmd-setjmp.lst
+FSFILES += fs-setjmp.lst
+
+cmd-setjmp.lst: normal/sparc64/setjmp.c gencmdlist.sh
+       set -e;           $(CC) -Inormal/sparc64 -I$(srcdir)/normal/sparc64 
$(CPPFLAGS) $(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh 
$(srcdir)/gencmdlist.sh normal > $@ || (rm -f $@; exit 1)
+
+fs-setjmp.lst: normal/sparc64/setjmp.c genfslist.sh
+       set -e;           $(CC) -Inormal/sparc64 -I$(srcdir)/normal/sparc64 
$(CPPFLAGS) $(CFLAGS) $(normal_mod_CFLAGS) -E $<      | sh 
$(srcdir)/genfslist.sh normal > $@ || (rm -f $@; exit 1)
+
+
 normal_mod_CFLAGS = $(COMMON_CFLAGS)
 normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
+normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For hello.mod.
 hello_mod_SOURCES = hello/hello.c
+CLEANFILES += hello.mod mod-hello.o mod-hello.c pre-hello.o 
hello_mod-hello_hello.o def-hello.lst und-hello.lst
+MOSTLYCLEANFILES += hello_mod-hello_hello.d
+DEFSYMFILES += def-hello.lst
+UNDSYMFILES += und-hello.lst
+
+hello.mod: pre-hello.o mod-hello.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(hello_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(hello_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-hello.o: hello_mod-hello_hello.o
+       -rm -f $@
+       $(LD) $(hello_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-hello.o: mod-hello.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(hello_mod_CFLAGS) -c -o $@ $<
+
+mod-hello.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'hello' $< > $@ || (rm -f $@; exit 1)
+
+def-hello.lst: pre-hello.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 hello/' > $@
+
+und-hello.lst: pre-hello.o
+       echo 'hello' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+hello_mod-hello_hello.o: hello/hello.c
+       $(CC) -Ihello -I$(srcdir)/hello $(CPPFLAGS) $(CFLAGS) 
$(hello_mod_CFLAGS) -c -o $@ $<
+
+hello_mod-hello_hello.d: hello/hello.c
+       set -e;           $(CC) -Ihello -I$(srcdir)/hello $(CPPFLAGS) $(CFLAGS) 
$(hello_mod_CFLAGS) -M $<         | sed 's,hello\.o[ 
:]*,hello_mod-hello_hello.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include hello_mod-hello_hello.d
+
+CLEANFILES += cmd-hello.lst fs-hello.lst
+COMMANDFILES += cmd-hello.lst
+FSFILES += fs-hello.lst
+
+cmd-hello.lst: hello/hello.c gencmdlist.sh
+       set -e;           $(CC) -Ihello -I$(srcdir)/hello $(CPPFLAGS) $(CFLAGS) 
$(hello_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh hello > $@ || 
(rm -f $@; exit 1)
+
+fs-hello.lst: hello/hello.c genfslist.sh
+       set -e;           $(CC) -Ihello -I$(srcdir)/hello $(CPPFLAGS) $(CFLAGS) 
$(hello_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh hello > $@ || (rm 
-f $@; exit 1)
+
+
 hello_mod_CFLAGS = $(COMMON_CFLAGS)
+hello_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For boot.mod.
 boot_mod_SOURCES = commands/boot.c
+CLEANFILES += boot.mod mod-boot.o mod-boot.c pre-boot.o 
boot_mod-commands_boot.o def-boot.lst und-boot.lst
+MOSTLYCLEANFILES += boot_mod-commands_boot.d
+DEFSYMFILES += def-boot.lst
+UNDSYMFILES += und-boot.lst
+
+boot.mod: pre-boot.o mod-boot.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(boot_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(boot_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-boot.o: boot_mod-commands_boot.o
+       -rm -f $@
+       $(LD) $(boot_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-boot.o: mod-boot.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(boot_mod_CFLAGS) -c -o $@ $<
+
+mod-boot.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'boot' $< > $@ || (rm -f $@; exit 1)
+
+def-boot.lst: pre-boot.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 boot/' > $@
+
+und-boot.lst: pre-boot.o
+       echo 'boot' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+boot_mod-commands_boot.o: commands/boot.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(boot_mod_CFLAGS) -c -o $@ $<
+
+boot_mod-commands_boot.d: commands/boot.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(boot_mod_CFLAGS) -M $<    | sed 's,boot\.o[ 
:]*,boot_mod-commands_boot.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include boot_mod-commands_boot.d
+
+CLEANFILES += cmd-boot.lst fs-boot.lst
+COMMANDFILES += cmd-boot.lst
+FSFILES += fs-boot.lst
+
+cmd-boot.lst: commands/boot.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(boot_mod_CFLAGS) -E $<    | sh $(srcdir)/gencmdlist.sh boot > $@ || 
(rm -f $@; exit 1)
+
+fs-boot.lst: commands/boot.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(boot_mod_CFLAGS) -E $<    | sh $(srcdir)/genfslist.sh boot > $@ || 
(rm -f $@; exit 1)
+
+
 boot_mod_CFLAGS = $(COMMON_CFLAGS)
+boot_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For terminal.mod.
 terminal_mod_SOURCES = commands/terminal.c
+CLEANFILES += terminal.mod mod-terminal.o mod-terminal.c pre-terminal.o 
terminal_mod-commands_terminal.o def-terminal.lst und-terminal.lst
+MOSTLYCLEANFILES += terminal_mod-commands_terminal.d
+DEFSYMFILES += def-terminal.lst
+UNDSYMFILES += und-terminal.lst
+
+terminal.mod: pre-terminal.o mod-terminal.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(terminal_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(terminal_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-terminal.o: terminal_mod-commands_terminal.o
+       -rm -f $@
+       $(LD) $(terminal_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-terminal.o: mod-terminal.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(terminal_mod_CFLAGS) -c -o $@ $<
+
+mod-terminal.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'terminal' $< > $@ || (rm -f $@; exit 1)
+
+def-terminal.lst: pre-terminal.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 terminal/' > 
$@
+
+und-terminal.lst: pre-terminal.o
+       echo 'terminal' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+terminal_mod-commands_terminal.o: commands/terminal.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(terminal_mod_CFLAGS) -c -o $@ $<
+
+terminal_mod-commands_terminal.d: commands/terminal.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(terminal_mod_CFLAGS) -M $<        | sed 's,terminal\.o[ 
:]*,terminal_mod-commands_terminal.o $@ : ,g' > $@;       [ -s $@ ] || rm -f $@
+
+-include terminal_mod-commands_terminal.d
+
+CLEANFILES += cmd-terminal.lst fs-terminal.lst
+COMMANDFILES += cmd-terminal.lst
+FSFILES += fs-terminal.lst
+
+cmd-terminal.lst: commands/terminal.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(terminal_mod_CFLAGS) -E $<        | sh $(srcdir)/gencmdlist.sh 
terminal > $@ || (rm -f $@; exit 1)
+
+fs-terminal.lst: commands/terminal.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(terminal_mod_CFLAGS) -E $<        | sh $(srcdir)/genfslist.sh 
terminal > $@ || (rm -f $@; exit 1)
+
+
 terminal_mod_CFLAGS = $(COMMON_CFLAGS)
+terminal_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For ls.mod.
 ls_mod_SOURCES = commands/ls.c
+CLEANFILES += ls.mod mod-ls.o mod-ls.c pre-ls.o ls_mod-commands_ls.o 
def-ls.lst und-ls.lst
+MOSTLYCLEANFILES += ls_mod-commands_ls.d
+DEFSYMFILES += def-ls.lst
+UNDSYMFILES += und-ls.lst
+
+ls.mod: pre-ls.o mod-ls.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(ls_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(ls_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-ls.o: ls_mod-commands_ls.o
+       -rm -f $@
+       $(LD) $(ls_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-ls.o: mod-ls.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(ls_mod_CFLAGS) -c -o $@ $<
+
+mod-ls.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'ls' $< > $@ || (rm -f $@; exit 1)
+
+def-ls.lst: pre-ls.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 ls/' > $@
+
+und-ls.lst: pre-ls.o
+       echo 'ls' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+ls_mod-commands_ls.o: commands/ls.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(ls_mod_CFLAGS) -c -o $@ $<
+
+ls_mod-commands_ls.d: commands/ls.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(ls_mod_CFLAGS) -M $<      | sed 's,ls\.o[ :]*,ls_mod-commands_ls.o 
$@ : ,g' > $@;         [ -s $@ ] || rm -f $@
+
+-include ls_mod-commands_ls.d
+
+CLEANFILES += cmd-ls.lst fs-ls.lst
+COMMANDFILES += cmd-ls.lst
+FSFILES += fs-ls.lst
+
+cmd-ls.lst: commands/ls.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(ls_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh ls > $@ || 
(rm -f $@; exit 1)
+
+fs-ls.lst: commands/ls.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(ls_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh ls > $@ || 
(rm -f $@; exit 1)
+
+
 ls_mod_CFLAGS = $(COMMON_CFLAGS)
+ls_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For cmp.mod.
 cmp_mod_SOURCES = commands/cmp.c
+CLEANFILES += cmp.mod mod-cmp.o mod-cmp.c pre-cmp.o cmp_mod-commands_cmp.o 
def-cmp.lst und-cmp.lst
+MOSTLYCLEANFILES += cmp_mod-commands_cmp.d
+DEFSYMFILES += def-cmp.lst
+UNDSYMFILES += und-cmp.lst
+
+cmp.mod: pre-cmp.o mod-cmp.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(cmp_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(cmp_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-cmp.o: cmp_mod-commands_cmp.o
+       -rm -f $@
+       $(LD) $(cmp_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-cmp.o: mod-cmp.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(cmp_mod_CFLAGS) -c -o $@ $<
+
+mod-cmp.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'cmp' $< > $@ || (rm -f $@; exit 1)
+
+def-cmp.lst: pre-cmp.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 cmp/' > $@
+
+und-cmp.lst: pre-cmp.o
+       echo 'cmp' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+cmp_mod-commands_cmp.o: commands/cmp.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(cmp_mod_CFLAGS) -c -o $@ $<
+
+cmp_mod-commands_cmp.d: commands/cmp.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(cmp_mod_CFLAGS) -M $<     | sed 's,cmp\.o[ 
:]*,cmp_mod-commands_cmp.o $@ : ,g' > $@;      [ -s $@ ] || rm -f $@
+
+-include cmp_mod-commands_cmp.d
+
+CLEANFILES += cmd-cmp.lst fs-cmp.lst
+COMMANDFILES += cmd-cmp.lst
+FSFILES += fs-cmp.lst
+
+cmd-cmp.lst: commands/cmp.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(cmp_mod_CFLAGS) -E $<     | sh $(srcdir)/gencmdlist.sh cmp > $@ || 
(rm -f $@; exit 1)
+
+fs-cmp.lst: commands/cmp.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(cmp_mod_CFLAGS) -E $<     | sh $(srcdir)/genfslist.sh cmp > $@ || 
(rm -f $@; exit 1)
+
+
 cmp_mod_CFLAGS = $(COMMON_CFLAGS)
+cmp_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For cat.mod.
 cat_mod_SOURCES = commands/cat.c
+CLEANFILES += cat.mod mod-cat.o mod-cat.c pre-cat.o cat_mod-commands_cat.o 
def-cat.lst und-cat.lst
+MOSTLYCLEANFILES += cat_mod-commands_cat.d
+DEFSYMFILES += def-cat.lst
+UNDSYMFILES += und-cat.lst
+
+cat.mod: pre-cat.o mod-cat.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(cat_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(cat_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-cat.o: cat_mod-commands_cat.o
+       -rm -f $@
+       $(LD) $(cat_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-cat.o: mod-cat.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(cat_mod_CFLAGS) -c -o $@ $<
+
+mod-cat.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'cat' $< > $@ || (rm -f $@; exit 1)
+
+def-cat.lst: pre-cat.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 cat/' > $@
+
+und-cat.lst: pre-cat.o
+       echo 'cat' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+cat_mod-commands_cat.o: commands/cat.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(cat_mod_CFLAGS) -c -o $@ $<
+
+cat_mod-commands_cat.d: commands/cat.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(cat_mod_CFLAGS) -M $<     | sed 's,cat\.o[ 
:]*,cat_mod-commands_cat.o $@ : ,g' > $@;      [ -s $@ ] || rm -f $@
+
+-include cat_mod-commands_cat.d
+
+CLEANFILES += cmd-cat.lst fs-cat.lst
+COMMANDFILES += cmd-cat.lst
+FSFILES += fs-cat.lst
+
+cmd-cat.lst: commands/cat.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(cat_mod_CFLAGS) -E $<     | sh $(srcdir)/gencmdlist.sh cat > $@ || 
(rm -f $@; exit 1)
+
+fs-cat.lst: commands/cat.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(cat_mod_CFLAGS) -E $<     | sh $(srcdir)/genfslist.sh cat > $@ || 
(rm -f $@; exit 1)
+
+
 cat_mod_CFLAGS = $(COMMON_CFLAGS)
+cat_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For font.mod.
 font_mod_SOURCES = font/manager.c
+CLEANFILES += font.mod mod-font.o mod-font.c pre-font.o 
font_mod-font_manager.o def-font.lst und-font.lst
+MOSTLYCLEANFILES += font_mod-font_manager.d
+DEFSYMFILES += def-font.lst
+UNDSYMFILES += und-font.lst
+
+font.mod: pre-font.o mod-font.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(font_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(font_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-font.o: font_mod-font_manager.o
+       -rm -f $@
+       $(LD) $(font_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-font.o: mod-font.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(font_mod_CFLAGS) -c -o $@ $<
+
+mod-font.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'font' $< > $@ || (rm -f $@; exit 1)
+
+def-font.lst: pre-font.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 font/' > $@
+
+und-font.lst: pre-font.o
+       echo 'font' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+font_mod-font_manager.o: font/manager.c
+       $(CC) -Ifont -I$(srcdir)/font $(CPPFLAGS) $(CFLAGS) $(font_mod_CFLAGS) 
-c -o $@ $<
+
+font_mod-font_manager.d: font/manager.c
+       set -e;           $(CC) -Ifont -I$(srcdir)/font $(CPPFLAGS) $(CFLAGS) 
$(font_mod_CFLAGS) -M $<    | sed 's,manager\.o[ :]*,font_mod-font_manager.o $@ 
: ,g' > $@;         [ -s $@ ] || rm -f $@
+
+-include font_mod-font_manager.d
+
+CLEANFILES += cmd-manager.lst fs-manager.lst
+COMMANDFILES += cmd-manager.lst
+FSFILES += fs-manager.lst
+
+cmd-manager.lst: font/manager.c gencmdlist.sh
+       set -e;           $(CC) -Ifont -I$(srcdir)/font $(CPPFLAGS) $(CFLAGS) 
$(font_mod_CFLAGS) -E $<    | sh $(srcdir)/gencmdlist.sh font > $@ || (rm -f 
$@; exit 1)
+
+fs-manager.lst: font/manager.c genfslist.sh
+       set -e;           $(CC) -Ifont -I$(srcdir)/font $(CPPFLAGS) $(CFLAGS) 
$(font_mod_CFLAGS) -E $<    | sh $(srcdir)/genfslist.sh font > $@ || (rm -f $@; 
exit 1)
+
+
 font_mod_CFLAGS = $(COMMON_CFLAGS)
+font_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For amiga.mod
 amiga_mod_SOURCES = partmap/amiga.c
+CLEANFILES += amiga.mod mod-amiga.o mod-amiga.c pre-amiga.o 
amiga_mod-partmap_amiga.o def-amiga.lst und-amiga.lst
+MOSTLYCLEANFILES += amiga_mod-partmap_amiga.d
+DEFSYMFILES += def-amiga.lst
+UNDSYMFILES += und-amiga.lst
+
+amiga.mod: pre-amiga.o mod-amiga.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(amiga_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(amiga_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-amiga.o: amiga_mod-partmap_amiga.o
+       -rm -f $@
+       $(LD) $(amiga_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-amiga.o: mod-amiga.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(amiga_mod_CFLAGS) -c -o $@ $<
+
+mod-amiga.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'amiga' $< > $@ || (rm -f $@; exit 1)
+
+def-amiga.lst: pre-amiga.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 amiga/' > $@
+
+und-amiga.lst: pre-amiga.o
+       echo 'amiga' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+amiga_mod-partmap_amiga.o: partmap/amiga.c
+       $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) $(CFLAGS) 
$(amiga_mod_CFLAGS) -c -o $@ $<
+
+amiga_mod-partmap_amiga.d: partmap/amiga.c
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(amiga_mod_CFLAGS) -M $<     | sed 's,amiga\.o[ 
:]*,amiga_mod-partmap_amiga.o $@ : ,g' > $@;         [ -s $@ ] || rm -f $@
+
+-include amiga_mod-partmap_amiga.d
+
+CLEANFILES += cmd-amiga.lst fs-amiga.lst
+COMMANDFILES += cmd-amiga.lst
+FSFILES += fs-amiga.lst
+
+cmd-amiga.lst: partmap/amiga.c gencmdlist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(amiga_mod_CFLAGS) -E $<     | sh $(srcdir)/gencmdlist.sh amiga > $@ 
|| (rm -f $@; exit 1)
+
+fs-amiga.lst: partmap/amiga.c genfslist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(amiga_mod_CFLAGS) -E $<     | sh $(srcdir)/genfslist.sh amiga > $@ 
|| (rm -f $@; exit 1)
+
+
 amiga_mod_CFLAGS = $(COMMON_CFLAGS)
+amiga_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For apple.mod
 apple_mod_SOURCES = partmap/apple.c
+CLEANFILES += apple.mod mod-apple.o mod-apple.c pre-apple.o 
apple_mod-partmap_apple.o def-apple.lst und-apple.lst
+MOSTLYCLEANFILES += apple_mod-partmap_apple.d
+DEFSYMFILES += def-apple.lst
+UNDSYMFILES += und-apple.lst
+
+apple.mod: pre-apple.o mod-apple.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(apple_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(apple_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-apple.o: apple_mod-partmap_apple.o
+       -rm -f $@
+       $(LD) $(apple_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-apple.o: mod-apple.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(apple_mod_CFLAGS) -c -o $@ $<
+
+mod-apple.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'apple' $< > $@ || (rm -f $@; exit 1)
+
+def-apple.lst: pre-apple.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 apple/' > $@
+
+und-apple.lst: pre-apple.o
+       echo 'apple' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+apple_mod-partmap_apple.o: partmap/apple.c
+       $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) $(CFLAGS) 
$(apple_mod_CFLAGS) -c -o $@ $<
+
+apple_mod-partmap_apple.d: partmap/apple.c
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(apple_mod_CFLAGS) -M $<     | sed 's,apple\.o[ 
:]*,apple_mod-partmap_apple.o $@ : ,g' > $@;         [ -s $@ ] || rm -f $@
+
+-include apple_mod-partmap_apple.d
+
+CLEANFILES += cmd-apple.lst fs-apple.lst
+COMMANDFILES += cmd-apple.lst
+FSFILES += fs-apple.lst
+
+cmd-apple.lst: partmap/apple.c gencmdlist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(apple_mod_CFLAGS) -E $<     | sh $(srcdir)/gencmdlist.sh apple > $@ 
|| (rm -f $@; exit 1)
+
+fs-apple.lst: partmap/apple.c genfslist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(apple_mod_CFLAGS) -E $<     | sh $(srcdir)/genfslist.sh apple > $@ 
|| (rm -f $@; exit 1)
+
+
 apple_mod_CFLAGS = $(COMMON_CFLAGS)
+apple_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For pc.mod
 pc_mod_SOURCES = partmap/pc.c
+CLEANFILES += pc.mod mod-pc.o mod-pc.c pre-pc.o pc_mod-partmap_pc.o def-pc.lst 
und-pc.lst
+MOSTLYCLEANFILES += pc_mod-partmap_pc.d
+DEFSYMFILES += def-pc.lst
+UNDSYMFILES += und-pc.lst
+
+pc.mod: pre-pc.o mod-pc.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(pc_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(pc_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-pc.o: pc_mod-partmap_pc.o
+       -rm -f $@
+       $(LD) $(pc_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-pc.o: mod-pc.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(pc_mod_CFLAGS) -c -o $@ $<
+
+mod-pc.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'pc' $< > $@ || (rm -f $@; exit 1)
+
+def-pc.lst: pre-pc.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 pc/' > $@
+
+und-pc.lst: pre-pc.o
+       echo 'pc' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+pc_mod-partmap_pc.o: partmap/pc.c
+       $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) $(CFLAGS) 
$(pc_mod_CFLAGS) -c -o $@ $<
+
+pc_mod-partmap_pc.d: partmap/pc.c
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(pc_mod_CFLAGS) -M $<        | sed 's,pc\.o[ :]*,pc_mod-partmap_pc.o 
$@ : ,g' > $@;          [ -s $@ ] || rm -f $@
+
+-include pc_mod-partmap_pc.d
+
+CLEANFILES += cmd-pc.lst fs-pc.lst
+COMMANDFILES += cmd-pc.lst
+FSFILES += fs-pc.lst
+
+cmd-pc.lst: partmap/pc.c gencmdlist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(pc_mod_CFLAGS) -E $<        | sh $(srcdir)/gencmdlist.sh pc > $@ || 
(rm -f $@; exit 1)
+
+fs-pc.lst: partmap/pc.c genfslist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(pc_mod_CFLAGS) -E $<        | sh $(srcdir)/genfslist.sh pc > $@ || 
(rm -f $@; exit 1)
+
+
 pc_mod_CFLAGS = $(COMMON_CFLAGS)
+pc_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For sun.mod
 sun_mod_SOURCES = partmap/sun.c
+CLEANFILES += sun.mod mod-sun.o mod-sun.c pre-sun.o sun_mod-partmap_sun.o 
def-sun.lst und-sun.lst
+MOSTLYCLEANFILES += sun_mod-partmap_sun.d
+DEFSYMFILES += def-sun.lst
+UNDSYMFILES += und-sun.lst
+
+sun.mod: pre-sun.o mod-sun.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(sun_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(sun_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-sun.o: sun_mod-partmap_sun.o
+       -rm -f $@
+       $(LD) $(sun_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-sun.o: mod-sun.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(sun_mod_CFLAGS) -c -o $@ $<
+
+mod-sun.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'sun' $< > $@ || (rm -f $@; exit 1)
+
+def-sun.lst: pre-sun.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 sun/' > $@
+
+und-sun.lst: pre-sun.o
+       echo 'sun' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+sun_mod-partmap_sun.o: partmap/sun.c
+       $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) $(CFLAGS) 
$(sun_mod_CFLAGS) -c -o $@ $<
+
+sun_mod-partmap_sun.d: partmap/sun.c
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(sun_mod_CFLAGS) -M $<       | sed 's,sun\.o[ 
:]*,sun_mod-partmap_sun.o $@ : ,g' > $@;       [ -s $@ ] || rm -f $@
+
+-include sun_mod-partmap_sun.d
+
+CLEANFILES += cmd-sun.lst fs-sun.lst
+COMMANDFILES += cmd-sun.lst
+FSFILES += fs-sun.lst
+
+cmd-sun.lst: partmap/sun.c gencmdlist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(sun_mod_CFLAGS) -E $<       | sh $(srcdir)/gencmdlist.sh sun > $@ 
|| (rm -f $@; exit 1)
+
+fs-sun.lst: partmap/sun.c genfslist.sh
+       set -e;           $(CC) -Ipartmap -I$(srcdir)/partmap $(CPPFLAGS) 
$(CFLAGS) $(sun_mod_CFLAGS) -E $<       | sh $(srcdir)/genfslist.sh sun > $@ || 
(rm -f $@; exit 1)
+
+
 sun_mod_CFLAGS = $(COMMON_CFLAGS)
+sun_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For loopback.mod
 loopback_mod_SOURCES = disk/loopback.c
+CLEANFILES += loopback.mod mod-loopback.o mod-loopback.c pre-loopback.o 
loopback_mod-disk_loopback.o def-loopback.lst und-loopback.lst
+MOSTLYCLEANFILES += loopback_mod-disk_loopback.d
+DEFSYMFILES += def-loopback.lst
+UNDSYMFILES += und-loopback.lst
+
+loopback.mod: pre-loopback.o mod-loopback.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(loopback_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(loopback_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-loopback.o: loopback_mod-disk_loopback.o
+       -rm -f $@
+       $(LD) $(loopback_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-loopback.o: mod-loopback.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(loopback_mod_CFLAGS) -c -o $@ $<
+
+mod-loopback.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'loopback' $< > $@ || (rm -f $@; exit 1)
+
+def-loopback.lst: pre-loopback.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 loopback/' > 
$@
+
+und-loopback.lst: pre-loopback.o
+       echo 'loopback' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+loopback_mod-disk_loopback.o: disk/loopback.c
+       $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) 
$(loopback_mod_CFLAGS) -c -o $@ $<
+
+loopback_mod-disk_loopback.d: disk/loopback.c
+       set -e;           $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) 
$(loopback_mod_CFLAGS) -M $<        | sed 's,loopback\.o[ 
:]*,loopback_mod-disk_loopback.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include loopback_mod-disk_loopback.d
+
+CLEANFILES += cmd-loopback.lst fs-loopback.lst
+COMMANDFILES += cmd-loopback.lst
+FSFILES += fs-loopback.lst
+
+cmd-loopback.lst: disk/loopback.c gencmdlist.sh
+       set -e;           $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) 
$(loopback_mod_CFLAGS) -E $<        | sh $(srcdir)/gencmdlist.sh loopback > $@ 
|| (rm -f $@; exit 1)
+
+fs-loopback.lst: disk/loopback.c genfslist.sh
+       set -e;           $(CC) -Idisk -I$(srcdir)/disk $(CPPFLAGS) $(CFLAGS) 
$(loopback_mod_CFLAGS) -E $<        | sh $(srcdir)/genfslist.sh loopback > $@ 
|| (rm -f $@; exit 1)
+
+
 loopback_mod_CFLAGS = $(COMMON_CFLAGS)
+loopback_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For suspend.mod
 suspend_mod_SOURCES = commands/ieee1275/suspend.c
+CLEANFILES += suspend.mod mod-suspend.o mod-suspend.c pre-suspend.o 
suspend_mod-commands_ieee1275_suspend.o def-suspend.lst und-suspend.lst
+MOSTLYCLEANFILES += suspend_mod-commands_ieee1275_suspend.d
+DEFSYMFILES += def-suspend.lst
+UNDSYMFILES += und-suspend.lst
+
+suspend.mod: pre-suspend.o mod-suspend.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(suspend_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(suspend_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-suspend.o: suspend_mod-commands_ieee1275_suspend.o
+       -rm -f $@
+       $(LD) $(suspend_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-suspend.o: mod-suspend.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(suspend_mod_CFLAGS) -c -o $@ $<
+
+mod-suspend.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'suspend' $< > $@ || (rm -f $@; exit 1)
+
+def-suspend.lst: pre-suspend.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 suspend/' > $@
+
+und-suspend.lst: pre-suspend.o
+       echo 'suspend' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+suspend_mod-commands_ieee1275_suspend.o: commands/ieee1275/suspend.c
+       $(CC) -Icommands/ieee1275 -I$(srcdir)/commands/ieee1275 $(CPPFLAGS) 
$(CFLAGS) $(suspend_mod_CFLAGS) -c -o $@ $<
+
+suspend_mod-commands_ieee1275_suspend.d: commands/ieee1275/suspend.c
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(suspend_mod_CFLAGS) -M $< 
      | sed 's,suspend\.o[ :]*,suspend_mod-commands_ieee1275_suspend.o $@ : ,g' 
> $@;         [ -s $@ ] || rm -f $@
+
+-include suspend_mod-commands_ieee1275_suspend.d
+
+CLEANFILES += cmd-suspend.lst fs-suspend.lst
+COMMANDFILES += cmd-suspend.lst
+FSFILES += fs-suspend.lst
+
+cmd-suspend.lst: commands/ieee1275/suspend.c gencmdlist.sh
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(suspend_mod_CFLAGS) -E $< 
      | sh $(srcdir)/gencmdlist.sh suspend > $@ || (rm -f $@; exit 1)
+
+fs-suspend.lst: commands/ieee1275/suspend.c genfslist.sh
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(suspend_mod_CFLAGS) -E $< 
      | sh $(srcdir)/genfslist.sh suspend > $@ || (rm -f $@; exit 1)
+
+
 suspend_mod_CFLAGS = $(COMMON_CFLAGS)
+suspend_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For reboot.mod
 reboot_mod_SOURCES = commands/ieee1275/reboot.c
+CLEANFILES += reboot.mod mod-reboot.o mod-reboot.c pre-reboot.o 
reboot_mod-commands_ieee1275_reboot.o def-reboot.lst und-reboot.lst
+MOSTLYCLEANFILES += reboot_mod-commands_ieee1275_reboot.d
+DEFSYMFILES += def-reboot.lst
+UNDSYMFILES += und-reboot.lst
+
+reboot.mod: pre-reboot.o mod-reboot.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(reboot_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(reboot_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-reboot.o: reboot_mod-commands_ieee1275_reboot.o
+       -rm -f $@
+       $(LD) $(reboot_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-reboot.o: mod-reboot.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(reboot_mod_CFLAGS) -c -o $@ $<
+
+mod-reboot.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'reboot' $< > $@ || (rm -f $@; exit 1)
+
+def-reboot.lst: pre-reboot.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 reboot/' > $@
+
+und-reboot.lst: pre-reboot.o
+       echo 'reboot' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+reboot_mod-commands_ieee1275_reboot.o: commands/ieee1275/reboot.c
+       $(CC) -Icommands/ieee1275 -I$(srcdir)/commands/ieee1275 $(CPPFLAGS) 
$(CFLAGS) $(reboot_mod_CFLAGS) -c -o $@ $<
+
+reboot_mod-commands_ieee1275_reboot.d: commands/ieee1275/reboot.c
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(reboot_mod_CFLAGS) -M $<  
      | sed 's,reboot\.o[ :]*,reboot_mod-commands_ieee1275_reboot.o $@ : ,g' > 
$@;    [ -s $@ ] || rm -f $@
+
+-include reboot_mod-commands_ieee1275_reboot.d
+
+CLEANFILES += cmd-reboot.lst fs-reboot.lst
+COMMANDFILES += cmd-reboot.lst
+FSFILES += fs-reboot.lst
+
+cmd-reboot.lst: commands/ieee1275/reboot.c gencmdlist.sh
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(reboot_mod_CFLAGS) -E $<  
      | sh $(srcdir)/gencmdlist.sh reboot > $@ || (rm -f $@; exit 1)
+
+fs-reboot.lst: commands/ieee1275/reboot.c genfslist.sh
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(reboot_mod_CFLAGS) -E $<  
      | sh $(srcdir)/genfslist.sh reboot > $@ || (rm -f $@; exit 1)
+
+
 reboot_mod_CFLAGS = $(COMMON_CFLAGS)
+reboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For halt.mod
 halt_mod_SOURCES = commands/ieee1275/halt.c
+CLEANFILES += halt.mod mod-halt.o mod-halt.c pre-halt.o 
halt_mod-commands_ieee1275_halt.o def-halt.lst und-halt.lst
+MOSTLYCLEANFILES += halt_mod-commands_ieee1275_halt.d
+DEFSYMFILES += def-halt.lst
+UNDSYMFILES += und-halt.lst
+
+halt.mod: pre-halt.o mod-halt.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(halt_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(halt_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-halt.o: halt_mod-commands_ieee1275_halt.o
+       -rm -f $@
+       $(LD) $(halt_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-halt.o: mod-halt.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(halt_mod_CFLAGS) -c -o $@ $<
+
+mod-halt.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'halt' $< > $@ || (rm -f $@; exit 1)
+
+def-halt.lst: pre-halt.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 halt/' > $@
+
+und-halt.lst: pre-halt.o
+       echo 'halt' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+halt_mod-commands_ieee1275_halt.o: commands/ieee1275/halt.c
+       $(CC) -Icommands/ieee1275 -I$(srcdir)/commands/ieee1275 $(CPPFLAGS) 
$(CFLAGS) $(halt_mod_CFLAGS) -c -o $@ $<
+
+halt_mod-commands_ieee1275_halt.d: commands/ieee1275/halt.c
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(halt_mod_CFLAGS) -M $<    
      | sed 's,halt\.o[ :]*,halt_mod-commands_ieee1275_halt.o $@ : ,g' > $@;    
      [ -s $@ ] || rm -f $@
+
+-include halt_mod-commands_ieee1275_halt.d
+
+CLEANFILES += cmd-halt.lst fs-halt.lst
+COMMANDFILES += cmd-halt.lst
+FSFILES += fs-halt.lst
+
+cmd-halt.lst: commands/ieee1275/halt.c gencmdlist.sh
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(halt_mod_CFLAGS) -E $<    
      | sh $(srcdir)/gencmdlist.sh halt > $@ || (rm -f $@; exit 1)
+
+fs-halt.lst: commands/ieee1275/halt.c genfslist.sh
+       set -e;           $(CC) -Icommands/ieee1275 
-I$(srcdir)/commands/ieee1275 $(CPPFLAGS) $(CFLAGS) $(halt_mod_CFLAGS) -E $<    
      | sh $(srcdir)/genfslist.sh halt > $@ || (rm -f $@; exit 1)
+
+
 halt_mod_CFLAGS = $(COMMON_CFLAGS)
+halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For help.mod.
 help_mod_SOURCES = commands/help.c
+CLEANFILES += help.mod mod-help.o mod-help.c pre-help.o 
help_mod-commands_help.o def-help.lst und-help.lst
+MOSTLYCLEANFILES += help_mod-commands_help.d
+DEFSYMFILES += def-help.lst
+UNDSYMFILES += und-help.lst
+
+help.mod: pre-help.o mod-help.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(help_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(help_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-help.o: help_mod-commands_help.o
+       -rm -f $@
+       $(LD) $(help_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-help.o: mod-help.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(help_mod_CFLAGS) -c -o $@ $<
+
+mod-help.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'help' $< > $@ || (rm -f $@; exit 1)
+
+def-help.lst: pre-help.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 help/' > $@
+
+und-help.lst: pre-help.o
+       echo 'help' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+help_mod-commands_help.o: commands/help.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(help_mod_CFLAGS) -c -o $@ $<
+
+help_mod-commands_help.d: commands/help.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(help_mod_CFLAGS) -M $<    | sed 's,help\.o[ 
:]*,help_mod-commands_help.o $@ : ,g' > $@;           [ -s $@ ] || rm -f $@
+
+-include help_mod-commands_help.d
+
+CLEANFILES += cmd-help.lst fs-help.lst
+COMMANDFILES += cmd-help.lst
+FSFILES += fs-help.lst
+
+cmd-help.lst: commands/help.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(help_mod_CFLAGS) -E $<    | sh $(srcdir)/gencmdlist.sh help > $@ || 
(rm -f $@; exit 1)
+
+fs-help.lst: commands/help.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(help_mod_CFLAGS) -E $<    | sh $(srcdir)/genfslist.sh help > $@ || 
(rm -f $@; exit 1)
+
+
 help_mod_CFLAGS = $(COMMON_CFLAGS)
+help_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For default.mod
 default_mod_SOURCES = commands/default.c
+CLEANFILES += default.mod mod-default.o mod-default.c pre-default.o 
default_mod-commands_default.o def-default.lst und-default.lst
+MOSTLYCLEANFILES += default_mod-commands_default.d
+DEFSYMFILES += def-default.lst
+UNDSYMFILES += und-default.lst
+
+default.mod: pre-default.o mod-default.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(default_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(default_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-default.o: default_mod-commands_default.o
+       -rm -f $@
+       $(LD) $(default_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-default.o: mod-default.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(default_mod_CFLAGS) -c -o $@ $<
+
+mod-default.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'default' $< > $@ || (rm -f $@; exit 1)
+
+def-default.lst: pre-default.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 default/' > $@
+
+und-default.lst: pre-default.o
+       echo 'default' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+default_mod-commands_default.o: commands/default.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(default_mod_CFLAGS) -c -o $@ $<
+
+default_mod-commands_default.d: commands/default.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(default_mod_CFLAGS) -M $<         | sed 's,default\.o[ 
:]*,default_mod-commands_default.o $@ : ,g' > $@;          [ -s $@ ] || rm -f $@
+
+-include default_mod-commands_default.d
+
+CLEANFILES += cmd-default.lst fs-default.lst
+COMMANDFILES += cmd-default.lst
+FSFILES += fs-default.lst
+
+cmd-default.lst: commands/default.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(default_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh 
default > $@ || (rm -f $@; exit 1)
+
+fs-default.lst: commands/default.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(default_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh 
default > $@ || (rm -f $@; exit 1)
+
+
 default_mod_CFLAGS =  $(COMMON_CFLAGS)
+default_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For timeout.mod
 timeout_mod_SOURCES = commands/timeout.c
+CLEANFILES += timeout.mod mod-timeout.o mod-timeout.c pre-timeout.o 
timeout_mod-commands_timeout.o def-timeout.lst und-timeout.lst
+MOSTLYCLEANFILES += timeout_mod-commands_timeout.d
+DEFSYMFILES += def-timeout.lst
+UNDSYMFILES += und-timeout.lst
+
+timeout.mod: pre-timeout.o mod-timeout.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(timeout_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(timeout_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-timeout.o: timeout_mod-commands_timeout.o
+       -rm -f $@
+       $(LD) $(timeout_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-timeout.o: mod-timeout.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(timeout_mod_CFLAGS) -c -o $@ $<
+
+mod-timeout.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'timeout' $< > $@ || (rm -f $@; exit 1)
+
+def-timeout.lst: pre-timeout.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 timeout/' > $@
+
+und-timeout.lst: pre-timeout.o
+       echo 'timeout' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+timeout_mod-commands_timeout.o: commands/timeout.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(timeout_mod_CFLAGS) -c -o $@ $<
+
+timeout_mod-commands_timeout.d: commands/timeout.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(timeout_mod_CFLAGS) -M $<         | sed 's,timeout\.o[ 
:]*,timeout_mod-commands_timeout.o $@ : ,g' > $@;          [ -s $@ ] || rm -f $@
+
+-include timeout_mod-commands_timeout.d
+
+CLEANFILES += cmd-timeout.lst fs-timeout.lst
+COMMANDFILES += cmd-timeout.lst
+FSFILES += fs-timeout.lst
+
+cmd-timeout.lst: commands/timeout.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(timeout_mod_CFLAGS) -E $<         | sh $(srcdir)/gencmdlist.sh 
timeout > $@ || (rm -f $@; exit 1)
+
+fs-timeout.lst: commands/timeout.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(timeout_mod_CFLAGS) -E $<         | sh $(srcdir)/genfslist.sh 
timeout > $@ || (rm -f $@; exit 1)
+
+
 timeout_mod_CFLAGS =  $(COMMON_CFLAGS)
+timeout_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For configfile.mod
 configfile_mod_SOURCES = commands/configfile.c
+CLEANFILES += configfile.mod mod-configfile.o mod-configfile.c 
pre-configfile.o configfile_mod-commands_configfile.o def-configfile.lst 
und-configfile.lst
+MOSTLYCLEANFILES += configfile_mod-commands_configfile.d
+DEFSYMFILES += def-configfile.lst
+UNDSYMFILES += und-configfile.lst
+
+configfile.mod: pre-configfile.o mod-configfile.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(configfile_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(configfile_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-configfile.o: configfile_mod-commands_configfile.o
+       -rm -f $@
+       $(LD) $(configfile_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-configfile.o: mod-configfile.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(configfile_mod_CFLAGS) -c -o $@ $<
+
+mod-configfile.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'configfile' $< > $@ || (rm -f $@; exit 1)
+
+def-configfile.lst: pre-configfile.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 configfile/' 
> $@
+
+und-configfile.lst: pre-configfile.o
+       echo 'configfile' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+configfile_mod-commands_configfile.o: commands/configfile.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(configfile_mod_CFLAGS) -c -o $@ $<
+
+configfile_mod-commands_configfile.d: commands/configfile.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(configfile_mod_CFLAGS) -M $<      | sed 's,configfile\.o[ 
:]*,configfile_mod-commands_configfile.o $@ : ,g' > $@;         [ -s $@ ] || rm 
-f $@
+
+-include configfile_mod-commands_configfile.d
+
+CLEANFILES += cmd-configfile.lst fs-configfile.lst
+COMMANDFILES += cmd-configfile.lst
+FSFILES += fs-configfile.lst
+
+cmd-configfile.lst: commands/configfile.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(configfile_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh 
configfile > $@ || (rm -f $@; exit 1)
+
+fs-configfile.lst: commands/configfile.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(configfile_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh 
configfile > $@ || (rm -f $@; exit 1)
+
+
 configfile_mod_CFLAGS = $(COMMON_CFLAGS)
+configfile_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For search.mod.
 search_mod_SOURCES = commands/search.c
+CLEANFILES += search.mod mod-search.o mod-search.c pre-search.o 
search_mod-commands_search.o def-search.lst und-search.lst
+MOSTLYCLEANFILES += search_mod-commands_search.d
+DEFSYMFILES += def-search.lst
+UNDSYMFILES += und-search.lst
+
+search.mod: pre-search.o mod-search.o
+       -rm -f $@
+<<<<<<< genmk.rb
+       $(LD) $(search_mod_LDFLAGS) -r -d -o $@ $^
+=======
+       $(LD) $(search_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
+>>>>>>> 1.17
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R 
.comment $@
+
+pre-search.o: search_mod-commands_search.o
+       -rm -f $@
+       $(LD) $(search_mod_LDFLAGS) -r -d -o $@ $^
+
+mod-search.o: mod-search.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(search_mod_CFLAGS) -c -o $@ $<
+
+mod-search.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'search' $< > $@ || (rm -f $@; exit 1)
+
+def-search.lst: pre-search.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 search/' > $@
+
+und-search.lst: pre-search.o
+       echo 'search' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+search_mod-commands_search.o: commands/search.c
+       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
$(search_mod_CFLAGS) -c -o $@ $<
+
+search_mod-commands_search.d: commands/search.c
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(search_mod_CFLAGS) -M $<          | sed 's,search\.o[ 
:]*,search_mod-commands_search.o $@ : ,g' > $@;     [ -s $@ ] || rm -f $@
+
+-include search_mod-commands_search.d
+
+CLEANFILES += cmd-search.lst fs-search.lst
+COMMANDFILES += cmd-search.lst
+FSFILES += fs-search.lst
+
+cmd-search.lst: commands/search.c gencmdlist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(search_mod_CFLAGS) -E $<          | sh $(srcdir)/gencmdlist.sh 
search > $@ || (rm -f $@; exit 1)
+
+fs-search.lst: commands/search.c genfslist.sh
+       set -e;           $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) 
$(CFLAGS) $(search_mod_CFLAGS) -E $<          | sh $(srcdir)/genfslist.sh 
search > $@ || (rm -f $@; exit 1)
+
+
 search_mod_CFLAGS = $(COMMON_CFLAGS)
+search_mod_LDFLAGS = $(COMMON_LDFLAGS)
 CLEANFILES += moddep.lst command.lst fs.lst
 pkgdata_DATA += moddep.lst command.lst fs.lst
 moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]