2005-08-21 18:42:55 +00:00
|
|
|
|
|
|
|
# -*- makefile -*-
|
|
|
|
|
2010-02-10 00:39:23 +00:00
|
|
|
COMMON_CFLAGS = -mno-app-regs
|
|
|
|
COMMON_LDFLAGS = -melf64_sparc -mno-relax
|
2008-02-01 15:45:17 +00:00
|
|
|
|
2005-08-21 18:42:55 +00:00
|
|
|
# Images.
|
2010-04-24 23:54:46 +00:00
|
|
|
pkglib_IMAGES = boot.img diskboot.img
|
|
|
|
pkglib_PROGRAMS = kernel.img
|
2009-04-22 09:57:39 +00:00
|
|
|
|
|
|
|
# For boot.img.
|
|
|
|
boot_img_SOURCES = boot/sparc64/ieee1275/boot.S
|
|
|
|
boot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
|
|
|
boot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,0x4000
|
|
|
|
boot_img_FORMAT = a.out-sunos-big
|
|
|
|
|
|
|
|
# For diskboot.img.
|
|
|
|
diskboot_img_SOURCES = boot/sparc64/ieee1275/diskboot.S
|
|
|
|
diskboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
|
|
|
diskboot_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-Ttext,0x4200
|
|
|
|
diskboot_img_FORMAT = binary
|
2005-08-21 18:42:55 +00:00
|
|
|
|
2010-04-10 23:14:31 +00:00
|
|
|
kernel_img_HEADERS += ieee1275/ieee1275.h cpu/ieee1275/ieee1275.h
|
2009-04-22 09:57:39 +00:00
|
|
|
kernel_img_SOURCES = kern/sparc64/ieee1275/crt0.S kern/ieee1275/cmain.c \
|
|
|
|
kern/ieee1275/ieee1275.c kern/main.c kern/device.c \
|
|
|
|
kern/disk.c kern/dl.c kern/err.c kern/file.c kern/fs.c \
|
2010-01-07 21:18:59 +00:00
|
|
|
kern/misc.c kern/mm.c kern/term.c \
|
2009-05-02 Bean <bean123ch@gmail.com>
* conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
script/sh/parser.y.
(pkglib_MODULES): Add normal.mod and sh.mod.
(normal_SOURCES): New variable.
(normal_mod_CFLAGS): Likewise.
(normal_mod_LDFLAGS): Likewise.
(sh_mod_SOURCES): Likewise.
(sh_mod_CFLAGS): Likewise.
(sh_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
script/sh/lexer.c_DEPENDENCIES.
(kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
kern/rescue_reader.c and kern/rescue_parser.c.
(kernel_img_HEADERS): Remove rescue.h, add reader.h.
(grub_emu_SOURCES): Change source files.
(pkglib_MODULES): Remove normal.mod.
(normal_SOURCES): Removed.
(normal_mod_CFLAGS): Likewise.
(normal_mod_LDFLAGS): Likewise.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1276.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* include/grub/command.h (grub_command_execute): New inline function.
* include/grub/menu.h (grub_menu_entry): Removed commands field.
* include/grub/normal.h: Remove <grub/setjmp.h>.
(grub_fs_module_list): Moved to normal/autofs.c.
(grub_exit_env): Removed.
(grub_command_execute): Likewise.
(grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
parameter script.
(read_command_list): New function declaration.
(read_fs_list): Likewise.
* include/parser.h: Include <grub/reader.h>.
(grub_parser_split_cmdline): Change type of getline parameter.
(grub_parser): New structure.
(grub_parser_class): New variable.
(grub_parser_execute): New function declaration.
(grub_register_rescue_parser): Likewise.
(grub_parser_register): New inline function.
(grub_parser_unregister): Likewise.
(grub_parser_get_current): Likewise.
(grub_parser_set_current): Likewise.
* include/grub/reader.h: New file.
* kern/reader.c: Likewise.
* kern/rescue_parser.c: Likewise.
* kern/rescue_reader.c: Likewise.
* normal/autofs.c: Likewise.
* normal/dyncmd.c: Likewise.
* include/grub/rescue.h: Removed.
* normal/command.h: Likewise.
* include/grub/script.h: Moved to ...
* include/grub/script_sh.h: ... Moved here.
* normal/execute.c: Moved to ...
* script/sh/execute.c: ... Moved here.
* normal/function.c: Moved to ...
* script/sh/function.c: ... Moved here.
* normal/lexer.c: Moved to ...
* script/sh/lexer.c: ... Moved here.
* normal/parser.y: Moved to ...
* script/sh/parser.y: ... Moved here.
* normal/script.c: Moved to ...
* script/sh/script.c: ... Moved here.
* normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
<grub/reader.h>.
(grub_exit_env): Removed.
(fs_module_list): Moved to normal/autofs.c.
(grub_file_getline): Don't handle comment here.
(free_menu): Skip removed field entry->commands.
(grub_normal_menu_addentry): Removed as grub_menu_entry, removed
script parameter.
(read_config_file): Removed nested parameter, change getline function.
(grub_enter_normal_mode): Removed.
(grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
(read_command_list): Likewise.
(autoload_fs_module): Moved to normal/autofs.c.
(read_fs_list): Likewise.
(reader_nested): New variable.
(grub_normal_execute): Run parser.sh to switch to sh parser.
(grub_cmd_rescue): Removed.
(cmd_normal): Removed.
(grub_cmd_normal): Unregister itself at the beginning. Don't register
rescue command.
(grub_cmdline_run): New function.
(grub_normal_reader_init): Likewise.
(grub_normal_read_line): Likewise.
(grub_env_write_pager): Likewise.
(cmdline): New variable.
(grub_normal_reader): Likewise.
(GRUB_MOD_INIT): Register normal reader and set as current, register
pager hook, register normal command with grub_register_command_prio,
so that it won't show up in command.lst.
(GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
grub_fs_autoload_hook.
* normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
(grub_menu_execute_entry): Replace grub_script_execute with
grub_parser_execute, change parameter to grub_command_execute.
* normal/menu_text.c: Remove <grub/script.h>.
* normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
and <grub/parser.h>.
(run): Change editor_getline to use new parser interface. Change
parameter to grub_command_execute.
* kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
<grub/reader.h> and <grub/parser.h>.
(grub_load_normal_mode): Execute normal command.
(grub_main): Call grub_register_core_commands,
grub_register_rescue_parser and grub_register_rescue_reader, use
grub_reader_loop to enter input loop.
* kern/parser.c (grub_parser_spli_cmdline): Change type of getline
parameter.
(grub_parser_class): New variable.
(grub_parser_execute): New function.
* loader/i386/multiboot.c: Remove <grub/rescue.h>.
* loader/multiboot2.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* util/grub-emu.c (read_command_list): New dummy function.
2009-05-02 19:49:34 +00:00
|
|
|
kern/rescue_parser.c kern/rescue_reader.c \
|
2010-03-26 23:19:42 +00:00
|
|
|
kern/list.c kern/command.c kern/corecmd.c \
|
2009-04-22 09:57:39 +00:00
|
|
|
kern/sparc64/ieee1275/ieee1275.c \
|
|
|
|
kern/sparc64/ieee1275/init.c \
|
|
|
|
kern/ieee1275/mmap.c \
|
|
|
|
term/ieee1275/ofconsole.c \
|
|
|
|
kern/ieee1275/openfw.c disk/ieee1275/ofdisk.c \
|
2009-07-01 12:59:47 +00:00
|
|
|
kern/parser.c kern/partition.c kern/env.c kern/$(target_cpu)/dl.c \
|
2009-04-22 09:57:39 +00:00
|
|
|
kern/generic/millisleep.c kern/time.c \
|
2009-07-01 12:59:47 +00:00
|
|
|
symlist.c kern/$(target_cpu)/cache.S
|
2009-04-22 09:57:39 +00:00
|
|
|
kernel_img_CFLAGS = $(COMMON_CFLAGS)
|
|
|
|
kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
|
2010-04-10 23:14:31 +00:00
|
|
|
kernel_img_LDFLAGS += -nostdlib -Wl,-N,-Ttext,0x4400,-Bstatic,-melf64_sparc
|
2009-04-22 09:57:39 +00:00
|
|
|
kernel_img_FORMAT = binary
|
|
|
|
|
2005-08-21 18:42:55 +00:00
|
|
|
# Utilities.
|
2009-11-25 23:10:02 +00:00
|
|
|
sbin_UTILITIES = grub-setup grub-ofpathname
|
2005-08-21 18:42:55 +00:00
|
|
|
|
2009-04-22 09:57:39 +00:00
|
|
|
# For grub-setup.
|
|
|
|
util/sparc64/ieee1275/grub-setup.c_DEPENDENCIES = grub_setup_init.h
|
2010-05-06 04:03:45 +00:00
|
|
|
grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c \
|
|
|
|
util/ieee1275/ofpath.c util/misc.c kern/emu/hostdisk.c \
|
|
|
|
kern/emu/misc.c kern/emu/getroot.c kern/emu/mm.c kern/device.c \
|
2010-06-11 20:31:16 +00:00
|
|
|
kern/disk.c kern/err.c kern/misc.c \
|
2010-05-06 04:03:45 +00:00
|
|
|
kern/partition.c kern/file.c kern/fs.c kern/env.c kern/list.c \
|
|
|
|
fs/fshelp.c \
|
|
|
|
\
|
|
|
|
fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c \
|
|
|
|
fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c \
|
|
|
|
fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c \
|
|
|
|
fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c \
|
|
|
|
fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c \
|
|
|
|
\
|
|
|
|
partmap/amiga.c partmap/apple.c partmap/msdos.c \
|
|
|
|
partmap/bsdlabel.c partmap/sun.c partmap/acorn.c \
|
|
|
|
\
|
|
|
|
disk/raid.c disk/mdraid_linux.c disk/lvm.c util/raid.c \
|
|
|
|
util/lvm.c gnulib/progname.c grub_setup_init.c
|
2009-04-22 09:57:39 +00:00
|
|
|
|
|
|
|
# For grub-ofpathname.
|
2010-05-06 04:03:45 +00:00
|
|
|
grub_ofpathname_SOURCES = util/ieee1275/grub-ofpathname.c \
|
|
|
|
util/ieee1275/ofpath.c util/misc.c kern/emu/misc.c \
|
|
|
|
gnulib/progname.c
|
2009-04-22 09:57:39 +00:00
|
|
|
|
|
|
|
# Scripts.
|
|
|
|
sbin_SCRIPTS = grub-install
|
2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
* kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
* kern/sparc64/cache.S: New file.
* kern/sparc64/cache.c: Removed.
* conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
(COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
-mtune=ultrasparc.
(COMMON_LDFLAGS): Add -melf64_sparc.
(grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
(grubof_SOURCES): Use cache.S instead of cache.c.
(grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
--oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
(pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
commented though.
(normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
(_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
(linux_mod_CFLAGS): Commented out.
(_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
out because module isn't built.
(fshelp_mod_LDFLAGS, 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, xfs_mod_SOURCES)
(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
(gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
2005-10-23 19:28:28 +00:00
|
|
|
|
2009-04-22 09:57:39 +00:00
|
|
|
# For grub-install.
|
2009-12-12 00:10:38 +00:00
|
|
|
grub_install_SOURCES = util/grub-install.in
|
2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
* kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
* kern/sparc64/cache.S: New file.
* kern/sparc64/cache.c: Removed.
* conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
(COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
-mtune=ultrasparc.
(COMMON_LDFLAGS): Add -melf64_sparc.
(grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
(grubof_SOURCES): Use cache.S instead of cache.c.
(grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
--oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
(pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
commented though.
(normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
(_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
(linux_mod_CFLAGS): Commented out.
(_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
out because module isn't built.
(fshelp_mod_LDFLAGS, 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, xfs_mod_SOURCES)
(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
(gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
2005-10-23 19:28:28 +00:00
|
|
|
|
2009-04-22 09:57:39 +00:00
|
|
|
# Modules.
|
2010-02-07 22:49:49 +00:00
|
|
|
pkglib_MODULES += ieee1275_fb.mod
|
|
|
|
ieee1275_fb_mod_SOURCES = video/ieee1275.c
|
|
|
|
ieee1275_fb_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
|
|
ieee1275_fb_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
2009-06-11 16:13:39 +00:00
|
|
|
|
2005-08-21 18:42:55 +00:00
|
|
|
# For linux.mod.
|
2010-02-07 22:49:49 +00:00
|
|
|
pkglib_MODULES += linux.mod
|
2009-04-22 09:57:39 +00:00
|
|
|
linux_mod_SOURCES = loader/sparc64/ieee1275/linux.c
|
|
|
|
linux_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
|
|
linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
2005-08-21 18:42:55 +00:00
|
|
|
|
2009-04-22 09:57:39 +00:00
|
|
|
# For halt.mod.
|
2010-02-07 22:49:49 +00:00
|
|
|
pkglib_MODULES += halt.mod
|
2008-02-19 07:33:41 +00:00
|
|
|
halt_mod_SOURCES = commands/halt.c
|
2005-08-21 18:42:55 +00:00
|
|
|
halt_mod_CFLAGS = $(COMMON_CFLAGS)
|
2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
* kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
* kern/sparc64/cache.S: New file.
* kern/sparc64/cache.c: Removed.
* conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
(COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
-mtune=ultrasparc.
(COMMON_LDFLAGS): Add -melf64_sparc.
(grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
(grubof_SOURCES): Use cache.S instead of cache.c.
(grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
--oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
(pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
commented though.
(normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
(_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
(linux_mod_CFLAGS): Commented out.
(_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
out because module isn't built.
(fshelp_mod_LDFLAGS, 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, xfs_mod_SOURCES)
(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
(gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
2005-10-23 19:28:28 +00:00
|
|
|
halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
2005-08-21 18:42:55 +00:00
|
|
|
|
2010-02-07 21:56:25 +00:00
|
|
|
# For datetime.mod
|
2010-02-07 22:49:49 +00:00
|
|
|
pkglib_MODULES += datetime.mod
|
2010-02-07 21:56:25 +00:00
|
|
|
datetime_mod_SOURCES = lib/ieee1275/datetime.c
|
|
|
|
datetime_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
|
|
datetime_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
`commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
`normal/execute.c', `normal/lexer.c', `io/gzio.c',
`kern/parser.c', `grub_script.tab.c', `normal/function.c'
and `normal/script.c'.
(normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
`grub_script.tab.c', `normal/function.c' and `normal/script.c'.
(test_mod_SOURCES): New variable.
(test_mod_CFLAGS): Likewise.
(test_mod_LDFLAGS): Likewise.
(pkgdata_MODULES): Add `test.mod'.
(grub_script.tab.c): New rule.
(grub_script.tab.h): Likewise.
2005-11-07 22:28:57 +00:00
|
|
|
|
2009-04-22 09:57:39 +00:00
|
|
|
include $(srcdir)/conf/common.mk
|