私は非常に大きな読み込みを簡単にする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:
依存関係を含める必要があるのか、それとも別のことを試すべきですか?