如何在gnuplot中使用Makefile?

时间:2014-11-28 07:18:03

标签: makefile gnuplot

    (/)-----------------------+------------+   
     |                        |            |
     |                        |            |
  (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中的代码没有执行某些代码行。

1 个答案:

答案 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是 enter image description here