makefile CFLAGS
在學習tinyos的過程中,我發現我對makefile完全無知.
有許多可選的編譯時間功能可以通過宣告前處理器變數來使用.
要使用它們,你必須這樣做:
CFLAGS =“ –DPACKET_LINK”這可以啟用某些功能.
和
CFLAGS =“ –DPACKET_LINK”“-DLOW_POWER”啟用兩個功能.
有人可以為我解剖這些線,告訴我發生了什麼嗎?不是在微軟方面,而是在makefile中!
CFLAGS是最常用於向編譯器新增引數的變數.在這種情況下,它定義巨集.
因此,-DPACKET_LINK相當於將#define PACKET_LINK 1放置在專案中所有.c和.h檔案的頂部.最有可能的是,你的專案中有程式碼,看看這些巨集是否被定義,並且取決於這些巨集:
#ifdef PACKET_LINK // This code will be ignored if PACKET_LINK is not defined do_packet_link_stuff(); #endif #ifdef LOW_POWER // This code will be ignored if LOW_POWER is not defined handle_powersaving_functions(); #endif
如果你進一步看你的makefile,你應該看到$(CFLAGS)可能被使用如下:
$(CC) $(CFLAGS) ...some-more-arguments...
http://stackoverflow.com/questions/80657/makefiles-cflags
本站文章除註明轉載外,均為本站原創或編譯
轉載請明顯位置註明出處:makefile CFLAGS