请参阅以下代码:如何在不键入BASE_NAME的情况下将参数BASE_NAME = myfile发送到命令行。我只想进入
$ make pdf myfile
BASE_NAME = myfile
LATEX = latex
PDFLATEX = pdflatex
BIBTEX = bibtex
MAKEINDEX = makeindex
DVIPS = dvips
PS2PDF = ps2pdf
pdf: $(BASE_NAME).pdf
ps: $(BASE_NAME).ps
$(BASE_NAME).ps: $(BASE_NAME).tex
$(LATEX) $<
$(BIBTEX) $(BASE_NAME)
$(LATEX) $<
$(LATEX) $<
$(DVIPS) -Ppdf $(BASE_NAME)
$(BASE_NAME).pdf: $(BASE_NAME).tex
$(PDFLATEX) $<
clean:
rm -f $(BASE_NAME)*.ps $(BASE_NAME)*.dvi *.log \
*.aux *.blg *.toc \
missfont.log $(BASE_NAME)*.bbl $(BASE_NAME)*.out \
$(BASE_NAME)*.lof $(BASE_NAME)*.lot
open:
acroread $(BASE_NAME).pdf
另外,我如何使用选项类型 $ make pdf -o myfile 生成pdf,然后从选项-o
打开它答案 0 :(得分:1)
您可以使用pattern-rule,使目标成为文件名。然后$ @变量将包含文件的名称。
%.pdf:
@echo $@;
-
$ make hello.pdf
hello.pdf
-
$ make path/to/hello.pdf
path/to/hello.pdf
答案 1 :(得分:0)
你无法做你想做的事。您可以执行以下操作的shell脚本:您将键入mymake pdf myfile
,并且您的mymake
shell脚本将运行make pdf BASE_NAME=myfile