diff --git a/make/isolinux.mk b/make/isolinux.mk index b1f607b4..c98cc781 100644 --- a/make/isolinux.mk +++ b/make/isolinux.mk @@ -1,19 +1,24 @@ # == defs -URL = http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.11.tar.bz2 -DLOAD_DIR = /home/samba/dat/share/exe/linux/syslinux -DLOAD_PKG = $(DLOAD_DIR)/$(notdir $(URL)) -BUILD_DIR = cd_root -DIRS = $(DLOAD_DIR) $(BUILD_DIR) -UNPACK_DIR = $(notdir $(shell echo $(DLOAD_PKG) | sed 's/.tar.bz2$$//')) -ISO_IMAGE = image.iso +URL_BASE = http://www.kernel.org/pub/linux/utils/boot/syslinux +URL_FILE = SYSLINUX_URL +URL = $(shell cat $(URL_FILE)) +DLOAD_DIR = /home/samba/dat/share/exe/linux/syslinux +BUILD_DIR = cd_root +DIRS = $(DLOAD_DIR) $(BUILD_DIR) +UNPACK_DIR = isolinux +ISO_IMAGE = image.iso ISOLINUX_BIN = $(UNPACK_DIR)/isolinux.bin -INITRD = /boot/initrd +INITRD = /boot/initrd CD_FILES = \ $(UNPACK_DIR)/com32/modules/menu.c32 \ $(ISOLINUX_BIN) +define SYSLINUX_BASE + $(notdir $(shell sed 's/.tar.bz2$$//' $(URL_FILE))) +endef + # == targets all: $(ISO_IMAGE) @@ -21,7 +26,7 @@ install: clean: rm -rf *.done rm -rf $(BUILD_DIR) $(UNPACK_DIR) - rm -f $(ISO_IMAGE) + rm -f $(ISO_IMAGE) $(URL_FILE) $(URL_FILE).tmp distclean: clean @@ -31,16 +36,21 @@ dirs.done: mkdir -p $(DIRS) touch $@ -$(DLOAD_PKG): - wget -c $(URL) -P $(DLOAD_DIR) +$(URL_FILE): + lynx -dump $(URL_BASE) | \ + sed '/syslinux-.*\.tar\.bz2$$/ !d; s/ .*http:/http:/' |\ + tail -1 > $@.tmp + mv $@.tmp $@ + +dload.done: $(URL_FILE) + wget -c $(shell cat $<) -P $(DLOAD_DIR) + touch $@ $(UNPACK_DIR)/com32/modules/menu.c32: unpack.done -dload.done: $(DLOAD_PKG) - touch $@ - -unpack.done: dload.done - tar -xjf $(DLOAD_PKG) +unpack.done: $(URL_FILE) dload.done + tar -xjf $(shell echo $(DLOAD_DIR)/$(SYSLINUX_BASE).tar.bz2 | sed 's/ //g') + mv $(SYSLINUX_BASE) $(UNPACK_DIR) touch $@ GENERATE = sh $(MODDIR)/devutil/scripts/generate_boot_medium.sh