On the IRC channel, I brought up the topic of Scripting and Logging the build artifacts to keep bookkeeping simpler.
This is what I'm using currently:
Code:
#!/bin/bash
#Build Script:
#Script Variables
builduser=_yourbuildusername_
bld_dt=`date +"%y-%m-%d-%H-%M-%S"`
ipx_dir=/home/$builduser/Projects/iPXE/ipxe
src_dir=/home/$builduser/Projects/iPXE/ipxe/src/bin
out_dir=/home/$builduser/Projects/iPXE/Builds/iPXE_Build_$bld_dt
scr_dir=/home/$builduser/Projects/iPXE/Embedded-Scripts
# Make Artifacts Directory
mkdir $out_dir
mkdir $out_dir/Embedded-Scripts
mkdir $out_dir/config
cp $ipx_dir/src/config/local/*.h $out_dir/config/.
cp $scr_dir/*.ipxe $out_dir/Embedded-Scripts/.
# Clean iPXE Source Directory
rm -f $src_dir/undionly.kpxe
rm -f $src_dir/undionly.kkpxe
rm -f $src_dir/ipxe.iso
rm -f $src_dir/ipxe.pxe
rm -f $src_dir/ipxe.usb
#Update iPXE Source Tree
cd $ipx_dir
git pull
cd $ipx_dir/src
#Make iPXE
make
#Compile UNDIonly.kpxe Boot Strap Program, No Embedded Script
make bin/undionly.kpxe
# Copy Artifacts to Current Directory
cp $src_dir/undionly.kpxe $out_dir/defipxe.kpxe
#Compile UNDIonly.kkpxe (For Problem BIOS) Boot Strap Program, No Embedded Script
make bin/undionly.kkpxe
# Copy Artifacts to Current Directory
cp $src_dir/undionly.kkpxe $out_dir/defipxe.kkpxe
#Compile ipxe.iso ISO Image Boot Strap Program, No Embedded Script
make bin/ipxe.iso
# Copy Artifacts to Current Directory
cp $src_dir/ipxe.iso $out_dir/defipxe.iso
#Compile ipxe.pxe 2nd Stage Boot Strap Program, No Embedded Script
make bin/ipxe.pxe
# Copy Artifacts to Current Directory
cp $src_dir/ipxe.pxe $out_dir/defipxe.pxe
#Compile ipxe.usb USB Boot Strap Program, No Embedded Script
make bin/ipxe.usb
# Copy Artifacts to Current Directory
cp $src_dir/ipxe.iso $out_dir/defipxe.usb
#Compile UNDIonly.kpxe Boot Strap Program, with webipxe.ipxe Embedded Script
make bin/undionly.kpxe EMBED=$scr_dir/webipxe.ipxe
# Copy Artifacts to Current Directory
cp $src_dir/undionly.kpxe $out_dir/webipxe.kpxe
#Compile UNDIonly.kkpxe Boot Strap Program (For Problem BIOS), with webipxe.ipxe Embedded Script
make bin/undionly.kkpxe EMBED=$scr_dir/webipxe.ipxe
# Copy Artifacts to Current Directory
cp $src_dir/undionly.kkpxe $out_dir/webipxe.kkpxe
#Compile ipxe.iso ISO Image Boot Strap Program, with isoipxe.ipxe Embedded Script
make bin/ipxe.iso EMBED=$scr_dir/isoipxe.ipxe
# Copy Artifacts to Current Directory
cp $src_dir/ipxe.iso $out_dir/webipxe.iso
#Compile ipxe.pxe 2nd Stage Boot Strap Program, with webnative.ipxe Embedded Script
make bin/ipxe.kpxe EMBED=$scr_dir/webnative.ipxe
# Copy Artifacts to Current Directory
cp $src_dir/ipxe.kpxe $out_dir/webipxe.pxe
#Compile ipxe.usb USB Boot Strap Program, with isoipxe.ipxe Embedded Script
make bin/ipxe.usb EMBED=$scr_dir/isoipxe.ipxe
# Copy Artifacts to Current Directory
cp $src_dir/ipxe.usb $out_dir/webipxe.usb
#distribute artifacts
#WIP
Thoughts?