.SUFFIXES: .c .f .f90 .F90 .o .DEFAULT_GOAL := all FC=mpif90 #FFLAGS=-Wall -mcmodel=large -O0 -g -fbacktrace -fcheck=all -ffpe-trap=invalid,zero,overflow,underflow,denormal FFLAGS=-O3 -g OBJDIR=obj SRCS := $(wildcard *.f90) OBJECTS := $(addprefix $(OBJDIR)/,$(SRCS:%.f90=%.o)) #----------------- DEPENDENCIES -----------------# # GENERATED USING https://github.com/ZedThree/fort_depend.py **requires python3** # > pip install fortdepend # > fortdepend -o Makefile.dep -i mpi -b obj/ include Makefile.dep #----------------- DEFAULTS -----------------# all: cacmb .PHONY: deps cacmb: $(OBJECTS) $(OBJDIR)/main.o $(FC) $(FFLAGS) $(OBJECTS) -o $@ $(OBJDIR)/%.o: %.f90 @mkdir -p $(@D) $(FC) $(FFLAGS) -c -o $@ $< -J$(OBJDIR) .f90.o: $(FC) $(FFLAGS) -c $< deps: @fortdepend -o Makefile.dep -i mpi -b obj -w #----------------- CLEAN UP -----------------# .PHONY: clean clean: $(RM) *.mod *.o $(RM) $(OBJDIR)/*.mod $(OBJDIR)/*.o CAC @$(RM) -rf obj/ .PHONY: clean-all clean-all: clean # DEBUGGING VARIABLE PRINT print-% : ; @echo $* = $($*)