remove makefile for the base code
This commit is contained in:
parent
9892407761
commit
159635c494
177
Makefile
177
Makefile
|
@ -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
|
|
Loading…
Reference in New Issue