40 lines
1.0 KiB
Makefile
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
|