如何在 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

crontab -e只需建立一個每天(甚至每分鐘)運行該 Makefile 的cron 作業(通過)即可。

答案3

我發現了 nautilus 中的「在終端中開啟」功能。

  1. 右鍵單擊 Makefile 周圍的空白區域
  2. 選擇“在終端機中開啟”
  3. 類型make

這並不完全是所要求的,但卻是最接近的解決方案。培訓新命令列使用者的一半困難是當前目錄的概念 - 在這種情況下可能是全部困難 - 使這個解決方案看起來不錯。

相關內容