1 # -*- makefile -*- : Force emacs to use Makefile mode 2 3 # The i386 linker script 4 # 5 LDSCRIPT = arch/i386/scripts/i386.lds 6 7 # Stop ld from complaining about our customised linker script 8 # 9 LDFLAGS += -N --no-check-sections 10 11 # Media types. 12 # 13 MEDIA += rom 14 MEDIA += hrom 15 MEDIA += xrom 16 MEDIA += pxe 17 MEDIA += kpxe 18 MEDIA += kkpxe 19 MEDIA += lkrn 20 MEDIA += dsk 21 MEDIA += nbi 22 MEDIA += hd 23 MEDIA += raw 24 25 # Padding rules 26 # 27 PAD_rom = $(PADIMG) --blksize=512 --byte=0xff $@ 28 PAD_hrom = $(PAD_rom) 29 PAD_xrom = $(PAD_rom) 30 PAD_dsk = $(PADIMG) --blksize=512 $@ 31 PAD_hd = $(PADIMG) --blksize=32768 $@ 32 33 # rule to make a non-emulation ISO boot image 34 NON_AUTO_MEDIA += iso 35 %iso: %lkrn util/geniso 36 $(QM)$(ECHO) " [GENISO] $@" 37 $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $< 38 39 # rule to make a floppy emulation ISO boot image 40 NON_AUTO_MEDIA += liso 41 %liso: %lkrn util/genliso 42 $(QM)$(ECHO) " [GENLISO] $@" 43 $(Q)bash util/genliso $@ $< 44 45 # rule to make a syslinux floppy image (mountable, bootable) 46 NON_AUTO_MEDIA += sdsk 47 %sdsk: %lkrn util/gensdsk 48 $(QM)$(ECHO) " [GENSDSK] $@" 49 $(Q)bash util/gensdsk $@ $< 50 51 # Special target for building Master Boot Record binary 52 $(BIN)/mbr.bin : $(BIN)/mbr.o 53 $(QM)$(ECHO) " [OBJCOPY] $@" 54 $(Q)$(OBJCOPY) -O binary $< $@ 55 56 # rule to make a USB disk image 57 $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o 58 $(QM)$(ECHO) " [OBJCOPY] $@" 59 $(Q)$(OBJCOPY) -O binary $< $@ 60 61 NON_AUTO_MEDIA += usb 62 %usb: $(BIN)/usbdisk.bin %hd 63 $(QM)$(ECHO) " [FINISH] $@" 64 $(Q)cat $^ > $@ 65 66 # Padded floppy image (e.g. for iLO) 67 NON_AUTO_MEDIA += pdsk 68 %pdsk : %dsk 69 $(Q)cp $< $@ 70 $(Q)$(PADIMG) --blksize=1474560 $@ 71