Page MenuHomec4science

Makefile
No OneTemporary

File Metadata

Created
Mon, Feb 24, 09:52

Makefile

include local/dirs.inc
include local/make.inc
EXEC = $(BINDIR)/main
# Choose your compiler
F90 = mpif90
EXTOBJ = $(OBJDIR)/*.o $(BASISDIR)/*.o
all: dirs basis TAGS src/srcinfo.h $(EXEC)
basis:
(cd $(BASISDIR); make; cd $(PREFIX);)
dirs:
mkdir -p $(BINDIR)
mkdir -p $(OBJDIR)
mkdir -p $(MODDIR)
TAGS: src/*90
(cd src; etags *.f90 *.h; cd ..)
src/srcinfo.h:
( cd src/srcinfo; $(MAKE))
FOBJ = $(OBJDIR)/main.o $(OBJDIR)/control.o $(OBJDIR)/basic_mod.o $(OBJDIR)/prec_const_mod.o $(OBJDIR)/ppsetup.o $(OBJDIR)/ppsync.o $(OBJDIR)/ppinit.o $(OBJDIR)/ppexit.o $(OBJDIR)/numerics_mod.o $(OBJDIR)/array_mod.o $(OBJDIR)/memory.o $(OBJDIR)/model_mod.o $(OBJDIR)/auxval_mod.o # $(OBJDIR)/basis_transformation_mod.o $(OBJDIR)/T5_mod.o
$(EXEC): $(FOBJ)
$(F90) $(LDFLAGS) $(EXTOBJ) $(EXTMOD) $(EXTINC) $(EXTLIBS) -o $@
$(OBJDIR)/main.o: src/main.f90 $(OBJDIR)/control.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/main.f90 -o $@
$(OBJDIR)/control.o: src/control.f90 $(OBJDIR)/basic_mod.o $(OBJDIR)/numerics_mod.o $(OBJDIR)/prec_const_mod.o $(OBJDIR)/model_mod.o $(OBJDIR)/auxval_mod.o $(OBJDIR)/ppinit.o $(OBJDIR)/ppsetup.o $(OBJDIR)/ppexit.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/control.f90 -o $@
$(OBJDIR)/basic_mod.o: src/basic_mod.f90 $(OBJDIR)/prec_const_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/basic_mod.f90 -o $@
$(OBJDIR)/prec_const_mod.o: src/prec_const_mod.f90
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/prec_const_mod.f90 -o $@
$(OBJDIR)/ppinit.o: src/ppinit.f90
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/ppsetup.f90 -o $@
$(OBJDIR)/ppsetup.o: src/ppsetup.f90 $(OBJDIR)/prec_const_mod.o $(OBJDIR)/basic_mod.o $(OBJDIR)/array_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/ppinit.f90 -o $@
$(OBJDIR)/ppsync.o: src/ppsync.f90
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/ppsync.f90 -o $@
$(OBJDIR)/ppexit.o: src/ppexit.f90
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/ppexit.f90 -o $@
$(OBJDIR)/numerics_mod.o: src/numerics_mod.f90 $(OBJDIR)/prec_const_mod.o $(OBJDIR)/model_mod.o $(OBJDIR)/array_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/numerics_mod.f90 -o $@
$(OBJDIR)/array_mod.o: src/array_mod.f90 $(OBJDIR)/basic_mod.o $(OBJDIR)/prec_const_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/array_mod.f90 -o $@
$(OBJDIR)/memory.o: src/memory.f90 $(OBJDIR)/basic_mod.o $(OBJDIR)/model_mod.o $(OBJDIR)/array_mod.o $(OBJDIR)/prec_const_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/memory.f90 -o $@
$(OBJDIR)/model_mod.o: src/model_mod.f90 $(OBJDIR)/prec_const_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/model_mod.f90 -o $@
$(OBJDIR)/auxval_mod.o: src/auxval_mod.f90 $(OBJDIR)/prec_const_mod.o $(OBJDIR)/basic_mod.o $(OBJDIR)/model_mod.o $(OBJDIR)/array_mod.o $(OBJDIR)/numerics_mod.o
$(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/auxval_mod.f90 -o $@
# $(OBJDIR)/basis_transformation_mod.o: src/basis_transformation_mod.f90 $(OBJDIR)/prec_const_mod.o $(OBJDIR)/basic_mod.o $(OBJDIR)/model_mod.o $(OBJDIR)/array_mod.o $(OBJDIR)/T5_mod.o
# $(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/basis_transformation_mod.f90 -o $@
# $(OBJDIR)/T5_mod.o: src/T5_mod.f90 $(OBJDIR)/prec_const_mod.o
# $(F90) -c $(F90FLAGS) $(EPPFLAGS) $(EXTMOD) $(EXTINC) src/T5_mod.f90 -o $@
clean: cleanobj cleanmod
@rm -f src/srcinfo.h
@rm -f src/srcinfo/srcinfo.h
cleanobj:
@rm -f $(OBJDIR)/*o
cleanmod:
@rm -f $(MODDIR)/*mod
@rm -f *.mod
cleanbin:
@rm -f $(EXEC)
ref:
(cd src;doxygen Doxyfile; cd ..)
(cd doc/latex/; make; cd ../..)

Event Timeline