Makefile с разными типами источников - PullRequest
4 голосов
/ 20 января 2012

Я пытаюсь написать make-файл для компиляции программы с исходными файлами с расширениями .f и .f90. У меня есть правило для компиляции объектов:

%.o: %.f90
       $(FC) $(FFLAGS) -c $< -o $(OBJ)/$@

Как я могу расширить это для работы с .f файлами?

1 Ответ

5 голосов
/ 20 января 2012

Вам понадобятся два отдельных правила: одно для файлов .f и одно для файлов .f90. Например:

TARGET := a.out
OBJFILES := foo.f bar.f90
OBJ := ./obj

%.o: %.f90
    $(FC) $(FFLAGS) -c $< -o $(OBJ)/$@

%.o: %.f
    $(FC) $(FFLAGS) -c $< -o $(OBJ)/$@

%(TARGET): $(OBJFILES)
    $(FC) $(FFLAGS) -o $@ $(addprefix $(OBJ)/,$(OBJFILES))

или что-то подобное должно сработать.

...