[問題] 有 global 的 Makefile 嗎?

看板Linux作者 (項為之強)時間9年前 (2016/11/20 22:07), 9年前編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
現在寫報告,會寫成 html 再印成 pdf 。 我的 Makefile 是這樣: %.pdf: %.html style.css wkhtmltopdf --print-media-type $< $@ 但各科在不同的資料夾, 要每個資料夾都放一個一樣的 Makefile 很麻煩。 Makefile 有 implicit rule , 像 make foo 就會自動執行 gcc -o foo foo.c 可以不用寫在 Makefile 裡。 有辦法加入自訂的 implicit rule 嗎? 目前想加的有 html to pdf 和 coffee script to javascript 吧。 %.js: %.coffee coffee $< -- 篋ゆ√忨䓻篋醇掩젊 ‰¸€¯ēƼåØ‧ °ä百äꂠ 跔茛ﴱ é—′ç1 2 ç￿跔슠゚돿ﶠ怴見gè¯* -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.165.150 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1479650853.A.7BB.html

11/21 01:26, , 1F
alias + make -f 不行嗎?
11/21 01:26, 1F

11/21 01:29, , 2F
就 alias makepdf='make -f /path/to/Makefile'
11/21 01:29, 2F

11/21 01:29, , 3F
用的時候就 makepdf xxx.pdf
11/21 01:29, 3F

11/21 12:46, , 4F
好像不錯
11/21 12:46, 4F

11/21 14:12, , 5F
gmake 看起來沒有這功能,bmake 似乎有 /etc/make.conf
11/21 14:12, 5F

11/21 14:14, , 6F
看錯了,bmake 應該是 /usr/share/mk/sys.mk 才對
11/21 14:14, 6F
大概找到辦法了, 假設自訂的 Makefile 是 ~/.mymake , alias make="make -f ~/.mymake" 並在 ~/.mymake 的開頭加入: -include ./Makefile; .PHONY: void void: 這樣如果有自該目錄下的 Makefile 也會引用。 但為了防止做出奇怪的東西, 加入一個什麼也不做的偽目標。 =========================================== 又找到新東西了, 有一個環境變量 MAKEFILES , make 會自動 include 她, 但裡面的目標不會被執行。 大概就是我要的效果了。 在這篇裡找到的 orz (縮: https://goo.gl/qzd2cDhttp://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile:MakeFile%E4%BB%8B%E7%BB%8D#.E7.8E.AF.E5.A2.83.E5.8F.98.E9.87.8F_MAKEFILES 我當初學 make 就是看這篇, 竟然漏看了。 ※ 編輯: Gold740716 (140.116.165.150), 11/21/2016 18:00:40 ※ 編輯: Gold740716 (140.116.165.150), 11/21/2016 18:03:54
文章代碼(AID): #1OCQubUx (Linux)
文章代碼(AID): #1OCQubUx (Linux)