jw-pkg/make/isolinux.mk
Jan Lindemann cd109bf8f3 isolinux.mk: Ongoing improvements
- Make ISO_IMAGE optional
  - Beautify clean target
  - Add MENU_32 variable for use in including Makefiles
2006-12-31 11:42:58 +00:00

63 lines
1.4 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
MENU_32 = $(UNPACK_DIR)/com32/modules/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 $(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)