## Makefile (Filipe Ribeiro, Mar 2008)
##

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

##
## Common files
##

# object files from $(COMMON) directory
COMOBJ = fullbz.o check_inversion.o misc.o gmap.o write_program_header.o \
         fftw.o checkbz.o genwf.o random.o svninfo.o \
         sort.o wfn_rho_vxc_io.o blas.o input_utils.o splines.o
COMMONOBJS = $(addprefix $(COMMON)/,$(COMOBJ)) $(GLOBALOBJS)

SRC = distrib.f90 write_xct.f90 plotxct.f90 \
      inread.f90 input.f90 input_q.f90 interpol.f90 read_wannier.f90 \
      plotxct_common.f90 input_common.f90

OBJ = $(SRC:.f90=.o)

SRC_XCTDENS = distrib.f90 write_xct_dens.f90 plotxctdens.f90 \
      inreaddens.f90 input.f90 input_q.f90 interpol.f90 read_wannier.f90 \
      input_common.f90

OBJ_XCTDENS = $(SRC_XCTDENS:.f90=.o)

LIBS = $(LAPACKLIB) $(FFTWLIB)

default: plotxct
plotxct: plotxct$(FLAVOR).x
# FHJ: no difference between flavored and full clean
clean-flavored: clean


plotxct$(FLAVOR).x: $(OBJ) $(COMMONOBJS)
	$(LINK) $(FOPTS) -o $@ $^ $(LIBS)	
	$(INSTALL_CMD)


# dependencies

$(OBJ): $(GLOBALMODS)
plotxct.o : $(COMMON)/sort_m.mod $(COMMON)/fftw_m.mod $(COMMON)/genwf_m.mod read_wannier_m.mod \
            $(COMMON)/misc_m.mod write_xct_m.mod inread_m.mod $(COMMON)/fullbz_m.mod $(COMMON)/random_m.mod
input.o input_q.o : $(COMMON)/fullbz_m.mod $(COMMON)/misc_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod \
                    $(COMMON)/checkbz_m.mod input_common_m.mod
input.o : $(COMMON)/input_utils_m.mod $(COMMON)/sort_m.mod
input_common_m.mod input_common.o : $(COMMON)/global_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/misc_m.mod
plotxct.o input.o input_q.o : plotxct_common_m.mod
inread.o inread_m.mod : plotxct_common_m.mod
write_xct.o write_xct_m.mod : plotxct_common_m.mod
read_wannier.o read_wannier_m.mod : $(COMMON)/global_m.mod
plotxct_common.o plotxct_common_m.mod : $(COMMON)/fullbz_m.mod $(COMMON)/misc_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/checkbz_m.mod
