#!/bin/bash

if [ -z "$CC" ]
then
	CC=gcc
fi


if [ -z "$CFLAGS" ]
then
	CFLAGS="-std=gnu11"
	CFLAGS+=" -O0 -ggdb3"
	CFLAGS+=" -Wall"
	CFLAGS+=" -Wextra"
	CFLAGS+=" -Winit-self"
	CFLAGS+=" -Wmissing-declarations"
	CFLAGS+=" -Wmissing-prototypes"
	CFLAGS+=" -Wmissing-field-initializers"
	CFLAGS+=" -Wredundant-decls"
	CFLAGS+=" -Wdangling-else"
	CFLAGS+=" -Wshadow"
	CFLAGS+=" -Wnested-externs"
	CFLAGS+=" -Wunused"
	CFLAGS+=" -Wunused-parameter"
	CFLAGS+=" -Wfloat-conversion"
	CFLAGS+=" -Wincompatible-pointer-types"
	CFLAGS+=" -Wnull-dereference"
	CFLAGS+=" -Wpointer-arith"
	CFLAGS+=" -Wno-null-pointer-subtraction"
	CFLAGS+=" -Wno-overlength-strings"
	CFLAGS+=" -Wunreachable-code"
	CFLAGS+=" -Wformat"
	CFLAGS+=" -Wformat-extra-args"
	CFLAGS+=" -Wold-style-definition"
	CFLAGS+=" -Wunused-result"
	CFLAGS+=" -Wmisleading-indentation"
	CFLAGS+=" -Wimplicit-function-declaration"
	CFLAGS+=" -Wendif-labels"
	CFLAGS+=" -Winvalid-pch"
	CFLAGS+=" -Wformat-security"
	CFLAGS+=" -Wcast-function-type"
	CFLAGS+=" -fstrict-aliasing"
	CFLAGS+=" -Werror=vla"

	# flags for gcc
	CFLAGS+=" -Wno-maybe-uninitialized"
	CFLAGS+=" -Wjump-misses-init"
	CFLAGS+=" -Wformat-signedness"


	# flags for 'all build'
	CFLAGS+=" -Wcast-align"

fi
