Makefile传递参数

CFLAGS:=${CFLAG}
CFLAGS+= -g -Wall
object:=debug
debug:debug.c
        gcc ${CFLAGS} debug.c -o ${object}
clean:
        rm ${object}

可以通过make CFLAG=-DDEBUG把CFLAGS的值赋值为-DDEBUG,这样执行完追加语句CFLAGS+= -g -Wall后,CFLAGS 就是-DDEBUG -g -Wall


kayshi@ubuntu:~/code/debug_info$ make
gcc  -g -Wall debug.c -o debug
debug.c: In function ‘main’:
debug.c:17:6: warning: unused variable ‘value’ [-Wunused-variable]
  int value = 9;
      ^~~~~
kayshi@ubuntu:~/code/debug_info$ make CFLAG=-DDEBUG
gcc -DDEBUG -g -Wall debug.c -o debug
kayshi@ubuntu:~/code/debug_info$ 

对于= , := , +=, ?= 查看下面的说明
makefile中三种赋值的差别

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章