| # -*- makefile -*- : Force emacs to use Makefile mode |
| |
| # The i386 linker script |
| # |
| LDSCRIPT = arch/i386/scripts/i386.lds |
| |
| # Stop ld from complaining about our customised linker script |
| # |
| LDFLAGS += -N --no-check-sections |
| |
| # Media types. |
| # |
| MEDIA += rom |
| MEDIA += hrom |
| MEDIA += xrom |
| MEDIA += pxe |
| MEDIA += kpxe |
| MEDIA += kkpxe |
| MEDIA += lkrn |
| MEDIA += dsk |
| MEDIA += nbi |
| MEDIA += hd |
| MEDIA += raw |
| |
| # Padding rules |
| # |
| PAD_rom = $(PADIMG) --blksize=512 --byte=0xff $@ |
| PAD_hrom = $(PAD_rom) |
| PAD_xrom = $(PAD_rom) |
| PAD_dsk = $(PADIMG) --blksize=512 $@ |
| PAD_hd = $(PADIMG) --blksize=32768 $@ |
| |
| # rule to make a non-emulation ISO boot image |
| NON_AUTO_MEDIA += iso |
| %iso: %lkrn util/geniso |
| $(QM)$(ECHO) " [GENISO] $@" |
| $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $< |
| |
| # rule to make a floppy emulation ISO boot image |
| NON_AUTO_MEDIA += liso |
| %liso: %lkrn util/genliso |
| $(QM)$(ECHO) " [GENLISO] $@" |
| $(Q)bash util/genliso $@ $< |
| |
| # rule to make a syslinux floppy image (mountable, bootable) |
| NON_AUTO_MEDIA += sdsk |
| %sdsk: %lkrn util/gensdsk |
| $(QM)$(ECHO) " [GENSDSK] $@" |
| $(Q)bash util/gensdsk $@ $< |
| |
| # Special target for building Master Boot Record binary |
| $(BIN)/mbr.bin : $(BIN)/mbr.o |
| $(QM)$(ECHO) " [OBJCOPY] $@" |
| $(Q)$(OBJCOPY) -O binary $< $@ |
| |
| # rule to make a USB disk image |
| $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o |
| $(QM)$(ECHO) " [OBJCOPY] $@" |
| $(Q)$(OBJCOPY) -O binary $< $@ |
| |
| NON_AUTO_MEDIA += usb |
| %usb: $(BIN)/usbdisk.bin %hd |
| $(QM)$(ECHO) " [FINISH] $@" |
| $(Q)cat $^ > $@ |
| |
| # Padded floppy image (e.g. for iLO) |
| NON_AUTO_MEDIA += pdsk |
| %pdsk : %dsk |
| $(Q)cp $< $@ |
| $(Q)$(PADIMG) --blksize=1474560 $@ |