NAME = nbody TARGET = $(NAME) FC = gfortran SRC = common.f90\ simulation.f90\ integral.f90\ main.f90 OBJ = $(SRC:%.f90=build/%.o) MOD = $(SRC:%.f90=build/%.mod) FFLAGS = -std=f2018 LDFLAGS = MOD_DIR = build all : $(TARGET) $(TARGET) : $(OBJ) $(FC) $(LDFLAGS) -J$(MOD_DIR) $(OBJ) -o $@ build/%.o : src/%.f90 $(FC) $(FFLAGS) -J$(MOD_DIR) -c $< -o $@ .PHONY : clean clean : rm -rf build/* $(TARGET)