#DEBUG   = -nbs -C -d2
#FFLAGC  = -g -Rb -Rc -Rs
#FFLAGC  = -g -Rb -Rc -W80
#FFLAGC  = -g -m64
#FFLAGC  = -O
opt     = 
#profile = -stack:fa00000
obj     = tetr
obj1    = get_forces
obj2    = move
ildir   =  
#LIBS    = -L/Applications/Absoft15.0/lib64/ -lU77
input   = 

CFLAGC  = 

#FCOMPL  = af90  $(DEBUG) 
#FCOMPL  = af77  $(DEBUG) 
#FCOMPL  = ifort -Vaxlib $(DEBUG) 
#FCOMPL  = ifc -Vaxlib $(DEBUG) 
FCOMPL  = gfortran
CCOMPL  = 
# list of other directories for source files
.PREFIXES: .

.SUFFIXES:
.SUFFIXES: .f90 .c .s .o .fil

.f90.o:
	$(FCOMPL) -c $(ildir) $(FFLAGC) $(opt) $(profile) $<

OBJECTS = tetr_param.o cp2k.o sym_par.o bb.o  real8.o space.o working.o whereis.o vk_vibr.o tetrag1.o lattice_scale.o \
     systema.o symgenv.o siesta.o reference.o qe.o pgroup_base.o pgroup.o mendeleev.o \
     matrix.o lists.o buffer.o buffer0.o buffer1.o buffer_c.o buffer_index.o \
     atom_info.o afm.o \
    main.o applica.o lattice.o point_gr.o coulomb.o add_rem.o wyckoff_int.o kpoint_vibr.o\
    mol_vibr.o eig_vibr.o input_tetr.o move_atoms.o get_best_ai.o change.o change_tools.o make_fcm.o\
    tools.o tools_strings.o cluster.o permut.o orbita.o do_vibr.o do_cond.o do_irrep.o ttag.o \
     solve_vibr.o devices.o crystal_vibr.o hat.o lattice_space.o build_spacegroup.o bsse.o move_tip.o\
     rotations.o eff_atom.o eff_atom_one.o
OBJECTS1 = get_forces.o
OBJECTS2 = move.o

INLINE  = 

APPLIC: $(INLINE) $(OBJECTS)  $(OBJECTS1)  $(OBJECTS2)  $(OBJECTS3)
	$(FCOMPL) $(FFLAGC) $(profile) -o $(obj)  $(OBJECTS)  $(LIBS)
	$(FCOMPL) $(FFLAGC) $(profile) -o $(obj1)  $(OBJECTS1)  $(LIBS)
	$(FCOMPL) $(FFLAGC) $(profile) -o $(obj2)  $(OBJECTS2)  $(LIBS)

test:
	@echo START TEST ON $(input) , opt = $(opt)
	@echo start test on $(input) , opt = $(opt) >> TIME.LOG
	@date >> TIME.LOG
	@( time $(obj) < $(input) > $(input).out ) 2>> TIME.LOG
	@echo - - - - - - - - - - - >> TIME.LOG

clean:
	@rm -f $(INLINE) $(OBJECTS) $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) *.mod

# include file dependencies

add_rem.o applica.o bsse.o build_spacegroup.o change.o change_tools.o cluster.o\
coulomb.o crystal_vibr.o devices.o do_cond.o do_irrep.o do_vibr.o eig_vibr.o get_best_ai.o\
input_tetr.o kpoint_vibr.o lattice.o lattice_space.o make_fcm.o mol_vibr.o move_atoms.o \
move_tip.o orbita.o permut.o point_gr.o rotations.o solve_vibr.o main.o tools.o\
ttag.o wyckoff_int.o : real8.f90 tetr_param.f90 sym_par.f90 

do_irrep.o mol_vibr.o eig_vibr.o solve_vibr.o make_fcm.o lattice_space.o \
crystal_vibr.o kpoint_vibr.o : working.f90

build_spacegroup.o do_irrep.o eig_vibr.o hat.o lattice_space.o mol_vibr.o tools_strings.o : whereis.f90

eig_vibr.o kpoint_vibr.o make_fcm.o : matrix.f90 

kpoint_vibr.o eig_vibr.o : vk_vibr.f90

get_forces.o : tetr_param.f90 

cluster.o change.o move_tip.o make_fcm.o : lists.f90

move_tip.o : afm.f90

make_fcm.o ttag.o : atom_info.f90

build_spacegroup.o lattice_space.o point_gr.o main.o : pgroup_base.f90 

applica.o build_spacegroup.o change.o change_tools.o devices.o crystal_vibr.o do_irrep.o \
do_vibr.o kpoint_vibr.o eig_vibr.o lattice.o lattice_space.o make_fcm.o mol_vibr.o permut.o \
move_atoms.o orbita.o point_gr.o solve_vibr.o wyckoff_int.o : pgroup.f90 

crystal_vibr.o do_cond.o do_irrep.o do_vibr.o eig_vibr.o kpoint_vibr.o lattice_space.o \
make_fcm.o mol_vibr.o orbita.o permut.o solve_vibr.o : symgenv.f90

applica.o input_tetr.o main.o bsse.o : siesta.f90

applica.o input_tetr.o : qe.f90

applica.o input_tetr.o mol_vibr.o main.o devices.o : mendeleev.f90

add_rem.o applica.o bsse.o build_spacegroup.o change.o change_tools.o cluster.o coulomb.o\
crystal_vibr.o devices.o do_irrep.o eig_vibr.o input_tetr.o kpoint_vibr.o lattice.o lattice_space.o \
make_fcm.o  mol_vibr.o move_atoms.o move_tip.o point_gr.o main.o : tetrag1.f90 

crystal_vibr.o devices.o do_irrep.o eig_vibr.o kpoint_vibr.o make_fcm.o  mol_vibr.o orbita.o \
main.o : systema.f90 lattice_scale.f90

hat.o : build.hat

eig_vibr.o kpoint_vibr.o orbita.o : space.f90

change.o change_tools.o : buffer_index.f90
change.o change_tools.o cluster.o crystal_vibr.o kpoint_vibr.o lattice_space.o move_atoms.o main.o : buffer.f90
change.o change_tools.o crystal_vibr.o eig_vibr.o kpoint_vibr.o lattice_space.o make_fcm.o \
move_atoms.o bsse.o : buffer0.f90
change.o change_tools.o cluster.o lattice_space.o : buffer1.f90
cluster.o : buffer_c.f90

real8.o : tetr_param.f90 sym_par.f90
tetrag1.o : space.f90
pgroup.o : pgroup_base.f90
bsse.o inpnut_tetr.o applica.o change.o change_tools.o : cp2k.f90

cluster.o make_fcm.o move_tip.o ttag.o change.o tools.o : bb.f90 
eff_atom.o : real8.f90 tetrag1.f90

eff_atom_one.o : real8.f90 tetrag1.f90
