Я пытаюсь скомпилировать этот код с gfortran.Makefile вызывает `gfortran: error: Нет такого файла или каталога`
Makefile:
# makefile for BIRRP
FC = gfortran
FCFLAGS = -g -fbounds-check
FLFLAGS = -g -fbacktrace
SRC = birrp.f coherence.f dataft.f diagnostic.f fft.f filter.f math.f rarfilt.f response.f rtpss.f utils.f weight.f zlinpack.f
# "make" builds all
PROGRAM = birrp
all: $(PROGRAM)
$(PROGRAM): $(SRC)
$(FC) $(FCFLAGS) [email protected] $<
%.o: %.f
$(FC) $(FLFLAGS) -o [email protected] $^
clean:
rm -f *.o
Это не работает
gfortran -g -fbounds-check birrp birrp.f
gfortran: error: birrp: No such file or directory
Makefile:13: recipe for target 'birrp' failed
make: *** [birrp] Error 1
Я использую gfortran компилятор. Я скопировал Makefile из моей другой программы.
После добавления -o
:
FC = gfortran
FCFLAGS = -g -c -fbounds-check
FLFLAGS = -g -fbacktrace
SRC = birrp.f coherence.f dataft.f diagnostic.f fft.f filter.f math.f rarfilt.f response.f rtpss.f utils.f weight.f zlinpack.f
# "make" builds all
PROGRAM = birrp
all: $(PROGRAM)
$(PROGRAM): $(SRC)
$(FC) $(FCFLAGS) -o [email protected] $<
%.o: %.f
$(FC) $(FLFLAGS) -o [email protected] $^
clean:
rm -f *.o
Теперь он просто компилирует
gfortran -g -c -fbounds-check -o birrp birrp.f
Почему?
строке компиляции не включает в себя цель вывода. Он должен читать: gfortran -g -fbounds-check -o birrp birrp.f –
@ P.Hinker Как изменить мой make-файл? – MPejic
Ваше изменение существенно изменяет проблему и аннулирует данный ответ. Я не думаю, что это правильное редактирование. Вероятно, вы должны принять данный ответ и задать новый вопрос с обновленным make-файлом. –