I read a lot of tutorials about CFLAGS
and also looked in the official docs. Everywhere they say CFLAGS
is implicit but still pass it explicitly in their example makefile to the compiler:
CFLAGS=-O2
gcc $(CFLAGS) -c foo.c -o foo.o
So, what does the term "implicit" mean in this context? If I declare CFLAGS=-O2
in my makefile and later just say gcc -c foo.c -o foo.o
, will -O2
be active or not (so, is it really implicit)? If so, why do all tutorials (including official docs) still pass it explicitly in their examples?