如何在 GUI 中调用 Makefile?

Tan*_*n六四 4 pdf make

大多数 Makefile 用户使用命令行。因此他们不需要在 GUI 中调用它。但是 Makefile 也可以用作用户的管理工具。

就我而言,文员的任务是维护一个每天都在变化的文档,一旦她保存了文件,“来源”就会发生变化。我想让她把它转换成 PDF,用给定的模板在 PDF 上盖章,加密它,将它与其他几个文件合并,并为不同的部门用不同的邮票制作三种变体。

为此,我已经编写了一个 Makefile。有没有办法让她唤起 Makefile 而不会让我陷入进行额外命令行培训的泥潭?她可以保存文档,调用 Makefile,然后完成。

PS 这不是关于如何执行 shell 脚本或 .EXE 文件,因为问题中根本没有 shell 脚本或 .EXE 文件或任何可执行文件。

A.B*_*.B. 5

我有两种解决方案,我更喜欢解决方案 B


方案一

没有终端的最简单方法是,在所在的文件夹中添加一个包装脚本Makefile

  1. 创建包装脚本

    nano /your/make/file/folder/makeit
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加两条简单的线

    #!/usr/bin/env bash
    make
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使脚本可执行

    chmod +x /your/make/file/folder/makeit
    
    Run Code Online (Sandbox Code Playgroud)
  4. 配置 nautilus 每次询问是否双击可执行文本文件

    gsettings set org.gnome.nautilus.preferences executable-text-activation ask
    
    Run Code Online (Sandbox Code Playgroud)

    或者不问就开始

    gsettings set org.gnome.nautilus.preferences executable-text-activation launch
    
    Run Code Online (Sandbox Code Playgroud)

方案B

AMakefile有 mimetype

text/x-makefile
Run Code Online (Sandbox Code Playgroud)

因此,创建并使用带有包装脚本的桌面文件

  1. 创建包装脚本

    mkdir -p ~/bin
    nano ~/bin/makeit
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加下面的代码

    #!/usr/bin/env bash
    cd "$(dirname "$1")" || exit
    make
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建桌面文件

    nano ~/.local/share/applications/makeit.desktop
    
    Run Code Online (Sandbox Code Playgroud)
  4. 添加下面的配置

    [Desktop Entry]
    Name=Make It
    Comment=Start the make command
    Exec=/home/user/bin/makeit
    Icon=
    Terminal=false
    Type=Application
    Categories=Editor;
    StartupNotify=true
    MimeType=text/x-makefile;
    
    Run Code Online (Sandbox Code Playgroud)

    重要提示替换user该行Exec=与您的用户名,输出

    echo $USER
    
    Run Code Online (Sandbox Code Playgroud)
  5. 重新启动 Unity/GNOME Shell,对于 GNOME Shell,例如Alt- F2,键入randEnter和 Nautilus with

    nautilus -q
    
    Run Code Online (Sandbox Code Playgroud)
  6. Makefilemakeit脚本关联

    • 打开您的文件管理器并右键单击 Makefile

    • 点击 Open With Other Application

    • 点击按钮 View All Applications

    • 选择条目 Make It