forked from lingtikong/latgen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
59 lines (50 loc) · 1.42 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
.SUFFIXES : .o .cpp
# compiler and flags
#CC = g++ #-Wno-unused-result
CC = /opt/intel/bin/icc
LINK = $(CC) #-static
CFLAGS = -O3 $(UFLAG) $(DEBUG)
#
OFLAGS = -O3 $(DEBUG)
INC = $(FFTINC) $(LPKINC) $(USRINC) $(VoroINC)
LIB = $(FFTLIB) $(LPKLIB) $(USRLIB) $(VoroLIB)
#
# fftw 3 library; not needed by this code
#FFTINC = -I/opt/fftw/fftw3/include
#FFTLIB = -L/opt/fftw/fftw3/lib -lfftw3
# Lapack library; not needed by this code
#LPKINC = -I/opt/clapack/3.2.1/include
#LPKLIB = -L/opt/clapack/3.2.1/lib -lclapack -lblas -lf2c -lm
# Voro++
VoroINC = -I/opt/voro/include/voro++
VoroLIB = -L/opt/voro/lib -lvoro++
# User flag
#UFLAG = -DPoly
# Debug flags
#DEBUG = -g
#====================================================================
# executable name
BASE = latgen
EXE = ${BASE}
#================= Do not modify the following ======================
# 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 ${BASE}.tar; tar -czvf ${BASE}.tar.gz *.cpp *.h Makefile README
ver:
@echo "#define VERSION `git log|grep ^commit|wc -l`" > version.h; cat 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 $<