Page loading
Home link logo
37%

make(rrao) - Aprenda a cozinhar com Makefile

O objetivo deste tutorial é ensinar opções de comida para o almoço de domingo enquanto aprendemos como organiza-se uma cozinha amadora(minha casa), utilizando Makefile.


Para garantir um almoço gostoso sigo alguns post its(daqueles coloridos) colados na porta da geladeira, cada um contem uma receita culinária.

No feriado decidimos fazer um almoço e reunir a família, escolhi três receitas, acontece que meu irmão, o make, está aprendendo a cozinhar e será responsável pelo nosso almoço, para facilitar a vida dele, colei as receitas em um único post it grandão, chamado Makefile.

Estrutura

Expliquei para o make como ler o Makefile:

“O Makefile contem 3 pratos deliciosos a serem feitos:

1. Macarronada

2. Maionese de legumes

3. Vagem refogada

Para não virar bagunça, estabeleceremos regras a serem seguidas para cozinhar cada um deles.

Cada prato representará um alvo, porém para conclui-lo, precisará conferir se têm tudo que é preciso. Para minha macarronada, por exemplo, precisa-se de macarrão cozido e molho ao sugo. Bora organizar então?

A regra para fazer a Macarronada, seguirá a seguinte estrutura:

alvo: pré-requisito(s)

ação executada somente após pré-requisito(s) estiver pronto

Antes de meu irmão iniciar, verifico se ele está entendendo o Makefile fazendo a seguinte pergunta, qual será a regra para cozinhar o primeiro prato, macarronada?

item A:

macarronada: macarrao_cozido molho_sugo
        1.colocar macarrao na água

item B:

macarronada: macarrao_cozido molho_sugo
        

item C:

macarronada: macarrao_cozido molho_sugo
      1.Misturar o macarrao_cozido e o molho_sugo em uma panela

Dessa forma você irá cozinhar o macarrão duas vezes

Parece faltar algo

A regra está correta mas o make me pergunta, como se faz macarrao_cozido e molho_sugo? Ótima pergunta, veremos em breve que tambem existe regras para seus pré-requisitos.

Execução

Agora que meu irmão entendeu como funciona uma regra, explicarei sua execução, make precisará buscar no Makefile regras para fazer os pré-requisitos tbm, perguntei para ele, quais os alvos dessas regras?

Para fazer a macarronada, precisa-se do macarrao_cozido e molho_sugo, pois fazem parte do prato, são pré-requisito para fazer o alvo.

Para fazer a macarronada, precisa-se do molho_sugo e macarrao_cozido, pois fazem parte do prato, são pré-requisitos para fazer o alvo.

Já existe uma regra que fará a macarronada

Regra do primeiro pré-requisito

make se antecipou e garantiu que todos pré-requisitos estejam prontos para executar as ações do alvo macarrao_cozido:

macarrao_cozido: macarrao agua_fervida óleo sal
        1.Adicionar óleo e sal na agua_fervida
        2.Adicionar macarrao na agua_fervida
        3.Esperar 12 minutos

Meu irmão concluíu com êxito a regra acima?

Exatamente, sem escorrer o macarrão, colocaremos em risco nosso prato, bora corrigir então?

make executou tudo certinho, o erro foi meu, que esqueci de colocar um item a ser feito nas ações da regra, meu irmão fará exatamente o que estiver descrito no Makefile. Da forma que está, serviremos o macarrao_cozido com a água em que ele foi cozido. Por um lado, não haverá a necessidade de lamber o prato : ), por outro ficará águado ao juntar com o molho. Bora corrigir então?

macarrao_cozido: macarrao agua_fervida óleo sal
        1.Adicionar óleo e sal na agua_fervida
        2.Adicionar macarrao na agua_fervida
        3.Esperar 12 minutos 
        4.Escorrer o macarrao

Regra do segundo pré-requisito

make percebe que concluiu um de dois pré-requisitos, ele buscará a regra para concluir o próximo:

molho_sugo: dois_kg_tomates_maduros uma_cebola azeite sal manjeiricao 
       
       1.Corte os tomates ao meio e tire o "umbigo" coloque na
       panela e leve ao fogo (sem óleo e sem tempero), mexa sempre para não 
       grudar.
       2.Cozinhe por mais ou menos 30 minutos, quando estiver 
       bem dissolvido coloque no liquidificador e bata por 8 a 10 segundos, não
       deixe triturar a semente.
       3.Passe pela peneira e reserve o molho peneirado
       4.Coloque a cebola no liquidificador com um pouquinho de água e bata até triturar.
       5.Coloque o azeite na panela e deixe esquentar, ponha a
       cebola triturada e deixe fritar um pouco, depois coloque o tomate 
       peneirado, sal quanto baste e mexa bem, deixe o molho cozinhar por mais 
       ou menos 30 minutos em fogo baixo.
       6.Colocar folhas de manjericão.

Executar ações do alvo

Agora que os pré-requisitos estão prontos, make perceberá que tem tudo que precisa para executar as ações para concluir o alvo, ou seja:

macarronada: macarrao_cozido molho_sugo
      1.Misturar o macarrao_cozido e o molho_sugo em uma panela

Quase lá..

Para o make finalizar e comer com a família, precisa fazer o resto dos pratos, ou seja, todos pré-requisitos do almoço seguindo os ensinamentos acima:

almoco_domingo: macarronada maionese_legumes vagem_refogada
       1. Servir na mesa

Referências:

You might also like