diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 76 |
1 files changed, 76 insertions, 0 deletions
@@ -0,0 +1,76 @@ +# Cycle Detection in C + +A C program for detecting cycles in graphs. + +--- + +## Compiling the Program + +The project includes a `Makefile` which enables easy compilation +with `gcc` using a variety of flags. + +To compile the program with default flags: + +```bash +make +``` + +To compile the program with debugging symbols and no optimization: + +```bash +make debug +``` + +To compile an optimized release version: + +```bash +make release +``` + +To remove all build artifacts: + +```bash +make clean +``` + +## Generating Documentation + +Documentation will be generated to `docs/` +where a reference manual is available +in both `HTML` for viewing in a browser and `LaTeX` format. +The `LaTeX` output includes a `Makefile` for compiling the reference manual +`refman.pdf` with `pdflatex`. + +> [!IMPORTANT] +> In order to generate the reference manual, +> the program [Doxygen](https://www.doxygen.nl/) is required. + +To generate Doxygen documentation: + +```bash +make docs +``` + +To remove generated documentation: + +```bash +make clean-docs +``` + +## Available Targets + +| Target | Description | +|--------|-------------| +| `all` | Build the project (default) | +| `debug` | Build with debug symbols and no optimization | +| `release` | Build optimized release version | +| `docs` | Generate Doxygen documentation | +| `clean` | Remove all build artifacts | +| `clean-docs` | Remove generated documentation | +| `help` | Display all available targets | + +To list all available build targets and their descriptions: + +```bash +make help +``` |