##
# Makefile for apache
##

# Project info
Project      = apache
UserType     = Administration
ToolType     = Commands
GnuNoInstall = YES

# It's a GNU Source project
# Well, not really but we can make it work.
include /System/Developer/Makefiles/CoreOS/ReleaseControl/GNUSource.make

BuildDirectory  = $(OBJROOT)/src
Configure       = $(Sources)/src/Configure
Configure_Flags = 

CFLAGS += -g

##
# Do our own install here
# This is complicated because:
#  1- Apache doesn't install itself
#  2- We want /System/Library/WebServer to be a decent starting point for users
##

sbindir     = $(USRSBINDIR)
datadir     = $(SHAREDIR)/apache
iconsdir    = $(datadir)/icons
cgidir      = $(datadir)/cgi-bin
logsdir     = $(datadir)/logs
docsdir     = $(datadir)/htdocs
confdir     = $(datadir)/conf
htmldir     = $(NSDOCUMENTATIONDIR)/Administration/Services/apache
sourcesdir  = $(NSSOURCEDIR)/Services/apache
httpd       = $(sbindir)/apache
WebServer   = $(NSLOCALDIR)$(NSLIBRARYSUBDIR)/WebServer
CGIDir      = $(WebServer)/CGI-Executables
DocRoot     = $(WebServer)/Documents
LogDir      = $(WebServer)/Logs
ConfDir     = $(WebServer)/Configuration

install:: install-httpd install-data install-docs install-rhapsodify install-source-code

install-httpd: build
	echo "Installing httpd as $(httpd)..."
	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)$(sbindir)
	$(_v) $(INSTALL_PROGRAM) -c $(OBJROOT)/src/httpd $(DSTROOT)$(httpd)

install-data:
	echo "Installing data..."
	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)$(iconsdir)
	$(_v) $(INSTALL_FILE) -c $(Sources)/icons/*.gif $(Sources)/icons/README $(DSTROOT)$(iconsdir)

install-docs:
	echo "Installing documentation..."
	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)$(htmldir)
	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)$(htmldir)/misc
	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)$(htmldir)/mod
	$(_v) $(INSTALL_FILE) -c $(Sources)/htdocs/manual/*.html $(Sources)/htdocs/manual/LICENSE $(Sources)/htdocs/manual/TODO $(DSTROOT)$(htmldir)
	$(_v) $(INSTALL_FILE) -c $(Sources)/htdocs/manual/misc/*.html $(DSTROOT)$(htmldir)/misc
	$(_v) $(INSTALL_FILE) -c $(Sources)/htdocs/manual/mod/*.html $(DSTROOT)$(htmldir)/mod

install-source-code:
	$(_v) $(MAKE) install_source SRCROOT=$(DSTROOT)$(sourcesdir)

install-rhapsodify: install-data install-docs
	echo "Setting up $(DSTROOT)$(WebServer)..."
	$(_v) $(INSTALL_DIRECTORY) -m 775 $(DSTROOT)$(WebServer)
	$(_v) $(INSTALL_DIRECTORY) -m 775 $(DSTROOT)$(CGIDir)
	$(_v) $(INSTALL_DIRECTORY) -m 775 $(DSTROOT)$(DocRoot)
	$(_v) $(INSTALL_DIRECTORY) -m 775 $(DSTROOT)$(DocRoot)/images
	$(_v) $(INSTALL_DIRECTORY) -m 775 $(DSTROOT)$(LogDir)
	$(_v) $(INSTALL_DIRECTORY) -m 775 $(DSTROOT)$(ConfDir)
	$(_v) $(INSTALL_FILE) -c -m 664 $(SRCROOT)/DocumentRoot/*.html            $(DSTROOT)$(DocRoot)
	$(_v) $(INSTALL_FILE) -c -m 664 $(SRCROOT)/DocumentRoot/images/*.gif      $(DSTROOT)$(DocRoot)/images
	$(_v) ( cd $(SRCROOT)/CGI-Programs  && $(INSTALL_FILE) -c print-environment                   $(DSTROOT)$(CGIDir) )
	$(_v) ( cd $(SRCROOT)/Configuration && $(INSTALL_FILE) -c -m 664 Access MIME README Resources Server $(DSTROOT)$(ConfDir) )
	$(_v) $(LN) -fs $(htmldir) $(DSTROOT)$(DocRoot)/manual
