Compilation =========== A compilation test tries to execute a `GNU-Make `_ rule given in a Makefile. If errors occur during the execution (compilation) of the target, the test is marked as failed, and the error messages generated when executing the makefile rule are returned as feedback for the student. In case no errors occur, the student gets the feedback that the test has been run successfully. The only limitations for compilation tests are set by what the chosen compiler offers. When using `GCC `_ as the compiler, among others, the following test cases would be possible. For the examples, it is supposed that a ``ex.c``-file is the only necessary C-file. The snippets are to be interpreted as GNU Makefile with `implicit rules `_. Compilation ----------- A simple check if the submitted code compiles at all: .. code-block:: make CC=gcc CFLAGS=-std=c11 ex: ex.c Warnings -------- Check if the submitted code compiles without warnings: .. code-block:: make CC=gcc CFLAGS=-Wall -Werror -Wextra -Wpedantic -std=c11 ex: ex.c