看板 Linux 關於我們 聯絡資訊
現在寫報告,會寫成 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
Bencrie: alias + make -f 不行嗎? 11/21 01:26
Bencrie: 就 alias makepdf='make -f /path/to/Makefile' 11/21 01:29
Bencrie: 用的時候就 makepdf xxx.pdf 11/21 01:29
Gold740716: 好像不錯 11/21 12:46
lantw44: gmake 看起來沒有這功能,bmake 似乎有 /etc/make.conf 11/21 14:12
lantw44: 看錯了,bmake 應該是 /usr/share/mk/sys.mk 才對 11/21 14:14
大概找到辦法了, 假設自訂的 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