@@ -8,44 +8,43 @@ SHELL = /bin/bash
88
99# enumlib library paths
1010LBD1 = ../symlib/src
11- LBD2 = ../polya/fortran
1211
1312FOUND = false
1413ifeq (${F90},gfortran) # gfortran compiler
1514 ifeq (${DEBUG},false)
16- FFLAGS = -O3 -ffree-line-length-none -fno-underscoring -I${LBD1} -I${LBD2}
15+ FFLAGS = -O3 -ffree-line-length-none -fno-underscoring -I${LBD1}
1716 FOUND = true
1817 else
19- FFLAGS = -fPIC -g -fbounds-check -Wall -ffree-line-length-none -fno-underscoring -I${LBD1} -I${LBD2}
18+ FFLAGS = -fPIC -g -fbounds-check -Wall -ffree-line-length-none -fno-underscoring -I${LBD1}
2019 FOUND = true
2120 endif
2221endif
2322
2423ifeq (${F90},ifc) # Intel compiler
25- FFLAGS = -fPIC -g -error-limit 7 -traceback -check bounds -warn -I${LBD1} -I${LBD2}
24+ FFLAGS = -fPIC -g -error-limit 7 -traceback -check bounds -warn -I${LBD1}
2625 FOUND = true
2726endif
2827
2928ifeq (${F90},ifort) # Intel compiler
3029 ifeq (${DEBUG},false)
31- FFLAGS = -fPIC -O3 -I${LBD1} -I${LBD2}
30+ FFLAGS = -fPIC -O3 -I${LBD1}
3231 FOUND = true
3332 else
3433# F90 = /opt/intel/fc/10.0.016/bin/ifort
35- FFLAGS = -fPIC -g -debug -error-limit 7 -heap-arrays -traceback -check bounds -warn -I${LBD1} -I${LBD2}
34+ FFLAGS = -fPIC -g -debug -error-limit 7 -heap-arrays -traceback -check bounds -warn -I${LBD1}
3635 FOUND = true
3736# -prof-use -prof-dir .
3837 endif
3938endif
4039
4140
4241ifeq (${F90},xlf90) # IBM compiler
43- FFLAGS = -g -C -fPIC -qsuffix=f=f90 -I${LBD1} -I${LBD2}
42+ FFLAGS = -g -C -fPIC -qsuffix=f=f90 -I${LBD1}
4443 FOUND = true
4544endif
4645ifeq (${F90},f95) # Absoft PPC compiler
4746# FFLAGS = -profile -p ${LBDR}
48- FFLAGS = -g -Rb -Rc -fPIC -nodefaultmod -p ${LBD1} -I${LBD2} # -ea
47+ FFLAGS = -g -Rb -Rc -fPIC -nodefaultmod -p ${LBD1} # -ea
4948# B80 show entry in subprograms ; Rb bounds; Rc array conformance;
5049# z2 warning level
5150# -O3 optimization
@@ -67,58 +66,56 @@ endif
6766
6867SRC = sorting.f90 enumeration_types.f90 io_utils.f90 arrow_related.f90 tree_class.f90 \
6968 labeling_related.f90 \
70- derivative_structure_generator.f90 enumeration_utilities.f90 # \
71- #kgrid_utilities.f90 cwrapper.f90
69+ derivative_structure_generator.f90 enumeration_utilities.f90
7270
73- OBJS = ${SRC:.f90=.o}
71+ OBJS = ${SRC:.f90=.o}
7472LIBS = $(LBD1 ) /libcomparestructs.a $(LBD1 ) /libutils.a $(LBD1 ) /libsym.a \
75- $(LBD1 ) /librational.a $(LBD1 ) /libcombinatorics.a $( LBD2 ) /libpolya.a
73+ $(LBD1 ) /librational.a $(LBD1 ) /libcombinatorics.a
7674VPATH: = ../aux_src: ../src
7775
7876.SUFFIXES :
7977.SUFFIXES : .f .f90 .f95 .o
8078
79+ pre_comp :
80+ +$(MAKE ) -C ../symlib/src
8181
8282libenum.a : ${OBJS}
8383 ar ru $@ $?
8484 ranlib $@
8585
8686all : libenum.a enum.x find_structure_in_list.x 2Dplot.x makestr.x compare_enum_files.x polya.x
8787
88- enum.x : ${OBJS} driver.o
88+ enum.x : pre_comp ${OBJS} driver.o
8989 ${F90} ${LDFLAGS} -o $@ ${OBJS} driver.o ${LIBS}
9090
91- polya.x : ${OBJS} driver_polya.o
91+ polya.x : pre_comp ${OBJS} driver_polya.o
9292 ${F90} ${LDFLAGS} -o $@ ${OBJS} driver_polya.o ${LIBS}
9393
9494# HNF_counter.x: ${OBJS} HNF_counter.o
9595# ${F90} ${LDFLAGS} -o $@ kgrid_utilities.o HNF_counter.o libenum.a ${#LIBS}
9696
97- 2Dplot.x : make2Dplot.o splot.o
97+ 2Dplot.x : pre_comp make2Dplot.o splot.o
9898 ${F90} ${LDFLAGS} -o $@ splot.o make2Dplot.o ${LIBS}
9999
100- makestr.x : makeStr.o
100+ makestr.x : pre_comp libenum.a makeStr.o
101101 ${F90} ${LDFLAGS} -o $@ makeStr.o libenum.a ${LIBS}
102102
103- find_structure_in_list.x : ${OBJS} find_structure_in_list.o
103+ find_structure_in_list.x : pre_comp ${OBJS} find_structure_in_list.o
104104 ${F90} ${LDFLAGS} -o $@ enumeration_utilities.o find_structure_in_list.o libenum.a ${LIBS}
105105
106- convert_structures_to_enumformat.x : ${OBJS} convert_structures_to_enumformat.o
107- ${F90} ${LDFLAGS} -o $@ enumeration_utilities.o convert_structures_to_enumformat.o libenum.a ${LIBS}
106+ convert_structures_to_enumformat.x : pre_comp ${OBJS} convert_structures_to_enumformat.o
107+ ${F90} ${LDFLAGS} -o $@ convert_structures_to_enumformat.o libenum.a ${LIBS}
108108
109- makestr.2d : makeStr2d.o
109+ makestr.2d : pre_comp makeStr2d.o
110110 ${F90} ${LDFLAGS} -o $@ makeStr2d.o libenum.a ${LIBS}
111111
112- makeperovstr.x : makePerovStr.o
113- ${F90} ${LDFLAGS} -o $@ makePerovStr.o ${LIBS}
112+ makeperovstr.x : pre_comp cwrapper.o makePerovStr.o
113+ ${F90} ${LDFLAGS} -o $@ cwrapper.o makePerovStr.o ${LIBS}
114114
115- makestructin .x : makeStrIn .o
116- ${F90} ${LDFLAGS} -o $@ makeStrIn .o libenum.a ${LIBS}
115+ randReduceTest .x : pre_comp cwrapper.o random_lattice_driver .o
116+ ${F90} ${LDFLAGS} -o $@ cwrapper.o random_lattice_driver .o libenum.a ${LIBS}
117117
118- randReduceTest.x : random_lattice_driver.o
119- ${F90} ${LDFLAGS} -o $@ random_lattice_driver.o libenum.a ${LIBS}
120-
121- compare_enum_files.x : compare_two_enum_files.o
118+ compare_enum_files.x : pre_comp compare_two_enum_files.o
122119 ${F90} ${LDFLAGS} -o $@ compare_two_enum_files.o libenum.a ${LIBS}
123120
124121.f95.o :
@@ -131,8 +128,10 @@ compare_enum_files.x: compare_two_enum_files.o
131128
132129
133130CLEAN = *.o *.mod *.a *.x svn-commit.*
134- clean :
131+ clean :
132+ +$(MAKE ) clean -C ../symlib/src
135133 rm -f ${CLEAN}
136134clobber :
135+ +$(MAKE ) clobber -C ../symlib/src
137136 rm -f ${CLEAN} * ~ \# *
138137 make
0 commit comments