I should compile a program written in C through a Makefile. I should insert into the Makefile, some option, for instance: -O2, -march=i686
. How can I insert this option in the Makefile without writing into it?
$@ is the name of the target being generated, and $< the first prerequisite (usually a source file). You can find a list of all these special variables in the GNU Make manual.
LDFLAGS: Extra flags to give to compilers when they are supposed to invoke the linker, 'ld', such as -L. Libraries (-lfoo) should be added to the LDLIBS variable instead. LDLIBS: Library flags or names given to compilers when they are supposed to invoke the linker, 'ld'.
You should use a macro like CFLAGS. Check out GNU GCC documentation.
Something like this should work:
CFLAGS := $(CFLAGS) -O2 -march=i686
Or, if you prefer not to modify the makefile use:
make CFLAGS='-O2 -march=i686'
The other options will be picked up automatically though. See overriding variables.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With