Files
Bram Prieshof 36453abf30 Added Buildinfo file
Buildinfo is located  on /BuildInfo in the image,
it conains the build date, host and CI info
2022-06-17 12:31:32 +02:00

57 lines
2.4 KiB
Makefile

#!/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: WipeStation \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
@\nprintf "Config_DKMS: 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
#Remove customization
rm -f config/bootloaders/grub-pc/splash.png config/bootloaders/isolinux/splash.png config/includes.chroot/etc/NetworkManager/system-connections/Template.nmconnection
rm -rf config/includes.chroot/opt/custom
clean_iso: #Removes genereated iso's
rm -f Custom-image-amd64.iso Custom-image-i386.iso