Files
lambda/Makefile
M.V. Hutz edfee89bad feat: explicitly set help as default target
Adds .DEFAULT_GOAL := help to make it clear that running 'make'
with no arguments will display the help message.

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

41 lines
1.1 KiB
Makefile

BINARY_NAME=lambda
TEST=simple
.DEFAULT_GOAL := help
.SILENT:
.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
run: it
./lambda - < ./samples/$(TEST).txt > program.out
profile: it
mkdir -p profile
./lambda -p profile/cpu.prof - < ./samples/$(TEST).txt > program.out
explain: it
mkdir -p profile
./lambda -x -p profile/cpu.prof - < ./samples/$(TEST).txt > program.out
graph: profile
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/