#     Copyright (C) 1998       Thomas Roessler <roessler@guug.de>
#     Copyright (C) 1999-2005  Roland Rosenfeld <roland@spinnaker.de>
# 
#     This program is free software; you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation; either version 2 of the License, or
#     (at your option) any later version.
# 
#     This program is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.
# 
#     You should have received a copy of the GNU General Public License
#     along with this program; if not, write to the Free Software Foundation,
#     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,, USA.
#
# $Id: Makefile.in,v 1.45 2007-05-20 12:57:34 roland Exp $

CC=@CC@
LDFLAGS=@LDFLAGS@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
DEFS=@DEFS@
INSTALL=@INSTALL@
MODULES=@MODULES@
DOTLOCKBASE=@DOTLOCKBASE@
DOTLOCK_TARGET=@DOTLOCK_TARGET@
TACTARGET=@TACTARGET@
PERL=@PERL@
XCODEBUILD=@XCODEBUILD@
PBXBUILD=@PBXBUILD@
VFORMAT=@VFORMAT@

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
srcdir=@srcdir@
libdir=@libdir@
mandir=@mandir@
sysconfdir=@sysconfdir@

ALL=lbdbq lbdb_lib lbdb-fetchaddr lbdb-munge fetchaddr qpto8bit munge \
	munge-keeporder	nodelist2lbdb palm_lsaddr mutt_ldap_query lbdbq.man \
	lbdb-fetchaddr.man nodelist2lbdb.man mutt_ldap_query.man lbdb.rc \
	$(MODULES) $(DOTLOCK_TARGET) $(TACTARGET)

all: Makefile $(ALL)

install: all
	$(srcdir)/mkinstalldirs $(install_prefix)$(bindir)
	$(srcdir)/mkinstalldirs $(install_prefix)$(libdir)
	$(srcdir)/mkinstalldirs $(install_prefix)$(sysconfdir)
	$(srcdir)/mkinstalldirs $(install_prefix)$(mandir)
	$(srcdir)/mkinstalldirs $(install_prefix)$(mandir)/man1
	$(INSTALL) -m 755 fetchaddr $(install_prefix)$(libdir)
	$(INSTALL) -m 755 qpto8bit $(install_prefix)$(libdir)
	$(INSTALL) -m 755 lbdbq $(install_prefix)$(bindir)
	$(INSTALL) -m 755 lbdb-fetchaddr $(install_prefix)$(bindir)
	$(INSTALL) -m 755 lbdb-munge $(install_prefix)$(libdir)
	$(INSTALL) -m 755 lbdb_lib $(install_prefix)$(libdir)
	$(INSTALL) -m 755 munge $(install_prefix)$(libdir)
	$(INSTALL) -m 644 lbdb_bbdb_query.el $(install_prefix)$(libdir)
	$(INSTALL) -m 755 munge-keeporder $(install_prefix)$(libdir)
	if [ "$(PERL)" != "no" ]; then \
		$(INSTALL) -m 755 nodelist2lbdb $(install_prefix)$(bindir); \
		$(INSTALL) -m 644 nodelist2lbdb.man \
			$(install_prefix)$(mandir)/man1/nodelist2lbdb.1; \
		$(INSTALL) -m 755 palm_lsaddr $(install_prefix)$(libdir); \
		$(INSTALL) -m 755 mutt_ldap_query $(install_prefix)$(libdir); \
		$(INSTALL) -m 644 mutt_ldap_query.man \
			$(install_prefix)$(mandir)/man1/mutt_ldap_query.1; \
		$(INSTALL) -m 644 lbdb_ldap.rc \
			$(install_prefix)$(sysconfdir)/lbdb_ldap.rc; \
	fi
	if [ "$(XCODEBUILD)" != "no" -o "$(PBXBUILD)" != "no" ]; then \
		$(INSTALL) -m 755 ABQuery/sym/ABQuery $(install_prefix)$(libdir); \
	fi
	if [ "$(VFORMAT)" != "no" ]; then \
		$(INSTALL) -m 755 vcquery $(install_prefix)$(libdir); \
	fi
	for i in $(MODULES); do \
		$(INSTALL) -m 755 $$i $(install_prefix)$(libdir); \
	done
	$(INSTALL) -m 644 lbdbq.man $(install_prefix)$(mandir)/man1/lbdbq.1
	$(INSTALL) -m 644 lbdb-fetchaddr.man \
		$(install_prefix)$(mandir)/man1/lbdb-fetchaddr.1
	$(INSTALL) -m 644 lbdb.rc $(install_prefix)$(sysconfdir)/lbdb.rc
	if [ "$(DOTLOCK_TARGET)" != "" ]; then \
		$(INSTALL) -m 755 lbdb_dotlock $(install_prefix)$(bindir); \
		$(INSTALL) -m 644 dotlock.man \
			$(install_prefix)$(mandir)/man1/lbdb_dotlock.1; \
	fi
	if [ "$(TACTARGET)" != "" ]; then \
		$(INSTALL) -m 755 tac $(install_prefix)$(libdir)/tac; \
	fi

fetchaddr: $(srcdir)/fetchaddr.o $(srcdir)/rfc822.o $(srcdir)/helpers.o  \
	$(srcdir)/rfc2047.o
	$(CC) $(CFLAGS) $(LDFLAGS) $? -o $@

qpto8bit: $(srcdir)/qpto8bit.o $(srcdir)/rfc822.o $(srcdir)/helpers.o  \
		$(srcdir)/rfc2047.o
	$(CC) $(CFLAGS) $(LDFLAGS) $? -o $@

fetch: $(srcdir)/fetch.sh

query: $(srcdir)/query.sh

lbdb-query: $(srcdir)/lbdb-query.sh

nodelist2lbdb: $(srcdir)/nodelist2lbdb.pl
	cat nodelist2lbdb.pl > $@

palm_lsaddr: $(srcdir)/palm_lsaddr.pl
	cat palm_lsaddr.pl > $@

mutt_ldap_query: $(srcdir)/mutt_ldap_query.pl
	cat mutt_ldap_query.pl > $@

lbdb_dotlock: $(srcdir)/dotlock.o $(srcdir)/helpers.o
	$(CC) $(CFLAGS) $(LDFLAGS) $? -o $@

dotlock.o: $(srcdir)/dotlock.h $(srcdir)/dotlock.c

tac: $(srcdir)/tac.awk
	cat tac.awk > $@
	chmod a+x $@

munge: $(srcdir)/munge.awk
	cat munge.awk > $@
	chmod a+x $@

munge-keeporder: $(srcdir)/munge-keeporder.awk
	cat munge-keeporder.awk > $@
	chmod a+x $@

mutt_ldap_query.man: $(srcdir)/mutt_ldap_query.pl
	if [ "$(PERL)" != "no" ]; then \
		pod2man mutt_ldap_query.pl > $@; \
	else \
		touch mutt_ldap_query.man; \
	fi

m_vcf: vcquery

vcquery: vcquery.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $? -lvformat

m_osx_addressbook: ABQuery/sym/ABQuery

ABQuery/sym/ABQuery: ABQuery/pbxbuild.sh ABQuery/ABQuery.m
	ABQuery/pbxbuild.sh

ABQuery/pbxbuild.sh:
	if [ "$(XCODEBUILD)" != "no" ]; then \
		(cd ABQuery; xcodebuild -buildstyle Deployment; printf '#!/bin/sh\nmkdir ABQuery/sym\nEXE=ABQuery/build/ABQuery\nif test -x ABQuery/build/Deployment/ABQuery; then EXE=ABQuery/build/Deployment/ABQuery; fi\ncp $$EXE ABQuery/sym\n' > pbxbuild.sh; chmod a+x pbxbuild.sh) \
	else \
		(cd ABQuery; pbxbuild -buildstyle Deployment export) \
	fi

clean:
	-rm -f *.o *~ $(ALL) munge.awk munge-keeporder.awk tac.awk \
		nodelist2lbdb.pl palm_lsaddr.pl mutt_ldap_query.pl lbdb_dotlock
	-rm -rf ABQuery/sym ABQuery/obj

distclean: clean
	-rm -f config.status config.cache config.log Makefile
	-rm -f *.sh
	-rm -rf ABQuery/pbxbuild.data ABQuery/pbxbuild.sh
	-rm -f vcquery

Makefile: Makefile.in
	./config.status

%.sh: %.sh.in
	./config.status

%.pl: %.pl.in
	./config.status

%.awk: %.awk.in
	./config.status

%.man: %.man.in
	sed -e 's!@''libdir@!$(libdir)!' \
	    -e 's!@''sysconfdir@!$(sysconfdir)!' \
	    -e 's!@''dotlock@!$(DOTLOCKBASE)!' $@.in > $@

%.o: %.c
	$(CC) $(CFLAGS) $(DEFS) -c $<


syntax highlighted by Code2HTML, v. 0.9.1