summaryrefslogtreecommitdiffstats
path: root/boot/syslinux/syslinux.mk
diff options
context:
space:
mode:
Diffstat (limited to 'boot/syslinux/syslinux.mk')
-rw-r--r--boot/syslinux/syslinux.mk50
1 files changed, 17 insertions, 33 deletions
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index 192e90502..e9c32b640 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -4,42 +4,29 @@
#
#############################################################
-SYSLINUX_VERSION:=3.85
-SYSLINUX_DIR=$(BUILD_DIR)/syslinux-$(SYSLINUX_VERSION)
-SYSLINUX_SOURCE=syslinux-$(SYSLINUX_VERSION).tar.bz2
-SYSLINUX_CAT:=$(BZCAT)
-SYSLINUX_SITE=$(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/3.xx/
+SYSLINUX_VERSION = 3.85
+SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.bz2
+SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/3.xx/
-$(DL_DIR)/$(SYSLINUX_SOURCE):
- $(call DOWNLOAD,$(SYSLINUX_SITE),$(SYSLINUX_SOURCE))
+SYSLINUX_INSTALL_TARGET = NO
+SYSLINUX_INSTALL_IMAGES = YES
-syslinux-source: $(DL_DIR)/$(SYSLINUX_SOURCE)
+SYSLINUX_DEPENDENCIES = host-nasm
-$(SYSLINUX_DIR)/.unpacked: $(DL_DIR)/$(SYSLINUX_SOURCE) $(SYSLINUX_PATCH)
- mkdir -p $(@D)
- $(SYSLINUX_CAT) $(DL_DIR)/$(SYSLINUX_SOURCE) | tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(@D) boot/syslinux/ \*.patch
- touch -c $@
+define SYSLINUX_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" AR="$(HOSTAR)" -C $(@D)
+endef
-$(SYSLINUX_DIR)/.compiled: $(SYSLINUX_DIR)/.unpacked
- $(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" AR="$(HOSTAR)" -C $(SYSLINUX_DIR)
- touch -c $@
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += isolinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += pxelinux.bin
-$(BINARIES_DIR)/isolinux.bin: $(SYSLINUX_DIR)/.compiled
- cp -a $(SYSLINUX_DIR)/core/isolinux.bin $@
+define SYSLINUX_INSTALL_IMAGES_CMDS
+ for i in $(SYSLINUX_IMAGES-y); do \
+ $(INSTALL) -D -m 0755 $(@D)/core/$$i $(BINARIES_DIR)/$$i; \
+ done
+endef
-$(BINARIES_DIR)/pxelinux.bin: $(SYSLINUX_DIR)/.compiled
- cp -a $(SYSLINUX_DIR)/core/pxelinux.bin $@
-
-syslinux: host-nasm $(BINARIES_DIR)/isolinux.bin
-pxelinux: host-nasm $(BINARIES_DIR)/pxelinux.bin
-
-pxelinux-clean syslinux-clean:
- rm -f $(BINARIES_DIR)/isolinux.bin $(BINARIES_DIR)/pxelinux.bin
- -$(MAKE) -C $(SYSLINUX_DIR) clean
-
-pxelinux-dirclean syslinux-dirclean:
- rm -rf $(SYSLINUX_DIR)
+$(eval $(call GENTARGETS,boot,syslinux))
#############################################################
#
@@ -49,6 +36,3 @@ pxelinux-dirclean syslinux-dirclean:
ifeq ($(BR2_TARGET_SYSLINUX),y)
TARGETS+=syslinux
endif
-ifeq ($(BR2_TARGET_PXELINUX),y)
-TARGETS+=pxelinux
-endif