add new Make targets test_sani, coverage, doxycheck
1. Dev container
Use latest base image of debian-12: mcr.microsoft.com/devcontainers/cpp:debian-12 > beforehand it was fixed at version 1
Link c++ to clang++ > beforehand it was g++
Added new tools:
netcat-openbsd: a versatile command-line tool used for reading from and writing to network connections; openbsd version has additional functionality, like support for IPv6
telnet: also a command-line utility for remotely accessing and managing network devices over TCP / alternative to netcat
siege: command-line tool for load testing and benchmarking web servers by simulating multiple users accessing a web application simultaneously
kcov: a code coverage tool for Linux that collects and visualizes coverage data for compiled programs by running them and tracking which lines of code are executed.
Build valgrind from source to use newest version 3.23.0, instead of 3.19 shipped with debian > supports gdwarf-5
add extension Coverage Gutters to devcontainer and add some basic settings for it
2. Makefile
Add conditionals for variables OBJ_DIR and OBJS to be able to compile with different flags and not need to recompile everytime. If target NAME is built, creates a subdirectory. If target test is built, creates it's own subdirectory
new target test_sani: compiles TEST additionally with -fsanitize=address,undefined. Produces unittest_sani
new target doxycheck: compiles NAME with -Wdocumentation which warns if doxygen comments are not conforming to return type or function params
new target coverage: Creates coverage report readable by extension Coverage Gutters in ".vscode/coverage"
updated target comp: adds compilation of test to compile_commands
Summary
1. Dev container
2. Makefile