MyVar = test #определяем свою переменную
DEFINES = $${MyVar}
и
DEFINES = $$MyVar
Синонимы. В данном случае двойной доллар ($$) означает операцию взятия содержимого из переменной на этапе обработки .pro файла (qmake) и запихивания её в DEFINES. В makefile.release или makefile.debug затем можно будет наблюдать такое:
DEFINES = -Dtest
Есть еще вариант с одинарным долларом:
MyVar = $QTDIR
и
MyVar = $(QTDIR)
Синонимы. Тут одинарный доллар ($) означает заполнение переменной непосредственно при компиляции makefile.release или makefile.debug. Т.е. qmake я мог сделать год назад, а переменную надо брать из окружения (environment) при компиляции.
Отсюда возникает несколько другой вопрос. Ну вот создал я перменную MyVar в .pro файле, присвоил ей некоторое значение. А как эту переменную экспортировать в makefile, таким образом, чтобы в нем получилось нечто такое:
CFLAGS = -O2 -Wall $(DEFINES)
CXXFLAGS = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)
INSTALL_FILE = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
MyVar = $(QTDIR)
Я пытался это сделать. Но переменная туда не попадает вообще никак. Выходит я не могу повлиять на выходящий makefile? Добавить свои команды запуска других утилит, выставлять переменные и т.п. именно на этапе компиляции, а не во время запуска qmake?