Как вызвать Makefile в графическом интерфейсе? [дубликат]

Большинство пользователей Makefile используют командную строку. Таким образом, им не нужно вызывать его в графическом интерфейсе. Но Makefile можно использовать и как инструмент администрирования для пользователей.

В моем случае клерку поручено поддерживать документ, который меняется ежедневно, и как только она сохраняет файл, «источник» изменяется. Я хочу, чтобы она преобразовала его в PDF, поставила на него печать с заданным шаблоном, зашифровала, объединила с несколькими другими файлами и создала три варианта для разных отделов с разными штампами.

У меня есть уже написанный Makefile для этой цели. Есть ли способ позволить ей вызвать Makefile, не загромождая меня дополнительным обучением командной строке? Она может сохранить документ, вызвать Makefile и все готово.

P.S. Речь идет не о том, как выполнить сценарий оболочки или файл .EXE, потому что в вопросе вообще нет сценариев оболочки, файлов .EXE или каких-либо исполняемых файлов.

4
задан 12 October 2015 в 14:24

3 ответа

У меня есть два решения для Вас, и я предпочитаю Решение 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. Настройте наутилус для выяснения каждый раз, если Вы дважды щелкаете по исполняемому текстовому файлу

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

    или для запуска без выяснения

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

Решение B

A Makefile имеет 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. Единица/GNOME перезапуска Shell, для Shell GNOME, например, Alt-F2, вводит r и Войдите и Наутилус с

    nautilus -q
    
  6. Свяжитесь Makefile с makeit сценарий

    • Откройте свой файловый менеджер и щелчок правой кнопкой по a Makefile

    • Нажмите Open With Other Application

    • Нажмите кнопку View All Applications

    • Выбор запись Делает Его

5
ответ дан 1 December 2019 в 09:48

Просто создайте работу крона (через crontab -e), который управляет тем Makefile каждый день (или даже каждую минуту).

0
ответ дан 1 December 2019 в 09:48

Я обнаружил функцию «Открыть в терминале» в nautilus.

  1. Щелкните правой кнопкой мыши пустое место вокруг Makefile
  2. Выберите «Открыть в терминале»
  3. Тип make

Это не совсем то запрашивается, но является ближайшим решением. Половина трудностей в обучении нового пользователя командной строки заключается в концепции текущего каталога - в этом случае, вероятно, в этом и заключается вся сложность - чтобы это решение выглядело хорошо.

-1
ответ дан 1 December 2019 в 09:48

Другие вопросы по тегам:

Похожие вопросы: