Logo Passei Direto
Buscar

Apresentação_curso_Makefile

Ferramentas de estudo

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Arquivos Makefile
Compilação profissional de programas
curso sobre compilação profissional com arquivos Makefile
Este curso é um oferecimento do Grupo de programação aplicada à geofísica (GPGEOF). 
Todo o material do curso foi produzido com objetivo educacional e pode ser reproduzido livremente.
Se inscreva no nosso canal no Youtube:
https://www.youtube.com/channel/UCi5XD5PCQtPrIRD0H_GJvag 
Códigos disponíveis no Github:
https://www.github.com/Dirack
Prof.: Rodolfo André Cardoso Neves (Dirack)
ÍNDICE
1. Apresentação sobre Makefile e Olá mundo! 
2. Alvo ‘all’ e ‘make alvo’
3. Dependências
4. 3 Perguntas Makefile
5. Compilando módulos
6. Remover arquivos com ‘make clean’
Compilação?
	Linguagem compilada x Linguagem Interpretada.
	A máquina não entende português!
	Verificação de erros de sintaxe
	Erros de lógica? (Infelizmente não!)
Makefile
	Diretivas de compilação.
	Tabulação.
	Baseado em ‘Regras’ (‘alvo’, ‘dependência’ e ‘ação’).
teste.x:	 teste.f90
 gfortran teste.f90 -o teste.x
Alvo ‘all’ e ‘make alvo’
	O alvo ‘all’ tem prioridade na execução.
	Basta digitar ‘make’ para executar ‘all’
	@ serve para execução silenciosa
# Exibir mensagem na tela
all:
 @echo “Olá mundo, Makefile!”
Dependências
	Uma dependência é executada antes
	Exemplo, primeiro exibe ‘mensagem’ depois executa ‘all’ (Pois ‘all’ depende de ‘mensagem’):
all:	 mensagem
 @echo “Executando alvo ‘all’...”
mensagem:
 @echo “Exibindo mensagem...”
3 Perguntas Makefile
	Alvo: O que será produzido?
	Dependência: Do que eu preciso para produzir o Alvo?
	Comando: Como, a partir da Dependência, vou produzir o Alvo?
Alvo:	 Dependência
 Comando
Compilando programa com dependências
programa.x:	 programa.f90 modulo.o
 gfortran modulo.o programa.f90 -o programa.x
modulo.o:	 modulo.f90
 gfortran -c modulo.f90
Remover arquivos com ‘make clean’
	O alvo ‘clean’ é utilizado para a remoção de arquivos desnecessários
	Não é necessário dependência, basta chamar ‘make clean’
clean:	 
 rm *.o
rm *.mod
Opções de compilação (Flags)
	-c # Compilar 
	-o # Direcionar a saída para 
	-J # Direcionar .mod para 
	-I # Buscar módulos em 
Variáveis e Máscaras
	Atribuir valor a uma variável e utilizar:
SRC = ./src
OBJ = ./obj
$(OBJ)/modulo.o:	 $(SRC)/modulo.f90
 gfortran -c $(SRC)/modulo.f90 -o $(OBJ)/modulo.o
Variáveis e Máscaras
	Máscaras representam:
$

Mais conteúdos dessa disciplina