# Makefile for thermo_pw/qe

include ../../make.inc

# location of needed modules
MODFLAGS= $(BASEMOD_FLAGS)  \
          $(MOD_FLAG)../../PW/src \
          $(MOD_FLAG)../../dft-d3 \
          $(MOD_FLAG)../../LR_Modules \
          $(MOD_FLAG)../../PHonon/PH \
          $(MOD_FLAG)../lib \
          $(MOD_FLAG)../lapack \
          $(MOD_FLAG)../fftpack5.1 \
          $(MOD_FLAG).

MODULES = \
add_dkmds_tpw.o \
add_dvscf_rhs.o \
add_zstar_ue_tpw.o \
add_zstar_us.o \
adddvscf_tran.o \
addnlcc_zstar_eu_us_tpw.o \
addusdbec_tpw.o \
add_vuspsi_tpw.o \
add_vuspsi_gpu_tpw.o \
allocate_cg.o \
allocate_lanczos.o \
allocate_phq_tpw.o \
apply_ac.o \
apply_trev_r.o \
c_bands_many_k.o \
c_bands_tpw.o \
calc_chi.o \
cegterg_vk.o \
cegterg_vk_dev.o \
cg_psi_many_k.o \
cgsolve_all_many_k.o \
cgsolve_all_dev.o \
check_bands.o \
check_initial_geometry.o \
check_initial_status_tpw.o \
ch_psi_all_many_k.o \
ch_psi_all_dev.o \
clean_all_pw.o \
clean_pw_tpw.o \
collect_grid_files.o \
compute_dvloc_tpw.o \
compute_intq.o \
compute_deff_dev.o \
compute_drhous_tpw.o \
compute_drhous_nc_tpw.o \
compute_int3_coeff.o \
control_qe.o \
ccg_psi.o \
deallocate_ph_tpw.o \
dielec_tpw.o \
diago_dev.o \
divide_class.o \
divide_class_so.o \
do_cg_e.o \
do_cg_ph.o \
do_lanczos.o \
do_lanczos_psh.o \
drho_tpw.o \
dv_of_drho_clf.o \
dv_of_drho_tran.o \
dveqpsi_us.o \
dveqpsi_us_only.o \
dvkb3_tpw.o \
dvqpsi_us_tpw.o \
dvqpsi_us_only_tpw.o \
dvqpsi_us_many_k.o \
dvqpsi_dev.o \
dyndiag.o \
electrons_tpw.o \
ev_xml.o \
find_band_sym.o \
find_irrep_tpw.o \
find_info_group.o \
find_inverse_s.o \
find_mode_sym.o \
float_to_char.o \
g_psi_tpw.o \
g_psi_dev.o \
hdiag_dev.o \
h_pcg_step.o \
h_psi_dev.o \
h_psi_gpu_tpw.o \
h_psi_tpw.o \
incdrhoscf_dev.o \
initialize_ph_tpw.o \
init_representations_tpw.o \
init_run_tpw.o \
init_us_2_kernel.o \
irrek.o \
ke_g2kin_dev.o \
kpoint_grid.o \
kpoint_grid_serial_tpw.o \
lanczos_write_restart.o \
lr_dot_tpw.o \
lr_restart.o \
lr_sm1_psi_tpw.o \
lr_sym_mod_tpw.o \
lr_us.o  \
many_k.o \
many_k_ph.o \
manage_mixing.o \
mix_pot.o \
nh_lanczos_step.o \
non_scf_tpw.o \
openfilq_tpw.o \
orthogonalize_omega.o \
orthogonalize_tpw.o \
orthog_dev.o \
paw_add_onecenter.o \
paw_add_symmetry.o \
phq_init_tpw.o \
phq_readin_tpw.o \
phq_setup_tpw.o \
phq_summary_tpw.o \
pheqscf.o \
phescf_tpw.o \
phqscf_tpw.o \
polarizc.o \
prepare_q_tpw.o \
prepare_sym_analysis.o \
print_gpu_memory.o \
print_symmetries.o \
psh_lanczos_step.o \
q_points_tpw.o \
q2qstar_ph.o \
read_dyn_from_file.o \
read_lanczos_chain.o \
realspace_grid_init.o \
rotate_all_psi.o \
rotate_all_psi_r.o \
rotate_and_add_dyn.o \
rotate_charges.o \
run_nscf_tpw.o \
scal_prod.o \
select_c_bands.o \
set_defaults_pw.o \
set_fxc_tran.o \
set_int3q.o \
set_intq_nc.o \
set_irr_tpw.o \
set_irr_sym_tpw.o \
set_kplusq.o \
set_kplusq_nc.o \
set_kup_and_kdw.o \
setup_tpw.o \
solve_e_tpw.o \
solve_e_fpolc.o \
solve_eq.o \
solve_eq_tran.o \
solve_linter_tpw.o \
solve_linter_many_k.o \
solve_linear_system.o \
solve_linear_system_many_k.o \
s_psi_gpu_tpw.o \
s_psi_tpw.o \
s_psi_ch.o \
s_psi_ch_gpu.o \
star_q.o \
summarize_alpha.o \
sym_and_write_magnetic_charges.o \
sym_def.o \
symmetrize_drho.o \
transform_intq_nc.o \
transform_intq_so.o \
tra_write_zstar.o \
vloc_psi_tpw.o \
vloc_psi_gpu_tpw.o \
write_group_info_ph.o \
write_rec_tpw.o \
ylm2_dev.o \
ylmr2_dev.o \
zstar_eu_tpw.o \
zstar_eu_loc.o \
zstar_eu_us_tpw.o    

all : thermo_qe.a

thermo_qe.a: $(MODULES)
	$(AR) $(ARFLAGS) $@ $?       
	$(RANLIB) $@    

clean :
	- /bin/rm -f *.o *.a *.d *.i *~ *_tmp.f90 *.mod *.L 

veryclean: clean
	- /bin/rm -f ./make.depend 

include make.depend
