Como evocar um Makefile na GUI?

Como evocar um Makefile na GUI?

A maioria dos usuários do Makefile usa a linha de comando. Assim, eles não precisam evocá-lo na GUI. Mas o Makefile também pode ser usado como uma ferramenta de administração para os usuários.

No meu caso, uma escriturária tem a tarefa de manter um documento que muda diariamente, e assim que ela salva o arquivo, a “fonte” é alterada. Quero que ela converta para PDF, carimbe o PDF com um determinado modelo, criptografe-o, mescle-o com alguns outros arquivos e produza três variações para departamentos diferentes com carimbos diferentes.

Tenho um Makefile para esse fim, já escrito. Existe uma maneira de deixá-la evocar o Makefile sem me colocar na lama de fazer treinamento adicional de linha de comando? Ela pode salvar o documento, invocar o Makefile e pronto.

PS Não se trata de como executar um script de shell ou um arquivo .EXE porque não há nenhum script de shell ou arquivo .EXE ou qualquer arquivo executável na questão.

Responder1

Tenho duas soluções para você e prefiroSolução B


Solução A

A maneira mais simples sem terminal é adicionar um script wrapper na pasta onde Makefileestá.

  1. Crie um script wrapper

    nano /your/make/file/folder/makeit
    
  2. Adicione duas linhas simples

    #!/usr/bin/env bash
    make
    
  3. Torne o script executável

    chmod +x /your/make/file/folder/makeit
    
  4. Configure o nautilus para perguntar sempre, se você clicar duas vezes em um arquivo de texto executável

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

    ou para começar sem perguntar

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

Solução B

A Makefiletem o tipo MIME

text/x-makefile

Portanto, crie e use um arquivo desktop com um script wrapper

  1. Crie o script wrapper

    mkdir -p ~/bin
    nano ~/bin/makeit
    
  2. Adicione o código abaixo

    #!/usr/bin/env bash
    cd "$(dirname "$1")" || exit
    make
    
  3. Crie um arquivo da área de trabalho

    nano ~/.local/share/applications/makeit.desktop
    
  4. Adicione a configuração abaixo

    [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;
    

    IMPORTANTESubstituiruserna linha Exec=com seu nome de usuário, a saída de

    echo $USER
    
  5. Reinicie o Unity/GNOME Shell, para o GNOME Shell, por exemplo Alt- F2, digite re Entere Nautilus com

    nautilus -q
    
  6. Associe o Makefileao makeitscript

    • Abra seu gerenciador de arquivos e clique com o botão direito em umMakefile

    • CliqueOpen With Other Application

    • Clique no botãoView All Applications

    • Selecione a entradaMake It

Responder2

Basta criar um cron job (via crontab -e) que execute esse Makefile todos os dias (ou mesmo a cada minuto).

Responder3

Eu descobri o recurso "Abrir no Terminal" no nautilus.

  1. Clique com o botão direito no espaço vazio ao redor do Makefile
  2. Escolha "Abrir no Terminal"
  3. Tipomake

Não é exatamente isso que se pede, mas é a solução mais próxima. Metade da dificuldade em treinar um novo usuário de linha de comando é o conceito de diretório atual - neste caso, provavelmente toda a dificuldade - fazendo com que esta solução pareça boa.

informação relacionada