我创建了以下Makefile,它可以工作。它生成一个名为" test_Makefile_my_libs"的可执行文件。这恰好是我的Fortran代码名称没有后缀" .f90"。
FC = gfortran
FCFLAGS = -g -fbounds-check
FCFLAGS = -O2
FCFLAGS += -I/usr/include
LIBDIR = /homedir/myname/Libraries/
LIBS = $(LIBDIR)/libgfortran_f.a $(LIBDIR)/libmy.a
PROGRAMS = test_Makefile_my_libs
all: $(PROGRAMS)
%: %.o
$(FC) $(FCFLAGS) -o $@ $^ $(LIBS)
%.o: %.f90
$(FC) $(FCFLAGS) -c $<
.PHONY: clean veryclean
clean:
rm -f *.o *.mod *.MOD
veryclean: clean
rm -f *~ $(PROGRAMS)
但我需要一个独立于我的源代码名称的可执行文件名称,例如&#34; myjob.exe&#34;。如何在不修改源代码名称的情况下在Makefile中进行适当的更改? (我尝试了很多不同的方法,但都没有。)
答案 0 :(得分:0)
添加规则:
myjob.exe: test_Makefile_my_libs.o
$(FC) $(FCFLAGS) -o $@ $^ $(LIBS)