1
私は、相互接続されたtexファイルからなる講義を持っています。 lecture.tex
は、/pictures/output
フォルダにpdf形式の画像を使用しています。それらはtex
のファイルから/pictures
というフォルダに作成されています。メイクファイル:ネストされた依存関係
lecture.tex
makefile
/pictures
/output
01_picture.pdf
02_picture.pdf
01_picture.tex
02_picture.tex
makefile
私は(それが正常に動作します)画像のためのメイクファイルを作成しました:講義をコンパイルするとき
COMMAND = pdflatex
FLAGS = #-quiet
FILES = $(wildcard ./[0-9]*.tex)
.PHONY = all create_dir
OUTPUTDIR="output"
all: create_dir $(patsubst ./%.tex,./output/%.pdf,$(FILES))
create_dir:
@if [ ! -d $(OUTPUTDIR) ]; then \
mkdir $(OUTPUTDIR); \
fi
./output/%.pdf: %.tex
$(COMMAND) $(FLAGS) $*.tex
mv ./$*.pdf ./output
rm ./$*.aux ./$*.log
は今、私たちは何をする必要があります。
if(any pictures tex files were modified)
recompile picture pdf
recompile lecture.tex
私はこれでそれを実行しようとしましたメインメークファイル:
COMMAND = pdflatex
FLAGS = #-quiet
.PHONY = pictures
all: lecture.pdf
lecture.pdf: pictures lecture.tex
$(COMMAND) $(FLAGS) lecture.tex
pictures:
make -C pictures
しかし、それは動作しません。あるいは、私はすべてのメイクファイルが1つだけ必要ですか?
それはそれは写真フォルダ内のファイルを使用しなければならないことを確認伝えることは可能ですか?私はあなたのmakefileにそれを見ません。 – user4035
@ user4035が修正されました。 – user657267
'pictures'フォルダにある内部ファイルを使用する写真がいくつかあります。私は 'cd pictures && $(COMPILE.pdf)-output-directory $(OUTPUT)$ <'を試みましたが、 'pictures/01_picture.tex not found'というエラーが表示されます。あるいは、あなたの答えを受け入れ、これを別の質問として書いてください。 – user4035