chore: Makefile improvements and cleanup #2

Closed
mvhutz wants to merge 16 commits from chore/makefile-improvements into main

16 Commits

Author SHA1 Message Date
M.V. Hutz
b6133aa76e docs: remove makefile-improvements.md in favor of CLAUDE.md
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 17:19:50 -05:00
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
M.V. Hutz
b3db983f62 fix: add lambda binary to .gitignore
Adds the lambda binary to .gitignore to prevent accidentally
committing the build artifact. Previously only *.exe was ignored,
which didn't cover the Unix binary name.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:38:19 -05:00
M.V. Hutz
997794eaa5 docs: add documentation of Makefile improvements
Documents all issues found and fixes applied to the Makefile,
including both implemented changes and remaining suggestions.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:36:13 -05:00
M.V. Hutz
8f70bfbbdb refactor: use .SILENT directive instead of @ prefixes
Adds .SILENT directive to suppress command echoing for all targets,
replacing individual @ prefixes. Also moves TEST variable to top with
other variables for better organization.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:34:07 -05:00
M.V. Hutz
3158c35df2 fix: add profile dependency to graph target
Makes graph target depend on profile to ensure cpu.prof exists
before attempting to generate visualizations.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:29:25 -05:00
M.V. Hutz
bb48d0777b fix: ensure profile directory exists before writing
Creates profile directory in profile and explain targets to prevent
errors on first run.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:29:09 -05:00
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
M.V. Hutz
7927df4660 feat: add clean target to remove build artifacts
Adds standard clean target to remove binary, output files, and
profile directory.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:28:29 -05:00
M.V. Hutz
e5ceeb2fcc feat: add .PHONY declarations for all targets
Declares all non-file targets as phony to prevent conflicts with
files of the same name and improve Make's performance.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:28:08 -05:00
M.V. Hutz
e0b0b92a8a refactor: remove redundant chmod +x command
Go build already sets the executable bit on binaries, making the
explicit chmod +x unnecessary.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:27:55 -05:00
M.V. Hutz
0d06fac919 fix: remove Windows .exe extension from binary name
Changed BINARY_NAME from lambda.exe to lambda for Unix systems.
The .exe extension is a Windows convention and is inappropriate
for macOS/Linux builds.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 16:27:42 -05:00
M.V. Hutz
dc9a1b2b7d feat: add usage instructions to README and improve Makefile 2026-01-10 16:21:22 -05:00
M.V. Hutz
7e59d5cefa style: remove YAML document separator 2026-01-10 16:12:30 -05:00
M.V. Hutz
9f06a5109f style: remove comments from golangci config 2026-01-10 16:11:37 -05:00
M.V. Hutz
b2b2655c1e style: remove decorative comment separators 2026-01-10 16:07:39 -05:00