export CC=gcc
export CFLAGS="-ggdb3 -O0 -std=c99 -Wall -Werror"
export LDLIBS="-lcs50 -lm"
-ggdb
Produce debugging information for use by GDB. This means
to use the most expressive format available (DWARF 2,
stabs, or the native format if neither of those are
supported), including GDB extensions if at all possible.
-ggdblevel
Request debugging information and also use level to specify
how much information. The default level is 2.
Level 3 includes extra information, such as all the macro
definitions present in the program. Some debuggers support
macro expansion when you use -g3.
-O0
Reduce compilation time and make debugging produce the
expected results. This is the default. (Is a optimization option)
-Wall
Turns on all optional warnings which are desirable for
normal code. At present this is -Wcomment, -Wtrigraphs,
-Wmultichar and a warning about integer promotion causing a
change of sign in "#if" expressions. Note that many of the
preprocessor's warnings are on by default and have no
options to control them.
-Werror
Make all warnings into hard errors. Source code which
triggers warnings will be rejected.
-lm
possibly loads a math library.