发送参数(Linux)

发送参数(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

+0

怎么会是这样? –

你可以在你的目标是你的文件的名称,这样用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' –