Files
lambda/Makefile
M.V. Hutz 24fdc1c17c feat: add help target to document available commands
Adds help target that displays all available Make targets and their
descriptions, improving discoverability.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:28:48 -05:00

38 lines
1.0 KiB
Makefile

BINARY_NAME=lambda
.PHONY: help it run profile explain graph clean
help:
@ echo "Available targets:"
@ echo " it - Build the lambda binary"
@ echo " run - Build and run with sample input (default: simple.txt)"
@ echo " profile - Build and run with CPU profiling enabled"
@ echo " explain - Run with explanation mode and profiling"
@ echo " graph - Generate CPU profile visualization"
@ echo " clean - Remove build artifacts"
@ echo ""
@ echo "Usage: make run TEST=<sample-name>"
it:
@ go build -o ${BINARY_NAME} ./cmd/lambda
TEST=simple
run: it
@ ./lambda - < ./samples/$(TEST).txt > program.out
profile: it
@ ./lambda -p profile/cpu.prof - < ./samples/$(TEST).txt > program.out
explain: it
@ ./lambda -x -p profile/cpu.prof - < ./samples/$(TEST).txt > program.out
graph:
@ go tool pprof -raw -output=profile/cpu.raw profile/cpu.prof
@ go tool pprof -svg profile/cpu.prof > profile/cpu.svg
@ echo "Profile graph saved to 'file://profile/cpu.svg'"
clean:
rm -f ${BINARY_NAME} program.out
rm -rf profile/