Wildcard no Makefile
Definição
-
Permitir a utilização da máscara
*afim de atribuir o resultado da máscara (todos os arquivos com uma determinada extensão) a uma variável -
Também possuí a função de substituir a extensão dos valores (arquivos) armazenados na variável
Sintaxe
-
Utilização da máscara
*SRC = $(wildcard ./src/*.f90)Foi atribuído a variável
SRCtodos os arquivos, dentro do diretóriosrc, com a extensão.f90 -
Substituição de extensões
OBJ = $(SRC:.f90=.o)Foi atribuído a variável
OBJos arquivos de.f90, contidos na variávelSRC, para a extensão.o
Exemplo
SRC = $(wildcard ./src/*.f90)
DEP = $(SRC:.f90=.o)
SRCBIN = $(wildcard ./app/*.f90)
BIN = $(SRCBIN:.f90=.x)
CC = gfortran
all: $(DEP) $(BIN)
%.x: %.f90
$(CC) $(DEP) $< -I ./src -o $@
%.o: %.f90
$(CC) -c $< -J ./src -o $@
clean:
rm $(DEP) $(DEP:.o=.mod) $(BIN)