syslinux.mk 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. SYSLINUX_SUPPORTED_ARCH=n
  2. ifeq ($(ARCH),i386)
  3. SYSLINUX_SUPPORTED_ARCH=y
  4. endif
  5. ifeq ($(ARCH),i486)
  6. SYSLINUX_SUPPORTED_ARCH=y
  7. endif
  8. ifeq ($(ARCH),i586)
  9. SYSLINUX_SUPPORTED_ARCH=y
  10. endif
  11. ifeq ($(ARCH),i686)
  12. SYSLINUX_SUPPORTED_ARCH=y
  13. endif
  14. ifeq ($(ARCH),x86_64)
  15. SYSLINUX_SUPPORTED_ARCH=y
  16. endif
  17. ifeq ($(SYSLINUX_SUPPORTED_ARCH),y)
  18. #############################################################
  19. #
  20. # syslinux to make target msdos/iso9660 filesystems bootable
  21. #
  22. #############################################################
  23. SYSLINUX_VERSION:=3.85
  24. SYSLINUX_DIR=$(BUILD_DIR)/syslinux-$(SYSLINUX_VERSION)
  25. SYSLINUX_SOURCE=syslinux-$(SYSLINUX_VERSION).tar.bz2
  26. SYSLINUX_CAT:=$(BZCAT)
  27. SYSLINUX_SITE=$(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/3.xx/
  28. $(DL_DIR)/$(SYSLINUX_SOURCE):
  29. $(call DOWNLOAD,$(SYSLINUX_SITE),$(SYSLINUX_SOURCE))
  30. syslinux-source: $(DL_DIR)/$(SYSLINUX_SOURCE)
  31. $(SYSLINUX_DIR)/.unpacked: $(DL_DIR)/$(SYSLINUX_SOURCE) $(SYSLINUX_PATCH)
  32. mkdir -p $(@D)
  33. $(SYSLINUX_CAT) $(DL_DIR)/$(SYSLINUX_SOURCE) | tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
  34. toolchain/patch-kernel.sh $(@D) boot/syslinux/ \*.patch
  35. touch -c $@
  36. $(SYSLINUX_DIR)/.compiled: $(SYSLINUX_DIR)/.unpacked
  37. $(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" AR="$(HOSTAR)" -C $(SYSLINUX_DIR)
  38. touch -c $@
  39. $(BINARIES_DIR)/isolinux.bin: $(SYSLINUX_DIR)/.compiled
  40. cp -a $(SYSLINUX_DIR)/core/isolinux.bin $@
  41. $(BINARIES_DIR)/pxelinux.bin: $(SYSLINUX_DIR)/.compiled
  42. cp -a $(SYSLINUX_DIR)/core/pxelinux.bin $@
  43. syslinux: $(BINARIES_DIR)/isolinux.bin
  44. pxelinux: $(BINARIES_DIR)/pxelinux.bin
  45. pxelinux-clean syslinux-clean:
  46. rm -f $(BINARIES_DIR)/isolinux.bin $(BINARIES_DIR)/pxelinux.bin
  47. -$(MAKE) -C $(SYSLINUX_DIR) clean
  48. pxelinux-dirclean syslinux-dirclean:
  49. rm -rf $(SYSLINUX_DIR)
  50. endif
  51. #############################################################
  52. #
  53. # Toplevel Makefile options
  54. #
  55. #############################################################
  56. ifeq ($(BR2_TARGET_SYSLINUX),y)
  57. TARGETS+=syslinux
  58. endif
  59. ifeq ($(BR2_TARGET_PXELINUX),y)
  60. TARGETS+=pxelinux
  61. endif