# -*- 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 $@
