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.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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 += pxe
  16. MEDIA += kpxe
  17. MEDIA += kkpxe
  18. MEDIA += kkkpxe
  19. MEDIA += lkrn
  20. MEDIA += dsk
  21. MEDIA += nbi
  22. MEDIA += hd
  23. MEDIA += raw
  24. MEDIA += exe
  25. # Padding rules
  26. #
  27. PAD_rom = $(PERL) $(PADIMG) --blksize=512 --byte=0xff
  28. PAD_mrom = $(PAD_rom)
  29. PAD_dsk = $(PERL) $(PADIMG) --blksize=512
  30. PAD_hd = $(PERL) $(PADIMG) --blksize=32768
  31. PAD_exe = $(PERL) $(PADIMG) --blksize=512
  32. # Finalisation rules
  33. #
  34. FINALISE_rom = $(PERL) $(FIXROM)
  35. FINALISE_mrom = $(FINALISE_rom)
  36. # Add per-ROM targets for "allroms"
  37. #
  38. $(BIN)/allroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).rom)
  39. $(BIN)/allmroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).mrom)
  40. allroms : $(BIN)/allroms
  41. allmroms : $(BIN)/allmroms
  42. # rule to make a non-emulation ISO boot image
  43. NON_AUTO_MEDIA += iso
  44. %iso: %lkrn util/geniso
  45. $(QM)$(ECHO) " [GENISO] $@"
  46. $(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $<
  47. # rule to make a floppy emulation ISO boot image
  48. NON_AUTO_MEDIA += liso
  49. %liso: %lkrn util/genliso
  50. $(QM)$(ECHO) " [GENLISO] $@"
  51. $(Q)bash util/genliso $@ $<
  52. # rule to make a syslinux floppy image (mountable, bootable)
  53. NON_AUTO_MEDIA += sdsk
  54. %sdsk: %lkrn util/gensdsk
  55. $(QM)$(ECHO) " [GENSDSK] $@"
  56. $(Q)bash util/gensdsk $@ $<
  57. # rule to write disk images to /dev/fd0
  58. NON_AUTO_MEDIA += fd0
  59. %fd0 : %dsk
  60. $(QM)$(ECHO) " [DD] $@"
  61. $(Q)dd if=$< bs=512 conv=sync of=/dev/fd0
  62. $(Q)sync
  63. # Special target for building Master Boot Record binary
  64. $(BIN)/mbr.bin : $(BIN)/mbr.o
  65. $(QM)$(ECHO) " [OBJCOPY] $@"
  66. $(Q)$(OBJCOPY) -O binary $< $@
  67. # rule to make a USB disk image
  68. $(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
  69. $(QM)$(ECHO) " [OBJCOPY] $@"
  70. $(Q)$(OBJCOPY) -O binary $< $@
  71. NON_AUTO_MEDIA += usb
  72. %usb: $(BIN)/usbdisk.bin %hd
  73. $(QM)$(ECHO) " [FINISH] $@"
  74. $(Q)cat $^ > $@
  75. # Padded floppy image (e.g. for iLO)
  76. NON_AUTO_MEDIA += pdsk
  77. %pdsk : %dsk
  78. $(Q)cp $< $@
  79. $(Q)$(PADIMG) --blksize=1474560 $@