# 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 ```