mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 20:13:32 +01:00
Add a unified $(MOD_SCRIPT_DIR) definition and usage, ubiquitously used but not very well tested.
63 lines
1.4 KiB
Makefile
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 $(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)
|
|
|