* DISTLIST: Added genfslist.sh.
* normal/main.c (fs_module_list): New variable.
(autoload_fs_module): New function.
(read_fs_list): Likewise.
(grub_normal_execute): Call read_fs_list.
* kern/fs.c (grub_fs_autoload_hook): New variable.
(grub_fs_probe): Added support for auto-loading.
* include/grub/normal.h (struct grub_fs_module_list): New struct.
(grub_fs_module_list_t): New type.
* include/grub/fs.h (grub_fs_autoload_hook_t): New type.
(grub_fs_autoload_hook): New prototype.
* genfslist.sh: New file.
* genmk.rb: Added a rule to generate a filesystem list.
+2005-07-03 Yoshinori Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added genfslist.sh.
+
+ * normal/main.c (fs_module_list): New variable.
+ (autoload_fs_module): New function.
+ (read_fs_list): Likewise.
+ (grub_normal_execute): Call read_fs_list.
+
+ * kern/fs.c (grub_fs_autoload_hook): New variable.
+ (grub_fs_probe): Added support for auto-loading.
+
+ * include/grub/normal.h (struct grub_fs_module_list): New struct.
+ (grub_fs_module_list_t): New type.
+
+ * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
+ (grub_fs_autoload_hook): New prototype.
+
+ * genfslist.sh: New file.
+
+ * genmk.rb: Added a rule to generate a filesystem list.
+
2005-06-30 Marco Gerards <metgerards@student.han.nl>
* configure.ac: Fix the test for cross-compiling.
configure.ac
gencmdlist.sh
gendistlist.sh
+genfslist.sh
genkernsyms.sh
genmk.rb
genmodsrc.sh
-include _chain_mod-loader_i386_pc_chainloader.d
-CLEANFILES += cmd-chainloader.lst
+CLEANFILES += cmd-chainloader.lst fs-chainloader.lst
COMMANDFILES += cmd-chainloader.lst
+FSFILES += fs-chainloader.lst
cmd-chainloader.lst: loader/i386/pc/chainloader.c gencmdlist.sh
set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(_chain_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh _chain > $@ || (rm -f $@; exit 1)
+fs-chainloader.lst: loader/i386/pc/chainloader.c genfslist.sh
+ set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(_chain_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh _chain > $@ || (rm -f $@; exit 1)
+
+
_chain_mod_CFLAGS = $(COMMON_CFLAGS)
# For chain.mod.
-include chain_mod-loader_i386_pc_chainloader_normal.d
-CLEANFILES += cmd-chainloader_normal.lst
+CLEANFILES += cmd-chainloader_normal.lst fs-chainloader_normal.lst
COMMANDFILES += cmd-chainloader_normal.lst
+FSFILES += fs-chainloader_normal.lst
cmd-chainloader_normal.lst: loader/i386/pc/chainloader_normal.c gencmdlist.sh
set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(chain_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh chain > $@ || (rm -f $@; exit 1)
+fs-chainloader_normal.lst: loader/i386/pc/chainloader_normal.c genfslist.sh
+ set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(chain_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh chain > $@ || (rm -f $@; exit 1)
+
+
chain_mod_CFLAGS = $(COMMON_CFLAGS)
# For fshelp.mod.
-include fshelp_mod-fs_fshelp.d
-CLEANFILES += cmd-fshelp.lst
+CLEANFILES += cmd-fshelp.lst fs-fshelp.lst
COMMANDFILES += cmd-fshelp.lst
+FSFILES += fs-fshelp.lst
cmd-fshelp.lst: fs/fshelp.c gencmdlist.sh
set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(fshelp_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh fshelp > $@ || (rm -f $@; exit 1)
+fs-fshelp.lst: fs/fshelp.c genfslist.sh
+ set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(fshelp_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh fshelp > $@ || (rm -f $@; exit 1)
+
+
fshelp_mod_CFLAGS = $(COMMON_CFLAGS)
# For fat.mod.
-include fat_mod-fs_fat.d
-CLEANFILES += cmd-fat.lst
+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)
# For ext2.mod.
-include ext2_mod-fs_ext2.d
-CLEANFILES += cmd-ext2.lst
+CLEANFILES += cmd-ext2.lst fs-ext2.lst
COMMANDFILES += cmd-ext2.lst
+FSFILES += fs-ext2.lst
cmd-ext2.lst: fs/ext2.c gencmdlist.sh
set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(ext2_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh ext2 > $@ || (rm -f $@; exit 1)
+fs-ext2.lst: fs/ext2.c genfslist.sh
+ set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(ext2_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh ext2 > $@ || (rm -f $@; exit 1)
+
+
ext2_mod_CFLAGS = $(COMMON_CFLAGS)
# For ufs.mod.
-include ufs_mod-fs_ufs.d
-CLEANFILES += cmd-ufs.lst
+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)
# For minix.mod.
-include minix_mod-fs_minix.d
-CLEANFILES += cmd-minix.lst
+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)
# For hfs.mod.
-include hfs_mod-fs_hfs.d
-CLEANFILES += cmd-hfs.lst
+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)
# For jfs.mod.
-include jfs_mod-fs_jfs.d
-CLEANFILES += cmd-jfs.lst
+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)
# For iso9660.mod.
-include _linux_mod-loader_i386_pc_linux.d
-CLEANFILES += cmd-linux.lst
+CLEANFILES += cmd-linux.lst fs-linux.lst
COMMANDFILES += cmd-linux.lst
+FSFILES += fs-linux.lst
cmd-linux.lst: loader/i386/pc/linux.c gencmdlist.sh
set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(_linux_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh _linux > $@ || (rm -f $@; exit 1)
+fs-linux.lst: loader/i386/pc/linux.c genfslist.sh
+ set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(_linux_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh _linux > $@ || (rm -f $@; exit 1)
+
+
_linux_mod_CFLAGS = $(COMMON_CFLAGS)
# For linux.mod.
-include linux_mod-loader_i386_pc_linux_normal.d
-CLEANFILES += cmd-linux_normal.lst
+CLEANFILES += cmd-linux_normal.lst fs-linux_normal.lst
COMMANDFILES += cmd-linux_normal.lst
+FSFILES += fs-linux_normal.lst
cmd-linux_normal.lst: loader/i386/pc/linux_normal.c gencmdlist.sh
set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(linux_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh linux > $@ || (rm -f $@; exit 1)
+fs-linux_normal.lst: loader/i386/pc/linux_normal.c genfslist.sh
+ set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(linux_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh linux > $@ || (rm -f $@; exit 1)
+
+
linux_mod_CFLAGS = $(COMMON_CFLAGS)
# For normal.mod.
-include normal_mod-normal_arg.d
-CLEANFILES += cmd-arg.lst
+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 $@ $<
-include normal_mod-normal_cmdline.d
-CLEANFILES += cmd-cmdline.lst
+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 $@ $<
-include normal_mod-normal_command.d
-CLEANFILES += cmd-command.lst
+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_context.o: normal/context.c
$(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) $(normal_mod_CFLAGS) -c -o $@ $<
-include normal_mod-normal_context.d
-CLEANFILES += cmd-context.lst
+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 $@ $<
-include normal_mod-normal_main.d
-CLEANFILES += cmd-main.lst
+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 $@ $<
-include normal_mod-normal_menu.d
-CLEANFILES += cmd-menu.lst
+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 $@ $<
-include normal_mod-normal_menu_entry.d
-CLEANFILES += cmd-menu_entry.lst
+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_i386_setjmp.o: normal/i386/setjmp.S
$(CC) -Inormal/i386 -I$(srcdir)/normal/i386 $(CPPFLAGS) $(ASFLAGS) $(normal_mod_ASFLAGS) -c -o $@ $<
-include normal_mod-normal_i386_setjmp.d
-CLEANFILES += cmd-setjmp.lst
+CLEANFILES += cmd-setjmp.lst fs-setjmp.lst
COMMANDFILES += cmd-setjmp.lst
+FSFILES += fs-setjmp.lst
cmd-setjmp.lst: normal/i386/setjmp.S gencmdlist.sh
set -e; $(CC) -Inormal/i386 -I$(srcdir)/normal/i386 $(CPPFLAGS) $(ASFLAGS) $(normal_mod_ASFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh normal > $@ || (rm -f $@; exit 1)
+fs-setjmp.lst: normal/i386/setjmp.S genfslist.sh
+ set -e; $(CC) -Inormal/i386 -I$(srcdir)/normal/i386 $(CPPFLAGS) $(ASFLAGS) $(normal_mod_ASFLAGS) -E $< | sh $(srcdir)/genfslist.sh normal > $@ || (rm -f $@; exit 1)
+
+
normal_mod_CFLAGS = $(COMMON_CFLAGS)
normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
-include hello_mod-hello_hello.d
-CLEANFILES += cmd-hello.lst
+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)
# For boot.mod.
-include boot_mod-commands_boot.d
-CLEANFILES += cmd-boot.lst
+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)
# For terminal.mod.
-include terminal_mod-commands_terminal.d
-CLEANFILES += cmd-terminal.lst
+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)
# For ls.mod.
-include ls_mod-commands_ls.d
-CLEANFILES += cmd-ls.lst
+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)
# For cmp.mod.
-include cmp_mod-commands_cmp.d
-CLEANFILES += cmd-cmp.lst
+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)
# For cat.mod.
-include cat_mod-commands_cat.d
-CLEANFILES += cmd-cat.lst
+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)
# For help.mod.
-include help_mod-commands_help.d
-CLEANFILES += cmd-help.lst
+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)
# For reboot.mod.
-include reboot_mod-commands_i386_pc_reboot.d
-CLEANFILES += cmd-reboot.lst
+CLEANFILES += cmd-reboot.lst fs-reboot.lst
COMMANDFILES += cmd-reboot.lst
+FSFILES += fs-reboot.lst
cmd-reboot.lst: commands/i386/pc/reboot.c gencmdlist.sh
set -e; $(CC) -Icommands/i386/pc -I$(srcdir)/commands/i386/pc $(CPPFLAGS) $(CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh reboot > $@ || (rm -f $@; exit 1)
+fs-reboot.lst: commands/i386/pc/reboot.c genfslist.sh
+ set -e; $(CC) -Icommands/i386/pc -I$(srcdir)/commands/i386/pc $(CPPFLAGS) $(CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh reboot > $@ || (rm -f $@; exit 1)
+
+
reboot_mod_CFLAGS = $(COMMON_CFLAGS)
# For halt.mod.
-include halt_mod-commands_i386_pc_halt.d
-CLEANFILES += cmd-halt.lst
+CLEANFILES += cmd-halt.lst fs-halt.lst
COMMANDFILES += cmd-halt.lst
+FSFILES += fs-halt.lst
cmd-halt.lst: commands/i386/pc/halt.c gencmdlist.sh
set -e; $(CC) -Icommands/i386/pc -I$(srcdir)/commands/i386/pc $(CPPFLAGS) $(CFLAGS) $(halt_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh halt > $@ || (rm -f $@; exit 1)
+fs-halt.lst: commands/i386/pc/halt.c genfslist.sh
+ set -e; $(CC) -Icommands/i386/pc -I$(srcdir)/commands/i386/pc $(CPPFLAGS) $(CFLAGS) $(halt_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh halt > $@ || (rm -f $@; exit 1)
+
+
halt_mod_CFLAGS = $(COMMON_CFLAGS)
# For vga.mod.
-include vga_mod-term_i386_pc_vga.d
-CLEANFILES += cmd-vga.lst
+CLEANFILES += cmd-vga.lst fs-vga.lst
COMMANDFILES += cmd-vga.lst
+FSFILES += fs-vga.lst
cmd-vga.lst: term/i386/pc/vga.c gencmdlist.sh
set -e; $(CC) -Iterm/i386/pc -I$(srcdir)/term/i386/pc $(CPPFLAGS) $(CFLAGS) $(vga_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh vga > $@ || (rm -f $@; exit 1)
+fs-vga.lst: term/i386/pc/vga.c genfslist.sh
+ set -e; $(CC) -Iterm/i386/pc -I$(srcdir)/term/i386/pc $(CPPFLAGS) $(CFLAGS) $(vga_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh vga > $@ || (rm -f $@; exit 1)
+
+
vga_mod_CFLAGS = $(COMMON_CFLAGS)
# For font.mod.
-include font_mod-font_manager.d
-CLEANFILES += cmd-manager.lst
+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)
# For _multiboot.mod.
-include _multiboot_mod-loader_i386_pc_multiboot.d
-CLEANFILES += cmd-multiboot.lst
+CLEANFILES += cmd-multiboot.lst fs-multiboot.lst
COMMANDFILES += cmd-multiboot.lst
+FSFILES += fs-multiboot.lst
cmd-multiboot.lst: loader/i386/pc/multiboot.c gencmdlist.sh
set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(_multiboot_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh _multiboot > $@ || (rm -f $@; exit 1)
+fs-multiboot.lst: loader/i386/pc/multiboot.c genfslist.sh
+ set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(_multiboot_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh _multiboot > $@ || (rm -f $@; exit 1)
+
+
_multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
# For multiboot.mod.
-include multiboot_mod-loader_i386_pc_multiboot_normal.d
-CLEANFILES += cmd-multiboot_normal.lst
+CLEANFILES += cmd-multiboot_normal.lst fs-multiboot_normal.lst
COMMANDFILES += cmd-multiboot_normal.lst
+FSFILES += fs-multiboot_normal.lst
cmd-multiboot_normal.lst: loader/i386/pc/multiboot_normal.c gencmdlist.sh
set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(multiboot_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh multiboot > $@ || (rm -f $@; exit 1)
+fs-multiboot_normal.lst: loader/i386/pc/multiboot_normal.c genfslist.sh
+ set -e; $(CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc $(CPPFLAGS) $(CFLAGS) $(multiboot_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh multiboot > $@ || (rm -f $@; exit 1)
+
+
multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
# For amiga.mod
-include amiga_mod-partmap_amiga.d
-CLEANFILES += cmd-amiga.lst
+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)
# For apple.mod
-include apple_mod-partmap_apple.d
-CLEANFILES += cmd-apple.lst
+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)
# For pc.mod
-include pc_mod-partmap_pc.d
-CLEANFILES += cmd-pc.lst
+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)
# For sun.mod
-include sun_mod-partmap_sun.d
-CLEANFILES += cmd-sun.lst
+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)
# For loopback.mod
-include loopback_mod-disk_loopback.d
-CLEANFILES += cmd-loopback.lst
+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)
# For default.mod
-include default_mod-commands_default.d
-CLEANFILES += cmd-default.lst
+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)
# For timeout.mod
-include timeout_mod-commands_timeout.d
-CLEANFILES += cmd-timeout.lst
+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)
# For configfile.mod
-include configfile_mod-commands_configfile.d
-CLEANFILES += cmd-configfile.lst
+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)
-CLEANFILES += moddep.lst command.lst
-pkgdata_DATA += moddep.lst command.lst
+CLEANFILES += moddep.lst command.lst fs.lst
+pkgdata_DATA += moddep.lst command.lst fs.lst
moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep
cat $(DEFSYMFILES) /dev/null | ./genmoddep $(UNDSYMFILES) > $@ \
|| (rm -f $@; exit 1)
command.lst: $(COMMANDFILES)
cat $^ /dev/null | sort > $@
+
+fs.lst: $(FSFILES)
+ cat $^ /dev/null | sort > $@
-include fshelp_mod-fs_fshelp.d
-CLEANFILES += cmd-fshelp.lst
+CLEANFILES += cmd-fshelp.lst fs-fshelp.lst
COMMANDFILES += cmd-fshelp.lst
+FSFILES += fs-fshelp.lst
cmd-fshelp.lst: fs/fshelp.c gencmdlist.sh
set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(fshelp_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh fshelp > $@ || (rm -f $@; exit 1)
+fs-fshelp.lst: fs/fshelp.c genfslist.sh
+ set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(fshelp_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh fshelp > $@ || (rm -f $@; exit 1)
+
+
fshelp_mod_CFLAGS = $(COMMON_CFLAGS)
# For fat.mod.
-include fat_mod-fs_fat.d
-CLEANFILES += cmd-fat.lst
+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)
# For ext2.mod.
-include ext2_mod-fs_ext2.d
-CLEANFILES += cmd-ext2.lst
+CLEANFILES += cmd-ext2.lst fs-ext2.lst
COMMANDFILES += cmd-ext2.lst
+FSFILES += fs-ext2.lst
cmd-ext2.lst: fs/ext2.c gencmdlist.sh
set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(ext2_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh ext2 > $@ || (rm -f $@; exit 1)
+fs-ext2.lst: fs/ext2.c genfslist.sh
+ set -e; $(CC) -Ifs -I$(srcdir)/fs $(CPPFLAGS) $(CFLAGS) $(ext2_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh ext2 > $@ || (rm -f $@; exit 1)
+
+
ext2_mod_CFLAGS = $(COMMON_CFLAGS)
# For ufs.mod.
-include ufs_mod-fs_ufs.d
-CLEANFILES += cmd-ufs.lst
+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)
# For minix.mod.
-include minix_mod-fs_minix.d
-CLEANFILES += cmd-minix.lst
+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)
# For hfs.mod.
-include hfs_mod-fs_hfs.d
-CLEANFILES += cmd-hfs.lst
+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)
# For jfs.mod.
-include jfs_mod-fs_jfs.d
-CLEANFILES += cmd-jfs.lst
+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)
# For iso9660.mod.
-include _linux_mod-loader_powerpc_ieee1275_linux.d
-CLEANFILES += cmd-linux.lst
+CLEANFILES += cmd-linux.lst fs-linux.lst
COMMANDFILES += cmd-linux.lst
+FSFILES += fs-linux.lst
cmd-linux.lst: loader/powerpc/ieee1275/linux.c gencmdlist.sh
set -e; $(CC) -Iloader/powerpc/ieee1275 -I$(srcdir)/loader/powerpc/ieee1275 $(CPPFLAGS) $(CFLAGS) $(_linux_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh _linux > $@ || (rm -f $@; exit 1)
+fs-linux.lst: loader/powerpc/ieee1275/linux.c genfslist.sh
+ set -e; $(CC) -Iloader/powerpc/ieee1275 -I$(srcdir)/loader/powerpc/ieee1275 $(CPPFLAGS) $(CFLAGS) $(_linux_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh _linux > $@ || (rm -f $@; exit 1)
+
+
_linux_mod_CFLAGS = $(COMMON_CFLAGS)
# For linux.mod.
-include linux_mod-loader_powerpc_ieee1275_linux_normal.d
-CLEANFILES += cmd-linux_normal.lst
+CLEANFILES += cmd-linux_normal.lst fs-linux_normal.lst
COMMANDFILES += cmd-linux_normal.lst
+FSFILES += fs-linux_normal.lst
cmd-linux_normal.lst: loader/powerpc/ieee1275/linux_normal.c gencmdlist.sh
set -e; $(CC) -Iloader/powerpc/ieee1275 -I$(srcdir)/loader/powerpc/ieee1275 $(CPPFLAGS) $(CFLAGS) $(linux_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh linux > $@ || (rm -f $@; exit 1)
+fs-linux_normal.lst: loader/powerpc/ieee1275/linux_normal.c genfslist.sh
+ set -e; $(CC) -Iloader/powerpc/ieee1275 -I$(srcdir)/loader/powerpc/ieee1275 $(CPPFLAGS) $(CFLAGS) $(linux_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh linux > $@ || (rm -f $@; exit 1)
+
+
linux_mod_CFLAGS = $(COMMON_CFLAGS)
# For normal.mod.
-include normal_mod-normal_arg.d
-CLEANFILES += cmd-arg.lst
+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 $@ $<
-include normal_mod-normal_cmdline.d
-CLEANFILES += cmd-cmdline.lst
+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 $@ $<
-include normal_mod-normal_command.d
-CLEANFILES += cmd-command.lst
+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_context.o: normal/context.c
$(CC) -Inormal -I$(srcdir)/normal $(CPPFLAGS) $(CFLAGS) $(normal_mod_CFLAGS) -c -o $@ $<
-include normal_mod-normal_context.d
-CLEANFILES += cmd-context.lst
+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 $@ $<
-include normal_mod-normal_main.d
-CLEANFILES += cmd-main.lst
+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 $@ $<
-include normal_mod-normal_menu.d
-CLEANFILES += cmd-menu.lst
+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 $@ $<
-include normal_mod-normal_menu_entry.d
-CLEANFILES += cmd-menu_entry.lst
+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_powerpc_setjmp.o: normal/powerpc/setjmp.S
$(CC) -Inormal/powerpc -I$(srcdir)/normal/powerpc $(CPPFLAGS) $(ASFLAGS) $(normal_mod_ASFLAGS) -c -o $@ $<
-include normal_mod-normal_powerpc_setjmp.d
-CLEANFILES += cmd-setjmp.lst
+CLEANFILES += cmd-setjmp.lst fs-setjmp.lst
COMMANDFILES += cmd-setjmp.lst
+FSFILES += fs-setjmp.lst
cmd-setjmp.lst: normal/powerpc/setjmp.S gencmdlist.sh
set -e; $(CC) -Inormal/powerpc -I$(srcdir)/normal/powerpc $(CPPFLAGS) $(ASFLAGS) $(normal_mod_ASFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh normal > $@ || (rm -f $@; exit 1)
+fs-setjmp.lst: normal/powerpc/setjmp.S genfslist.sh
+ set -e; $(CC) -Inormal/powerpc -I$(srcdir)/normal/powerpc $(CPPFLAGS) $(ASFLAGS) $(normal_mod_ASFLAGS) -E $< | sh $(srcdir)/genfslist.sh normal > $@ || (rm -f $@; exit 1)
+
+
normal_mod_CFLAGS = $(COMMON_CFLAGS)
normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
-include hello_mod-hello_hello.d
-CLEANFILES += cmd-hello.lst
+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)
# For boot.mod.
-include boot_mod-commands_boot.d
-CLEANFILES += cmd-boot.lst
+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)
# For terminal.mod.
-include terminal_mod-commands_terminal.d
-CLEANFILES += cmd-terminal.lst
+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)
# For ls.mod.
-include ls_mod-commands_ls.d
-CLEANFILES += cmd-ls.lst
+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)
# For cmp.mod.
-include cmp_mod-commands_cmp.d
-CLEANFILES += cmd-cmp.lst
+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)
# For cat.mod.
-include cat_mod-commands_cat.d
-CLEANFILES += cmd-cat.lst
+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)
# For font.mod.
-include font_mod-font_manager.d
-CLEANFILES += cmd-manager.lst
+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)
# For amiga.mod
-include amiga_mod-partmap_amiga.d
-CLEANFILES += cmd-amiga.lst
+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)
# For apple.mod
-include apple_mod-partmap_apple.d
-CLEANFILES += cmd-apple.lst
+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)
# For pc.mod
-include pc_mod-partmap_pc.d
-CLEANFILES += cmd-pc.lst
+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)
# For sun.mod
-include sun_mod-partmap_sun.d
-CLEANFILES += cmd-sun.lst
+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)
# For loopback.mod
-include loopback_mod-disk_loopback.d
-CLEANFILES += cmd-loopback.lst
+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)
# For suspend.mod
-include suspend_mod-commands_ieee1275_suspend.d
-CLEANFILES += cmd-suspend.lst
+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)
# For reboot.mod
-include reboot_mod-commands_ieee1275_reboot.d
-CLEANFILES += cmd-reboot.lst
+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)
# For halt.mod
-include halt_mod-commands_ieee1275_halt.d
-CLEANFILES += cmd-halt.lst
+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)
# For help.mod.
-include help_mod-commands_help.d
-CLEANFILES += cmd-help.lst
+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)
# For default.mod
-include default_mod-commands_default.d
-CLEANFILES += cmd-default.lst
+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)
# For timeout.mod
-include timeout_mod-commands_timeout.d
-CLEANFILES += cmd-timeout.lst
+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)
# For configfile.mod
-include configfile_mod-commands_configfile.d
-CLEANFILES += cmd-configfile.lst
+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)
-CLEANFILES += moddep.lst command.lst
-pkgdata_DATA += moddep.lst command.lst
+CLEANFILES += moddep.lst command.lst fs.lst
+pkgdata_DATA += moddep.lst command.lst fs.lst
moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep
cat $(DEFSYMFILES) /dev/null | ./genmoddep $(UNDSYMFILES) > $@ \
|| (rm -f $@; exit 1)
command.lst: $(COMMANDFILES)
cat $^ /dev/null | sort > $@
+
+fs.lst: $(FSFILES)
+ cat $^ /dev/null | sort > $@
--- /dev/null
+#! /bin/sh
+#
+# Copyright (C) 2005 Free Software Foundation, Inc.
+#
+# This gensymlist.sh is free software; the author
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Read source code from stdin and detect fs names.
+
+module=$1
+
+# For now, this emits only a module name, if the module registers a filesystem.
+if grep -v "^#" | grep '^ *grub_fs_register' >/dev/null 2>&1; then
+ echo $module
+fi
src = sources[i]
fake_obj = File.basename(src).suffix('o')
command = 'cmd-' + fake_obj.suffix('lst')
+ fs = 'fs-' + fake_obj.suffix('lst')
dep = deps[i]
flag = if /\.c$/ =~ src then 'CFLAGS' else 'ASFLAGS' end
dir = File.dirname(src)
-include #{dep}
-CLEANFILES += #{command}
+CLEANFILES += #{command} #{fs}
COMMANDFILES += #{command}
+FSFILES += #{fs}
#{command}: #{src} gencmdlist.sh
set -e; \
$(CC) -I#{dir} -I$(srcdir)/#{dir} $(CPPFLAGS) $(#{flag}) $(#{prefix}_#{flag}) -E $< \
| sh $(srcdir)/gencmdlist.sh #{symbolic_name} > $@ || (rm -f $@; exit 1)
+#{fs}: #{src} genfslist.sh
+ set -e; \
+ $(CC) -I#{dir} -I$(srcdir)/#{dir} $(CPPFLAGS) $(#{flag}) $(#{prefix}_#{flag}) -E $< \
+ | sh $(srcdir)/genfslist.sh #{symbolic_name} > $@ || (rm -f $@; exit 1)
+
+
"
end.join('')
end
end
-puts "CLEANFILES += moddep.lst command.lst"
-puts "pkgdata_DATA += moddep.lst command.lst"
+puts "CLEANFILES += moddep.lst command.lst fs.lst"
+puts "pkgdata_DATA += moddep.lst command.lst fs.lst"
puts "moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep"
puts " cat $(DEFSYMFILES) /dev/null | ./genmoddep $(UNDSYMFILES) > $@ \\"
puts " || (rm -f $@; exit 1)"
puts ""
puts "command.lst: $(COMMANDFILES)"
puts " cat $^ /dev/null | sort > $@"
+puts ""
+puts "fs.lst: $(FSFILES)"
+puts " cat $^ /dev/null | sort > $@"
/* This is special, because block lists are not files in usual sense. */
extern struct grub_fs grub_fs_blocklist;
+/* This hook is used to automatically load filesystem modules.
+ If this hook loads a module, return non-zero. Otherwise return zero.
+ The newly loaded filesystem is assumed to be inserted into the head of
+ the linked list GRUB_FS_LIST through the function grub_fs_register. */
+typedef int (*grub_fs_autoload_hook_t) (void);
+extern grub_fs_autoload_hook_t EXPORT_VAR(grub_fs_autoload_hook);
+
void EXPORT_FUNC(grub_fs_register) (grub_fs_t fs);
void EXPORT_FUNC(grub_fs_unregister) (grub_fs_t fs);
void EXPORT_FUNC(grub_fs_iterate) (int (*hook) (const grub_fs_t fs));
};
typedef struct grub_context *grub_context_t;
+/* This is used to store the names of filesystem modules for auto-loading. */
+struct grub_fs_module_list
+{
+ char *name;
+ struct grub_fs_module_list *next;
+};
+typedef struct grub_fs_module_list *grub_fs_module_list_t;
+
/* To exit from the normal mode. */
extern grub_jmp_buf grub_exit_env;
/* fs.c - filesystem manager */
/*
* GRUB -- GRand Unified Bootloader
- * Copyright (C) 2002 Free Software Foundation, Inc.
+ * Copyright (C) 2002,2005 Free Software Foundation, Inc.
*
* GRUB is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
static grub_fs_t grub_fs_list;
+grub_fs_autoload_hook_t grub_fs_autoload_hook = 0;
+
void
grub_fs_register (grub_fs_t fs)
{
if (device->disk)
{
+ /* Make it sure not to have an infinite recursive calls. */
+ static int count = 0;
+
for (p = grub_fs_list; p; p = p->next)
{
(p->dir) (device, "/", dummy_func);
grub_errno = GRUB_ERR_NONE;
}
+
+ /* Let's load modules automatically. */
+ if (grub_fs_autoload_hook && count == 0)
+ {
+ count++;
+
+ while (grub_fs_autoload_hook ())
+ {
+ p = grub_fs_list;
+
+ (p->dir) (device, "/", dummy_func);
+ if (grub_errno == GRUB_ERR_NONE)
+ {
+ count--;
+ return p;
+ }
+
+ if (grub_errno != GRUB_ERR_BAD_FS)
+ {
+ count--;
+ return 0;
+ }
+
+ grub_errno = GRUB_ERR_NONE;
+ }
+
+ count--;
+ }
}
else if (device->net->fs)
return device->net->fs;
grub_jmp_buf grub_exit_env;
+static grub_fs_module_list_t fs_module_list = 0;
+
#define GRUB_DEFAULT_HISTORY_SIZE 50
/* Read a line from the file FILE. */
grub_errno = GRUB_ERR_NONE;
}
+/* The auto-loading hook for filesystems. */
+static int
+autoload_fs_module (void)
+{
+ grub_fs_module_list_t p;
+
+ while ((p = fs_module_list) != 0)
+ {
+ if (! grub_dl_get (p->name) && grub_dl_load (p->name))
+ return 1;
+
+ fs_module_list = p->next;
+ grub_free (p->name);
+ grub_free (p);
+ }
+
+ return 0;
+}
+
+/* Read the file fs.lst for auto-loading. */
+static void
+read_fs_list (void)
+{
+ const char *prefix;
+
+ prefix = grub_env_get ("prefix");
+ if (prefix)
+ {
+ char *filename;
+
+ filename = grub_malloc (grub_strlen (prefix) + sizeof ("/fs.lst"));
+ if (filename)
+ {
+ grub_file_t file;
+
+ grub_sprintf (filename, "%s/fs.lst", prefix);
+ file = grub_file_open (filename);
+ if (file)
+ {
+ char buf[80]; /* XXX arbitrary */
+
+ while (get_line (file, buf, sizeof (buf)))
+ {
+ char *p = buf;
+ char *q = buf + grub_strlen (buf) - 1;
+ grub_fs_module_list_t fs_mod;
+
+ /* Ignore space. */
+ while (grub_isspace (*p))
+ p++;
+
+ while (p < q && grub_isspace (*q))
+ *q-- = '\0';
+
+ /* If the line is empty, skip it. */
+ if (p >= q)
+ continue;
+
+ fs_mod = grub_malloc (sizeof (*fs_mod));
+ if (! fs_mod)
+ continue;
+
+ fs_mod->name = grub_strdup (p);
+ if (! fs_mod->name)
+ {
+ grub_free (fs_mod);
+ continue;
+ }
+
+ fs_mod->next = fs_module_list;
+ fs_module_list = fs_mod;
+ }
+
+ grub_file_close (file);
+ }
+
+ grub_free (filename);
+ }
+ }
+
+ /* Ignore errors. */
+ grub_errno = GRUB_ERR_NONE;
+
+ /* Set the hook. */
+ grub_fs_autoload_hook = autoload_fs_module;
+}
+
/* Read the config file CONFIG and execute the menu interface or
the command-line interface. */
void
}
read_command_list ();
+ read_fs_list ();
if (menu)
{