我有一个非常大的 Makefile,它相当简化了读取:
EXEC = EXAMPLEX.exe
FC = gfortran
CC = gcc
LINKER = $(FC)
LINK_FLAGS =
CPP = $(FC)
EXAMPLEX = \
ex1.o \
ex2.o
OBJS = \
$(EXAMPLEX)
.SUFFIXES: .F .f .c .F90 .f90
$(EXEC): $(OBJS)
$(LINKER) $(LINK_FLAGS) $(OBJS) -o $@
.F.o:
$(FC) -c $(F_FLAGS) $(CPP_FLAGS) $(INCLUDES) $<
.f.o:
$(FC) -c $(F_FLAGS) $<
.F90.o:
$(FC) -c $(F90_FLAGS) $(CPP_FLAGS) $(INCLUDES) $<
.f90.o:
$(FC) -c $(F90_FLAGS) $<
.c.o:
$(CC) -c $(C_FLAGS) $<
clean:
rm -f $(OBJS) *.mod
# dependencies
ex2.o: ex1.o
问题是 ex1 没有任何依赖项(并收到错误 *** Norule to make target 'ex1.o')。我的问题是我是否应该包含ex1.o:
依赖项或尝试其他方法?