Files

40 lines
1.0 KiB
Makefile

# PF-on-Linux top-level make
KERNELDIR ?= $(HOME)/lab/linux_kernel/linux-7.3.4
.PHONY: module tools kernel test clean vm vm-destroy docs demo
module:
$(MAKE) -C $(KERNELDIR) M=$(CURDIR)/module modules
tools:
$(MAKE) -C tools KERNELDIR=$(KERNELDIR)
kernel:
./scripts/build-kernel.sh
vm:
./scripts/vm-create.sh
vm-destroy:
./scripts/vm-destroy.sh
test:
./scripts/vm-run-tests.sh
docs:
@for f in docs/en/*.md; do echo "EN $$f"; done
@for f in docs/pt-BR/*.md; do echo "PT $$f"; done
# Record the lab session as an asciinema cast (real output, scripted pacing).
demo:
@mkdir -p out
@command -v asciinema >/dev/null 2>&1 || { \
echo "asciinema not installed: pip install asciinema"; exit 1; }
asciinema rec out/demo-pf-linux.cast -c "bash scripts/demo-session.sh"
@echo "-> out/demo-pf-linux.cast (play: asciinema play out/demo-pf-linux.cast)"
clean:
$(MAKE) -C $(KERNELDIR) M=$(CURDIR)/module clean || true
$(MAKE) -C tools clean || true
@find out -maxdepth 1 -type f ! -name '*.cast' -delete 2>/dev/null || true