BINARY_NAME=lambda TEST=simple .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=" 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/