0
我需要什麼,如果我想編譯幾個文件做的源文件(例如a.f90,b.f90,c.f90)(比方說,MYDIR)?的Makefile:在給定的目錄中的特定目錄
我的Makefile文件的代碼是一樣的東西:
CC=gfortran
CFLAG=-g
HOME=MYDIR
SRC=$(HOME)/(a.f90,b.f90,c.f90)
OBJ=$(SRC:,=.o)
EXE=test.x
%.o: %.f90
$(CC) $(CFLAG) -c -o [email protected] $<
$(EXE): $(OBJ)
$(CC) -o [email protected] $^ $(CFLAG)
clean:
rm -f *.o
我想,4個線是不正確的。那麼可以取代什麼呢?
另一個想法:我可以使用通配符如果我想編譯內MYDIR所有.F90文件?
非常感謝。其實我想使用'wildcard'函數。但是,如果我使用'addprefix',那麼我可以在我的Makefile代碼中寫'$(addprefix $(HOME)/,* .f90)'。 關於分配OBJ,我遇到*如果我沒有在冒號後面使用空格或逗號,則沒有規則來發出目標*錯誤消息。 – hbaromega