-define(`run_latex', `latex "\def\indexing{n} \nonstopmode \input $<"
- latex "\def\indexing{y} \nonstopmode \input $<"
- makeindex -s gind.ist $`'*.idx
- latex "\def\indexing{n} \nonstopmode \input $<"')
-
-.dtx.dvi:
- run_latex
-.tex.dvi:
- run_latex
-.dvi.ps:
- dvips -e0 -o $@ $<
-.ps.pdf:
- ps2pdf $< $@
-
-$(DVI): gpl.tex $(OBJ) mdwtools.tex
-
-$(OBJ): $(SRC) mdwtools.ins
+define(`run_latex', `rm -rf t.$`'@/ && mkdir t.$`'@/ && \
+ cd t.$`'@/ && \
+ TEXINPUTS=..:$$TEXINPUTS && export TEXINPUTS && \
+ $1 "\def\indexing{n} \nonstopmode \input $<" && \
+ $1 "\def\indexing{y} \nonstopmode \input $<" && \
+ makeindex -s gind.ist $`'*.idx && \
+ $1 "\def\indexing{n} \nonstopmode \input $<" && \
+ mv $`'@ ../ && cd ../ && rm -rf t.$`'@/')
+
+.dtx.dvi:; run_latex(`latex')
+.tex.dvi:; run_latex(`latex')
+.dtx.pdf:; run_latex(`pdflatex')
+.tex.pdf:; run_latex(`pdflatex')
+.dvi.ps:; dvips -e0 -o $@ $<
+clean-local::; rm -rf t.*/
+
+$(DVI) $(PDF): gpl.tex $(OBJ) mdwtools.tex
+
+$(wordlist 2,$(words $(OBJ)),$(OBJ)): $(firstword $(OBJ))
+$(firstword $(OBJ)): $(SRC) mdwtools.ins