# @(#$Id: Makefile.in,v 1.16 2008-11-24 15:47:40 dockes Exp $  (C) 2005 J.F.Dockes

prefix = @prefix@
exec_prefix = @exec_prefix@

bindir = @bindir@
datadir = @datadir@
datarootdir = @datarootdir@
mandir = @mandir@

QMAKE = @QMAKE@
QTGUI = @QTGUI@

all: mk/sysconf common/rclversion.h
	cd lib; ${MAKE}
	cd index; ${MAKE} recollindex
	cd $(QTGUI); ${QMAKE} recoll.pro; ${MAKE} depth=.. 

mk/sysconf:
	@echo "You need to run configure first" ; exit 1

versfile=common/rclversion.h
${versfile} : VERSION
	echo '#include <xapian/version.h>' > ${versfile}
	echo 'static const char *rclversion = "'`cat VERSION`'"' >> ${versfile}
	echo '" + Xapian " XAPIAN_VERSION;' 	   >> ${versfile}

static: mk/sysconf common/rclversion.h
	cd lib; ${MAKE}
	cd index; rm -f recollindex; \
	   ${MAKE} BSTATIC=-Wl,-Bstatic BDYNAMIC=-Wl,-Bdynamic recollindex
	cd $(QTGUI); $(QMAKE) recoll.pro; \
	   rm -f recoll; \
	   ${MAKE} BSTATIC=-Wl,-Bstatic BDYNAMIC=-Wl,-Bdynamic depth=.. 

clean:
	-cd common; ${MAKE} clean
	-cd index; ${MAKE} clean
	-cd internfile; ${MAKE} clean
	-cd lib; ${MAKE} clean
	-cd query; ${MAKE} clean
	-cd utils; ${MAKE} clean
        #cd doc/user; ${MAKE} clean
	@-cd qtgui; ${MAKE} clean
	@-cd qt4gui; ${MAKE} clean
	rm -f qtgui/Makefile qtgui/confgui/Makefile qtgui/recoll
	rm -f qt4gui/Makefile qt4gui/preview/Makefile qt4gui/recoll
	rm -f common/rclversion.h
	rm -rf qtgui/.moc qtgui/.ui qtgui/confgui/.moc qtgui/confgui/.ui
	rm -rf qtgui/.obj qt4gui/.moc qt4gui/.ui qt4gui/.obj

# Note: we don't remove the top Makefile, to keep the "clean" targets
# available but a "Make" won't work without a configure anyway
distclean: clean
	rm -f mk/sysconf mk/localdefs sampleconf/recoll.conf \
	   qtgui/recoll.pro qt4gui/recoll.pro \
	   config.log config.status \
	   recollinstall \
	   lib/*.dep common/autoconfig.h \
	   wasabi/Makefile wasabi/client/Makefile wasabi/server/Makefile
	rm -f index/alldeps lib/alldeps query/alldeps
	rm -rf autom4te.cache
	(cd qt4gui; make -f uifrom3 distclean)

maintainer-clean: distclean
	rm -f doc/user/*.html* doc/user/*.txt doc/user/HTML.manifest
	rm -f qtgui/i18n/*.qm

# recollinstall can be executed by the user and will compute 'normal'
# values for bindir etc., relative to the prefix argument.  When executed
# here, we pass a bunch of variables in the environment, the values will
# override the computed defaults.
install: all
	DESTDIR=${DESTDIR} bindir=${bindir} datadir=${datadir} \
	mandir=${mandir} \
	./recollinstall ${prefix}

.PHONY: all static clean distclean install
