Open master-q opened 10 years ago
$ review-buildscript omake # OMake作る
$ review-buildscript make # Makefile作る
$ review-buildscript rake # Rakefile作る
みたいな感じでしょうか?
はい。なんかそんな感じでテンプレを吐いてくれたらうれしいかなーという提案でした。 緊急度はありません。
あと個人的にunoconvを使った図の自動変換が好きで、このあたりのナレッジもテンプレを吐いてくれれば伝搬するかなぁと妄想していました。
画像の自動変換は #148 でもありましたが、中途半端な対応はどうかなあ、というところですね…。
あと、設定ファイルのファイル名は$(BOOKNAME)
の値に限らず config.yml
とかに決め打ちした方が実用上便利かと思うのですが、$(BOOKNAME)
に合わせる利点は何かあるのでしょうか?(要するにreview-pdfmaker $(BOOKNAME).yaml
じゃなくてreview-pdfmaker config.yml
とかにしたい)
あ。$(BOOKNAME)にする意味はまったくありません。 画像の自動変換はpng<=>epsというよりもドローソフトとの連携という意味でした。 でもたしかにデフォルトで設定されることが良いことではないかもしれません。
↓では、こんな感じでしょうか。
RE_FILES = $(glob *.re)
BOOKNAME = book ## Replace your book name
CONFIG_FILE = config.yml
OTHER_FILES = $(CONFIG_FILE) CHAPS PREDEF POSTDEF
## ODG_FILES = $(glob images/*/*.odg)
## PNG_FILES = $(replacesuffixes .odg, .png, $(ODG_FILES))
all: $(BOOKNAME).pdf $(BOOKNAME).epub
$(BOOKNAME).pdf: _cover.tex $(RE_FILES) $(OTHER_FILES) ## $(PNG_FILES)
rm -f $(BOOKNAME).pdf
rm -rf $(BOOKNAME)-pdf
review-pdfmaker $(CONFIG_FILE)
$(BOOKNAME).epub: $(RE_FILES) $(OTHER_FILES) ## $(PNG_FILES)
rm -f $(BOOKNAME).epub
rm -rf $(BOOKNAME)-epub
review-epubmaker $(CONFIG_FILE)
### For auto image convert
#.SUBDIRS: $(glob images/*/)
# %.png: %.odg
# unoconv -f png -o $@ $< || unoconv -n -f png -o $@ $< \
# || unoconv -f png -o $@ $< || unoconv -n -f png -o $@ $<
.DEFAULT: $(BOOKNAME).pdf
.PHONY: clean
clean:
rm -f $(BOOKNAME).pdf $(BOOKNAME).epub *~
rm -rf $(BOOKNAME)-pdf $(BOOKNAME)-epub
## rm -f images/*/*.png
ばっちりだと思います。
それと、Makefileだとターゲットには$(BOOKNAME).pdf
とかじゃなくてpdf
とかの入力しやすいものにしていたのですが、OMakeだと具体的なファイル名が良いのでしょうか?
すいません、ちょっとたてこんでいました。。 omakeはファイル名の依存を検査します。pdfだと-Pオプションが使えなくなってしまうと思います。pdfファイルが偽のターゲットになるからです。
あと忘れていたのですがomakeには以下のOMakerootファイルもOMakefileとは別に用意してやる必要があります。
DefineCommandVars()
.SUBDIRS: .
ツールの好みがあるので、入れないほうがよさそう(個人的にはomake使ってます)
OMakeをReVIEWのビルドラッパーとしてよく使っています。 ファイル更新を監視して自動再ビルドがはしるので便利です。
http://www.slideshare.net/master_q/reviewlibreofficeomake https://github.com/master-q/masterq-docs/blob/master/books/snatcher_ac0097/OMakefile
この手のラッパーを手で書いているとOMakeの便利さが拡散しないなーと思っていて、ReVIEWのサブコマンドでビルドスクリプトを自動生成できたらできたらうれしいなぁと。 Railsのscaffoldのようなイメージを持っています。