You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile.pcbios 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # -*- makefile -*- : Force emacs to use Makefile mode
  2. # The i386 linker script
  3. #
  4. LDSCRIPT = arch/i386/scripts/i386.lds
  5. # Stop ld from complaining about our customised linker script
  6. #
  7. LDFLAGS += -N --no-check-sections
  8. # pcbios specific drivers
  9. SRCDIRS += arch/i386/drivers
  10. SRCDIRS += arch/i386/drivers/net
  11. # Media types.
  12. #
  13. MEDIA += rom
  14. MEDIA += mrom
  15. MEDIA += pcirom
  16. MEDIA += isarom
  17. MEDIA += pxe
  18. MEDIA += kpxe
  19. MEDIA += kkpxe
  20. MEDIA += kkkpxe
  21. MEDIA += lkrn
  22. MEDIA += dsk
  23. MEDIA += nbi
  24. MEDIA += hd
  25. MEDIA += raw
  26. MEDIA += exe
  27. # Padding rules
  28. #
  29. PAD_rom = $(PERL) $(PADIMG) --blksize=512 --byte=0xff
  30. PAD_mrom = $(PAD_rom)
  31. PAD_pcirom = $(PAD_rom)
  32. PAD_isarom = $(PAD_rom)
  33. PAD_dsk = $(PERL) $(PADIMG) --blksize=512
  34. PAD_hd = $(PERL) $(PADIMG) --blksize=32768
  35. PAD_exe = $(PERL) $(PADIMG) --blksize=512
  36. # Finalisation rules
  37. #
  38. FINALISE_rom = $(PERL) $(FIXROM)
  39. FINALISE_mrom = $(FINALISE_rom)
  40. FINALISE_pcirom = $(FINALISE_rom)
  41. FINALISE_isarom = $(FINALISE_rom)
  42. # Use $(ROMS) rather than $(DRIVERS) for "allroms", "allmroms", etc.
  43. #
  44. LIST_NAME_rom := ROMS
  45. LIST_NAME_mrom := ROMS
  46. LIST_NAME_pcirom := ROMS
  47. LIST_NAME_isarom := ROMS
  48. # rule to make a non-emulation ISO boot image
  49. NON_AUTO_MEDIA += iso
  50. %iso: %lkrn util/geniso
  51. $(QM)$(ECHO) " [GENISO] $@"
  52. $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) LDLINUX_C32=$(LDLINUX_C32) \
  53. VERSION="$(VERSION)" bash util/geniso -o $@ $<
  54. # rule to make a floppy emulation ISO boot image
  55. NON_AUTO_MEDIA += liso
  56. %liso: %lkrn util/geniso
  57. $(QM)$(ECHO) " [GENISO] $@"
  58. $(Q)VERSION="$(VERSION)" bash util/geniso -l -o $@ $<
  59. # rule to make a syslinux floppy image (mountable, bootable)
  60. NON_AUTO_MEDIA += sdsk
  61. %sdsk: %lkrn util/gensdsk
  62. $(QM)$(ECHO) " [GENSDSK] $@"
  63. $(Q)bash util/gensdsk $@ $<
  64. # rule to write disk images to /dev/fd0
  65. NON_AUTO_MEDIA += fd0
  66. %fd0 : %dsk
  67. $(QM)$(ECHO) " [DD] $@"
  68. $(Q)dd if=$< bs=512 conv=sync of=/dev/fd0
  69. $(Q)sync
  70. # Special target for building Master Boot Record binary
  71. $(BIN)/mbr.bin : $(BIN)/mbr.o
  72. $(QM)$(ECHO) " [OBJCOPY] $@"
  73. $(Q)$(OBJCOPY) -O binary $< $@
  74. # rule to make a USB disk image
  75. $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
  76. $(QM)$(ECHO) " [OBJCOPY] $@"
  77. $(Q)$(OBJCOPY) -O binary $< $@
  78. NON_AUTO_MEDIA += usb
  79. %usb: $(BIN)/usbdisk.bin %hd
  80. $(QM)$(ECHO) " [FINISH] $@"
  81. $(Q)cat $^ > $@
  82. # Padded floppy image (e.g. for iLO)
  83. NON_AUTO_MEDIA += pdsk
  84. %pdsk : %dsk
  85. $(Q)cp $< $@
  86. $(Q)$(PADIMG) --blksize=1474560 $@