Update README.md
This commit is contained in:
32
README.md
32
README.md
@@ -45,38 +45,6 @@ make debug
|
||||
|
||||
Your compiled executable will be located in the `output/` directory, named `<your_folder_name>_00.000.00.0000` (or whatever the current version string is).
|
||||
|
||||
---
|
||||
|
||||
## Make Targets Overview
|
||||
|
||||
Here is a detailed breakdown of every command available in this Makefile, what it does, and when to use it.
|
||||
|
||||
| Target | Description & Use Case |
|
||||
| --- | --- |
|
||||
| `make` / `make help` | **Behavior:** Prints a help message with available commands.<br>
|
||||
|
||||
<br>**When to use:** When you need a quick reminder of the available targets. |
|
||||
| `make init` | **Behavior:** Scaffolds the project directories (`source_code`, `includes`, `config`, `output`) and creates base tracker files.<br>
|
||||
|
||||
<br>**When to use:** Only once, at the very beginning of a new project. |
|
||||
| `make synch` | **Behavior:** Searches the project for `.c` and `.h` files and writes their paths to `config/source_code_list` and `config/header_list`.<br>
|
||||
|
||||
<br>**When to use:** Every time you create a new file, delete a file, or rename a file. (You do *not* need to run this if you only edited the contents of an existing file). |
|
||||
| `make debug` | **Behavior:** Compiles the project incrementally using `DEBUG_FLAGS` (`-g3`, `-O0`, Undefined Behavior Sanitizer).<br>
|
||||
|
||||
<br>**When to use:** During active development. This build includes debug symbols for `gdb`, disables optimization for accurate stepping, and catches undefined behavior at runtime. |
|
||||
| `make fast` | **Behavior:** Compiles the project incrementally using `RELEASE_FLAGS` (`-O2`, `NDEBUG`) **without** bumping the project version.<br>
|
||||
|
||||
<br>**When to use:** When you want to test the performance of the optimized build locally, but you aren't ready to officially "release" a new version yet. |
|
||||
| `make release` | **Behavior:** Bumps the project version using a date/time stamp (Format: `_YY.DAY.HH.MMSS`), saves it to `config/version`, and compiles the project using `RELEASE_FLAGS`.<br>
|
||||
|
||||
<br>**When to use:** When your code is tested, stable, and ready to be packaged or deployed. |
|
||||
| `make clean` | **Behavior:** Deletes the `output/` directory, removing all compiled object files (`.o`), dependency files (`.d`), and executables.<br>
|
||||
|
||||
<br>**When to use:** When you want a completely fresh build, or if you change compiler flags in the Makefile and need to force a full recompilation. |
|
||||
|
||||
---
|
||||
|
||||
## Project Structure
|
||||
|
||||
After running `make init` and building, your project will look like this:
|
||||
|
||||
Reference in New Issue
Block a user