diff --git a/Makefile b/Makefile deleted file mode 100644 index 96e973b..0000000 --- a/Makefile +++ /dev/null @@ -1,177 +0,0 @@ -###################################################################### -# GNU MAKEFILE # -###################################################################### -# There may be some trickery involved in this file; most of which is # -# hopefully explained sufficiently. This makefile is unlikely to # -# work with non-GNU make utilities. # -# # -###################################################################### -SHELL = /bin/bash -# clear out suffix list -.SUFFIXES : -# declare suffixes allowed to be subject to implicit rules. -.SUFFIXES : .f .o .f90 - -current_version=4.0c -tarname=NH3-Plus - - -src = ./src/ -build = ./obj/ -bin = ./bin/ - -ldir = $(src)lib/ -pdir = $(src)parser/ - - -# DEFINE THE PATH - -VPATH = $(src) -VPATH += $(ldir) -VPATH += $(pdir) - - -# extra dir -extra_dirs = logs nnfits scans -gincl = -I$(src) -I$(pdir) -I$(ldir) - -# GFORTRAN COMPILER -FC := gfortran -GFFLAGS = -O2 -fopenmp -fbackslash -fmax-errors=5 -Wall -Werror -GFFLAGS += -std=legacy -cpp -J$(build) -GFFLAGS += $(gincl) -#GFFLAGS += -Wall -Wextra -Werror -Wno-error=integer-division -Wno-error=conversion \ - -Wno-error=intrinsic-shadow -GLLAPCK = -llapack - -DBGFFLAGS = -O0 -fcheck=bounds -fcheck=do -fcheck=mem -fcheck=pointer -p -debug all - -#cGINCL = -I -I$(pdir) -I$(ldir) - -GFFLAGS += $(GINCL) -GFFLAGS += $(GLLAPCK) -DBGFFLAGS += $(GLLAPCK) - -#IFORT COMPILER - -IFC := ifort -IFFLAGS = -O3 -qopenmp -qmkl -fpp -stand f95 -warn all -warn noerrors \ - -fp-model precise -traceback -assume byterecl -IFFLAGS += -g -diag-disable=10448 -DBGIFC = -O0 -g -check all -traceback -fpp -warn all -fp-stack-check - -LDFLAGS = -llapack - -# CHOSE THE COMPILER -########################### -COMPILER = $(FC) - -ifeq ($(COMPILER),IFC) - FC = $(IFC) - FFLAGS = $(IFFLAGS) - DBGFLAGS = $(DBGIFC) -else - #FC = $(FC) - FFLAGS = $(GFFLAGS) - DBGFLAGS = $(DBGFFLAGS) -endif -###################################################################### -### Functions -###################################################################### - -# return 'true' if file $(1) exists, else return '' -file_exists = $(shell if [ -f $(1) ]; then echo "true"; fi) -# return 'true' if file $(1) doesn't exist, else return '' -file_lost = $(shell if [ ! -f $(1) ]; then echo "true"; fi) - -###################################################################### -### Objects -###################################################################### - -# Objects solely relying on ANN parameters -ann_objects = backprop.o ff_neunet.o neuron_types.o \ - axel.o nnmqo.o scans.o nnread.o - -# Objects relying on both genetic & ANN params -genann_objects = geNNetic.o iNNterface.o puNNch.o \ - mkNN.o error.o long_io.o parse_errors.o parser.o - -# Objects depending on model -#mod_objects = nnmodel.o nncoords.o -pln_objects = invariants_no3.o nncoords_no3.o genetic_param_no3.o model_no3.o nnadia_no3.o -#pyr_objects = invariants_nh3.o nncoords_nh3.o fit_genetic_Umb.o model_dipole_nh3.o dip_nh3plus_model.o -#mod_objects = invariants_nh3.o nncoords_nh3.o fit_genetic.o \ - new_model_dipole.o dip_nh3plus_model.o - -# Objects belonging to internal library -lib_objects = misc.o ran_gv.o choldc.o diag.o \ - qsort.o dmatrix.o imatrix.o strings.o ran.o \ - fileread.o keyread.o long_keyread.o - -# Objects from hell; if it exists, don't compile it -hell_objects = $(ldir)random.o -hell_flags = -O3 -hell_flags += -llapack - -# All objects (one would want to update) -objects = $(addprefix $(build), $(ann_objects) $(genann_objects) $(pln_objects) \ - $(lib_objects)) -#umb_objects = $(addprefix $(build), $(ann_objects) $(genann_objects) $(pyr_objects) \ - $(lib_objects)) -#surface_obj = $(addprefix $(build), invariants_nh3.o nncoords_nh3.o nnread.o \ - try_param.o model_dipole_nh3.o) -# Name of the main program -main = genANN - -###################################################################### -### Include files -###################################################################### - -ann_include = nncommon.incl nndbg.incl nnparams.incl -gen_include = common.incl params.incl keylist.incl errcat.incl -mod_include = JTmod.incl only_model.incl dip_planar_genetic.incl - -# Misc. files generated during compilation -trash = *__genmod* *~ *\# *.g .mod - -$(main) : $(objects) -ifeq ($(call file_exists,$(hell_objects)),) - $(MAKE) hell -endif - $(FC) $(FFLAGS) $(hell_objects) $(objects) $(LDFLAGS) -o $(bin)$(main) -#$(FFLAGS) - -#pyram_ANN : $(umb_objects) -# $(FC) $(FFLAGS) $(hell_objects) $(umb_objects) $(LDFLAGS) -o $(bin)pyram_ANN -# compile a library for the Diabatic Dipole - -#libdipole_surface.a : $(surface_obj) $(build)Diabatic_Dipole.o -# ar rcs $(bin)libdipole_surface.a $(surface_obj) $(build)Diabatic_Dipole.o -# EXPLICIT RULE FOR COMPILING - -$(build)%.o : %.f - $(FC) -c $(FFLAGS) $< -o $@ -$(build)%.o : %.f90 - $(FC) -c $(FFLAGS) $< -o $@ - -# add dependencies to include files -$(ann_objects) : $(ann_include) $(lib_objects) -$(genann_objects) : $(ann_include) $(gen_include) $(lib_objects) -$(mod_objects) : $(ann_include) $(gen_include) $(mod_include) $(lib_objects) -# overrule standard compilation method for hellfiles. -$(hell_objects) : override FFLAGS=$(hell_flags) - -nnmqo.o : axel.o - -# making - -.PHONY : clean dirs neat hell pyram_ANN all -clean: - $(RM) $(objects) $(hell_objects) $(trash) $(bin)/$(main) -dirs: - @mkdir -p $(build) $(bin) $(extra_dirs) -neat: - $(RM) -f $(TRASH) -hell : $(hell_objects) - -all : clean hell $(main) pyram_ANN libdipole_surface.a