Opções de compilação do Makefile
Definição
Flag | Sintaxe | Função |
---|---|---|
-c | -c <arquivo> | Compilar um arquivo |
-o | -o <diretório destino> | Direcionar a saída (arquivo objeto) para um determinado diretório |
-J | -j <diretório destino> | Direcionar o(s) arquivo(s) .mod para um determinado diretório |
-I | -i <diretório> | Informar ao compilador o diretório para buscar os módulos necessários para a compilação |
Exemplo
-
Flag
-c
modulo_lib: ./src/modulo_lib.f90 gfortran -c ./src/modulo_lib.f90
-
Flag
-o
programa.x: ./src/programa.f90 modulo_lib.o gfortran modulo_lib.o ./src/programa.f90 -o ./bin/programa.x
-
Flag
-J
./obj/modulo_lib.o: ./src/modulo_lib.f90 gfortran -c ./src/modulo_lib.f90 -J ./mod -o ./obj/modulo_lib.o
-
-c ./src/modulo_lib.f90
= compilar o arquivomodulo_lib.f90
que está dentro do diretóriosrc
-
-J ./mod
= direcionar todos os arquivos.mod
para o diretóriomod
-
-o ./obj/modulo_lib.o
= direcionar o arquivo objeto (arquivo compilado), com nome demodulo_lib.o
, para o diretórioobj
-
-
Flag
-I
./bin/programa.x: ./src/programa.f90 ./obj/modulo_lib.o gfortran ./obj/modulo_lib.o ./src/programa.f90 -I ./mod -o ./bin/programa.x
-
gfortran ./obj/modulo_lib.o ./src/programa.f90
= a partir do arquivomodulo_lib.o
(dentro do diretórioobj
), compilar o arquivoprograma.f90
(dentro do diretóriosrc
) -
-I ./mod
= informar ao compilador o diretório com os arquivos.mod
(necessário para a compilação) -
-o ./bin/programa.x
= direcionar o arquivo objeto (arquivo compilado), com o nome deprograma.x
, para o diretóriobin
-