aoc: *.c *.h
gcc -std=c2x -pedantic \
-D_XOPEN_SOURCE=800 \
-flto \
-O3 -DNDEBUG \
*.c \
-o aoc
aocdbg: *.c *.h
gcc -std=c2x -pedantic \
-D_XOPEN_SOURCE=800 \
-Werror -Wall -Wextra \
-Wbad-function-cast \
-Wcast-align \
-Wcast-qual \
-Wconversion $(: pesky little option; makes my code abuse casts ) \
-Wfloat-equal \
-Wformat=2 \
-Wformat-signedness \
-Winline \
-Wlogical-op \
-Wnested-externs \
-Wno-missing-braces \
-Wno-missing-field-initializers \
-Wold-style-definition \
-Wpointer-arith \
-Wredundant-decls \
-Wshadow \
-Wstrict-aliasing=2 \
-Wstrict-overflow=5 \
-Wstrict-prototypes \
-Wswitch-default \
-Wswitch-enum \
-Wundef \
-Wunreachable-code \
-fno-omit-frame-pointer -ffloat-store -fno-common -fstrict-aliasing \
-Og -ggdb3 \
*.c \
-o aocdbg