NCTU_CS_EDA 板


LINE

上一篇提到我們一開始需要先執行 autoscan 來掃描整個 project 掃描完後我們會看到資料夾內多了兩個檔案: autoscan.log 以及 configure.scan autoscan.log 是 log file,不過他是空的XD 而另外一個 configure.scan 則是之後要讓 autoconf 幫我們產生我們所要的 configure 這支 script 所必要的資料 而在剛剛 autoscan 時這裡面其實就已經具備了一些必要的資料了 以下分項說明: 1. # 開頭的東西照慣例,是註解 2. AC_PREREQ([2.65]) 這邊規定 autoconf 的版本要比這邊的數字還要新! 3. AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) 這是給 autoconf 用的起始資訊,不用動他 4. AC_CONFIG_SRCDIR([main.cpp]) 以及 AC_CONFIG_HEADERS([config.h]) 這兩行請直接註解他XD 這是用在有些 project release 後要讓別人可以依照自己的想法 自行對這個 project 作一些設定,不過他使用上有點複雜 所以請直接註解他不要讓他有作用XD 5. AC_PROG_CXX 這行依照 project 不同可能會變成 AC_PROG_C 不管是哪個,用意都是在檢查系統內有沒有 C/C++ compiler AC_PROG_C --> 檢查有沒有 gcc AC_PROG_CXX --> 檢查有沒有 g++ 6. 直到最後的 AC_OUTPUT 為止 可以註解掉也可以放著不理他 7. AC_OUTPUT 執行 configure 這支 script 結束後會產生什麼檔案 在這邊因為我們希望他自動產生 Makefile 所以請將他修改成 AC_OUTPUT(Makefile) OK~到此為止是 autoscan 幫我們弄出來的資料 接下來我們只要自行修改一個地方以符合我們的 project: 1. 請在 AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) 這行後面加上 AM_INIT_AUTOMAKE(PACKAGE, VERSION) 這一行是讓之後的 automake 可以正常執行 其中 PACKAGE 可以看成是這個 project 的名稱 VERSION 則是版本編號 所以這邊請自訂XD 加上這行後即可,接下來介紹 Makefile.am 要怎麼寫: 1. 請加上這行: AUTOMAKE_OPTIONS=foreign 這一行的用意是告訴 automake 不要照 GNU 的標準來做 不然他會要求你附上以下檔案: AUTHOR、README、ChangeLog、NEWS 檔案內容是空的也無妨 2. 加上以下這行: bin_PROGRAMS=(你要的執行檔名稱) 或者是 noinst_PROGRAMS=(你要的執行檔名稱) 兩者的差別在於前者是假設這個執行檔之後會被用來安裝 例如使用 $ make install 安裝到你的系統 而後者不會,所以產生出來的 Makefile 會不同 舉個例子來說,我可以這樣寫: noinst_PROGRAMS=hello 表示之後會產生一個名稱叫 hello 的執行檔 3. 根據剛剛設定好的執行檔名稱,寫上他需要由那些檔案編成: (執行檔名稱)_SOURCES=(需要那些檔案) 以剛剛的例子來說,假設要編出 hello 這個執行檔需要 main.cpp a.cpp b.cpp a.h b.h 這一行就寫成: hello_SOURCES=main.cpp a.cpp b.cpp a.h b.h 至於要怎麼由那些檔案編出 hello 這個執行檔 automake 自有辦法判斷,這邊不必寫明! 好! 這樣就大功告成啦! 接下來只要告剛剛第一篇的流程 就可以生出你想要的 configure 這支 script 囉! 當然 autoconf 還有很多東西可以講 包含說要怎麼判斷系統中有沒有什麼東西 可以在 configure 中設定 project 的參數等等 還有要 link 那些 library 之類的 這些東西~我就不多說了XD Reference: http://tinyurl.com/78t3hyr http://www.ibm.com/developerworks/cn/linux/l-makefile/ http://blog.roodo.com/rocksaying/archives/12687975.html http://jyhshin.pixnet.net/blog/post/26588146-using-automake-and-autoconf --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.241.158 ※ 編輯: shininglion 來自: 220.133.134.61 (02/13 19:48)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP