aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikkel Thestrup <mithe24@student.sdu.dk>2025-12-04 16:16:59 +0100
committerMikkel Thestrup <mithe24@student.sdu.dk>2025-12-04 16:16:59 +0100
commitb791b2473759619db4edc54c89dfb06fee82fb0c (patch)
treebc68ae0ae01410e64f6df02f8ee40278f5114dd4
parentcd458cd71e7510f72aba67d0a132ebce57d67253 (diff)
downloadcycle-detector-b791b2473759619db4edc54c89dfb06fee82fb0c.tar.gz
cycle-detector-b791b2473759619db4edc54c89dfb06fee82fb0c.zip
Added readme
The README contains information on compiling the program as well as a reference manual
-rw-r--r--README.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/README.md b/README.md
index e69de29..ea29f50 100644
--- a/README.md
+++ b/README.md
@@ -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
+```