e permitir que voce construa um arquivo em pequenas etapas. Se muitos arquivos de origem compuserem o executavel final, voce podera alterar um e reconstruir o executavel sem ter que recompilar tudo. Para fornecer tal flexibilidade, o make registrara quais arquivos voce precisara para fazer a sua construcao.O texto abaixo e um exemplo de arquivo make comum. Denomine-o como makefile ou Makefile e mantenha-o no mesmo diretorio dos arquivos de origem.programa: teste.o sub1.o sub2.o gfortran -o teste.exe teste.o sub1.o sub2.oteste.o: teste.f90 gfortran -c teste.f90sub1.o: sub1.f90 gfortran -c sub1.f90sub2.o: sub2.f90 gfortran -c sub2.f90Este arquivo ira construir um programa denominado teste.exe a partir de tres arquivos de origem, teste.f90, sub1.f90 e sub2.f90. Voce nao esta restrito a programacao Fortran 90 em um arquivo make.Quatro entradas aparecem no arquivo. Cada uma contem uma linha de dependencia que mostra como um arquivo e construido. Assim, a primeira linha informa que o programa (nome antes dos dois pontos) e construido a partir dos tres arquivos-objeto teste.o, sub1.o e sub2.o (os nomes depois dos dois pontos). O que esta linha informa ao make e que ele devera executar a linha gfortran seguinte sempre que um destes arquivos-objeto for alterado. As linhas que contem os comandos precisam comecar com tabulacoes (nao espacos).Os arquivos depois dos dois pontos sao chamados de dependentes ou de pre-requisitos. Os arquivos objeto serao construidos se eles nao existirem ou se algum dos arquivos de origem associado for mais recente.Como o make sabera se um arquivo e novo? Ele analisara o instante de modificacao, que o sistema de arquivos associa a todo arquivo. Voce pode ver esta informacao executando o comando ls -l. Como a informacao de instante de tempo tem uma precisao de um segundo, ele informara precisamente ao make se voce editou um arquivo de origem desde a ultima compilacao ou se compilou um arquivo objeto desde a ultima vez que o executavel foi construido.Numa primeira execucao, teremos:$ make programagfortran -c teste.f90 gfortran -c sub1.f90 gfortran -c sub2.f90 gfortran -o teste.exe teste.o sub1.o sub2.o Se editarmos o sub1.f90 e executarmos de novo o comando make programa, ele ira reconstruir apenas os arquivos necessarios, economizando tempo, ou seja,$ make programa gfortran -c sub1.f90 gfortran -o teste.exe teste.o sub1.o sub2.o Nao importa a ordem na qual as entradas estao no arquivo makefile. O make descobrira quais arquivos dependem de quais e executara todos os comandos na ordem correta. Colocar uma entrada primeiro para o programa sera conveniente, pois se tornara o arquivo construido por padrao (default). Em outras palavras, digitar make sera o mesmo que digitar make programa.Veja agora este outro exemplo:programa: teste.o sub1.o sub2.o gfortran -o teste.exe teste.o sub1.o sub2.oteste.o: teste.f90 gfortran -c teste.f90sub1.o: sub1.f90 gfortran -c sub1.f90sub2.o: sub2.f90 gfortran -c sub2.f90clean: rm -rf teste.exe teste.o sub1.o sub2.oinstall: mkdir ./testeProg cp teste.exe testeProgNeste exemplo, duas regras sao adicionadas: clean e install. E comum encontrar regras de mesmo nome em codigos fontes de programas em Linux.Algumas regras da sintaxeA coisa mais dificil sobre manter os arquivos make, pelo menos se voce nao tiver experiencia com eles, e ter a sintaxe correta. Se voce usar espacos