3c2ef1c035
Every .iso was assumed to be bootable since the very beginning[*], and isoboot images were deemed to be x86 isolinux ones; this didn't change with basic ppc/armh support as I never ran into hardware that would _boot_ those ISOs, not only run the code, and it was only e2k isodata project that finally forced this refactoring. It's still not perfect: pack and syslinux features still end up somewhat interwoven, and too much places care for architecture the image is being built for (instead of archdep features tossing their appropriate bits and pieces in). Should help: - any-arch regarding isodata images; - {x86,aarch64}/efi by decoupling isoboot and isolinux; - ppc{,64} as introducing yaboot support will be easier now; - mipsel{,64} too, hopefully. * I knew of school addon images baked with mkimage-profiles-desktop but postponed and then neglected the whole problem for years...
41 lines
1.0 KiB
Makefile
41 lines
1.0 KiB
Makefile
### this might really belong to build-*...
|
|
|
|
# distributions
|
|
DISTRO_EXTS := .iso
|
|
|
|
use/pack:
|
|
@$(call add_feature)
|
|
|
|
# fallback type is isodata, might get set elsewhere to produce bootable iso
|
|
use/pack/iso: use/pack
|
|
@$(call try,IMAGE_PACKTYPE,isodata)
|
|
|
|
# virtual environments
|
|
VE_ARCHIVES := tar cpio ubifs
|
|
VE_COMPRESSORS := gz xz# there's no sense in bzip2 by now
|
|
VE_ZIPS := $(call addsuffices, \
|
|
$(addprefix .,$(VE_COMPRESSORS)), \
|
|
$(VE_ARCHIVES))# tar.gz cpio.xz ...
|
|
VE_EXTS := $(sort $(addprefix .,$(VE_ARCHIVES) $(VE_ZIPS)))# .tar .tar.gz ...
|
|
|
|
# generate rules for archive/compressor combinations
|
|
define PACK_containers
|
|
use/pack/$(1): use/pack
|
|
@$$(call set,IMAGE_PACKTYPE,$(1))
|
|
endef
|
|
|
|
define PACK_compressors
|
|
use/pack/$(1).$(2): use/pack/$(1)
|
|
@$$(call set,IMAGE_COMPRESS,$(2))
|
|
endef
|
|
|
|
$(foreach c,$(VE_ARCHIVES), \
|
|
$(eval $(call PACK_containers,$(c))) \
|
|
$(foreach z,$(VE_COMPRESSORS), \
|
|
$(eval $(call PACK_compressors,$(c),$(z)))))
|
|
|
|
# virtual machines
|
|
VM_EXTS := .img .qcow2 .qcow2c .vdi .vmdk .vhd
|
|
|
|
$(VM_EXTS:.%=use/pack/%): use/pack; @:
|