# == defs 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 MENU_32 = $(UNPACK_DIR)/com32/menu/menu.c32 INITRD = /boot/initrd CD_FILES = \ $(MENU_32) \ $(ISOLINUX_BIN) define SYSLINUX_BASE $(notdir $(shell $(SED) 's/.tar.bz2$$//' $(URL_FILE))) endef # == targets all: $(ISO_IMAGE) install: clean: syslinux.clean distclean: clean # == rules syslinux.clean: rm -rf *.done rm -rf $(BUILD_DIR) $(UNPACK_DIR) rm -f $(ISO_IMAGE) $(URL_FILE) $(URL_FILE).tmp dirs.done: mkdir -p $(DIRS) touch $@ $(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 $@ $(MENU_32): unpack.done 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 $(MOD_SCRIPT_DIR)/generate_boot_medium.sh BOOT_CONF = boot.conf $(ISO_IMAGE): $(BOOT_CONF) dirs.done $(CD_FILES) $(GENERATE) -o $@ -d $(BUILD_DIR) -f $< $(CD_FILES)