【发布时间】:2015-11-09 18:01:29
【问题描述】:
我正在使用两种不同的操作系统。
- 对于 MacOS:打开 file.pdf(它在 Mac 的默认 pdf 程序中打开 pdf)
- 对于 Linux:xdg-open file.pdf(在 Linux 中这样做)
如果我交换命令它不起作用。 是否有任何单行命令集,例如:
- 打开 file.pdf 或 xdg-open file.pdf
我想要一个对它们都有效且不会显示任何错误的命令(或多个命令)。 我需要这个命令的地方是在 make 文件中。
我有一个这样的生成文件:
all:
open file.pdf
xdg-open file.pdf
other things ..
在这里,在 makefile 中,我如何确定 make 命令在没有的情况下运行 Mac 和 Linux 都报错?
感谢@rubiks,现在代码可以正常工作了。 代码如下所示:
# set pdfviewer for linux and unix machines
####################################################
UNAME_S := $(shell uname -s)
$(info $$UNAME_S == $(UNAME_S))
ifeq ($(UNAME_S),Linux)
PDFVIEWER := xdg-open
else ifeq ($(UNAME_S),Darwin)
PDFVIEWER := open
else
$(error unsupported system: $(UNAME_S))
endif
$(info $$PDFVIEWER == $(PDFVIEWER))
####################################################
# open the pdf file
default: all
$(PDFVIEWER) my_pdf_filename.pdf
【问题讨论】:
标签: linux bash terminal makefile