Hi all, 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 write into it?
views:
79answers:
1
+7
A:
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.
dirkgently
2010-08-30 17:59:08
Thank you, i'll use make CFLAGS :D
2010-08-30 18:07:12
Does that fix your problem?
dirkgently
2010-08-30 18:08:15
Be aware that CFLAGS might be created from complex sub-macros. You might be better off overriding one of the sub-macros. If there isn't a contradictory option in CFLAGS, I often use '`make CC="gcc -O2 -march=i686"`' to achieve the desired result.
Jonathan Leffler
2010-08-30 18:23:28
Where I work, we use the dedicated user-defined macros for just such a thing--ADDED_CFLAGS, ADDED_ASMFLAGS, ADDED_EXEFLAGS, ....
Sparky
2010-08-30 19:06:39