1#-----------------------------------------------------------------------
2# Makefile for LIBERI (20090723)
3#-----------------------------------------------------------------------
4.PHONY: compile clean rebuild demo selfcheck
5
6SRCDIR=../../source
7INSTALL_DIR=.
8
9
10#-----------------------------------------------------------------------
11# CONFIGURAGION
12
13# cygwin
14#CC   = gcc
15#OPT  = -O3 -w -static
16#FFTW3_INCLUDE_DIR = $(HOME)/local/include
17#LIB  = -lm -g2c -L$(HOME)/local/lib -lfftw3 -lblas -llapack
18
19# Linux , gcc 4.3.2
20#CC   = gcc
21#LOADER = gfortran
22#OPT  = -O3 -w -static
23#FFTW3_INCLUDE_DIR = $(HOME)/local/include
24#LIB  = -lm -g2c -L$(HOME)/local/lib -lfftw3 -lblas -llapack
25
26# eniac2 cluster in RCIS (Linux, Intel Xeon, icc 10.0, Intel MKL 10.0)
27CC   = icc
28OPT  = -O3 -static -w -no-multibyte-chars -openmp -mp
29FFTW3_INCLUDE_DIR = /opt/intel/mkl/10.0.2.018/include/fftw
30LIB  = -lm -lfftw3 -lmkl_lapack
31
32
33# chopin2 cluster in RCIS (Linux, Intel Xeon, icc 10.0, Intel MKL 10.0)
34#CC   = icc
35#OPT  = -O3 -static -w -no-multibyte-chars -openmp -mp
36#FFTW3_INCLUDE_DIR = /opt/intel/mkl/10.0.2.018/include/fftw
37#LIB  = -lm -lfftw3 -L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_lapack
38
39
40# abacus2 cluster in RCIS (Linux, AMD Opteron, pgcc)
41#CC   = pgcc
42#OPT  = -O3 -w -Bstatic
43#FFTW3_INCLUDE_DIR = /usr/local/fftw3/include
44#LIB  = -lm -lf2c -L/usr/local/fftw3/lib -lfftw3 -llapack -lpgftnrtl -pgf77libs
45
46
47# Clay XT-5
48#CC   = cc
49#OPT  = -O3 -Bstatic -w
50
51
52# SGI Altix 4700
53#CC   = icc
54#OPT  = -O3 -static -w
55#FFTW3_INCLUDE_DIR = /opt/fftw/include
56#LIB = -f2c -L/opt/fftw/lib -lfftw3 -lmkl_intel_lp64 -lmkl_lapack -lguide -pthread
57
58
59FLAG = $(OPT) -DNDEBUG
60
61ifdef FFTW3_INCLUDE_DIR
62  FLAG += -I$(FFTW3_INCLUDE_DIR)
63endif
64
65ifndef LOADER
66  LOADER=$(CC)
67endif
68
69
70FLAG += -I$(SRCDIR)
71
72
73
74#----- FILES -----
75EXENAME = ./test_pp
76
77LIBOBJ = \
78  $(SRCDIR)/eri.o  \
79  $(SRCDIR)/eri_ll.o  \
80  $(SRCDIR)/eri_sf.o  \
81  $(SRCDIR)/eri_interpolate.o  \
82  $(SRCDIR)/eri_gtbl.o \
83  $(SRCDIR)/sbt/eri_sbt.o \
84  $(SRCDIR)/sbt/log/eri_fsbt.o \
85  $(SRCDIR)/sbt/log/eri_logfsbt.o \
86  $(SRCDIR)/sbt/linear/eri_linfsbt.o \
87
88OBJ= ./test.o
89
90HEADERS = $(SRCDIR)/eri.h
91
92
93#----- MAKE COMMANDS -----
94compile:
95	make $(EXENAME)
96
97clean:
98	rm -f $(LIBNAME) $(LIBOBJ) $(OBJ1) $(OBJ2) $(TEST1NAME) $(TEST2NAME)
99
100rebuild:
101	make clean
102	make
103
104$(EXENAME): $(LIBOBJ) $(OBJ)
105	$(LOADER) $(FLAG) -o $(EXENAME) $(LIBOBJ) $(OBJ) $(LIB)
106
107.c.o:
108	$(CC) $(FLAG) -c $< -o $@
109
110