jw-pkg/make/isolinux.mk
2006-12-03 19:28:00 +00:00

61 lines
1.3 KiB
Makefile

# == 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
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)
install:
clean:
rm -rf *.done
rm -rf $(BUILD_DIR) $(UNPACK_DIR)
rm -f $(ISO_IMAGE) $(URL_FILE) $(URL_FILE).tmp
distclean: clean
# == rules
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 $@
$(UNPACK_DIR)/com32/modules/menu.c32: 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 $(MODDIR)/devutil/scripts/generate_boot_medium.sh
BOOT_CONF = boot.conf
$(ISO_IMAGE): $(BOOT_CONF) dirs.done $(CD_FILES)
$(GENERATE) -o $@ -d $(BUILD_DIR) -f $< $(CD_FILES)