#!/usr/bin/make Customization?=Default .DEFAULT_GOAL := list #Buildinfo default vars CI?=false RelType?=Testing list: #Shows this list @echo The following options are available @grep '^[^#[:space:]].*:' Makefile | grep -v := | sed -e "s/:[^|]*#/: /g" prep_buildenv: #Preperation for build (setting file permissons, etc) cp -rf customization/${Customization}/* config -chmod 600 config/includes.chroot/etc/NetworkManager/system-connections/*.nmconnection @printf "== Build info == \nImageType: Main \nCustomization: ${Customization} \nReleaseType: ${RelType}\nBuildDate: ${shell date '+%d-%m-%Y @ %H:%M'} \nBuildHost: ${shell hostname} \nUsingJeninkins: ${CI}" > config/includes.chroot/BuildInfo install_buildenv: # Install packages required to build the image sudo apt -y install live-build make build-essential wget git unzip colordiff apt-transport-https rename ovmf rsync python3-venv gnupg apt-utils cpio download_extra: #For downloading extra's for iso (not needed/tested) make -f Makefile.extra #Current dkms drivers: Broadcom-STA enable_DKMS: #Add customizations to enable dkms drivers cp -r config_DKMS/* config @printf "\nConfig_DKMS: true" >> config/includes.chroot/BuildInfo enable_ExtraUtils: #Add exra gui utilities cp -r config_ExtraUtils/* config @printf "\nConfig_ExtraUtils: true" >> config/includes.chroot/BuildInfo #Add 'download_extra' to build without third party software/dotfiles (not needed/tested) build: prep_buildenv install_buildenv build_amd64 build_i386 clean_env #Runs build for all architectures build_amd64: #Build iso for amd64 rm -f Custom-image-amd64.iso sudo TargetArch=amd64 lb clean --all sudo TargetArch=amd64 lb config sudo TargetArch=amd64 lb build mv live-image-amd64.hybrid.iso Custom-image-amd64.iso build_i386: # Build iso for i386 rm -f Custom-image-i386.iso sudo TargetArch=i386 lb clean --all sudo TargetArch=i386 lb config sudo TargetArch=i386 lb build mv live-image-i386.hybrid.iso Custom-image-i386.iso clean: clean_env clean_iso #Clear all caches, archives, and isos clean_env: #Clear all caches and archives sudo TargetArch=amd64 lb clean --all sudo TargetArch=i386 lb clean --all make -f Makefile.extra clean rm -f config/hooks/normal/0899-install-dkms-drivers.chroot rm -f config/package-lists/extrautils.list.chroot #Remove customization rm -f config/bootloaders/grub-pc/splash.png config/bootloaders/isolinux/splash.png config/includes.chroot/etc/NetworkManager/system-connections/Template.nmconnection config/hooks/normal/0091-Customization-remove-teminalAppMenu.hook.chroot rm -rf config/includes.chroot/opt/custom clean_iso: #Removes genereated iso's rm -f Custom-image-amd64.iso Custom-image-i386.iso