a1447506fe
* util/sparc64/ieee1275/grub-setup.c: New file. * util/sparc64/ieee1275/grub-ofpathname.c: New file. * util/sparc64/ieee1275/grub-mkimage.c: New file. * util/sparc64/ieee1275/grub-install.in: New file. * util/ieee1275/ofpath.c: New file. * util/ieee1275/devicemap.c: New file. * util/devicemap.c: New file. * util/deviceiter.c: New file. * kern/sparc64/ieee1275/init.c: New file. * include/grub/util/ofpath.h: New file. * include/grub/util/deviceiter.h: New file. * util/grub-mkdevicemap.c: Include deviceiter.h. Implement using grub_util_emit_devicemap_entry and grub_util_iterate_devices. * conf/i386-corebook.rmk: Build util/deviceiter.c and util/devicemap.c into grub-mkdevicemap * conf/i386-efi.rmk: Likewise. * conf/i386-ieee1275.rmk: Likewise. * conf/i386-pc.rmk: Likewise. * conf/powerpc-ieee1275.rmk: Likewise. * conf/sparc64-ieee1275.rmk: Add rules to build boot block images and installation utilities. Build kernel as image instead of as elf binary. Use common rules as much as possible.
210 lines
6.8 KiB
Makefile
210 lines
6.8 KiB
Makefile
# -*- makefile -*-
|
|
|
|
COMMON_ASFLAGS = -m32 -nostdinc -fno-builtin
|
|
COMMON_CFLAGS = -ffreestanding -mrtd -mregparm=3
|
|
COMMON_LDFLAGS = -nostdlib -static -lgcc
|
|
|
|
# Used by various components. These rules need to precede them.
|
|
normal/lexer.c_DEPENDENCIES = grub_script.tab.h
|
|
|
|
# Images.
|
|
pkglib_PROGRAMS = kernel.elf
|
|
|
|
# For kernel.elf.
|
|
kernel_elf_SOURCES = kern/i386/ieee1275/startup.S kern/i386/ieee1275/init.c \
|
|
kern/ieee1275/init.c \
|
|
kern/ieee1275/mmap.c \
|
|
kern/ieee1275/cmain.c kern/ieee1275/openfw.c \
|
|
kern/main.c kern/device.c \
|
|
kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
|
|
kern/misc.c kern/mm.c kern/rescue.c kern/term.c \
|
|
kern/i386/dl.c kern/parser.c kern/partition.c \
|
|
kern/env.c \
|
|
kern/time.c kern/list.c kern/handler.c kern/command.c kern/corecmd.c \
|
|
kern/generic/millisleep.c \
|
|
kern/ieee1275/ieee1275.c \
|
|
term/ieee1275/ofconsole.c \
|
|
disk/ieee1275/ofdisk.c \
|
|
symlist.c
|
|
kernel_elf_HEADERS = cache.h device.h disk.h dl.h elf.h elfload.h \
|
|
env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
|
|
partition.h pc_partition.h rescue.h symbol.h term.h time.h types.h \
|
|
ieee1275/ieee1275.h machine/kernel.h machine/loader.h machine/memory.h \
|
|
list.h handler.h command.h
|
|
kernel_elf_CFLAGS = $(COMMON_CFLAGS)
|
|
kernel_elf_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-S,-Ttext,0x10000,-Bstatic
|
|
|
|
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
|
DEFSYMFILES += kernel_syms.lst
|
|
|
|
symlist.c: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h gensymlist.sh
|
|
/bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
|
|
|
|
kernel_syms.lst: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h genkernsyms.sh
|
|
/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
|
|
|
|
# Utilities.
|
|
sbin_UTILITIES = grub-mkdevicemap
|
|
ifeq ($(enable_grub_emu), yes)
|
|
sbin_UTILITIES += grub-emu
|
|
endif
|
|
|
|
# For grub-mkdevicemap.
|
|
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
|
|
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 \
|
|
commands/search.c commands/blocklist.c commands/hexdump.c \
|
|
lib/hexdump.c commands/halt.c commands/reboot.c \
|
|
commands/i386/cpuid.c \
|
|
disk/host.c disk/loopback.c \
|
|
\
|
|
fs/affs.c fs/cpio.c fs/fat.c fs/ext2.c fs/hfs.c \
|
|
fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c \
|
|
fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c \
|
|
fs/ufs.c fs/xfs.c fs/afs.c fs/tar.c \
|
|
\
|
|
fs/fshelp.c \
|
|
io/gzio.c \
|
|
kern/device.c kern/disk.c kern/dl.c kern/elf.c kern/env.c \
|
|
kern/err.c kern/list.c kern/handler.c \
|
|
kern/command.c kern/corecmd.c commands/extcmd.c \
|
|
normal/execute.c kern/file.c kern/fs.c normal/lexer.c \
|
|
commands/boot.c kern/main.c kern/misc.c kern/parser.c \
|
|
grub_script.tab.c kern/partition.c kern/rescue.c kern/term.c \
|
|
lib/arg.c normal/cmdline.c normal/command.c normal/datetime.c \
|
|
normal/function.c normal/handler.c \
|
|
normal/completion.c normal/main.c normal/menu_text.c \
|
|
normal/menu.c normal/menu_entry.c normal/menu_viewer.c \
|
|
normal/misc.c normal/script.c \
|
|
normal/color.c \
|
|
partmap/amiga.c partmap/apple.c partmap/pc.c partmap/sun.c \
|
|
partmap/acorn.c partmap/gpt.c \
|
|
util/console.c util/hostfs.c util/grub-emu.c util/misc.c \
|
|
util/hostdisk.c util/getroot.c \
|
|
util/i386/pc/misc.c \
|
|
\
|
|
disk/raid.c disk/raid5_recover.c disk/raid6_recover.c \
|
|
disk/mdraid_linux.c disk/dmraid_nvidia.c disk/lvm.c \
|
|
grub_emu_init.c
|
|
|
|
grub_emu_LDFLAGS = $(LIBCURSES)
|
|
|
|
# Scripts.
|
|
sbin_SCRIPTS = grub-install
|
|
|
|
# For grub-install.
|
|
grub_install_SOURCES = util/ieee1275/grub-install.in
|
|
|
|
# Modules.
|
|
pkglib_MODULES = normal.mod halt.mod reboot.mod suspend.mod \
|
|
multiboot.mod aout.mod serial.mod linux.mod \
|
|
nand.mod memdisk.mod pci.mod lspci.mod datetime.mod \
|
|
date.mod datehook.mod lsmmap.mod
|
|
|
|
#
|
|
# Only arch dependant part of normal.mod will be here. Common part for
|
|
# all architecures of normal.mod is at start and should be kept at sync
|
|
# with other makefiles.
|
|
#
|
|
# Please put arch dependant part of normal.mod at the end of list to
|
|
# keep it simpler to update to different architectures.
|
|
#
|
|
normal_mod_SOURCES = normal/cmdline.c normal/command.c normal/handler.c \
|
|
normal/completion.c normal/datetime.c normal/execute.c \
|
|
normal/function.c normal/lexer.c normal/main.c normal/menu.c \
|
|
normal/menu_text.c \
|
|
normal/color.c \
|
|
normal/menu_viewer.c normal/menu_entry.c \
|
|
normal/misc.c grub_script.tab.c \
|
|
normal/script.c \
|
|
normal/i386/setjmp.S
|
|
normal_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
|
|
normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For multiboot.mod.
|
|
multiboot_mod_SOURCES = loader/ieee1275/multiboot2.c \
|
|
loader/i386/multiboot_helper.S \
|
|
loader/multiboot2.c \
|
|
loader/multiboot_loader.c
|
|
multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
multiboot_mod_ASFLAGS = $(COMMON_ASFLAGS)
|
|
|
|
# For aout.mod.
|
|
aout_mod_SOURCES = loader/aout.c
|
|
aout_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
aout_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For suspend.mod
|
|
suspend_mod_SOURCES = commands/ieee1275/suspend.c
|
|
suspend_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
suspend_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For reboot.mod
|
|
reboot_mod_SOURCES = commands/reboot.c
|
|
reboot_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
reboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For halt.mod
|
|
halt_mod_SOURCES = commands/halt.c
|
|
halt_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For serial.mod.
|
|
serial_mod_SOURCES = term/i386/pc/serial.c
|
|
serial_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
serial_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For linux.mod.
|
|
linux_mod_SOURCES = loader/i386/ieee1275/linux.c
|
|
linux_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For nand.mod.
|
|
nand_mod_SOURCES = disk/ieee1275/nand.c
|
|
nand_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
nand_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For memdisk.mod.
|
|
memdisk_mod_SOURCES = disk/memdisk.c
|
|
memdisk_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
memdisk_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For pci.mod
|
|
pci_mod_SOURCES = bus/pci.c
|
|
pci_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
pci_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For lspci.mod
|
|
lspci_mod_SOURCES = commands/lspci.c
|
|
lspci_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
lspci_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For datetime.mod
|
|
datetime_mod_SOURCES = lib/i386/datetime.c
|
|
datetime_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
datetime_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For date.mod
|
|
date_mod_SOURCES = commands/date.c
|
|
date_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
date_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For datehook.mod
|
|
datehook_mod_SOURCES = hook/datehook.c
|
|
datehook_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
datehook_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
# For lsmmap.mod
|
|
lsmmap_mod_SOURCES = commands/lsmmap.c
|
|
lsmmap_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
lsmmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
|
|
include $(srcdir)/conf/i386.mk
|
|
include $(srcdir)/conf/common.mk
|