Makefile макроопределения

На самом деле НКА -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.

Такие , как:
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

результат Привет, как ты?

рекомендация

отwww.cnblogs.com/yuanqiangfei/p/11422745.html