Como evocar um Makefile na GUI? [duplicado]

4

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, um funcionário é encarregado de manter um documento que muda diariamente, e assim que ela salva o arquivo, a "fonte" é alterada. Eu quero que ela converta para PDF, carimbar o PDF com um determinado modelo, criptografá-lo, mesclá-lo com alguns outros arquivos e produzir três variações para diferentes departamentos com selos diferentes.

Eu tenho um Makefile para esse propósito, já escrito. Existe uma maneira de deixá-la evocar o Makefile sem me colocar na lama de fazer treinamento adicional em linha de comando? Ela pode salvar o documento, evocar o Makefile e terminar.

P.S. Isso não é sobre como executar um script de shell ou um arquivo .exe porque não há scripts de shell ou arquivos .exe ou quaisquer arquivos executáveis na pergunta.

    
por Peer Gynt 11.10.2015 / 11:19

3 respostas

5

Eu tenho duas soluções para você e prefiro Solução B

Solução A

A maneira mais simples sem um terminal é adicionar um script wrapper na pasta em que o Makefile é.

  1. Crie um script de 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 a cada vez, 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

Um Makefile tem o mimetype

text/x-makefile

Portanto, crie e use um arquivo da área de trabalho com um script de wrapper

  1. Crie o script de wrapper

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

    #!/usr/bin/env bash
    cd "$(dirname "")" || 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;
    

    IMPORTANTE Substitua user na linha Exec= pelo 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 r e Digite e o Nautilus com

    nautilus -q
    
  6. Associe o Makefile ao script makeit

    • Abra o gerenciador de arquivos e clique com o botão direito do mouse em Makefile

    • Clique em Abrir com outro aplicativo

    • Clique no botão Visualizar todos os aplicativos

    • Selecione a entrada Make It

por A.B. 11.10.2015 / 12:42
0

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

    
por Boris Bukh 11.10.2015 / 18:16
-1

Eu descobri o recurso "Open in Terminal" no nautilus.

  1. Clique com o botão direito no espaço vazio em torno do Makefile
  2. Escolha "Abrir no terminal"
  3. Digite make

Isso não é exatamente o 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 essa solução pareça boa.

    
por Peer Gynt 11.10.2015 / 12:21

Tags