68 lines
1.7 KiB
Makefile
68 lines
1.7 KiB
Makefile
.SUFFIXES : .o .cpp
|
||
# compiler and flags
|
||
CC = g++ -Wno-unused-result
|
||
LINK = $(CC) -static
|
||
CFLAGS = -O3 $(DEBUG) $(UFLAG)
|
||
|
||
OFLAGS = -O3 $(DEBUG)
|
||
INC = $(LPKINC) $(TCINC) $(SPGINC) $(FFTINC)
|
||
LIB = $(LPKLIB) $(TCLIB) $(SPGLIB) $(FFTLIB)
|
||
|
||
# cLapack library needed
|
||
LPKINC = -I/opt/clapack/3.2.1/include
|
||
LPKLIB = -L/opt/clapack/3.2.1/lib -lclapack -lblas -lf2c -lm
|
||
|
||
# Tricubic library needed
|
||
TCINC = -I/opt/tricubic/1.0/include
|
||
TCLIB = -L/opt/tricubic/1.0/lib -ltricubic
|
||
|
||
# spglib, used to get the irreducible q-points
|
||
# if SFLAG is not set, spglib won't be used.
|
||
SFLAG = -DUseSPG
|
||
SPGINC = -I/opt/spglib/1.9.7/include/spglib
|
||
SPGLIB = -L/opt/spglib/1.9.7/lib -lsymspg
|
||
|
||
# FFTW 3, used to deduce the force constants in real space
|
||
# if FFLAG is not set, fftw won't be used.
|
||
FFLAG = -DFFTW3
|
||
FFTINC = -I/opt/fftw/3.3.7/include
|
||
FFTLIB = -L/opt/fftw/3.3.7/lib -lfftw3
|
||
|
||
# Debug flags
|
||
# DEBUG = -g -DDEBUG
|
||
UFLAG = $(SFLAG) $(FFLAG)
|
||
|
||
#====================================================================
|
||
ROOT = phana
|
||
# executable name
|
||
EXE = $(ROOT)
|
||
#====================================================================
|
||
# source and rules
|
||
SRC = $(wildcard *.cpp)
|
||
OBJ = $(SRC:.cpp=.o)
|
||
|
||
#====================================================================
|
||
all: ${EXE}
|
||
|
||
${EXE}: $(OBJ)
|
||
$(LINK) $(OFLAGS) $(OBJ) $(LIB) -o $@
|
||
|
||
clean:
|
||
rm -f *.o *~ *.mod ${EXE}
|
||
|
||
tar:
|
||
rm -f ${ROOT}.tar.gz; tar -czvf ${ROOT}.tar.gz *.cpp *.h Makefile README
|
||
|
||
ver:
|
||
@echo "#define VERSION `git log|grep '^commit'|wc -l`" > version.h
|
||
|
||
#====================================================================
|
||
.f.o:
|
||
$(FC) $(FFLAGS) $(FREE) $(MPI) ${INC} -c $<
|
||
.f90.o:
|
||
$(FC) $(FFLAGS) $(FREE) $(MPI) ${INC} -c $<
|
||
.c.o:
|
||
$(CC) $(CFLAGS) -c $<
|
||
.cpp.o:
|
||
$(CC) $(CFLAGS) $(INC) -c $<
|