I have a Makefile for a C program that has the declaration
CC?=gcc
Changing it to
CC?=g++
does NOT make it compile with g++. Changing it to
CC=g++
DOES make it use g++.
So I wonder what the ?= operator does? My guess is that it looks at a environment variable to decide which compiler to use and if it’s not set then use gcc? Anyone who can clear this up?
From http://www.gnu.org/software/make/manual/make.html:
Probably
CCis already defined asgcc, soCC ?= g++won’t override the existinggcc.