+CFLAGS += -Os
+CFLAGS += -Wuninitialized
+CFLAGS += -Wchar-subscripts
+CFLAGS += -Werror-implicit-function-declaration
+CFLAGS += -Wmissing-noreturn
+CFLAGS += -Wbad-function-cast
+CFLAGS += -fno-strict-aliasing
+
+ifeq ($(uname_s),Linux)
+ CFLAGS += -fdata-sections -ffunction-sections
+ CFLAGS += -Wstrict-prototypes
+ CFLAGS += -Wshadow
+ # causes warnings on *BSD for the feature test macros
+ CFLAGS += -Wunused-macros
+ LDFLAGS += -Wl,--gc-sections
+endif
+
+STRICT_CFLAGS = $(CFLAGS)
+STRICT_CFLAGS += -g -Wunused -Wundef -W
+STRICT_CFLAGS += -Wredundant-decls
+STRICT_CFLAGS += -Wall -Wno-sign-compare -Wno-unknown-pragmas
+STRICT_CFLAGS += -Wformat-security
+STRICT_CFLAGS += -Wmissing-format-attribute
+