#include // #define DEBUG 1 int main() { #ifdef DEBUG printf("All good, DEBUG is initialized"); #else #error Debug is not initiated! #endif return 0; } // #error identifier blocks code compilation if compiler reached it. // For example code above will not compile if DEBUG is not initiated. // // error.c: In function ‘main’: // error.c:8:2: error: #error Debug is not initiated! // 8 | #error Debug is not initiated! // | ^~~~~ // make: *** [Makefile:14: main] Error 1