[英]Should I use automake/autoconf for distribution of a small ansi C app?
我有一個小型ANSI C應用程序,可以在不同的測試編譯器和平台下進行干凈編譯。 它不使用任何預處理器開關或外部依賴項,makefile就像這樣:
myapp: *.c
gcc *.c -Wall -o myapp
如果我想以源代碼形式發布這個項目盡可能便攜,我應該使用automake / autoconf來包裝嗎? 這實際上是否會增加可移植性,還是它可以隨身攜帶?
我唯一能想到的是它會自動選擇系統編譯器,但它也會增加很多復雜性。 這值得么?
我懷疑這是值得的。 在具有可用的C編譯器的每個平台上都應支持沒有任何特定於OS的調用的ANSI C,並且向此添加automake / autoconf使得維護可能不如當前那么令人愉快。
但是,您可以在makefile中使用$(CC)
變量來自動使用系統的編譯器:
myapp: *.c
$(CC) *.c $(CFLAGS) -o myapp
您不需要指定編譯規則,因此不需要$(CC)
, $(CFLAGS)
和$(LDFLAGS)
,因為make
有一個隱式規則來從C源生成可執行文件。
保持Makefile
簡單:
all: myapp
myapp: *.c
clean:
rm -f myapp
.PHONY: all clean
順便說一下,最好指定一個源文件列表,因為不能保證你的源是該目錄中唯一的C文件
雖然您可能覺得在功能方面獲得的收益很少,但您可能仍然希望考慮這些原因:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.