diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0d25c38 --- /dev/null +++ b/Makefile @@ -0,0 +1,72 @@ +VERSION=1.0-beta5-20231022 + +help: + @printf "This Makefile simplifies creation of Adélie Linux media.\n\n" + @printf "The following targets are recognised:\n\n" + + @printf "\tinst\tGenerate 'install' CD images.\n" + @printf "\tkde\tGenerate a live KDE CD image.\n" + @printf "\tlxqt\tGenerate a live LXQt CD image.\n" + @printf "\tmate\tGenerate a live MATE CD image.\n" + @printf "\txfce\tGenerate a live XFCE CD image.\n" + @printf "\tiso\tGenerate all possible CD images.\n" + @printf "\tfull\tGenerate a full rootfs tar.xz.\n" + @printf "\tmini\tGenerate a mini rootfs tar.xz.\n" + @printf "\ttar\tGenerate both rootfs tar.xz files.\n" + @printf "\tworld\tGenerate all above media types.\n" + + @printf "\nYou must set ARCH to a supported architecture.\n" + @printf "Note that if you don't set ARCH to the native arch of your host,\nyou probably need qemu-user installed.\n" + +# This target only exists so the ARCH check runs before any other Make code. +check-env: + @printf "Please choose something to build!\n\nTry 'inst', 'iso', 'world', or 'help' for a complete list.\n" + +ifndef ARCH + $(error Set ARCH first) +endif + +adelie-inst-firmware-$(ARCH)-$(VERSION).iso: configs/horizon/$(ARCH)-horizon-fw.installfile configs/horizon/firmware.installfile configs/horizon/horizon.installfile configs/arch/$(ARCH).installfile configs/base/base.installfile + hscript-image -t iso -o adelie-inst-firmware-$(ARCH)-$(VERSION).iso configs/horizon/$(ARCH)-horizon-fw.installfile + +adelie-inst-$(ARCH)-$(VERSION).iso: configs/horizon/$(ARCH)-horizon.installfile configs/horizon/horizon.installfile configs/arch/$(ARCH).installfile configs/base/base.installfile + hscript-image -t iso -o adelie-inst-$(ARCH)-$(VERSION).iso configs/horizon/$(ARCH)-horizon.installfile + +inst: adelie-inst-firmware-$(ARCH)-$(VERSION).iso adelie-inst-$(ARCH)-$(VERSION).iso + +adelie-live-kde-$(ARCH)-$(VERSION).iso: configs/live/$(ARCH)-kde.installfile configs/base/kde.installfile configs/arch/$(ARCH).installfile configs/base/base.installfile + hscript-image -t iso -o adelie-live-kde-$(ARCH)-$(VERSION).iso configs/live/$(ARCH)-kde.installfile + +adelie-live-lxqt-$(ARCH)-$(VERSION).iso: configs/live/$(ARCH)-lxqt.installfile configs/base/lxqt.installfile configs/arch/$(ARCH).installfile configs/base/base.installfile + hscript-image -t iso -o adelie-live-lxqt-$(ARCH)-$(VERSION).iso configs/live/$(ARCH)-lxqt.installfile + +adelie-live-mate-$(ARCH)-$(VERSION).iso: configs/live/$(ARCH)-mate.installfile configs/base/mate.installfile configs/arch/$(ARCH).installfile configs/base/base.installfile + hscript-image -t iso -o adelie-live-mate-$(ARCH)-$(VERSION).iso configs/live/$(ARCH)-mate.installfile + +adelie-live-xfce-$(ARCH)-$(VERSION).iso: configs/live/$(ARCH)-xfce.installfile configs/base/xfce.installfile configs/arch/$(ARCH).installfile configs/base/base.installfile + hscript-image -t iso -o adelie-live-xfce-$(ARCH)-$(VERSION).iso configs/live/$(ARCH)-xfce.installfile + +kde: adelie-live-kde-$(ARCH)-$(VERSION).iso +lxqt: adelie-live-lxqt-$(ARCH)-$(VERSION).iso +mate: adelie-live-mate-$(ARCH)-$(VERSION).iso +xfce: adelie-live-xfce-$(ARCH)-$(VERSION).iso + +iso: inst kde lxqt mate xfce + +adelie-rootfs-$(ARCH)-$(VERSION).txz: configs/tarballs/$(ARCH)-full.installfile configs/base/base.installfile + hscript-image -t txz -o adelie-rootfs-$(ARCH)-$(VERSION).txz configs/tarballs/$(ARCH)-full.installfile + +adelie-minirootfs-$(ARCH)-$(VERSION).txz: configs/tarballs/$(ARCH)-mini.installfile configs/tarballs/mini.installfile + hscript-image -t txz -o adelie-minirootfs-$(ARCH)-$(VERSION).txz configs/tarballs/$(ARCH)-mini.installfile + +full: adelie-rootfs-$(ARCH)-$(VERSION).txz +mini: adelie-minirootfs-$(ARCH)-$(VERSION).txz + +tar: full mini + +world: iso tar + +all: world + +.PHONY: check-env iso inst kde lxqt mate xfce tar full mini world + |