2020-04-26 03:13:15 +08:00
|
|
|
# Makefile for upflib
|
|
|
|
|
|
|
|
include ../make.inc
|
|
|
|
|
2023-12-15 19:36:39 +08:00
|
|
|
MODFLAGS= $(MOD_FLAG)../UtilXlib $(MOD_FLAG).
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2021-09-25 04:13:05 +08:00
|
|
|
# list of modules:
|
|
|
|
# OBJS_NODEP do not depend upon any external modules
|
|
|
|
# OBJS_DEP depend upon modules in UtilXlib/
|
2023-12-15 19:36:39 +08:00
|
|
|
# OBJS_GPU are GPU-specific
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2021-09-25 04:13:05 +08:00
|
|
|
OBJS_DEP= \
|
2023-09-10 16:36:47 +08:00
|
|
|
vloc_mod.o \
|
2023-10-07 16:18:17 +08:00
|
|
|
rhoc_mod.o \
|
2023-10-12 05:01:08 +08:00
|
|
|
rhoat_mod.o \
|
2023-10-24 17:11:05 +08:00
|
|
|
qrad_mod.o \
|
|
|
|
qvan2.o \
|
|
|
|
dqvan2.o \
|
2021-12-30 05:05:39 +08:00
|
|
|
gen_us_dj.o \
|
|
|
|
gen_us_dy.o \
|
2021-01-16 06:41:27 +08:00
|
|
|
init_us_0.o \
|
|
|
|
init_us_b0.o \
|
2021-01-16 08:07:21 +08:00
|
|
|
init_us_1.o \
|
2023-12-16 18:16:33 +08:00
|
|
|
init_us_2_acc.o \
|
2021-04-15 15:40:53 +08:00
|
|
|
init_tab_atwfc.o \
|
2023-10-24 17:11:05 +08:00
|
|
|
init_tab_beta.o
|
2021-09-25 04:13:05 +08:00
|
|
|
|
|
|
|
OBJS_NODEP= \
|
|
|
|
atom.o \
|
|
|
|
atomic_number.o \
|
|
|
|
dylmr2.o \
|
|
|
|
gth.o \
|
2021-04-15 15:40:53 +08:00
|
|
|
interp_atwfc.o \
|
2021-01-16 08:07:21 +08:00
|
|
|
paw_variables.o \
|
2020-04-26 03:13:15 +08:00
|
|
|
pseudo_types.o \
|
|
|
|
radial_grids.o \
|
|
|
|
read_cpmd.o \
|
|
|
|
read_fhi.o \
|
|
|
|
read_ncpp.o \
|
2021-03-04 05:12:24 +08:00
|
|
|
read_ps.o \
|
2023-04-14 00:11:50 +08:00
|
|
|
read_psml.o \
|
2020-06-03 18:54:30 +08:00
|
|
|
read_upf_new.o \
|
2020-04-26 03:13:15 +08:00
|
|
|
read_upf_v1.o \
|
|
|
|
read_uspp.o \
|
2021-04-03 23:25:15 +08:00
|
|
|
spinor.o \
|
|
|
|
sph_ind.o \
|
2021-04-03 23:51:18 +08:00
|
|
|
sph_bes.o \
|
2020-04-26 03:13:15 +08:00
|
|
|
splinelib.o \
|
|
|
|
simpsn.o \
|
|
|
|
upf_auxtools.o \
|
|
|
|
upf_const.o \
|
|
|
|
upf_error.o \
|
|
|
|
upf_invmat.o \
|
|
|
|
upf_io.o \
|
2021-01-16 08:07:21 +08:00
|
|
|
upf_ions.o \
|
2020-04-26 03:13:15 +08:00
|
|
|
upf_kinds.o \
|
|
|
|
upf_params.o \
|
|
|
|
upf_parallel_include.o \
|
2021-01-16 08:07:21 +08:00
|
|
|
upf_spinorb.o \
|
2020-04-26 03:13:15 +08:00
|
|
|
upf_to_internal.o \
|
2021-01-16 08:07:21 +08:00
|
|
|
upf_utils.o \
|
2020-04-26 03:13:15 +08:00
|
|
|
uspp.o \
|
2021-01-16 06:41:27 +08:00
|
|
|
uspp_data.o \
|
2021-12-30 22:10:13 +08:00
|
|
|
uspp_param.o \
|
2020-06-03 18:54:30 +08:00
|
|
|
write_upf_new.o \
|
2020-11-22 19:59:30 +08:00
|
|
|
xmltools.o \
|
|
|
|
ylmr2.o
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2021-01-29 23:59:09 +08:00
|
|
|
# GPU versions of routines
|
2021-09-25 04:13:05 +08:00
|
|
|
OBJS_GPU= \
|
2021-05-02 15:20:21 +08:00
|
|
|
dylmr2_gpu.o \
|
2023-06-07 20:23:20 +08:00
|
|
|
ylmr2_gpu.o
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2022-01-05 22:33:44 +08:00
|
|
|
OBJS_NODEP+= dom.o wxml.o
|
|
|
|
|
2021-06-17 00:36:13 +08:00
|
|
|
all : libupf.a virtual_v2.x upfconv.x casino2upf.x
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2021-09-25 04:13:05 +08:00
|
|
|
libupf.a: $(OBJS_DEP) $(OBJS_NODEP) $(OBJS_GPU)
|
2020-04-26 03:13:15 +08:00
|
|
|
$(AR) $(ARFLAGS) $@ $?
|
|
|
|
$(RANLIB) $@
|
|
|
|
|
2021-09-25 04:13:05 +08:00
|
|
|
# The following utilities are linked with $(OBJS_NODEP) instead of libupf.a
|
|
|
|
# because the latter has external dependencies that produce "missing symbols"
|
|
|
|
# errors for some linkers that try to resolve symbols even if never used
|
|
|
|
|
|
|
|
virtual_v2.x : virtual_v2.o $(OBJS_NODEP)
|
|
|
|
$(LD) $(LDFLAGS) -o $@ virtual_v2.o $(OBJS_NODEP) $(LAPACK_LIBS) $(BLAS_LIBS)
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2021-09-25 04:13:05 +08:00
|
|
|
casino2upf.x : casino2upf.o casino_pp.o $(OBJS_NODEP)
|
|
|
|
$(LD) $(LDFLAGS) -o $@ casino2upf.o casino_pp.o $(OBJS_NODEP) $(LAPACK_LIBS) $(BLAS_LIBS)
|
|
|
|
upfconv.x : upfconv.o casino_pp.o $(OBJS_NODEP)
|
|
|
|
$(LD) $(LDFLAGS) -o $@ upfconv.o casino_pp.o $(OBJS_NODEP) $(LAPACK_LIBS) $(BLAS_LIBS)
|
2020-04-26 03:13:15 +08:00
|
|
|
|
|
|
|
clean :
|
|
|
|
- /bin/rm -f *.o *.a *.d *.i *~ *_tmp.f90 *.mod *.L
|
|
|
|
|
|
|
|
include make.depend
|
|
|
|
|