PREFIX=../..
include $(PREFIX)/Common/common-rules.mk

OBJS = print_error.o reciprocal_lattice.o read_abi.o abi2bgw.o read_eqp.o

# object files from Common directory
COMMONOBJS = $(COMMON)/wfn_rho_vxc_io.o $(COMMON)/sort.o \
$(COMMON)/check_inversion.o  $(COMMON)/fftw.o \
$(COMMON)/fft_parallel.o $(COMMON)/misc.o \
$(COMMON)/periodic_table.o

default: abi2bgw.x check_eig.x getbox.x eqp_convert.x pythons
all: default

abi2bgw.x: $(GLOBALOBJS) abi2bgw_main.o $(COMMONOBJS) $(OBJS)
	$(LINK) $(FOPTS) -o $@ $^ $(LAPACKLIB) $(FFTWLIB)
	$(INSTALL_CMD)

check_eig.x: $(GLOBALOBJS) check_eig.o $(COMMONOBJS) $(OBJS)
	$(LINK) $(FOPTS) -o $@ $^ $(LAPACKLIB) $(FFTWLIB)

getbox.x: $(GLOBALOBJS) getbox.o $(COMMONOBJS) $(OBJS)
	$(LINK) $(FOPTS) -o $@ $^ $(LAPACKLIB) $(FFTWLIB)

eqp_convert.x: $(GLOBALOBJS) eqp_convert.o $(COMMONOBJS) $(OBJS)
	$(LINK) $(FOPTS) -o $@ $^ $(LAPACKLIB) $(FFTWLIB)

PYTHONS = abi2bgw_nc_h5.py
pythons: $(addprefix $(PREFIX)/bin/,$(PYTHONS))

$(PREFIX)/bin/%.py: %.py
	ln -sf $(PWD)/$^ $(PREFIX)/bin

# dependencies
$(OBJS) : $(GLOBALMODS)
abi2bgw_main.o: abi2bgw_m.mod read_abi_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/fftw_m.mod
check_eig.o: abi2bgw_m.mod read_abi_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod
getbox.o: abi2bgw_m.mod read_abi_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/fftw_m.mod
eqp_convert.o: abi2bgw_m.mod read_abi_m.mod  read_eqp_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/fftw_m.mod
abi2bgw_m.mod abi2bgw.o: read_abi_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/misc_m.mod
read_abi_m.mod read_abi.o: $(GLOBALMODS)
read_eqp_m.mod read_eqp.o: $(GLOBALMODS) 
reciprocal_lattice.o: $(COMMON)/misc_m.mod
