用个简单的例子说明:
Makefile文件:
CROSS =
CC = $(CROSS)gcc
AA = DEF1
BB = TEMP3
DD = TEMP1
all: hello
hello:hello.c
gcc -o $@ $^ -D $(AA) -D$(BB) -D TEMP1=/"2.6.2/"
clean:
rm -rf hello *.o
hello.c文件
#include <stdio.h>
/*好用的写法
#ifdef DEF1
#if CC
#define TT 1
#else
#define TT 2
#endif
#elif DEF2
#define TT 3
#endif
*/
#ifdef DEF1
#define TT 1
#elif DEF2
#ifndef TEMP3
#define TT 2
#else
#define TT 3
#endif
#endif
//#define TEMP1 "2.6.2"
//#define TEMP2 "SCADA" TEMP1
//#define TEMP2 "SCADA"
//#define TEMP3 "2.6.2"
Makefile文件:
CROSS =
CC = $(CROSS)gcc
AA = DEF1
BB = TEMP3
DD = TEMP1
all: hello
hello:hello.c
gcc -o $@ $^ -D $(AA) -D$(BB) -D TEMP1=/"2.6.2/"
clean:
rm -rf hello *.o
hello.c文件
#include <stdio.h>
/*好用的写法
#ifdef DEF1
#if CC
#define TT 1
#else
#define TT 2
#endif
#elif DEF2
#define TT 3
#endif
*/
#ifdef DEF1
#define TT 1
#elif DEF2
#ifndef TEMP3
#define TT 2
#else
#define TT 3
#endif
#endif
//#define TEMP1 "2.6.2"
//#define TEMP2 "SCADA" TEMP1
//#define TEMP2 "SCADA"
//#define TEMP3 "2.6.2"