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中三種賦值的差別

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