На самом деле НКА -D команды поддерживает макроопределения, эквивалент глобальной #define C:
НКА -D имени
имя НКА -D = определение
Makefile можно определить переменные (и макросы, как), но это сделать интерпретатор не используя для скомпилированного файла никакого эффекта.
MSTAR: макроопределения: определения и значения определяют способ, как строковые
CC_TVOPTS + = -DMS_BOARD_TYPE_SEL = $ (BOARD_TYPE_SEL)
CC_TVOPTS + = -DMS_SW_CUS_SEL = SW_CONFIG_TRUNK_ATVMM
CC_TVOPTS + = -DENABLE_CAPE = 0
CC_TVOPTS + = -DMS_SW_TEST = \ "\" VIDEOCON.BIN
CC_TVOPTS + = -DMS_SW_TEST = \ "$ {MEGENAME} \ "
Ключевые слова: Сделать определение макроса передачи Макроопределения сделать Makefile Makefile -Д добавляет макроопределения
в Makefile, можно скомпилировать исходный код для управления с помощью макроопределения. Пока CFLAGS в Makefile указать в макросе могут быть определены с помощью опции -D.
Такие , как:
Вот то, что я написал тестовый файл:
Введите очищаете во всех портах
и введите ./myapp
результат Привет, как ты?
в Makefile, можно скомпилировать исходный код для управления с помощью макроопределения. Пока CFLAGS в Makefile указать в макросе могут быть определены с помощью опции -D.
Такие , как:
CFLAGS + = -D _SAYHELLO
во время компиляции , чтобы добавить эту опцию на него: $ (CC) $ (CFLAGS ) $ ^ -o $ @
Например:
Makefile содержимое файла:
CC = GCC
RM = ет
CFLAGS + = -D _SAYHELLO
ЦЕЛЕЙ: = MyApp
всего: $ (ЦЕЛИ)
$ (ЦЕЛИ): main.c
$ (CC) $ (CFLAGS) $ ^ -o $ @
чистый:
- $ (RM ) -f * .o
- $ (RM) -f $ (ЦЕЛЕЙ)
main.c文件的内容为:
#include <stdio.h>
INT основной ()
{
#ifdef _SAYHELLO
? Е ( "Привет, Как вы \ п ");
#else
Е ( «Извините , что потерял тебя \ п.»);
#endif
возвращают 0;
}
Введите очищаете во всех портах
и введите ./myapp
результат Привет, как ты?