发送参数(Linux)
问题描述:
请参阅下面的代码:如何在不键入BASE_NAME的情况下将参数BASE_NAME = myfile发送到命令行。我想只输入发送参数(Linux)
$使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
另外,我该如何使用一个选择型 $使PDF -o MYFILE 生成PDF,然后从选项中打开它 -
答
你不能做你想做的。你可以做你的shell脚本,这样做:你键入mymake pdf myfile
,和你的mymake
shell脚本将运行make pdf BASE_NAME=myfile
答
你可以在你的目标是你的文件的名称,这样用pattern-rule。 $ @变量将包含文件的名称。
%.pdf:
@echo [email protected];
-
$ make hello.pdf
hello.pdf
-
$ make path/to/hello.pdf
path/to/hello.pdf
+0
对不起,但我不明白。它不起作用。还是我做错了?我编辑文件和数字''make hello.pdf''。但不行。 –
+0
请点击文档链接。仔细阅读。使用'make --debug = b' –
怎么会是这样? –