prefix=@prefix@
srcdir=@srcdir@
VPATH=$(srcdir)

AUTOCONF=@AUTOCONF@
CC=@CC@
CFLAGS=@CFLAGS@
DEFS=@DEFS@
INSTALL=@INSTALL@
LIBOBJS=@LIBOBJS@
LIBS=@LIBS@
LDFLAGS=@LDFLAGS@
SED=@SED@
SETUP_LIBS=@SETUP_LIBS@
PTHREAD_DEFS=@PTHREAD_DEFS@
LIB_SUBDIRS=
PROG_SUBDIRS=@PROG_SUBDIRS@
SUBDIRS=$(LIB_SUBDIRS) $(PROG_SUBDIRS) 
LOCALEDIR=@LOCALEDIR@
WWWDIR=@WWWDIR@
HEADERS=calendar.h  dav.h  messages.h  modules_init.h  paramhandling.h  preferences.h  roomops.h  subst.h  sysdep.h  tcp_sockets.h  utils.h  webcit.h  webserver.h

# End of configuration section

all: buildinfo all-progs-recursive webcit setup

buildinfo:
	echo
	echo Compiler: 	$(CC) $(CFLAGS) $(DEFS) $(PTHREAD_DEFS) -c -o $@
	echo Linker: 	$(CC) $(LDFLAGS) $(LIBOBJS) 	$(LIBS)
	echo

# for VPATH builds (invoked by configure)
mkdir-init:
	mkdir locale

.SILENT:

.SUFFIXES: .cpp .c .o

clean:
	rm -f *.o webcit webcit setup
	rm -fr locale/*

distclean: clean
	rm -f Makefile config.cache config.log config.status \
		po/webcit/Makefile \
		$(srcdir)/TAGS

setup: setup.o gettext.o
	$(CC) $(LDFLAGS) $(LIBOBJS) gettext.o setup.o -o setup \
	$(LIBS) $(SETUP_LIBS)

webcit: webserver.o context_loop.o ical_dezonify.o \
	cookie_conversion.o locate_host.o summary.o \
	webcit.o auth.o tcp_sockets.o mainmenu.o serv_func.o who.o marchlist.o \
	roomops.o roomlist.o roomtokens.o roomviews.o blogview_renderer.o \
	messages.o msg_renderers.o paging.o sysmsgs.o \
	useredit.o vcard_edit.o preferences.o html2html.o listsub.o roomchat.o \
	graphics.o netconf.o siteconfig.o subst.o bbsview_renderer.o \
	calendar.o calendar_tools.o calendar_view.o tasks.o event.o smtpqueue.o \
	availability.o iconbar.o crypto.o inetconf.o notes.o wiki.o \
	dav_main.o dav_get.o dav_propfind.o dav_report.o fmt_date.o \
	dav_options.o autocompletion.o gettext.o tabs.o sieve.o sitemap.o \
	dav_delete.o dav_put.o http_datestring.o setup_wizard.o \
	downloads.o addressbook_popup.o pushemail.o sysdep.o openid.o \
	decode.o modules_init.o paramhandling.o utils.o \
	ical_maps.o ical_subst.o static.o feed_generator.o \
	$(LIBOBJS)
	echo LD: webcit
	$(CC) $(LDFLAGS) -o webcit $(LIBOBJS) \
	webserver.o context_loop.o cookie_conversion.o marchlist.o \
	webcit.o auth.o tcp_sockets.o mainmenu.o serv_func.o who.o listsub.o \
	roomops.o roomlist.o roomtokens.o roomviews.o blogview_renderer.o \
	messages.o msg_renderers.o paging.o sysmsgs.o \
	useredit.o locate_host.o siteconfig.o subst.o vcard_edit.o roomchat.o \
	graphics.o netconf.o preferences.o html2html.o openid.o bbsview_renderer.o \
	summary.o calendar.o calendar_tools.o calendar_view.o tasks.o event.o wiki.o \
	availability.o ical_dezonify.o iconbar.o crypto.o inetconf.o notes.o \
	dav_main.o dav_get.o dav_propfind.o dav_report.o dav_delete.o \
	dav_options.o autocompletion.o tabs.o smtpqueue.o sieve.o sitemap.o \
	dav_put.o http_datestring.o setup_wizard.o fmt_date.o modules_init.o \
	gettext.o downloads.o addressbook_popup.o pushemail.o sysdep.o decode.o \
	paramhandling.o utils.o ical_maps.o ical_subst.o static.o feed_generator.o \
	$(LIBS)

%.o: %.c ${HEADERS}
	echo "CC $<"
	$(CC) $(CFLAGS) $(DEFS) $(PTHREAD_DEFS) -c -o $@ $<

%.o: %.cpp ${HEADERS}
	echo "CC+ $<"
	$(CC) $(CFLAGS) $(DEFS) $(PTHREAD_DEFS) -c -o $@ $<

Makefile: $(srcdir)/Makefile.in config.status
	CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status

config.status: $(srcdir)/configure
	$(SHELL) ./config.status --recheck

$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4
	cd $(srcdir) && $(AUTOCONF)

$(srcdir)/aclocal.m4: $(srcdir)/acinclude.m4
	cd $(srcdir) && $(ACLOCAL)

install:  install-bin install-setupbin install-wwwdata install-tinymce install-locale

install-bin:
	test -d $(DESTDIR)$(prefix) || mkdir -p $(DESTDIR)$(prefix)
	$(INSTALL) webcit $(DESTDIR)$(prefix)/webcit
	if test -f $(DESTDIR)$(prefix)/webserver; then \
		rm -f $(DESTDIR)$(prefix)/webserver; \
		ln -s $(DESTDIR)$(prefix)/webcit $(DESTDIR)$(prefix)/webserver; \
	fi


install-setupbin: install-bin
	$(INSTALL) setup $(DESTDIR)$(prefix)/setup


install-wwwdata:
	test -d $(DESTDIR)$(WWWDIR)/static.local/t || mkdir -p $(DESTDIR)$(WWWDIR)/static.local/t
	test -d $(DESTDIR)$(WWWDIR)/static/t || mkdir -p $(DESTDIR)$(WWWDIR)/static/t
	for i in `find static -type d | grep -v .svn` \
		; do \
		test -d $(DESTDIR)$(WWWDIR)/$$i || mkdir -p $(DESTDIR)$(WWWDIR)/$$i; \
	done
	for i in `find static -type f | grep -v .svn`; do \
		$(INSTALL) $$i $(DESTDIR)$(WWWDIR)/$$i; \
	done

install-tinymce:
	test -d $(DESTDIR)$(WWWDIR)/static || mkdir -p $(DESTDIR)$(WWWDIR)/static
	for i in `find tiny_mce -type d | grep -v .svn` \
		; do \
		test -d $(DESTDIR)$(WWWDIR)/$$i || mkdir -p $(DESTDIR)$(WWWDIR)/$$i; \
	done
	for i in \
		`find tiny_mce -type f | grep -v .svn` \
		; do \
		$(INSTALL) $$i $(DESTDIR)$(WWWDIR)/$$i; \
	done

install-locale:
	cd po/webcit/; $(MAKE)
	for i in `find locale -type d | grep -v .svn` \
		; do \
		test -d $(DESTDIR)$(LOCALEDIR)/$$i || mkdir -p $(DESTDIR)$(LOCALEDIR)/$$i; \
	done
	for i in `find locale -type f | grep -v .svn`; do \
		$(INSTALL) $$i $(DESTDIR)$(LOCALEDIR)/$$i; \
	done

TAGS clean-recursive distclean-recursive depend-recursive check-recursive \
  mostlyclean-recursive realclean-recursive:
	@for subdir in $(SUBDIRS); do \
	  if test -d $$subdir ; then \
	    target=`echo $@|$(SED) 's/-recursive//'`; \
	    echo making $$target in $$subdir; \
	    (cd $$subdir && $(MAKE) $$target) || exit 1; \
	  fi ; \
	done

all-progs-recursive install-progs-recursive install-strip-progs-recursive  \
	uninstall-progs-recursive:
#	@for subdir in $(PROG_SUBDIRS); do \
#	  if test -d $$subdir ; then \
#	    target=`echo $@|$(SED) 's/-progs-recursive//'`; \
#	    echo making $$target in $$subdir; \
#	    (cd $$subdir && $(MAKE) $$target) || exit 1; \
#	  fi ; \
#	done

all-libs-recursive install-libs-recursive install-strip-libs-recursive \
  uninstall-libs-recursive install-shlibs-libs-recursive \
  install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive:
#	@for subdir in $(LIB_SUBDIRS); do \
#	  if test -d $$subdir ; then \
#	    target=`echo $@|$(SED) 's/-libs-recursive//'`; \
#	    echo making $$target in $$subdir; \
#	    (cd $$subdir && $(MAKE) $$target) || exit 1; \
#	  fi ; \
#	done

