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灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP