# ******************** CHD3 inicond MAKEFILE **************** 

#  INPUT SECTION

# Executable name
EXENAME = InitialConditions.x
#EXENAME2 = MakePoscar.x

# Compiler: choose between GNU, INTEL, IBM
COMPILER = GNU 

# Strip leading and trailing spaces from Compiler variables.
COMPILER := $(strip ${COMPILER})

ifeq (${COMPILER},GNU)
 FC = gfortran -fdefault-real-8    
 FC77 = ${FC}
endif

ifeq (${COMPILER},IBM)
 FC = xlf90 -qautodbl=dbl4   
 FC77 = f77 -qautodbl=dbl4
endif

ifeq (${COMPILER},INTEL)
 FC = ifort -autodouble 
 FC77 =  ${FC}
endif

# ---------------------------------------------------------------

OBJS = Constants.o Random.o VelocityDistribution.o BoltzmannDistribution.o SubroutinesInterpolation.o CoordinatesAndVelocities.o RotationalState.o VibrationalState.o Input.o Main.o 

OBJS2 = MakePOSCARCHD3-Pt111.o
#************ START OF MAKE RULES *************************

all : 
	make ${EXENAME}
#	make ${EXENAME2} ; mkdir POSCAR 

#${EXENAME2} : ${OBJS2} 
#	${FC} -o ${EXENAME2} ${OBJS2}

${EXENAME} : ${OBJS}
	${FC} -o ${EXENAME} ${OBJS}

clean :
	rm -fr ${OBJS} ${OBJS2} *.mod 

veryclean :
	make clean
	rm ${EXENAME} #${EXENAME2} 

%.o : %.f90 Makefile
	${FC} -c  $<

%.o : %.f Makefile
	${FC77} -c $<

#************* DEPENDANCIES *******************************

MakePOSCARCHD3-Pt111.o : MakePOSCARCHD3-Pt111.f90
Constants.o : Constants.f90
Random.o : Random.f90 
VelocityDistribution.o : VelocityDistribution.f90 Constants.o Random.o
BoltzmannDistribution.o : BoltzmannDistribution.f90  Constants.o Random.o
SubroutinesInterpolation.o : SubroutinesInterpolation.f
CoordinatesAndVelocities.o : CoordinatesAndVelocities.f90 Constants.o
RotationalState.o : RotationalState.f90 CoordinatesAndVelocities.o Random.o Constants.o
VibrationalState.o :  VibrationalState.f90 SubroutinesInterpolation.o  RotationalState.o Constants.o Random.o 
Input.o : Input.f90 VibrationalState.o CoordinatesAndVelocities.o 
Main.o : Main.f90 Random.o Input.o CoordinatesAndVelocities.o RotationalState.o VibrationalState.o VelocityDistribution.o
