2016-01-20 2 views

ответ

2

для OPTIMIZATION?=-O3

  1. Если переменная OPTIMIZATION не была определена, ОПТИМИЗАЦИЯ оценивается как -O3;

  2. С другой стороны, если переменная OPTIMIZATION была определена, это утверждение будет пропущена, и OPTIMIZATION будет держать его предыдущее значение

+0

Может быть, уточнить, что '? = 'Является условным оператор присваивания в GNU Make. – tripleee

0

GNU make manual имеет этот текст для ?= оператора

Существует еще один оператор присваивания для переменных, '? ='. Это , называемый условным оператором присваивания переменных, поскольку он имеет только эффект, если переменная еще не определена.

Итак, это утверждение

OPTIMIZATION?=-O3 

говорит, что если OPTIMIZATION было определено, игнорировать его, и если нет, то определить его и присвоить значение -03.

-03 как флаги компилятора означает компиляцию на уровне оптимизации 3.