## Makefile (D. Prendergast, July 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 random.o sort.o \
         checkbz.o genwf.o write_program_header.o svninfo.o \
         mtxel_optical.o input_utils.o wfn_rho_vxc_io.o blas.o \
         splines.o scissors.o

COMMONOBJS = $(addprefix $(COMMON)/,$(COMOBJ)) $(GLOBALOBJS)

##
## nonlinearoptics files
##
SRC = absp3D.f90 distrib.f90 input.f90 input_q.f90 inread.f90 \
      readasvck_tp.f90 \
      readasvck_uf.f90 oscstrength.f90 nonlinearoptics.f90 \
      absp_tp.f90 absp_uf.f90

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


LIBS = $(SCALAPACKLIB) $(LAPACKLIB) $(FFTWLIB)

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


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

# dependencies

$(OBJ): $(GLOBALMODS)
input.o : $(COMMON)/sort_m.mod
input.o inread.o : $(COMMON)/scissors_m.mod
input.o input_q.o : $(COMMON)/fullbz_m.mod $(COMMON)/misc_m.mod $(COMMON)/input_utils_m.mod $(COMMON)/wfn_rho_vxc_io_m.mod $(COMMON)/checkbz_m.mod
nonlinearoptics.o : $(COMMON)/genwf_m.mod $(COMMON)/fullbz_m.mod $(COMMON)/mtxel_optical_m.mod readasvck_uf_m.mod readasvck_tp_m.mod
inread.o : $(COMMON)/input_utils_m.mod
oscstrength.o oscstrength_m.mod : $(COMMON)/global_m.mod
readasvck_tp.o readasvck_tp_m.mod : oscstrength_m.mod
readasvck_uf.o readasvck_uf_m.mod : oscstrength_m.mod
