
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 Makefile
está.
Crie um script wrapper
nano /your/make/file/folder/makeit
Adicione duas linhas simples
#!/usr/bin/env bash make
Torne o script executável
chmod +x /your/make/file/folder/makeit
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 Makefile
tem o tipo MIME
text/x-makefile
Portanto, crie e use um arquivo desktop com um script wrapper
Crie o script wrapper
mkdir -p ~/bin nano ~/bin/makeit
Adicione o código abaixo
#!/usr/bin/env bash cd "$(dirname "$1")" || exit make
Crie um arquivo da área de trabalho
nano ~/.local/share/applications/makeit.desktop
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;
IMPORTANTESubstituir
user
na linhaExec=
com seu nome de usuário, a saída deecho $USER
Reinicie o Unity/GNOME Shell, para o GNOME Shell, por exemplo Alt- F2, digite
r
e Entere Nautilus comnautilus -q
Associe o
Makefile
aomakeit
scriptAbra seu gerenciador de arquivos e clique com o botão direito em um
Makefile
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.
- Clique com o botão direito no espaço vazio ao redor do Makefile
- Escolha "Abrir no Terminal"
- Tipo
make
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.