Do que você usou o Makefiles (além da automação de construção)?

4

Makefiles são ótimos para automatizar construções, instalações e testes.

Mas esse não é o fim de Make. Eu usei makefiles para fazer muitas tarefas, como limpar logs, manter páginas espelhadas e downloads, conectá-los em crontabs e suítes de teste ...

Como o script, acho que existe um grande escopo de automação com Makefiles. Particularmente quando você precisa de uma cadeia de acionamento baseada em dependência.

Que coisas diferentes você fez usando o Makefiles?
O que você está planejando fazer mais com eles, talvez em um dia chuvoso?

    
por nik 24.06.2009 / 18:38

8 respostas

6

Meu currículo. Entrada LaTeX, saída PDF.

    
por 24.06.2009 / 22:51
4

Eu gosto muito do Makefiles, especialmente para administradores de sistemas juniores.

Atualizar o arquivo de zona de ligação?

Não há problema: o destino tem checkzone e checkconfig (falta de memória) e só sudo cp <editlocation> <reallocation>; git commit -a .... se tudo parecer bem ...

Implementação do

Complexo ?

Não há problema em gravá-lo em um Makefile

Eu usei muito o Makefiles em qualquer lugar onde um script fosse apropriado também. De forma geral, eu os combino, /usr/local/[s]bin/ é onde estão os scripts de "etapa única" e o Makefile está no diretório de trabalho do serviço em questão.

Na verdade, eu os usei muito mais pelas razões acima do que pelos sistemas de compilação - isto é, se você não contar látex e construir do upstream.

    
por 24.06.2009 / 18:43
2

Como somos praticamente uma loja Ruby, eu uso Rake em vez de Make. Eu automatizei o seguinte com o Rake, e não deve ser muito difícil fazer isso com o Make:

Manutenção do nó EC2. Crie e termine instâncias.

Crie um tarball e faça o upload para S3.

Implemente as configurações do servidor; principalmente chamando o rsync para diretórios e copiando diretamente arquivos singleton.

Converta o código DSL Ruby em dados JSON.

Lide com lançamentos de software em um repositório git (criando novas ramificações, tags, etc.).

    
por 29.06.2009 / 10:33
1

sendmail.cf de volta nos 8,9 dias, se bem me lembro.

    
por 24.06.2009 / 18:47
0

Eu usei makefiles para manipular a transformação XML de fontes DocBook. Dessa forma, eu poderia pipilar todos os comandos e fazer "pdf" ou "make wordml" a partir da mesma fonte, dependendo de quem era o público-alvo.

    
por 24.06.2009 / 19:42
0

Nada realmente. Acho a sintaxe do Makefile horrível para a maioria das tarefas do dia-a-dia e tento apenas interagir com Makefiles quando absolutamente necessário. Para tarefas de administração do sistema, não vejo o que eles oferecem em um script Bash ou Python. Para a criação de software, existem sistemas de criação melhores por aí.

    
por 24.06.2009 / 23:08
0

Eu usei para "imprimir todas as notas desde a última impressão" em um diretório de anotações aleatório:

printflag: *.txt
    printcmd $?
    echo "printcmd $?" > $@

Eu ecoei o comando no arquivo de sinalização para que eu pudesse "printflag" para reimprimir o mesmo conjunto, se necessário;

para manter o DNS / DHCP / etc.:

edit hosts.dat # maintain single file with all relevant info
make           # work copies for visual check, diffs, etc., if needed
make install   # put into deploy-from-here location
make deploy    # push changed files to servers
make restart   # restart appropriate server processes here and there

(ou apenas "editar hosts.dat; fazer reinicialização" para os insensatos)

e como uma maneira rápida e suja de gerar scripts manuais para procedimentos - isto é, apenas use pseudo-alvos e faça com que os comandos makefile ecoem algo como "do step Foo" - quando você precisar de algo mais sofisticado do que tsort

    
por 25.06.2009 / 06:35
0

Eu sei que algumas pessoas costumavam usar scripts Makefile em vez de scripts init. Isso efetivamente os fez executar paralelamente e definir dependências entre etapas.

    
por 09.08.2009 / 14:54