# mkisofs meanings # -v Verbose # -quiet quiet? # -o output to root.iso # -D No deep directory relocation (and no RR_MOVED) # -no-pad Don't pad to 150 sectors # -p preparer # -V volume label # Settables srctree ?= src worktree ?= tree boot_pad ?= 1280 image_sect ?= 1000944 # Generation scripts gentree = script/gentree genufs = script/genufs geniso = script/geniso genuzip = script/genuzip gencard = script/gencard # Image utilities mkuzip != which mkuzip mkuzip_opts ?= -s 65536 mkisofs != which mkisofs mkisofs_opts?= -quiet -D -R -no-pad -p CyberLeo # Default device for burn target dev ?= null # Check current user curruser != id -u checkroot = @if [ $(curruser) -gt 0 ]; then printf "\033[1;31mI need root\033[0m\n"; exit 1; fi checkdeps = @if [ ! -x "$(mkisofs)" -o ! -x "$(mkuzip)" ]; then printf "\033[1;31mCheck depends! mkisofs: $(mkisofs) mkuzip: $(mkuzip)\033[0m\n"; exit 1; fi # Default target all: $(worktree)/card.img image: $(worktree)/card.img firmware: $(worktree)/card.img # Check that we're running as root checkroot: $(checkroot) # Burn to device burn: $(worktree)/card.img $(checkroot) script/burn $(.ALLSRC) $(dev) # Push to build target push: script/push # Generate components $(worktree)/card.img: $(worktree)/boot.img $(worktree)/root.img $(checkroot) ${gencard} -b $(worktree)/boot.img -r $(worktree)/root.img -c $(worktree)/conf -o $(worktree)/card.img @printf " \033[1;32m*\033[0m Complete\n" $(worktree)/boot.img: $(worktree)/boot $(checkroot) ${genufs} -p $(boot_pad) -l boot -o $(worktree)/boot.img $(worktree)/boot $(worktree)/root.img: $(worktree)/root.iso $(checkroot) $(checkdeps) ${genuzip} $(.ALLSRC) $(.TARGET) $(worktree)/root.iso: $(worktree)/root $(checkroot) $(checkdeps) ${geniso} -n root $(.ALLSRC) $(.TARGET) $(worktree): $(worktree)/root $(worktree)/boot: $(srctree)/root $(checkroot) $(gentree) -b $(srctree) -t $(worktree) $(worktree)/root: $(srctree)/root $(checkroot) $(gentree) -b $(srctree) -t $(worktree) # Scrub everything clean clean: $(checkroot) rm -Rf $(worktree)