Browse Source

Rework Makefile; adopt semver, starting with 1.0.0

master
J.-S. Caux 2 years ago
parent
commit
4e4e414b3b

+ 55
- 471
Makefile View File

@@ -11,489 +11,73 @@
11 11
 #
12 12
 #***********************************************************/
13 13
 
14
-VERSION = ABACUS_0a
15
-
16
-# Base directory, tree of all source files, headers
17
-BASEDIR = #/Users/jcaux/WORK/ABACUS++/
18
-OBJDIR = $(BASEDIR)obj/
19
-HEADDIR = $(BASEDIR)include/
20
-LIBDIR = $(BASEDIR)lib/
21
-SRCDIR = $(BASEDIR)src/
22
-EXECSDIR = $(BASEDIR)src/EXECS/
23
-BINDIR = $(BASEDIR)bin/
24
-
25
-# Set the compiler choice
26
-#CXX = g++
27
-#CXX = /usr/local/bin/g++
28
-CXX = /usr/local/Cellar/gcc@7/7.5.0/bin/g++-7
29
-# On OS X, using a separate installation of llvm tools:
30
-# CXX = /usr/local/opt/llvm/bin/clang++ -Xpreprocessor -fopenmp -lomp -L/usr/local/opt/llvm/lib:lib/ -I/usr/local/opt/llvm/include
31
-# CXX = clang++ -Weverything -ferror-limit=1
32
-# CXX += -Wno-padded -Wno-c++98-compat-pedantic -Wno-exit-time-destructors
33
-# CXX += -Wno-unused-parameter -Wno-global-constructors -Wno-sign-conversion -Wno-documentation -Wno-weak-vtables -Wno-unused-variable -Wno-shadow -Wno-float-conversion -Wno-float-equal -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unreachable-code -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-deprecated -Wno-documentation-unknown-command -Wno-zero-as-null-pointer-constant
34
-#CXXFLAGS = -std=c++14 -fopenmp
14
+# Semver
15
+VERSION = ABACUS_1.0.0
16
+
17
+# Directories
18
+BASE_DIR = .
19
+OBJ_DIR = $(BASE_DIR)/obj
20
+HEAD_DIR = $(BASE_DIR)/include
21
+LIB_DIR = $(BASE_DIR)/lib
22
+SRC_DIR = $(BASE_DIR)/src
23
+BIN_DIR = $(BASE_DIR)/bin
24
+
25
+# Source file extension
26
+SRC_EXT = cc
27
+
28
+# Compiler choice
29
+CXX = g++
35 30
 CXXFLAGS = -fopenmp
36
-LDFLAGS = -L$(LIBDIR)
37
-LDLIBS = -l$(VERSION)
38
-INC = -I$(HEADDIR)
31
+LDFLAGS = -O3 -w -fopenmp
32
+# Compilation command
33
+COMPILE = $(CXX) -I$(BASE_DIR)/include/ -L$(LIB_DIR)/ $(LDFLAGS)
39 34
 
35
+# Compiler choice and command (parallel case)
40 36
 MPICXX = mpicxx
37
+COMPILE_MPI = mpicxx -I$(BASE_DIR)/include/ -L$(LIB_DIR)/ $(LDFLAGS)
41 38
 
42 39
 
40
+# Enable finding all sources
41
+vpath %.$(SRC_EXT) $(wildcard $(SRC_DIR)/*)
42
+vpath %.h
43 43
 
44
-#COMPILE = g++ -Wall -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -stdlib=libstdc++
45
-#COMPILE = g++ -Wall -I$(BASEDIR)include/ -L$(LIBDIR) -O3
46
-#COMPILE = g++ -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -w -fopenmp
47
-COMPILE = $(CXX) -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -w -fopenmp
48
-#COMPILE = clang++ -std=c++17 -Weverything -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -w -fopenmp
49
-#COMPILE_MPI = mpicxx -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -stdlib=libstdc++
50
-COMPILE_MPI = mpicxx -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -w -fopenmp
51
-#COMPILE_OMP = g++ -I$(BASEDIR)include/ -L$(LIBDIR) -O3 -w -fopenmp
52
-
53
-#COMPILE = $(CXX) $(CXXFLAGS) $(INC) $(LDFLAGS)
54
-#COMPILE = $(CXX)
55
-
56
-VPATH = $(SRCDIR)BETHE:$(SRCDIR)LIEBLIN:$(SRCDIR)COMBI:$(SRCDIR)EXECS:$(SRCDIR)FITTING:$(SRCDIR)HEIS:$(SRCDIR)INTEG:$(SRCDIR)MATRIX:$(SRCDIR)NRG:$(SRCDIR)ODSLF:$(SRCDIR)SCAN:$(SRCDIR)TBA:$(SRCDIR)UTILS:$(SRCDIR)XXX_VOA:$(SRCDIR)XXZ_VOA:$(SRCDIR)YOUNG
57
-
58
-vpath %.h $(HEADDIR)
59
-
60
-Headers_ABACUS = ABACUS.h ABACUS_Utils.h ABACUS_Combi.h ABACUS_Integ.h ABACUS_Matrix.h ABACUS_NRG.h ABACUS_Spec_Fns.h ABACUS_Vect.h ABACUS_Young.h
61
-Headers_all = $(Headers_ABACUS) ABACUS_LiebLin.h ABACUS_Heis.h ABACUS_Scan.h ABACUS_State_Ensemble.h ABACUS_XXX_VOA.h ABACUS_XXZ_VOA.h
62
-
63
-Objects_LIEBLIN = $(OBJDIR)LiebLin_Bethe_State.o $(OBJDIR)LiebLin_Chem_Pot.o \
64
-	$(OBJDIR)LiebLin_Matrix_Element_Contrib.o $(OBJDIR)LiebLin_ln_Overlap.o \
65
-	$(OBJDIR)LiebLin_Sumrules.o $(OBJDIR)LiebLin_State_Ensemble.o \
66
-	$(OBJDIR)LiebLin_Tgt0.o $(OBJDIR)LiebLin_Twisted_lnnorm.o $(OBJDIR)LiebLin_Twisted_ln_Overlap.o \
67
-	$(OBJDIR)LiebLin_Utils.o $(OBJDIR)ln_Density_ME.o $(OBJDIR)ln_Psi_ME.o $(OBJDIR)ln_g2_ME.o
68
-
69
-Objects_HEIS = $(OBJDIR)Heis.o $(OBJDIR)Heis_Chem_Pot.o $(OBJDIR)Heis_Sumrules.o \
70
-	$(OBJDIR)Heis_Matrix_Element_Contrib.o $(OBJDIR)ln_Overlap_XXX.o \
71
-	$(OBJDIR)ln_Sz_ME_XXX.o $(OBJDIR)ln_Sz_ME_XXZ.o $(OBJDIR)ln_Sz_ME_XXZ_gpd.o \
72
-	$(OBJDIR)ln_Smin_ME_XXX.o $(OBJDIR)ln_Smin_ME_XXZ.o $(OBJDIR)ln_Smin_ME_XXZ_gpd.o \
73
-	$(OBJDIR)ln_Szz_ME_XXX.o $(OBJDIR)ln_Smm_ME_XXX.o $(OBJDIR)ln_Szm_p_Smz_ME_XXX.o \
74
-	$(OBJDIR)M_vs_H.o \
75
-	$(OBJDIR)XXX_Bethe_State.o $(OBJDIR)XXZ_Bethe_State.o $(OBJDIR)XXZ_gpd_Bethe_State.o
76
-
77
-Objects_ODSLF = $(OBJDIR)ODSLF.o $(OBJDIR)ODSLF_Chem_Pot.o $(OBJDIR)ODSLF_Sumrules.o \
78
-	$(OBJDIR)ODSLF_XXZ_Bethe_State.o $(OBJDIR)ODSLF_Matrix_Element_Contrib.o \
79
-	$(OBJDIR)ln_Sz_ME_ODSLF_XXZ.o $(OBJDIR)ln_Smin_ME_ODSLF_XXZ.o
80
-
81
-Objects_COMBI = $(OBJDIR)Combinatorics.o
82
-
83
-Objects_FITTING = $(OBJDIR)covsrt.o $(OBJDIR)lin_reg.o $(OBJDIR)mrq.o $(OBJDIR)polint.o $(OBJDIR)polint_cx.o
84
-
85
-Objects_INTEG = $(OBJDIR)Integration.o
86
-
87
-Objects_MATRIX = $(OBJDIR)balanc.o $(OBJDIR)det_LU.o $(OBJDIR)det_LU_CX.o $(OBJDIR)eigsrt.o \
88
-	$(OBJDIR)elmhes.o $(OBJDIR)gaussj.o $(OBJDIR)hqr.o \
89
-	$(OBJDIR)jacobi.o $(OBJDIR)lndet_LU.o $(OBJDIR)lndet_LU_dstry.o $(OBJDIR)lndet_LU_CX.o \
90
-	$(OBJDIR)lndet_LU_CX_dstry.o $(OBJDIR)lubksb.o \
91
-	$(OBJDIR)lubksb_CX.o $(OBJDIR)ludcmp.o $(OBJDIR)ludcmp_CX.o $(OBJDIR)pythag.o $(OBJDIR)tqli.o $(OBJDIR)tred2.o
92
-
93
-Objects_NRG = $(OBJDIR)NRG_State_Selector.o $(OBJDIR)NRG_DME_Matrix_Block_builder.o $(OBJDIR)NRG_K_Weight_integrand.o
94
-
95
-Objects_SCAN = $(OBJDIR)Descendents.o $(OBJDIR)General_Scan.o $(OBJDIR)General_Scan_Parallel.o \
96
-	$(OBJDIR)Particle_Hole_Excitation_Cost.o $(OBJDIR)Scan_Info.o $(OBJDIR)Scan_Thread_Data.o
97
-
98
-Objects_TBA = $(OBJDIR)Root_Density.o $(OBJDIR)TBA_LiebLin.o $(OBJDIR)TBA_XXZ.o $(OBJDIR)TBA_2CBG.o
99
-
100
-Objects_UTILS = $(OBJDIR)Data_File_Name.o $(OBJDIR)K_and_Omega_Files.o $(OBJDIR)Smoothen_RAW_into_SF.o \
101
-	$(OBJDIR)Smoothen_RAW_into_SF_LiebLin_Scaled.o $(OBJDIR)Sort_RAW_File.o $(OBJDIR)State_Label.o \
102
-	$(OBJDIR)Filter_RAW_File_for_iK.o
103
-
104
-Objects_XXX_VOA = $(OBJDIR)XXX_VOA.o
105
-
106
-Objects_XXZ_VOA = $(OBJDIR)XXZ_VOA.o
107
-
108
-Objects_YOUNG = $(OBJDIR)Young_Tableau.o
109
-
110
-Objects_ALL = $(Objects_LIEBLIN) $(Objects_HEIS) $(Objects_COMBI) $(Objects_FITTING) \
111
-	$(Objects_INTEG) $(Objects_MATRIX) $(Objects_NRG) $(Objects_SCAN) $(Objects_TBA) \
112
-	$(Objects_UTILS) $(Objects_XXX_VOA) $(Objects_XXZ_VOA) $(Objects_YOUNG)
113
-
114
-EXECS = $(BINDIR)LiebLin_DSF $(BINDIR)LiebLin_Data_Daemon $(BINDIR)LiebLin_RAW_File_Stats \
115
-	$(BINDIR)LiebLin_DSF_tester $(BINDIR)LiebLin_DSF_tester_Ix2 $(BINDIR)LiebLin_DSF_MosesState \
116
-	$(BINDIR)LiebLin_DSF_over_Ensemble $(BINDIR)Smoothen_LiebLin_DSF $(BINDIR)Heis_DSF \
117
-	$(BINDIR)Heis_DSF_GeneralState $(BINDIR)Smoothen_Heis_DSF $(BINDIR)Check_RAW_File
118
-
119
-
120
-##########################################
121
-# The library and the set of executables in bin/ are the ultimate targets
122
-
123
-lib$(VERSION).a : $(Objects_ALL)
124
-	ar -cru lib$(VERSION).a $(Objects_ALL)
125
-	mv lib$(VERSION).a $(BASEDIR)lib/
126
-	$(COMPILE) $(EXECSDIR)Histogram_RAW_File.cc -o $(BINDIR)Histogram_RAW_File -l$(VERSION)
127
-	$(COMPILE) $(EXECSDIR)LiebLin_DSF.cc -o $(BINDIR)LiebLin_DSF -l$(VERSION)
128
-	$(COMPILE) $(EXECSDIR)LiebLin_Data_Daemon.cc -o $(BINDIR)LiebLin_Data_Daemon -l$(VERSION)
129
-	$(COMPILE) $(EXECSDIR)LiebLin_Data_Daemon_Nscaling.cc -o $(BINDIR)LiebLin_Data_Daemon_Nscaling -l$(VERSION)
130
-	$(COMPILE) $(EXECSDIR)LiebLin_Catalogue_Fixed_c_k_Nscaling.cc -o $(BINDIR)LiebLin_Catalogue_Fixed_c_k_Nscaling -l$(VERSION)
131
-	$(COMPILE) $(EXECSDIR)LiebLin_RAW_File_Stats.cc -o $(BINDIR)LiebLin_RAW_File_Stats -l$(VERSION)
132
-	$(COMPILE) $(EXECSDIR)LiebLin_DSF_GeneralState.cc -o $(BINDIR)LiebLin_DSF_GeneralState -l$(VERSION)
133
-	$(COMPILE) $(EXECSDIR)LiebLin_DSF_MosesState.cc -o $(BINDIR)LiebLin_DSF_MosesState -l$(VERSION)
134
-	$(COMPILE) $(EXECSDIR)LiebLin_DSF_over_Ensemble.cc -o $(BINDIR)LiebLin_DSF_over_Ensemble -l$(VERSION)
135
-	$(COMPILE) $(EXECSDIR)LiebLin_DSF_tester.cc -o $(BINDIR)LiebLin_DSF_tester -l$(VERSION)
136
-	$(COMPILE) $(EXECSDIR)LiebLin_DSF_tester_Ix2.cc -o $(BINDIR)LiebLin_DSF_tester_Ix2 -l$(VERSION)
137
-	$(COMPILE) $(EXECSDIR)Smoothen_LiebLin_DSF.cc -o $(BINDIR)Smoothen_LiebLin_DSF -l$(VERSION)
138
-	$(COMPILE) $(EXECSDIR)Smoothen_LiebLin_DSF_Scaled.cc -o $(BINDIR)Smoothen_LiebLin_DSF_Scaled -l$(VERSION)
139
-	$(COMPILE) $(EXECSDIR)Smoothen_LiebLin_DSF_over_Ensemble.cc -o $(BINDIR)Smoothen_LiebLin_DSF_over_Ensemble -l$(VERSION)
140
-	$(COMPILE) $(EXECSDIR)Smoothen_LiebLin_DSF_GeneralState.cc -o $(BINDIR)Smoothen_LiebLin_DSF_GeneralState -l$(VERSION)
141
-	$(COMPILE) $(EXECSDIR)Smoothen_LiebLin_DSF_MosesState.cc -o $(BINDIR)Smoothen_LiebLin_DSF_MosesState -l$(VERSION)
142
-	$(COMPILE) $(EXECSDIR)LiebLin_TBA.cc -o $(BINDIR)LiebLin_TBA -l$(VERSION)
143
-	$(COMPILE) $(EXECSDIR)LiebLin_TBA_fixed_nbar.cc -o $(BINDIR)LiebLin_TBA_fixed_nbar -l$(VERSION)
144
-	$(COMPILE) $(EXECSDIR)LiebLin_TBA_fixed_nbar_ebar.cc -o $(BINDIR)LiebLin_TBA_fixed_nbar_ebar -l$(VERSION)
145
-	$(COMPILE) $(EXECSDIR)Heis_DSF.cc -o $(BINDIR)Heis_DSF -l$(VERSION)
146
-	$(COMPILE) $(EXECSDIR)Heis_DSF_GeneralState.cc -o $(BINDIR)Heis_DSF_GeneralState -l$(VERSION)
147
-	$(COMPILE) $(EXECSDIR)Smoothen_Heis_DSF.cc -o $(BINDIR)Smoothen_Heis_DSF -l$(VERSION)
148
-	$(COMPILE) $(EXECSDIR)Heis_Fourier_to_Sqt.cc -o $(BINDIR)Heis_Fourier_to_Sqt -l$(VERSION)
149
-	$(COMPILE) $(EXECSDIR)XXZ_gpd_StagSz_h0.cc -o $(BINDIR)XXZ_gpd_StagSz_h0 -l$(VERSION)
150
-#	$(COMPILE) $(EXECSDIR)ODSLF_DSF.cc -o $(BINDIR)ODSLF_DSF -l$(VERSION)
151
-#	$(COMPILE) $(EXECSDIR)Smoothen_ODSLF_DSF.cc -o $(BINDIR)Smoothen_ODSLF_DSF -l$(VERSION)
152
-	$(COMPILE) $(EXECSDIR)Check_RAW_File.cc -o $(BINDIR)Check_RAW_File -l$(VERSION)
153
-	$(COMPILE) $(EXECSDIR)Analyze_RAW_File.cc -o $(BINDIR)Analyze_RAW_File -l$(VERSION)
154
-	$(COMPILE) $(EXECSDIR)RAW_File_Stats.cc -o $(BINDIR)RAW_File_Stats -l$(VERSION)
155
-	$(COMPILE) $(EXECSDIR)Produce_Sorted_RAW_File.cc -o $(BINDIR)Produce_Sorted_RAW_File -l$(VERSION)
156
-	$(COMPILE) $(EXECSDIR)Produce_Filtered_RAW_File_for_iK.cc -o $(BINDIR)Produce_Filtered_RAW_File_for_iK -l$(VERSION)
157
-	$(COMPILE) $(EXECSDIR)2CBG_ThLim.cc -o $(BINDIR)2CBG_ThLim -l$(VERSION)
158
-	$(COMPILE) $(EXECSDIR)LiebLin_Fourier_to_x_equal_t.cc -o $(BINDIR)LiebLin_Fourier_to_x_equal_t -l$(VERSION)
159
-	$(COMPILE) $(EXECSDIR)LiebLin_Fourier_to_t_equal_x.cc -o $(BINDIR)LiebLin_Fourier_to_t_equal_x -l$(VERSION)
160
-	$(COMPILE) $(EXECSDIR)LiebLin_Fourier_to_x_equal_t_from_RAW.cc -o $(BINDIR)LiebLin_Fourier_to_x_equal_t_from_RAW -l$(VERSION)
161
-	$(COMPILE) $(EXECSDIR)LiebLin_Fourier_to_t_equal_x_from_RAW.cc -o $(BINDIR)LiebLin_Fourier_to_t_equal_x_from_RAW -l$(VERSION)
162
-	$(COMPILE) $(EXECSDIR)LiebLin_Fourier_ssf_to_Qsqx.cc -o $(BINDIR)LiebLin_Fourier_ssf_to_Qsqx -l$(VERSION)
163
-
164
-###########################################
165
-# Interacting LiebLin gas
166
-
167
-$(OBJDIR)LiebLin_Bethe_State.o : LiebLin_Bethe_State.cc $(Headers_ABACUS) ABACUS_LiebLin.h
168
-	$(COMPILE) -c $< -o $@
169
-
170
-$(OBJDIR)LiebLin_Chem_Pot.o : LiebLin_Chem_Pot.cc $(Headers_ABACUS) ABACUS_LiebLin.h
171
-	$(COMPILE) -c $< -o $@
172
-
173
-$(OBJDIR)LiebLin_Matrix_Element_Contrib.o : LiebLin_Matrix_Element_Contrib.cc $(Headers_ABACUS) ABACUS_LiebLin.h
174
-	$(COMPILE) -c $< -o $@
44
+# List of all source files
45
+SOURCES_ALL = $(shell find $(SRC_DIR) -name '*.$(SRC_EXT)')
46
+# Those involving parallelism
47
+SOURCES_PAR = $(filter %_par.$(SRC_EXT) %_par_Prepare.$(SRC_EXT) %_par_Run.$(SRC_EXT) %_par_Wrapup.$(SRC_EXT) %_server.$(SRC_EXT) %_client.$(SRC_EXT), $(SOURCES_ALL))
48
+# Executables
49
+SOURCES_EXECS_ALL = $(shell find $(SRC_DIR)/EXECS -name '*.$(SRC_EXT)')
50
+# Executables (parallel)
51
+SOURCES_EXECS_PAR = $(filter %_par.$(SRC_EXT) %_par_Prepare.$(SRC_EXT) %_par_Run.$(SRC_EXT) %_par_Wrapup.$(SRC_EXT) %_server.$(SRC_EXT) %_client.$(SRC_EXT), $(SOURCES_EXECS_ALL))
52
+SOURCES_EXECS = $(filter-out $(SOURCES_EXECS_PAR), $(SOURCES_EXECS_ALL))
53
+# ... leaving the basic sources
54
+SOURCES = $(filter-out $(SOURCES_PAR) $(SOURCES_EXECS), $(SOURCES_ALL))
175 55
 
176
-$(OBJDIR)LiebLin_ln_Overlap.o : LiebLin_ln_Overlap.cc $(Headers_ABACUS) ABACUS_LiebLin.h
177
-	$(COMPILE) -c $< -o $@
56
+# List of all header files
57
+HEADERS = $(notdir $(shell find $(HEAD_DIR) -name '*.h'))
178 58
 
179
-$(OBJDIR)LiebLin_Sumrules.o : LiebLin_Sumrules.cc $(Headers_ABACUS) ABACUS_LiebLin.h
180
-	$(COMPILE) -c $< -o $@
59
+# Objects to go into library
60
+OBJECTS = $(patsubst %.$(SRC_EXT), $(OBJ_DIR)/%.o, $(notdir $(SOURCES)))
181 61
 
182
-$(OBJDIR)LiebLin_State_Ensemble.o : LiebLin_State_Ensemble.cc $(Headers_ABACUS) ABACUS_LiebLin.h
183
-	$(COMPILE) -c $< -o $@
62
+# Executables
63
+EXECUTABLES = $(patsubst %.$(SRC_EXT), $(BIN_DIR)/%, $(notdir $(SOURCES_EXECS)))
184 64
 
185
-$(OBJDIR)LiebLin_Tgt0.o : LiebLin_Tgt0.cc $(Headers_ABACUS) ABACUS_LiebLin.h
186
-	$(COMPILE) -c $< -o $@
187 65
 
188
-$(OBJDIR)LiebLin_Twisted_lnnorm.o : LiebLin_Twisted_lnnorm.cc $(Headers_ABACUS) ABACUS_LiebLin.h
189
-	$(COMPILE) -c $< -o $@
190
-
191
-$(OBJDIR)LiebLin_Utils.o : LiebLin_Utils.cc $(Headers_ABACUS) ABACUS_LiebLin.h
192
-	$(COMPILE) -c $< -o $@
193
-
194
-$(OBJDIR)ln_Density_ME.o : ln_Density_ME.cc $(Headers_ABACUS) ABACUS_LiebLin.h
195
-	$(COMPILE) -c $< -o $@
196
-
197
-$(OBJDIR)LiebLin_Twisted_ln_Overlap.o : LiebLin_Twisted_ln_Overlap.cc $(Headers_ABACUS) ABACUS_LiebLin.h
198
-	$(COMPILE) -c $< -o $@
66
+# Main target: all executables (and thus the library, and thus all objects)
67
+all: $(EXECUTABLES)
199 68
 
200
-$(OBJDIR)ln_Psi_ME.o : ln_Psi_ME.cc $(Headers_ABACUS) ABACUS_LiebLin.h
201
-	$(COMPILE) -c $< -o $@
202
-
203
-$(OBJDIR)ln_g2_ME.o : ln_g2_ME.cc $(Headers_ABACUS) ABACUS_LiebLin.h
204
-	$(COMPILE) -c $< -o $@
205
-
206
-
207
-###########################################
208
-# Heisenberg chains
209
-
210
-$(OBJDIR)Heis.o : Heis.cc $(Headers_ABACUS) ABACUS_Heis.h
211
-	$(COMPILE) -c $< -o $@
212
-
213
-$(OBJDIR)Heis_Chem_Pot.o : Heis_Chem_Pot.cc $(Headers_ABACUS) ABACUS_Heis.h
214
-	$(COMPILE) -c $< -o $@
215
-
216
-$(OBJDIR)Heis_Sumrules.o : Heis_Sumrules.cc $(Headers_ABACUS) ABACUS_Heis.h
217
-	$(COMPILE) -c $< -o $@
218
-
219
-$(OBJDIR)Heis_Matrix_Element_Contrib.o : Heis_Matrix_Element_Contrib.cc $(Headers_ABACUS) ABACUS_Heis.h
220
-	$(COMPILE) -c $< -o $@
69
+# Build executables
70
+$(EXECUTABLES): $(BIN_DIR)/%: $(SRC_DIR)/EXECS/%.$(SRC_EXT) lib$(VERSION).a
71
+	$(COMPILE) $< -o $@ -l$(VERSION)
221 72
 
222
-$(OBJDIR)ln_Overlap_XXX.o : ln_Overlap_XXX.cc $(Headers_ABACUS) ABACUS_Heis.h
73
+# Compile all object files
74
+$(OBJ_DIR)/%.o: %.$(SRC_EXT)
223 75
 	$(COMPILE) -c $< -o $@
224 76
 
225
-$(OBJDIR)ln_Sz_ME_XXX.o : ln_Sz_ME_XXX.cc $(Headers_ABACUS) ABACUS_Heis.h
226
-	$(COMPILE) -c $< -o $@
227
-
228
-$(OBJDIR)ln_Szz_ME_XXX.o : ln_Szz_ME_XXX.cc $(Headers_ABACUS) ABACUS_Heis.h
229
-	$(COMPILE) -c $< -o $@
230
-
231
-$(OBJDIR)ln_Smm_ME_XXX.o : ln_Smm_ME_XXX.cc $(Headers_ABACUS) ABACUS_Heis.h
232
-	$(COMPILE) -c $< -o $@
233
-
234
-$(OBJDIR)ln_Szm_p_Smz_ME_XXX.o : ln_Szm_p_Smz_ME_XXX.cc $(Headers_ABACUS) ABACUS_Heis.h
235
-	$(COMPILE) -c $< -o $@
236
-
237
-$(OBJDIR)ln_Sz_ME_XXZ.o : ln_Sz_ME_XXZ.cc $(Headers_ABACUS) ABACUS_Heis.h
238
-	$(COMPILE) -c $< -o $@
239
-
240
-$(OBJDIR)ln_Sz_ME_XXZ_gpd.o : ln_Sz_ME_XXZ_gpd.cc $(Headers_ABACUS) ABACUS_Heis.h
241
-	$(COMPILE) -c $< -o $@
242
-
243
-$(OBJDIR)ln_Smin_ME_XXX.o : ln_Smin_ME_XXX.cc $(Headers_ABACUS) ABACUS_Heis.h
244
-	$(COMPILE) -c $< -o $@
245
-
246
-$(OBJDIR)ln_Smin_ME_XXZ.o : ln_Smin_ME_XXZ.cc $(Headers_ABACUS) ABACUS_Heis.h
247
-	$(COMPILE) -c $< -o $@
248
-
249
-$(OBJDIR)ln_Smin_ME_XXZ_gpd.o : ln_Smin_ME_XXZ_gpd.cc $(Headers_ABACUS) ABACUS_Heis.h
250
-	$(COMPILE) -c $< -o $@
251
-
252
-$(OBJDIR)M_vs_H.o : M_vs_H.cc $(Headers_ABACUS) ABACUS_Heis.h
253
-	$(COMPILE) -c $< -o $@
254
-
255
-$(OBJDIR)XXX_Bethe_State.o : XXX_Bethe_State.cc $(Headers_ABACUS) ABACUS_Heis.h
256
-	$(COMPILE) -c $< -o $@
257
-
258
-$(OBJDIR)XXZ_Bethe_State.o : XXZ_Bethe_State.cc $(Headers_ABACUS) ABACUS_Heis.h
259
-	$(COMPILE) -c $< -o $@
260
-
261
-$(OBJDIR)XXZ_gpd_Bethe_State.o : XXZ_gpd_Bethe_State.cc $(Headers_ABACUS) ABACUS_Heis.h
262
-	$(COMPILE) -c $< -o $@
263
-
264
-
265
-###########################################
266
-# One-d spinless fermions
267
-
268
-$(OBJDIR)ODSLF.o : ODSLF.cc $(Headers_ABACUS) ABACUS_Heis.h ABACUS_ODSLF.h
269
-	$(COMPILE) -c $< -o $@
270
-
271
-$(OBJDIR)ODSLF_Chem_Pot.o : ODSLF_Chem_Pot.cc $(Headers_ABACUS) ABACUS_ODSLF.h
272
-	$(COMPILE) -c $< -o $@
273
-
274
-$(OBJDIR)ODSLF_Sumrules.o : ODSLF_Sumrules.cc $(Headers_ABACUS) ABACUS_ODSLF.h
275
-	$(COMPILE) -c $< -o $@
276
-
277
-$(OBJDIR)ODSLF_XXZ_Bethe_State.o : ODSLF_XXZ_Bethe_State.cc $(Headers_ABACUS) ABACUS_Heis.h ABACUS_ODSLF.h
278
-	$(COMPILE) -c $< -o $@
279
-
280
-$(OBJDIR)ln_Smin_ME_ODSLF_XXZ.o : ln_Smin_ME_ODSLF_XXZ.cc $(Headers_ABACUS) ABACUS_ODSLF.h
281
-	$(COMPILE) -c $< -o $@
282
-
283
-$(OBJDIR)ln_Sz_ME_ODSLF_XXZ.o : ln_Sz_ME_ODSLF_XXZ.cc $(Headers_ABACUS) ABACUS_ODSLF.h
284
-	$(COMPILE) -c $< -o $@
285
-
286
-$(OBJDIR)ODSLF_Matrix_Element_Contrib.o : ODSLF_Matrix_Element_Contrib.cc $(Headers_ABACUS) ABACUS_ODSLF.h
287
-	$(COMPILE) -c $< -o $@
288
-
289
-
290
-###########################################
291
-# Combinatorics functions
292
-
293
-$(OBJDIR)Combinatorics.o : Combinatorics.cc $(Headers_ABACUS)
294
-	$(COMPILE) -c $< -o $@
295
-
296
-###########################################
297
-# Integ functions
298
-
299
-$(OBJDIR)Integration.o : Integration.cc $(Headers_ABACUS)
300
-	$(COMPILE) -c $< -o $@
301
-
302
-###########################################
303
-# Fitting functions
304
-
305
-$(OBJDIR)covsrt.o : covsrt.cc $(Headers_ABACUS)
306
-	$(COMPILE) -c $< -o $@
307
-
308
-$(OBJDIR)lin_reg.o : lin_reg.cc $(Headers_ABACUS)
309
-	$(COMPILE) -c $< -o $@
310
-
311
-$(OBJDIR)mrq.o : mrq.cc $(Headers_ABACUS)
312
-	$(COMPILE) -c $< -o $@
313
-
314
-$(OBJDIR)polint.o : polint.cc $(Headers_ABACUS)
315
-	$(COMPILE) -c $< -o $@
316
-
317
-$(OBJDIR)polint_cx.o : polint_cx.cc $(Headers_ABACUS)
318
-	$(COMPILE) -c $< -o $@
319
-
320
-
321
-###########################################
322
-# Matrix functions
323
-
324
-$(OBJDIR)balanc.o : balanc.cc $(Headers_ABACUS)
325
-	$(COMPILE) -c $< -o $@
326
-
327
-$(OBJDIR)det_LU.o : det_LU.cc $(Headers_ABACUS)
328
-	$(COMPILE) -c $< -o $@
329
-
330
-$(OBJDIR)det_LU_CX.o : det_LU_CX.cc $(Headers_ABACUS)
331
-	$(COMPILE) -c $< -o $@
332
-
333
-$(OBJDIR)eigsrt.o : eigsrt.cc $(Headers_ABACUS)
334
-	$(COMPILE) -c $< -o $@
335
-
336
-$(OBJDIR)elmhes.o : elmhes.cc $(Headers_ABACUS)
337
-	$(COMPILE) -c $< -o $@
338
-
339
-$(OBJDIR)gaussj.o : gaussj.cc $(Headers_ABACUS)
340
-	$(COMPILE) -c $< -o $@
341
-
342
-$(OBJDIR)hqr.o : hqr.cc $(Headers_ABACUS)
343
-	$(COMPILE) -c $< -o $@
344
-
345
-$(OBJDIR)jacobi.o : jacobi.cc $(Headers_ABACUS)
346
-	$(COMPILE) -c $< -o $@
347
-
348
-$(OBJDIR)lndet_LU.o : lndet_LU.cc $(Headers_ABACUS)
349
-	$(COMPILE) -c $< -o $@
350
-
351
-$(OBJDIR)lndet_LU_CX.o : lndet_LU_CX.cc $(Headers_ABACUS)
352
-	$(COMPILE) -c $< -o $@
353
-
354
-$(OBJDIR)lndet_LU_dstry.o : lndet_LU_dstry.cc $(Headers_ABACUS)
355
-	$(COMPILE) -c $< -o $@
356
-
357
-$(OBJDIR)lndet_LU_CX_dstry.o : lndet_LU_CX_dstry.cc $(Headers_ABACUS)
358
-	$(COMPILE) -c $< -o $@
359
-
360
-$(OBJDIR)lubksb.o : lubksb.cc $(Headers_ABACUS)
361
-	$(COMPILE) -c $< -o $@
362
-
363
-$(OBJDIR)lubksb_CX.o : lubksb_CX.cc $(Headers_ABACUS)
364
-	$(COMPILE) -c $< -o $@
365
-
366
-$(OBJDIR)ludcmp.o : ludcmp.cc $(Headers_ABACUS)
367
-	$(COMPILE) -c $< -o $@
368
-
369
-$(OBJDIR)ludcmp_CX.o : ludcmp_CX.cc $(Headers_ABACUS)
370
-	$(COMPILE) -c $< -o $@
371
-
372
-$(OBJDIR)pythag.o : pythag.cc $(Headers_ABACUS)
373
-	$(COMPILE) -c $< -o $@
374
-
375
-$(OBJDIR)tqli.o : tqli.cc $(Headers_ABACUS)
376
-	$(COMPILE) -c $< -o $@
377
-
378
-$(OBJDIR)tred2.o : tred2.cc $(Headers_ABACUS)
379
-	$(COMPILE) -c $< -o $@
380
-
381
-
382
-###########################################
383
-# NRG
384
-
385
-$(OBJDIR)NRG_K_Weight_integrand.o : NRG_K_Weight_integrand.cc $(Headers_all)
386
-	$(COMPILE) -c $< -o $@
387
-
388
-$(OBJDIR)NRG_State_Selector.o : NRG_State_Selector.cc $(Headers_all)
389
-	$(COMPILE) -c $< -o $@
390
-
391
-$(OBJDIR)NRG_DME_Matrix_Block_builder.o : NRG_DME_Matrix_Block_builder.cc $(Headers_all)
392
-	$(COMPILE) -c $< -o $@
393
-
394
-
395
-###########################################
396
-# Scan
397
-
398
-#$(OBJDIR)Base.o : Base.cc $(Headers_all)
399
-#	$(COMPILE) -c $< -o $@
400
-
401
-$(OBJDIR)Descendents.o : Descendents.cc $(Headers_all)
402
-	$(COMPILE) -c $< -o $@
403
-
404
-$(OBJDIR)General_Scan.o : General_Scan.cc $(Headers_all)
405
-	$(COMPILE) -c $< -o $@
406
-
407
-$(OBJDIR)General_Scan_Parallel.o : General_Scan_Parallel.cc $(Headers_all)
408
-	$(COMPILE) -c $< -o $@
409
-
410
-$(OBJDIR)Particle_Hole_Excitation_Cost.o : Particle_Hole_Excitation_Cost.cc $(Headers_all)
411
-	$(COMPILE) -c $< -o $@
412
-
413
-$(OBJDIR)Scan_Info.o : Scan_Info.cc $(Headers_all)
414
-	$(COMPILE) -c $< -o $@
415
-
416
-$(OBJDIR)Scan_Thread_Data.o : Scan_Thread_Data.cc $(Headers_all)
417
-	$(COMPILE) -c $< -o $@
418
-
419
-###########################################
420
-# Thermodynamic Bethe Ansatz
421
-
422
-$(OBJDIR)Root_Density.o : Root_Density.cc $(Headers_ABACUS) ABACUS_TBA.h
423
-	$(COMPILE) -c $< -o $@
424
-
425
-$(OBJDIR)TBA_LiebLin.o : TBA_LiebLin.cc $(Headers_ABACUS) ABACUS_TBA.h
426
-	$(COMPILE) -c $< -o $@
427
-
428
-$(OBJDIR)TBA_XXZ.o : TBA_XXZ.cc $(Headers_ABACUS) ABACUS_TBA.h
429
-	$(COMPILE) -c $< -o $@
430
-
431
-$(OBJDIR)TBA_2CBG.o : TBA_2CBG.cc $(Headers_ABACUS) ABACUS_TBA.h
432
-	$(COMPILE) -c $< -o $@
433
-
434
-###########################################
435
-# Utilities
436
-
437
-$(OBJDIR)Data_File_Name.o : Data_File_Name.cc $(Headers_all)
438
-	$(COMPILE) -c $< -o $@
439
-
440
-$(OBJDIR)Filter_RAW_File_for_iK.o : Filter_RAW_File_for_iK.cc $(Headers_all)
441
-	$(COMPILE) -c $< -o $@
442
-
443
-$(OBJDIR)K_and_Omega_Files.o : K_and_Omega_Files.cc $(Headers_all)
444
-	$(COMPILE) -c $< -o $@
445
-
446
-$(OBJDIR)Smoothen_RAW_into_SF.o : Smoothen_RAW_into_SF.cc $(Headers_all)
447
-	$(COMPILE) -c $< -o $@
448
-
449
-$(OBJDIR)Smoothen_RAW_into_SF_LiebLin_Scaled.o : Smoothen_RAW_into_SF_LiebLin_Scaled.cc $(Headers_all)
450
-	$(COMPILE) -c $< -o $@
451
-
452
-$(OBJDIR)Sort_RAW_File.o : Sort_RAW_File.cc $(Headers_all)
453
-	$(COMPILE) -c $< -o $@
454
-
455
-$(OBJDIR)State_Label.o : State_Label.cc $(Headers_all)
456
-	$(COMPILE) -c $< -o $@
457
-
458
-###########################################
459
-# XXX_VOA
460
-
461
-$(OBJDIR)XXX_VOA.o : XXX_VOA.cc $(Headers_all) ABACUS_XXX_VOA.h
462
-	$(COMPILE) -c $< -o $@
463
-
464
-###########################################
465
-# XXZ_VOA
466
-
467
-$(OBJDIR)XXZ_VOA.o : XXZ_VOA.cc $(Headers_all) ABACUS_XXZ_VOA.h
468
-	$(COMPILE) -c $< -o $@
469
-
470
-###########################################
471
-# Young Tableaux
472
-
473
-$(OBJDIR)Young_Tableau.o : Young_Tableau.cc $(Headers_all)
474
-	$(COMPILE) -c $< -o $@
475
-
476
-
477
-###########################################
478
-# Executables (parallel versions)
479
-
480
-parallel :
481
-#	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_par.cc -o $(BINDIR)LiebLin_DSF_par -l$(VERSION)
482
-	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_par_Prepare.cc -o $(BINDIR)LiebLin_DSF_par_Prepare -l$(VERSION)
483
-	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_par_Run.cc -o $(BINDIR)LiebLin_DSF_par_Run -l$(VERSION)
484
-	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_par_Wrapup.cc -o $(BINDIR)LiebLin_DSF_par_Wrapup -l$(VERSION)
485
-	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_GeneralState_par_Prepare.cc -o $(BINDIR)LiebLin_DSF_GeneralState_par_Prepare -l$(VERSION)
486
-	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_GeneralState_par_Run.cc -o $(BINDIR)LiebLin_DSF_GeneralState_par_Run -l$(VERSION)
487
-	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_GeneralState_par_Wrapup.cc -o $(BINDIR)LiebLin_DSF_GeneralState_par_Wrapup -l$(VERSION)
488
-#	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_MosesState_par.cc -o $(BINDIR)LiebLin_DSF_MosesState_par -l$(VERSION)
489
-#	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_MosesState_par_Prepare.cc -o $(BINDIR)LiebLin_DSF_MosesState_par_Prepare -l$(VERSION)
490
-#	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_MosesState_par_Run.cc -o $(BINDIR)LiebLin_DSF_MosesState_par_Run -l$(VERSION)
491
-#	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_MosesState_par_Wrapup.cc -o $(BINDIR)LiebLin_DSF_MosesState_par_Wrapup -l$(VERSION)
492
-#	$(COMPILE_MPI) $(EXECSDIR)LiebLin_DSF_over_Ensemble_par.cc -o $(BINDIR)LiebLin_DSF_over_Ensemble_par -l$(VERSION)
493
-#	$(COMPILE_MPI) $(EXECSDIR)Heis_DSF_par.cc -o $(BINDIR)Heis_DSF_par -l$(VERSION)
494
-	$(COMPILE_MPI) $(EXECSDIR)Heis_DSF_par_Prepare.cc -o $(BINDIR)Heis_DSF_par_Prepare -l$(VERSION)
495
-	$(COMPILE_MPI) $(EXECSDIR)Heis_DSF_par_Run.cc -o $(BINDIR)Heis_DSF_par_Run -l$(VERSION)
496
-	$(COMPILE_MPI) $(EXECSDIR)Heis_DSF_par_Wrapup.cc -o $(BINDIR)Heis_DSF_par_Wrapup -l$(VERSION)
77
+# Create the ABACUS library
78
+lib$(VERSION).a : $(OBJECTS)
79
+	ar -cr lib$(VERSION).a $(OBJECTS)
80
+	mv lib$(VERSION).a $(LIB_DIR)/
497 81
 
498 82
 
499 83
 ###########################################
@@ -501,9 +85,9 @@ parallel :
501 85
 
502 86
 .PHONY: clean
503 87
 clean :
504
-	/bin/rm -f $(Objects_ALL)
505
-	/bin/rm -f $(LIBDIR)$(VERSION)
506
-	/bin/rm -f $(EXECS)
88
+	/bin/rm -f $(OBJECTS)
89
+	/bin/rm -f $(LIB_DIR)/lib$(VERSION).a
90
+	/bin/rm -f $(EXECUTABLES)
507 91
 
508 92
 
509 93
 ###########################################

src/BETHE/Base.cc → dev/BETHE/Base.cc View File


src/BETHE/Bethe_State.cc → dev/BETHE/Bethe_State.cc View File


src/BETHE/Offsets.cc → dev/BETHE/Offsets.cc View File


src/ODSLF/ODSLF.cc → dev/ODSLF/ODSLF.cc View File


src/ODSLF/ODSLF_Chem_Pot.cc → dev/ODSLF/ODSLF_Chem_Pot.cc View File


src/EXECS/ODSLF_DSF.cc → dev/ODSLF/ODSLF_DSF.cc View File


src/ODSLF/ODSLF_Matrix_Element_Contrib.cc → dev/ODSLF/ODSLF_Matrix_Element_Contrib.cc View File


src/ODSLF/ODSLF_Sumrules.cc → dev/ODSLF/ODSLF_Sumrules.cc View File


src/ODSLF/ODSLF_XXZ_Bethe_State.cc → dev/ODSLF/ODSLF_XXZ_Bethe_State.cc View File


src/EXECS/Smoothen_ODSLF_DSF.cc → dev/ODSLF/Smoothen_ODSLF_DSF.cc View File


src/ODSLF/ln_Smin_ME_ODSLF_XXZ.cc → dev/ODSLF/ln_Smin_ME_ODSLF_XXZ.cc View File


src/ODSLF/ln_Sz_ME_ODSLF_XXZ.cc → dev/ODSLF/ln_Sz_ME_ODSLF_XXZ.cc View File


+ 0
- 0
src/EXECS/2CBG_ThLim.cc View File


+ 0
- 0
src/EXECS/LiebLin_TBA.cc View File


+ 0
- 0
src/EXECS/LiebLin_TBA_fixed_nbar.cc View File


+ 0
- 0
src/EXECS/LiebLin_TBA_fixed_nbar_ebar.cc View File


+ 2
- 2
src/XXX_VOA/XXX_h0_v2.cc View File

@@ -170,8 +170,8 @@ namespace ABACUS {
170 170
 
171 171
     DP omegamax = 2.0 * PI;
172 172
 
173
-    Heis_Write_K_File (Npts_p);
174
-    Heis_Write_w_File (Npts_o, omegamax);
173
+    Write_K_File (Npts_p, 0, Npts_p);
174
+    Write_Omega_File (Npts_o, 0.0, omegamax);
175 175
 
176 176
     int ik;
177 177
     DP omega;

Loading…
Cancel
Save