CC=gcc
-CFLAGS=-Wall -Wextra -Werror -Wformat-security -g
+CFLAGS=-std=c11 -pedantic-errors -Wall -Werror -Wextra -Wformat-security -g
 TARGET_SERVER=roguelike-server
 TARGET_CLIENT=roguelike-client
 SRCDIR=src
 
 /* src/client/draw_wins.c */
 
+#define _POSIX_C_SOURCE 200809L /* strdup() */
 #include "draw_wins.h"
 #include <ncurses.h> /* typedefs attr_t, chtype, define A_REVERSE */
 #include <stddef.h> /* NULL */
 
 /* src/client/interface_conf.c */
 
+#define _POSIX_C_SOURCE 2 /* getopt(), optarg */
 #include "interface_conf.h"
 #include <ncurses.h> /* delwin() */
 #include <stdint.h> /* uint8_t, uint32_t */
 
 /* src/client/io.c */
 
+#define _POSIX_C_SOURCE 1 /* PIPE_BUF */
 #include "io.h"
 #include <limits.h> /* PIPE_BUF */
 #include <ncurses.h> /* halfdelay(), getch() */
 
 /* main.c */
 
+#define _POSIX_C_SOURCE 1 /* struct sigaction, sigaction() */
 #include <ncurses.h> /* keypad() */
 #include <signal.h> /* struct sigaction, sigaction() */
 #include <stddef.h> /* NULL */
 
 /* src/client/windows.c */
 
+#define _POSIX_C_SOURCE 200809L /* strnlen() */
 #include "windows.h"
 #include <ncurses.h> /* chtype, getmaxx(), getmaxy(), erase(), werase(),
                       * endwin(), delwin(), wnoutrefresh(), pnoutrefresh(),
 
 /* src/server/init.c */
 
+#define _POSIX_C_SOURCE 2 /* getopt(), optarg */
 #include "init.h"
 #include <errno.h> /* global errno, EEXIST */
 #include <stddef.h> /* NULL */