#
# Tim Rice	Wed Aug 10 10:36:25 PDT 2005
#
#	Tim Rice <tim@multitalents.net>
#
SHELL = /bin/sh
# We'll use tar instead of install-sh to preserve time stamps
#INSTALL = @INSTALL@
LN_S = @LN_S@
CHMOD = @CHMOD@
CHOWN = @CHOWN@
COPY = @COPY_PROG@
GREP = @GREP@
ID = @ID@
MKDIR = @MKDIR@
PERL = @PERL_PATH@
RM = @RM@
TAR = @TAR@

prefix=@prefix@
exec_prefix=@exec_prefix@
sbindir=@sbindir@
datarootdir=@datarootdir@
sysconfdir=@sysconfdir@
localstatedir=@localstatedir@
mandir=@mandir@
docdir=@prefix@/docs
web_root=@WEB_ROOT@

srcdir=@srcdir@
top_srcdir=@top_srcdir@
VPATH=@srcdir@
top_builddir = .

HTTPD_USER = @HTTPD_USER@
HTTPD_GROUP = @HTTPD_GROUP@

DOCS = COPYING HISTORY README copyright docs/schema/dhcp.schema

HTML_DOCS = devel manual

LIST1 = graphics help index.html lib locale style templates VERSION pwa_worker.js
LIST2 = sess tmp tmp/internal
LIST3 = config

RAR = run-as-root.sh

all:

install: install-lam install-htdocs

install-lam:
	@HERE=`pwd` ; \
	[ -d $(DESTDIR)$(prefix) ]  ||  \
		$(MKDIR) -p $(DESTDIR)$(prefix)  ||  exit 1 ; \
	[ -d $(DESTDIR)$(web_root) ]  ||  \
		$(MKDIR) -p $(DESTDIR)$(web_root)  ||  exit 1 ; \
	[ -d $(DESTDIR)$(localstatedir) ]  ||  \
		$(MKDIR) -p $(DESTDIR)$(localstatedir)  ||  exit 1 ; \
	[ -d $(DESTDIR)$(sysconfdir) ]  ||  \
		$(MKDIR) -p $(DESTDIR)$(sysconfdir)  ||  exit 1 ; \
	cd $(DESTDIR)$(web_root)  ||  exit 1 ; \
	for i in $(LIST2) ; do \
		[ -d $(DESTDIR)$(localstatedir)/$${i} ]  ||  \
		    $(MKDIR) -p $(DESTDIR)$(localstatedir)/$${i}  ||  exit 1 ; \
		$(CHMOD) 750 $(DESTDIR)$(localstatedir)/$${i} ; \
		[ -d $${i} ]  ||  \
		$(LN_S) $(localstatedir)/$${i} $${i} ; \
		(cd $(srcdir) ; $(COPY) $${i}/.htaccess \
			$(DESTDIR)$(localstatedir)/$${i}) ; \
	done ; \
	LIST4="`(cd $(srcdir)/$(LIST3) ; ls -d *)`" ; \
	(cd $(srcdir)/$(LIST3) ; $(TAR) cf - .) | \
		(cd $(DESTDIR)$(sysconfdir) ; $(TAR) xf -) ; \
	[ -e ${LIST3} ] || $(LN_S) $(sysconfdir) ${LIST3} ; \
	(cd $(srcdir) ; $(TAR) cf - $(LIST1)) | $(TAR) xf - ; \
	[ -d $(DESTDIR)$(prefix)/docs ]  ||  \
		$(MKDIR) -p $(DESTDIR)$(prefix)/docs  ||  exit 1 ; \
	(cd $(srcdir) ; $(COPY) $(DOCS) $(DESTDIR)$(prefix)/docs) ; \
	$(PERL) -pi -e "s~/usr/bin/perl~$(PERL)~" \
		$(DESTDIR)$(web_root)/lib/lamdaemon.pl ; \
	cd $${HERE} ; \
	if [ `$(ID) -u` = 0 ] ; then \
		$(MAKE) DESTDIR=$(DESTDIR) do-chown ; \
	else \
		$(MAKE) DESTDIR=$(DESTDIR) echo-chown ; \
	fi ; \
	echo "" ; \
	echo "LAM installed in $(DESTDIR)$(prefix)"


do-chown:
	@for i in $(LIST2) ; do \
		$(CHOWN) $(HTTPD_USER):$(HTTPD_GROUP) $(DESTDIR)$(localstatedir)/$${i} ; \
	done ; \
	LIST4="`(cd $(srcdir)/$(LIST3) ; ls -d *)`" ; \
	for i in $${LIST4} ; do \
		$(CHOWN) -R $(HTTPD_USER):$(HTTPD_GROUP) $(DESTDIR)$(sysconfdir)/$${i} ; \
	done
	$(CHOWN) $(HTTPD_USER):$(HTTPD_GROUP) $(DESTDIR)$(sysconfdir)


echo-chown:
	@$(RM) -f $(RAR) ; \
	for i in $(LIST2) ; do \
		echo "$(CHOWN) $(HTTPD_USER):$(HTTPD_GROUP) $(DESTDIR)$(localstatedir)/$${i}" \
			>> $(RAR) ; \
	done ; \
	LIST4="`(cd $(srcdir)/$(LIST3) ; ls -d *)`" ; \
	for i in $${LIST4} ; do \
		echo "$(CHOWN) -R $(HTTPD_USER):$(HTTPD_GROUP) $(DESTDIR)$(sysconfdir)/$${i}" \
			>> $(RAR) ; \
	done ; \
	echo $(CHOWN) $(HTTPD_USER):$(HTTPD_GROUP) $(DESTDIR)$(sysconfdir)
	echo "Switch user to root and run $(RAR)"


install-htdocs:
	@[ -d $(DESTDIR)$(docdir) ]  ||  \
		$(MKDIR) -p $(DESTDIR)$(docdir)  ||  exit 1 ; \
	(cd $(srcdir)/docs ; $(TAR) cf - $(HTML_DOCS)) | \
		(cd $(DESTDIR)$(docdir) ; $(TAR) xf -) ; \
	echo "Documentation installed in $(docdir)" ; \
	echo ""


clean:
	$(RM) -f $(RAR)


distclean: clean
	$(RM) -f Makefile config.log config.status


