summaryrefslogtreecommitdiff
path: root/boot/syslinux/syslinux.mk
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2010-06-14 21:41:12 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2010-06-14 21:41:12 +0200
commit22b80a23fcee4c7a1b88f2fd5cf017d96c515b92 (patch)
tree1785a4099a6c2b3b2e981307cc734562f42e1818 /boot/syslinux/syslinux.mk
parentf4b7efe504a028035dd121e38caff2c781183ef9 (diff)
parentfa2a311b7756fc458ae55b5aa90ac865cef6c498 (diff)
Merge branch 'bootloaders-cleanup' of git://git.busybox.net/~tpetazzoni/git/buildroot
Diffstat (limited to 'boot/syslinux/syslinux.mk')
-rw-r--r--boot/syslinux/syslinux.mk54
1 files changed, 54 insertions, 0 deletions
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
new file mode 100644
index 000000000..192e90502
--- /dev/null
+++ b/boot/syslinux/syslinux.mk
@@ -0,0 +1,54 @@
+#############################################################
+#
+# syslinux to make target msdos/iso9660 filesystems bootable
+#
+#############################################################
+
+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/
+
+$(DL_DIR)/$(SYSLINUX_SOURCE):
+ $(call DOWNLOAD,$(SYSLINUX_SITE),$(SYSLINUX_SOURCE))
+
+syslinux-source: $(DL_DIR)/$(SYSLINUX_SOURCE)
+
+$(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 $@
+
+$(SYSLINUX_DIR)/.compiled: $(SYSLINUX_DIR)/.unpacked
+ $(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" AR="$(HOSTAR)" -C $(SYSLINUX_DIR)
+ touch -c $@
+
+$(BINARIES_DIR)/isolinux.bin: $(SYSLINUX_DIR)/.compiled
+ cp -a $(SYSLINUX_DIR)/core/isolinux.bin $@
+
+$(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)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_TARGET_SYSLINUX),y)
+TARGETS+=syslinux
+endif
+ifeq ($(BR2_TARGET_PXELINUX),y)
+TARGETS+=pxelinux
+endif