refactor: improve Makefile structure and usability #11

Merged
mvhutz merged 7 commits from refactor/rename-it-to-build into main 2026-01-11 21:13:42 +00:00
Owner

Description

This PR refactors the Makefile to improve usability, maintainability, and cross-platform compatibility.
The changes modernize the Makefile structure and make it more user-friendly.

Changes made:

  • Renamed the it target to build for better clarity and conventional naming.
  • Added a help target as the default goal to display available targets and their descriptions.
  • Moved the TEST variable to the top with other configuration variables for better organization.
  • Updated binary name from lambda.exe to lambda and used ${BINARY_NAME} variable consistently throughout.
  • Replaced all @ prefixes with the .SILENT: directive for cleaner syntax.
  • Added a clean target to remove all build artifacts (binary, program.out, profile directory).
  • Made the graph target cross-platform by replacing macOS-specific open command with file:// URL echo.
  • Updated .gitignore to include the lambda binary.

Decisions

  • Used .SILENT: directive instead of individual @ prefixes for a cleaner, more maintainable Makefile.
  • Made help the default target so users can run make without arguments to see available commands.
  • Removed platform-specific commands (like open) in favor of cross-platform alternatives.

Benefits

  • Improved discoverability: Users can run make to see all available targets.
  • Better maintainability: Using ${BINARY_NAME} variable consistently makes future changes easier.
  • Cross-platform compatibility: Removed macOS-specific commands.
  • Cleaner syntax: .SILENT: directive eliminates repetitive @ prefixes.
  • More conventional: Renamed it to build follows standard Makefile conventions.

Checklist

  • Code follows conventional commit format.
  • Branch follows naming convention (`/`). Always use underscores.
  • Tests pass (if applicable).
  • Documentation updated (if applicable).
## Description This PR refactors the Makefile to improve usability, maintainability, and cross-platform compatibility. The changes modernize the Makefile structure and make it more user-friendly. Changes made: - Renamed the `it` target to `build` for better clarity and conventional naming. - Added a `help` target as the default goal to display available targets and their descriptions. - Moved the TEST variable to the top with other configuration variables for better organization. - Updated binary name from `lambda.exe` to `lambda` and used `${BINARY_NAME}` variable consistently throughout. - Replaced all `@` prefixes with the `.SILENT:` directive for cleaner syntax. - Added a `clean` target to remove all build artifacts (binary, program.out, profile directory). - Made the `graph` target cross-platform by replacing macOS-specific `open` command with file:// URL echo. - Updated .gitignore to include the `lambda` binary. ### Decisions - Used `.SILENT:` directive instead of individual `@` prefixes for a cleaner, more maintainable Makefile. - Made `help` the default target so users can run `make` without arguments to see available commands. - Removed platform-specific commands (like `open`) in favor of cross-platform alternatives. ## Benefits - Improved discoverability: Users can run `make` to see all available targets. - Better maintainability: Using `${BINARY_NAME}` variable consistently makes future changes easier. - Cross-platform compatibility: Removed macOS-specific commands. - Cleaner syntax: `.SILENT:` directive eliminates repetitive `@` prefixes. - More conventional: Renamed `it` to `build` follows standard Makefile conventions. ## Checklist - [x] Code follows conventional commit format. - [x] Branch follows naming convention (\`<type>/<description>\`). Always use underscores. - [x] Tests pass (if applicable). - [x] Documentation updated (if applicable).
mvhutz added 7 commits 2026-01-11 21:11:45 +00:00
Renamed the 'it' target to 'build' for better clarity and conventional naming.
Updated all target dependencies (run, profile, explain) to reference the new build target.
Added a help target that displays all available Makefile targets with descriptions.
Set help as the default goal so running 'make' without arguments shows usage information.
Moved TEST variable declaration to the top with other configuration variables for better organization.
Changed BINARY_NAME from lambda.exe to lambda and updated all execution references to use the ${BINARY_NAME} variable.
Added lambda binary to .gitignore.
Replaced all @ prefixes with the .SILENT directive for cleaner Makefile syntax.
Added clean target that removes the binary, program.out, and profile directory.
Replaced macOS-specific open command with file:// URL echo for cross-platform compatibility.
mvhutz merged commit 90c205db2e into main 2026-01-11 21:13:42 +00:00
mvhutz deleted branch refactor/rename-it-to-build 2026-01-11 21:13:42 +00:00
Sign in to join this conversation.