52 lines
2.0 KiB
Makefile
52 lines
2.0 KiB
Makefile
#!/usr/bin/make
|
|
Customization?=Default
|
|
.DEFAULT_GOAL := list
|
|
|
|
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
|
|
|
|
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
|
|
|
|
#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
|