(/)-----------------------+------------+
| | |
| | |
(task#1)--------+ (data) (images)
| | | |
(gnuplot) Makefile input.dat output.png
| . ^
plotting.gpi<....input....<.... .
. .
.........>.......output........>.......
根据我的图表,我的问题是如何编写Makefile
来处理gnuplot这种情况?
细节是:
我有plotting.gpi
(gnuplot脚本)从input.dat
读取输入并生成输出到output.png
文件。要执行脚本,我们只需键入gnuplot path/to/plotting.gpi
,其中path/to/file
取决于在gnuplot
文件夹内执行gnuplot
命令的位置。只需gnuplot plotting.gpi
即可。
我尝试了什么?
我试着写一个非常简单的Makefile
,但看起来我的理解还不够好。我的Makefile
在文件路径方面遇到了一些问题,有时Makefile
中的代码没有执行某些代码行。
答案 0 :(得分:3)
您必须创建类似
的文件结构.
├── data
│ └── input.dat
├── images
│ └── output.png
├── Makefile
└── task1
├── gnuplot
│ └── ploting.gpi
└── Makefile
您可以在根目录或task1目录中键入make
。
文件包含以下文字
<强>生成文件强>
all :
make all -C task1
clean:
make clean -C task1
<强>任务1 /生成文件强>
IMAGES=../images/output.png
all : $(IMAGES)
clean:
rm $(IMAGES)
../images/output.png : gnuplot/ploting.gpi ../data/input.dat
gnuplot gnuplot/ploting.gpi
<强> ploting.gpi 强>
set term pngcairo
set output '../images/output.png'
plot '../data/input.dat' using 1:2 with lp
set term x11
<强> input.dat 强>
1 1
2 2
3 0
4 2
5 3
output.png是