如何在 GUI 中调用 Makefile?

如何在 GUI 中调用 Makefile?

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

在我的案例中,一名职员负责维护一份每天都会更改的文档,一旦她保存了文件,“来源”就会更改。我希望她将其转换为 PDF,使用给定的模板对 PDF 进行标记,对其进行加密,将其与其他几个文件合并,并使用不同的标记为不同的部门生成三个版本。

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

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

答案1

我有两个解决方案给你,我更喜欢解决方案 B


解决方案 A

无需终端的最简单方法是,在所在的文件夹中添加包装脚本Makefile

  1. 创建包装器脚本

    nano /your/make/file/folder/makeit
    
  2. 添加两条简单的线

    #!/usr/bin/env bash
    make
    
  3. 使脚本可执行

    chmod +x /your/make/file/folder/makeit
    
  4. 配置 nautilus 每次双击可执行文本文件时询问

    gsettings set org.gnome.nautilus.preferences executable-text-activation ask
    

    或者一开始不问

    gsettings set org.gnome.nautilus.preferences executable-text-activation launch
    

解决方案 B

AMakefile有 mimetype

text/x-makefile

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

  1. 创建包装器脚本

    mkdir -p ~/bin
    nano ~/bin/makeit
    
  2. 添加以下代码

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

    nano ~/.local/share/applications/makeit.desktop
    
  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;
    

    重要的代替user在包含您的用户名的行中Exec=,输出

    echo $USER
    
  5. 重新启动 Unity/GNOME Shell,对于 GNOME Shell(例如Alt- )F2,输入rEnterNautilus

    nautilus -q
    
  6. Makefilemakeit脚本关联

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

    • 点击Open With Other Application

    • 点击按钮View All Applications

    • 选择条目Make It

答案2

只需创建一个 cron 作业(通过crontab -e),每天(甚至每分钟)运行该 Makefile。

答案3

我发现了 nautilus 中的“在终端中打开”功能。

  1. 右键单击 Makefile 周围的空白处
  2. 选择“在终端中打开”
  3. 类型make

这不是所要求的,但却是最接近的解决方案。培训新命令行用户的一半困难是当前目录的概念 - 在这种情况下可能是全部困难 - 使该解决方案看起来不错。

相关内容