Hello. genmk.rb is a point where our build system has the most
problems. For once ruby is a problematic dependency on some platforms.
Then few people here understand ruby enough. And thirdly genmk.rb
prevents splitting *_SOURCES across .rmk. So I propose to switch to
GNU make which is already our dependency in any case. Here I put a
working prototype of such solution. I intentionally omitted deletion
of genmk.rb and .rmk->.mk renaming from this patch so it's easier to
read
This patch is just a prototype. It has 3 problems I currently aware of:
1) External build is untested
2) non i386-pc build is untested
3) make clean fails because of command line is too long
-- 
Regards
Vladimir 'phcoder' Serbinenko

Personal git repository: http://repo.or.cz/w/grub2/phcoder.git
diff --git a/Makefile.in b/Makefile.in
index 25acce7..9d7ce62 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -97,6 +97,7 @@ LIBCURSES = @LIBCURSES@
 LIBUSB = @LIBUSB@
 YACC = @YACC@
 UNIFONT_BDF = @UNIFONT_BDF@
+TRUE=true
 
 # Options.
 enable_grub_emu = @enable_grub_emu@
@@ -134,12 +135,8 @@ MAINTAINER_CLEANFILES = $(srcdir)/configure $(addprefix 
$(srcdir)/,$(MKFILES))
 all: all-local
 
 ### Include an arch-specific Makefile.
-$(addprefix $(srcdir)/,$(MKFILES)): %.mk: %.rmk genmk.rb
-       if test "x$(RUBY)" = x; then \
-         touch $@; \
-       else \
-         $(RUBY) $(srcdir)/genmk.rb < $< > $@; \
-       fi
+$(addprefix $(srcdir)/,$(MKFILES)): %.mk: %.rmk
+         cat $< > $@; \
 
 include $(srcdir)/conf/$(target_cpu)-$(platform).mk
 
diff --git a/autogen.sh b/autogen.sh
index 6895de2..15e291b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -6,7 +6,7 @@ autoconf
 autoheader
 echo timestamp > stamp-h.in
 for rmk in conf/*.rmk; do
-  ruby genmk.rb < $rmk > `echo $rmk | sed 's/\.rmk$/.mk/'`
+  cat $rmk > `echo $rmk | sed 's/\.rmk$/.mk/'`
 done
 ./gendistlist.sh > DISTLIST
 
diff --git a/conf/common.rmk b/conf/common.rmk
index 032517f..ab5a8c5 100644
--- a/conf/common.rmk
+++ b/conf/common.rmk
@@ -4,11 +4,14 @@
 bin_UTILITIES += grub-mkelfimage
 grub_mkelfimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \
        util/resolve.c
-util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
+util/elf/grub-mkimage.c: Makefile
+       $(TRUE)
 
 # For grub-probe.
 sbin_UTILITIES += grub-probe
-util/grub-probe.c_DEPENDENCIES = grub_probe_init.h
+util/grub-probe.c.dep: grub_probe_init.h
+       $(TRUE)
+
 grub_probe_SOURCES = util/grub-probe.c \
        util/hostdisk.c util/misc.c util/getroot.c              \
        kern/device.c kern/disk.c kern/err.c kern/misc.c        \
@@ -28,7 +31,9 @@ bin_UTILITIES += grub-fstest
 endif
 
 # For grub-fstest.
-util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h
+util/grub-fstest.c.dep: grub_fstest_init.h
+       $(TRUE)
+
 grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c     \
        kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c    \
        disk/host.c disk/loopback.c kern/list.c kern/command.c          \
@@ -136,21 +141,15 @@ grub_macho2img_SOURCES = util/grub-macho2img.c
 CLEANFILES += grub-macho2img
 
 # For grub-mkconfig
-grub-mkconfig: util/grub-mkconfig.in config.status
-       ./config.status --file=$@:$<
-       chmod +x $@
+grub_mkconfig_SOURCES = util/grub-mkconfig.in 
 sbin_SCRIPTS += grub-mkconfig
 CLEANFILES += grub-mkconfig
 
-grub-mkconfig_lib: util/grub-mkconfig_lib.in config.status
-       ./config.status --file=$@:$<
-       chmod +x $@
+grub_mkconfig_lib_SOURCES = util/grub-mkconfig_lib.in
 lib_SCRIPTS += grub-mkconfig_lib
 CLEANFILES += grub-mkconfig_lib
 
-update-grub_lib: util/update-grub_lib.in config.status
-       ./config.status --file=$@:$<
-       chmod +x $@
+update_grub_lib_SOURCES = util/update-grub_lib.in
 lib_SCRIPTS += update-grub_lib
 CLEANFILES += update-grub_lib
 
@@ -167,9 +166,7 @@ CLEANFILES += $(grub-mkconfig_SCRIPTS)
 grub-mkconfig_DATA += util/grub.d/README
 
 # For grub-dumpbios
-grub-dumpbios: util/grub-dumpbios.in config.status
-       ./config.status --file=$@:$<
-       chmod +x $@
+grub_dumpbios_SOURCES = util/grub-dumpbios.in
 sbin_SCRIPTS += grub-dumpbios
 CLEANFILES += grub-dumpbios
 
@@ -607,3 +604,198 @@ pkglib_MODULES += setjmp.mod
 setjmp_mod_SOURCES = lib/$(target_cpu)/setjmp.S
 setjmp_mod_ASFLAGS = $(COMMON_ASFLAGS)
 setjmp_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+
+.PHONY: %.dep
+
+%.dep:
+       $(TRUE)
+
+define UTILITY_template
+$(1): $$($(2)_DEPENDENCIES) $$(addsuffix .obj_$(2),$$($(2)_SOURCES))
+       $(CC) -o $$@ $$(addsuffix .obj_$(2),$$($(2)_SOURCES)) $$(LDFLAGS) 
$$($(2)_LDFLAGS)
+
+%.obj_$(2): % %.dep
+       $$(CC) $$(CPPFLAGS) $$(CFLAGS) -DGRUB_UTIL=1 $$($(2)_CFLAGS) -MD -c -o 
$$@ $$<
+
+CLEANFILES += $$(addsuffix .obj-$(2),$$($(2)_SOURCES))
+CLEANFILES += $$(addsuffix $$(EXEEXT),$(1))
+
+MOSTLYCLEANFILES += $$(addsuffix .d,$$($(2)_SOURCES))
+endef
+
+$(foreach util,$(bin_UTILITIES),$(eval $(call UTILITY_template,$(util),$(subst 
-,_,$(subst .,_,$(util))))))
+$(foreach util,$(sbin_UTILITIES),$(eval $(call 
UTILITY_template,$(util),$(subst -,_,$(subst .,_,$(util))))))
+
+define PROGRAM_template
+$(1): $$($(2)_DEPENDENCIES) $$(addsuffix .obj_$(2),$$($(2)_SOURCES))
+       $(TARGET_CC) -o $$@ $$(addsuffix .obj_$(2),$$($(2)_SOURCES)) 
$$(TARGET_LDFLAGS) $$($(2)_LDFLAGS)
+
+%.c.obj_$(2): %.c %.c.dep
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -MD 
-c -o $$@ $$<
+
+%.S.obj_$(2): %.S %.S.dep
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) $$($(2)_ASFLAGS) 
-MD -c -o $$@ $$<
+
+CLEANFILES += $$(addsuffix .obj-$(2),$$($(2)_SOURCES))
+CLEANFILES += $(1)
+
+MOSTLYCLEANFILES += $$(addsuffix .d,$$($(2)_SOURCES))
+endef
+
+$(foreach prog,$(pkglib_PROGRAMS),$(eval $(call 
PROGRAM_template,$(prog),$(subst -,_,$(subst .,_,$(prog))))))
+
+define IMAGE_template
+CLEANFILES += $(1) $(1).exec $$(addsuffix .obj-$(2),$$($(2)_SOURCES))
+MOSTLYCLEANFILES += $$(addsuffix .d,$$($(2)_SOURCES))
+
+ifneq ($$(TARGET_APPLE_CC),1)
+$(1): $(1).exec $$($(2)_DEPENDENCIES)
+       $$(OBJCOPY) -O $$($(2)_FORMAT) --strip-unneeded -R .note -R .comment -R 
.note.gnu.build-id $$< $$@
+else
+ifneq ($(1),kernel.img)
+$(1): $(1).exec $$($(2)_DEPENDENCIES) ./grub-macho2img
+       ./grub-macho2img $$< $$@
+else
+
+$(1): $(1).exec $$($(2)_DEPENDENCIES) ./grub-macho2img
+       ./grub-macho2img --bss $$< $$@
+endif
+endif
+
+
+$(1).exec: $$($(2)_DEPENDENCIES) $$(addsuffix .obj_$(2),$$($(2)_SOURCES))
+       $$(TARGET_CC) -o $$@ $$(addsuffix .obj_$(2),$$($(2)_SOURCES)) 
$$(TARGET_LDFLAGS) $$($(2)_LDFLAGS)
+
+%.c.obj_$(2): %.c %.c.dep
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -MD 
-c -o $$@ $$<
+
+%.S.obj_$(2): %.S %.S.dep
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -MD -c -o $$@ $$<
+
+endef
+
+$(foreach image,$(pkglib_IMAGES),$(eval $(call IMAGE_template,$(image),$(subst 
-,_,$(subst .,_,$(image))))))
+
+define SCRIPT_template
+CLEANFILES += $(1)
+
+$(1): $$($(2)_SOURCES) $$($(2)_DEPENDENCIES) config.status
+       ./config.status --file=$$@:$$<
+       chmod +x $$@
+endef
+
+$(foreach script,$(bin_SCRIPTS),$(eval $(call 
SCRIPT_template,$(script),$(subst -,_,$(subst .,_,$(script))))))
+$(foreach script,$(sbin_SCRIPTS),$(eval $(call 
SCRIPT_template,$(script),$(subst -,_,$(subst .,_,$(script))))))
+$(foreach script,$(lib_SCRIPTS),$(eval $(call 
SCRIPT_template,$(script),$(subst -,_,$(subst .,_,$(script))))))
+
+define MODULE_template
+CLEANFILES += $(1) mod-$(2).o mod-$(2).c pre-$(2).o pre-$(2).c mod-$(2).o 
und-$(2).lst
+ifneq ($$($(2)_EXPORTS),no)
+CLEANFILES += def-$(2).lst
+DEFSYMFILES += def-$(2).lst
+endif
+MOSTLYCLEANFILES += $$(addsuffix .d,$$($(2)_SOURCES))
+UNDSYMFILES += und-$(2).lst
+
+ifneq ($$(TARGET_APPLE_CC),1)
+$(1): pre-$(2).o mod-$(2).o $(TARGET_OBJ2ELF)
+       -rm -f $$@
+       $$(TARGET_CC) $$($(2)_LDFLAGS) $$(TARGET_LDFLAGS) -Wl,-r,-d -o $$@ 
pre-$(2).o mod-$(2).o
+       if test ! -z $$(TARGET_OBJ2ELF); then ./$$(TARGET_OBJ2ELF) $$@ || (rm 
-f $$@; exit 1); fi
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K 
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $$@
+else
+$(1): pre-$(2).o mod-$(2).o
+       -rm -f $$@
+       -rm -f $...@.bin
+       $$(TARGET_CC) $$($(2)_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $...@.bin 
pre-$(2).o mod-$(2).o
+       $(OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init 
-nr:_grub_mod_fini:grub_mod_fini -wd1106 -nu -nd $...@.bin $$@
+       -rm -f $...@.bin
+endif
+
+pre-$(2).o: $$($(2)_DEPENDENCIES) $$(addsuffix .obj_$(2),$$($(2)_SOURCES))
+       -rm -f $$@
+       $$(TARGET_CC) $$($(2)_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $$@ 
$$(addsuffix .obj_$(2),$$($(2)_SOURCES))
+
+mod-$(2).o: mod-$(2).c
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -c 
-o $$@ $$<
+
+mod-$(2).c: $$(builddir)/moddep.lst $$(srcdir)/genmodsrc.sh
+       sh $$(srcdir)/genmodsrc.sh "$$(subst .mod,,$(1))" $$< > $$@ || (rm -f 
$$@; exit 1)
+
+ifneq ($$($(2)_EXPORTS),no)
+ifneq ($(TARGET_APPLE_CC),1)
+def-$(2).lst: pre-$(2).o
+       $(NM) -g --defined-only -P -p $$< | sed "s/^\\([^ ]*\\).*/\\1 $$(subst 
.mod,,$(1))/" > $$@
+else
+def-$(2).lst: pre-$(2).o
+       $(NM) -g -P -p $$< | grep -E '^[a-zA-Z0-9_]* [TDS]'  | sed 's/^\\([^ 
]*\\).*/\\1 $$(subst .mod,,$(1))/' > $$@
+endif
+endif
+
+und-$(2).lst: pre-$(2).o
+       echo '$$(subst .mod,,$(1))' > $$@
+       $$(NM) -u -P -p $$< | cut -f1 -d' ' >> $$@
+
+%.c.obj_$(2): %.c %.c.dep
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -MD 
-c -o $$@ $$<
+
+%.S.obj_$(2): %.S %.S.dep
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -MD -c -o $$@ $$<
+
+CLEANFILES += $$(addsuffix .cmd.lst_$(2),$$($(2)_SOURCES)) \
+       $$(addsuffix .fs.lst_$(2),$$($(2)_SOURCES)) \
+       $$(addsuffix .parttool.lst_$(2),$$($(2)_SOURCES)) \
+       $$(addsuffix .partmap.lst_$(2),$$($(2)_SOURCES)) \
+       $$(addsuffix .handler.lst_$(2),$$($(2)_SOURCES)) \
+       $$(addsuffix .obj_$(2),$$($(2)_SOURCES))
+
+COMMANDFILES += $$(addsuffix .cmd.lst_$(2),$$($(2)_SOURCES))
+FSFILES += $$(addsuffix .fs.lst_$(2),$$($(2)_SOURCES))
+PARTTOOLFILES += $$(addsuffix .parttool.lst_$(2),$$($(2)_SOURCES))
+PARTMAPFILES += $$(addsuffix .partmap.lst_$(2),$$($(2)_SOURCES))
+HANDLERFILES += $$(addsuffix .handler.lst_$(2),$$($(2)_SOURCES))
+
+%.c.cmd.lst_$(2): %.c %.c.dep gencmdlist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -E 
$$< \
+         | sh $(srcdir)/gencmdlist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f 
$$@; exit 1)
+
+%.S.cmd.lst_$(2): %.S %.S.dep gencmdlist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -E $$< \
+         | sh $(srcdir)/gencmdlist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f 
$$@; exit 1)
+
+%.c.fs.lst_$(2): %.c %.c.dep genfslist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -E 
$$< \
+         | sh $(srcdir)/genfslist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f $$@; 
exit 1)
+
+%.S.fs.lst_$(2): %.S %.S.dep genfslist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -E $$< \
+         | sh $(srcdir)/genfslist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f $$@; 
exit 1)
+
+%.c.parttool.lst_$(2): %.c %.c.dep genparttoollist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -E 
$$< \
+         | sh $(srcdir)/genparttoollist.sh $$(subst .mod,,$(1)) > $$@ || (rm 
-f $$@; exit 1)
+
+%.S.parttool.lst_$(2): %.S %.S.dep genparttoollist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -E $$< \
+         | sh $(srcdir)/genparttoollist.sh $$(subst .mod,,$(1)) > $$@ || (rm 
-f $$@; exit 1)
+
+%.c.partmap.lst_$(2): %.c %.c.dep genpartmaplist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -E 
$$< \
+         | sh $(srcdir)/genpartmaplist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f 
$$@; exit 1)
+
+%.S.partmap.lst_$(2): %.S %.S.dep genpartmaplist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -E $$< \
+         | sh $(srcdir)/genpartmaplist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f 
$$@; exit 1)
+
+%.c.handler.lst_$(2): %.c %.c.dep genhandlerlist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_CFLAGS) $$($(2)_CFLAGS) -E 
$$< \
+         | sh $(srcdir)/genhandlerlist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f 
$$@; exit 1)
+
+%.S.handler.lst_$(2): %.S %.S.dep genhandlerlist.sh
+       $$(TARGET_CC) $$(TARGET_CPPFLAGS) $$(TARGET_ASFLAGS) -DASM_FILE=1 
$$($(2)_ASFLAGS) -E $$< \
+         | sh $(srcdir)/genhandlerlist.sh $$(subst .mod,,$(1)) > $$@ || (rm -f 
$$@; exit 1)
+
+endef
+
+$(foreach mod,$(pkglib_MODULES),$(eval $(call MODULE_template,$(mod),$(subst 
-,_,$(subst .,_,$(mod))))))
diff --git a/conf/i386-coreboot.rmk b/conf/i386-coreboot.rmk
index 7ba5737..c57680c 100644
--- a/conf/i386-coreboot.rmk
+++ b/conf/i386-coreboot.rmk
@@ -5,7 +5,8 @@ COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32
 COMMON_LDFLAGS = -m32 -nostdlib
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Images.
 
@@ -104,7 +105,9 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c 
util/deviceiter.c \
        util/devicemap.c util/misc.c
 
 # For grub-emu.
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
+
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/handler.c commands/ls.c commands/test.c                \
diff --git a/conf/i386-efi.rmk b/conf/i386-efi.rmk
index 9177b9d..1e38488 100644
--- a/conf/i386-efi.rmk
+++ b/conf/i386-efi.rmk
@@ -5,7 +5,8 @@ COMMON_CFLAGS = -fno-builtin -m32
 COMMON_LDFLAGS = -melf_i386 -nostdlib
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Utilities.
 bin_UTILITIES = grub-mkimage
@@ -17,7 +18,8 @@ sbin_UTILITIES = grub-mkdevicemap
 # For grub-mkimage.
 grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \
        util/resolve.c
-util/i386/efi/grub-mkimage.c_DEPENDENCIES = Makefile
+util/i386/efi/grub-mkimage.c.dep: Makefile
+       $(TRUE)
 
 # For grub-setup.
 #grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c        \
@@ -32,7 +34,8 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c 
util/deviceiter.c \
        util/devicemap.c util/misc.c
 
 # For grub-emu.
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/help.c                           \
        commands/handler.c commands/ls.c commands/test.c                \
diff --git a/conf/i386-ieee1275.rmk b/conf/i386-ieee1275.rmk
index 0321979..98e4de7 100644
--- a/conf/i386-ieee1275.rmk
+++ b/conf/i386-ieee1275.rmk
@@ -5,7 +5,8 @@ COMMON_CFLAGS   = -ffreestanding -mrtd -mregparm=3
 COMMON_LDFLAGS = -nostdlib
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Images.
 pkglib_PROGRAMS = kernel.img
@@ -58,7 +59,8 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c 
util/deviceiter.c \
        util/devicemap.c util/misc.c
 
 # For grub-emu.
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/handler.c commands/ls.c commands/test.c                \
diff --git a/conf/i386-pc.rmk b/conf/i386-pc.rmk
index 798aee2..d5ad6a1 100644
--- a/conf/i386-pc.rmk
+++ b/conf/i386-pc.rmk
@@ -7,7 +7,8 @@ COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32
 COMMON_LDFLAGS = -m32 -nostdlib
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Images.
 pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img cdboot.img
@@ -92,10 +93,13 @@ endif
 grub_mkimage_SOURCES = util/i386/pc/grub-mkimage.c util/misc.c \
        util/resolve.c lib/LzmaEnc.c lib/LzFind.c
 grub_mkimage_CFLAGS = 
-DGRUB_KERNEL_MACHINE_LINK_ADDR=$(GRUB_KERNEL_MACHINE_LINK_ADDR)
-util/i386/pc/grub-mkimage.c_DEPENDENCIES = Makefile
+util/i386/pc/grub-mkimage.c.dep: Makefile
+       $(TRUE)
 
 # For grub-setup.
-util/i386/pc/grub-setup.c_DEPENDENCIES = grub_setup_init.h
+util/i386/pc/grub-setup.c.dep: grub_setup_init.h
+       $(TRUE)
+
 grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c \
        util/misc.c util/getroot.c kern/device.c kern/disk.c    \
        kern/err.c kern/misc.c kern/parser.c kern/partition.c   \
@@ -117,7 +121,8 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c 
util/deviceiter.c \
        util/devicemap.c util/misc.c
 
 # For grub-emu.
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/handler.c commands/ls.c commands/test.c                \
diff --git a/conf/powerpc-ieee1275.rmk b/conf/powerpc-ieee1275.rmk
index af29d23..b5d3f13 100644
--- a/conf/powerpc-ieee1275.rmk
+++ b/conf/powerpc-ieee1275.rmk
@@ -6,7 +6,8 @@ COMMON_CFLAGS = -ffreestanding
 COMMON_LDFLAGS += -nostdlib
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Images.
 
@@ -39,7 +40,8 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c 
util/deviceiter.c \
        util/devicemap.c util/misc.c
 
 # For grub-emu
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/help.c                           \
        commands/search.c commands/handler.c commands/test.c            \
diff --git a/conf/sparc64-ieee1275.rmk b/conf/sparc64-ieee1275.rmk
index aabccee..d2977b9 100644
--- a/conf/sparc64-ieee1275.rmk
+++ b/conf/sparc64-ieee1275.rmk
@@ -6,7 +6,8 @@ COMMON_CFLAGS = -ffreestanding -m64 -mno-app-regs
 COMMON_LDFLAGS = -melf64_sparc -nostdlib -mno-relax
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Images.
 pkglib_IMAGES = boot.img diskboot.img kernel.img
@@ -69,7 +70,9 @@ grub_mkimage_SOURCES = util/sparc64/ieee1275/grub-mkimage.c 
util/misc.c \
         util/resolve.c
 
 # For grub-setup.
-util/sparc64/ieee1275/grub-setup.c_DEPENDENCIES = grub_setup_init.h
+util/sparc64/ieee1275/grub-setup.c.dep: grub_setup_init.h
+       $(TRUE)
+
 grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c util/hostdisk.c        
\
        util/misc.c util/getroot.c kern/device.c kern/disk.c    \
        kern/err.c kern/misc.c kern/parser.c kern/partition.c   \
@@ -96,7 +99,9 @@ grub_ofpathname_SOURCES = 
util/sparc64/ieee1275/grub-ofpathname.c \
        util/ieee1275/ofpath.c util/misc.c
 
 # For grub-emu
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
+
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/help.c                           \
        commands/search.c commands/handler.c commands/test.c            \
diff --git a/conf/x86_64-efi.rmk b/conf/x86_64-efi.rmk
index 21da0e1..ac1a230 100644
--- a/conf/x86_64-efi.rmk
+++ b/conf/x86_64-efi.rmk
@@ -5,7 +5,8 @@ COMMON_CFLAGS = -fno-builtin -m64
 COMMON_LDFLAGS = -melf_x86_64 -nostdlib
 
 # Used by various components.  These rules need to precede them.
-script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
+script/sh/lexer.c.dep: grub_script.tab.h
+       $(TRUE)
 
 # Utilities.
 bin_UTILITIES = grub-mkimage
@@ -30,7 +31,9 @@ grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c 
util/misc.c \
 grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c
 
 # For grub-emu.
-util/grub-emu.c_DEPENDENCIES = grub_emu_init.h
+util/grub-emu.c.dep: grub_emu_init.h
+       $(TRUE)
+
 grub_emu_SOURCES = commands/minicmd.c commands/cat.c commands/cmp.c    \
        commands/configfile.c commands/help.c                           \
        commands/handler.c commands/ls.c commands/test.c                \
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to