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.
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).
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.
Changed BINARY_NAME from lambda.exe to lambda and updated all execution references to use the ${BINARY_NAME} variable.
Added lambda binary to .gitignore.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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:
ittarget tobuildfor better clarity and conventional naming.helptarget as the default goal to display available targets and their descriptions.lambda.exetolambdaand used${BINARY_NAME}variable consistently throughout.@prefixes with the.SILENT:directive for cleaner syntax.cleantarget to remove all build artifacts (binary, program.out, profile directory).graphtarget cross-platform by replacing macOS-specificopencommand with file:// URL echo.lambdabinary.Decisions
.SILENT:directive instead of individual@prefixes for a cleaner, more maintainable Makefile.helpthe default target so users can runmakewithout arguments to see available commands.open) in favor of cross-platform alternatives.Benefits
maketo see all available targets.${BINARY_NAME}variable consistently makes future changes easier..SILENT:directive eliminates repetitive@prefixes.ittobuildfollows standard Makefile conventions.Checklist
Changed BINARY_NAME from lambda.exe to lambda and updated all execution references to use the ${BINARY_NAME} variable. Added lambda binary to .gitignore.