* genmk.rb: Add more flexible image type specification, also
pass --strip-unneeded to objcopy. * conf/i386-pc.rmk: Use *_FORMAT. * conf/i386-pc.mk: Rebuilt.
This commit is contained in:
parent
df38d0bb75
commit
e382e93a88
4 changed files with 24 additions and 7 deletions
|
@ -6,6 +6,11 @@
|
|||
* configure.ac: Check for __bswapsi2 and__bswapdi2 using
|
||||
target compiler.
|
||||
|
||||
* genmk.rb: Add more flexible image type specification, also
|
||||
pass --strip-unneeded to objcopy.
|
||||
* conf/i386-pc.rmk: Use *_FORMAT.
|
||||
* conf/i386-pc.mk: Rebuilt.
|
||||
|
||||
2009-04-12 Pavel Roskin <proski@gnu.org>
|
||||
|
||||
* configure.ac: Change the logic when we check for target tools.
|
||||
|
|
|
@ -20,7 +20,7 @@ CLEANFILES += boot.img boot.exec boot_img-boot_i386_pc_boot.o
|
|||
MOSTLYCLEANFILES += boot_img-boot_i386_pc_boot.d
|
||||
|
||||
boot.img: boot.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(boot_img_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
boot.exec: boot_img-boot_i386_pc_boot.o
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(boot_img_LDFLAGS)
|
||||
|
@ -31,6 +31,7 @@ boot_img-boot_i386_pc_boot.o: boot/i386/pc/boot.S $(boot/i386/pc/boot.S_DEPENDEN
|
|||
|
||||
boot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
boot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,7C00
|
||||
boot_img_FORMAT = binary
|
||||
|
||||
# For pxeboot.img
|
||||
pxeboot_img_SOURCES = boot/i386/pc/pxeboot.S
|
||||
|
@ -38,7 +39,7 @@ CLEANFILES += pxeboot.img pxeboot.exec pxeboot_img-boot_i386_pc_pxeboot.o
|
|||
MOSTLYCLEANFILES += pxeboot_img-boot_i386_pc_pxeboot.d
|
||||
|
||||
pxeboot.img: pxeboot.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(pxeboot_img_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
pxeboot.exec: pxeboot_img-boot_i386_pc_pxeboot.o
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(pxeboot_img_LDFLAGS)
|
||||
|
@ -49,6 +50,7 @@ pxeboot_img-boot_i386_pc_pxeboot.o: boot/i386/pc/pxeboot.S $(boot/i386/pc/pxeboo
|
|||
|
||||
pxeboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
pxeboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,7C00
|
||||
pxeboot_img_FORMAT = binary
|
||||
|
||||
# For diskboot.img.
|
||||
diskboot_img_SOURCES = boot/i386/pc/diskboot.S
|
||||
|
@ -56,7 +58,7 @@ CLEANFILES += diskboot.img diskboot.exec diskboot_img-boot_i386_pc_diskboot.o
|
|||
MOSTLYCLEANFILES += diskboot_img-boot_i386_pc_diskboot.d
|
||||
|
||||
diskboot.img: diskboot.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(diskboot_img_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
diskboot.exec: diskboot_img-boot_i386_pc_diskboot.o
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(diskboot_img_LDFLAGS)
|
||||
|
@ -67,6 +69,7 @@ diskboot_img-boot_i386_pc_diskboot.o: boot/i386/pc/diskboot.S $(boot/i386/pc/dis
|
|||
|
||||
diskboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
diskboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,8000
|
||||
diskboot_img_FORMAT = binary
|
||||
|
||||
# For lnxboot.img.
|
||||
lnxboot_img_SOURCES = boot/i386/pc/lnxboot.S
|
||||
|
@ -74,7 +77,7 @@ CLEANFILES += lnxboot.img lnxboot.exec lnxboot_img-boot_i386_pc_lnxboot.o
|
|||
MOSTLYCLEANFILES += lnxboot_img-boot_i386_pc_lnxboot.d
|
||||
|
||||
lnxboot.img: lnxboot.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(lnxboot_img_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
lnxboot.exec: lnxboot_img-boot_i386_pc_lnxboot.o
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(lnxboot_img_LDFLAGS)
|
||||
|
@ -85,6 +88,7 @@ lnxboot_img-boot_i386_pc_lnxboot.o: boot/i386/pc/lnxboot.S $(boot/i386/pc/lnxboo
|
|||
|
||||
lnxboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
lnxboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,6000
|
||||
lnxboot_img_FORMAT = binary
|
||||
|
||||
# For cdboot.img.
|
||||
cdboot_img_SOURCES = boot/i386/pc/cdboot.S
|
||||
|
@ -92,7 +96,7 @@ CLEANFILES += cdboot.img cdboot.exec cdboot_img-boot_i386_pc_cdboot.o
|
|||
MOSTLYCLEANFILES += cdboot_img-boot_i386_pc_cdboot.d
|
||||
|
||||
cdboot.img: cdboot.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(cdboot_img_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
cdboot.exec: cdboot_img-boot_i386_pc_cdboot.o
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(cdboot_img_LDFLAGS)
|
||||
|
@ -103,6 +107,7 @@ cdboot_img-boot_i386_pc_cdboot.o: boot/i386/pc/cdboot.S $(boot/i386/pc/cdboot.S_
|
|||
|
||||
cdboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
cdboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,7C00
|
||||
cdboot_img_FORMAT = binary
|
||||
|
||||
# For kernel.img.
|
||||
kernel_img_SOURCES = kern/i386/pc/startup.S kern/main.c kern/device.c \
|
||||
|
@ -121,7 +126,7 @@ CLEANFILES += kernel.img kernel.exec kernel_img-kern_i386_pc_startup.o kernel_im
|
|||
MOSTLYCLEANFILES += kernel_img-kern_i386_pc_startup.d kernel_img-kern_main.d kernel_img-kern_device.d kernel_img-kern_disk.d kernel_img-kern_dl.d kernel_img-kern_file.d kernel_img-kern_fs.d kernel_img-kern_err.d kernel_img-kern_misc.d kernel_img-kern_mm.d kernel_img-kern_loader.d kernel_img-kern_rescue.d kernel_img-kern_term.d kernel_img-kern_time.d kernel_img-kern_list.d kernel_img-kern_handler.d kernel_img-kern_command.d kernel_img-kern_corecmd.d kernel_img-kern_i386_dl.d kernel_img-kern_i386_pc_init.d kernel_img-kern_i386_pc_mmap.d kernel_img-kern_parser.d kernel_img-kern_partition.d kernel_img-kern_i386_tsc.d kernel_img-kern_i386_pit.d kernel_img-kern_generic_rtc_get_time_ms.d kernel_img-kern_generic_millisleep.d kernel_img-kern_env.d kernel_img-term_i386_pc_console.d kernel_img-term_i386_vga_common.d kernel_img-symlist.d
|
||||
|
||||
kernel.img: kernel.exec
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(kernel_img_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
kernel.exec: kernel_img-kern_i386_pc_startup.o kernel_img-kern_main.o kernel_img-kern_device.o kernel_img-kern_disk.o kernel_img-kern_dl.o kernel_img-kern_file.o kernel_img-kern_fs.o kernel_img-kern_err.o kernel_img-kern_misc.o kernel_img-kern_mm.o kernel_img-kern_loader.o kernel_img-kern_rescue.o kernel_img-kern_term.o kernel_img-kern_time.o kernel_img-kern_list.o kernel_img-kern_handler.o kernel_img-kern_command.o kernel_img-kern_corecmd.o kernel_img-kern_i386_dl.o kernel_img-kern_i386_pc_init.o kernel_img-kern_i386_pc_mmap.o kernel_img-kern_parser.o kernel_img-kern_partition.o kernel_img-kern_i386_tsc.o kernel_img-kern_i386_pit.o kernel_img-kern_generic_rtc_get_time_ms.o kernel_img-kern_generic_millisleep.o kernel_img-kern_env.o kernel_img-term_i386_pc_console.o kernel_img-term_i386_vga_common.o kernel_img-symlist.o
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(kernel_img_LDFLAGS)
|
||||
|
@ -259,6 +264,7 @@ kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
|
|||
kernel_img_CFLAGS = $(COMMON_CFLAGS)
|
||||
kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
kernel_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,$(GRUB_MEMORY_MACHINE_LINK_ADDR) $(COMMON_CFLAGS)
|
||||
kernel_img_FORMAT = binary
|
||||
|
||||
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
||||
DEFSYMFILES += kernel_syms.lst
|
||||
|
|
|
@ -17,26 +17,31 @@ pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img \
|
|||
boot_img_SOURCES = boot/i386/pc/boot.S
|
||||
boot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
boot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,7C00
|
||||
boot_img_FORMAT = binary
|
||||
|
||||
# For pxeboot.img
|
||||
pxeboot_img_SOURCES = boot/i386/pc/pxeboot.S
|
||||
pxeboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
pxeboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,7C00
|
||||
pxeboot_img_FORMAT = binary
|
||||
|
||||
# For diskboot.img.
|
||||
diskboot_img_SOURCES = boot/i386/pc/diskboot.S
|
||||
diskboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
diskboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,8000
|
||||
diskboot_img_FORMAT = binary
|
||||
|
||||
# For lnxboot.img.
|
||||
lnxboot_img_SOURCES = boot/i386/pc/lnxboot.S
|
||||
lnxboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
lnxboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,6000
|
||||
lnxboot_img_FORMAT = binary
|
||||
|
||||
# For cdboot.img.
|
||||
cdboot_img_SOURCES = boot/i386/pc/cdboot.S
|
||||
cdboot_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
cdboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,7C00
|
||||
cdboot_img_FORMAT = binary
|
||||
|
||||
# For kernel.img.
|
||||
kernel_img_SOURCES = kern/i386/pc/startup.S kern/main.c kern/device.c \
|
||||
|
@ -60,6 +65,7 @@ kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
|
|||
kernel_img_CFLAGS = $(COMMON_CFLAGS)
|
||||
kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
|
||||
kernel_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS) -Wl,-Ttext,$(GRUB_MEMORY_MACHINE_LINK_ADDR) $(COMMON_CFLAGS)
|
||||
kernel_img_FORMAT = binary
|
||||
|
||||
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
||||
DEFSYMFILES += kernel_syms.lst
|
||||
|
|
2
genmk.rb
2
genmk.rb
|
@ -57,7 +57,7 @@ class Image
|
|||
MOSTLYCLEANFILES += #{deps_str}
|
||||
|
||||
#{@name}: #{exe}
|
||||
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
$(OBJCOPY) -O $(#{prefix}_FORMAT) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id $< $@
|
||||
|
||||
#{exe}: #{objs_str}
|
||||
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(#{prefix}_LDFLAGS)
|
||||
|
|
Loading…
Add table
Reference in a new issue