BUILDDIR = apache_1.2.5 DISTTAR = $(BUILDDIR).tar DISTTARGZ = $(BUILDDIR).tar.gz PATCHES = PATCH = /usr/local/bin/patch PKGNAME = AGapache NAME = apache ARCH:sh = uname -p VERSION = echo ${BUILDDIR} | sed 's/.*[-_]//' CATEGORY = application VENDOR = Apache Group EMAIL = dj@gregor.com PSTAMP = BASEDIR = /opt/AGapache CLASSES = none SBINDIR = $(BASEDIR)/sbin MANDIR = $(BASEDIR)/man ICONDIR = $(BASEDIR)/icons HTDOCSDIR = $(BASEDIR)/htdocs ETCDIR = $(BASEDIR)/etc DOCSDIR = $(BASEDIR)/docs LOGDIR = $(BASEDIR)/logs PIDFILE = $(BASEDIR)/logs/httpd.pid ERRORLOG = $(LOGDIR)/error_log TRANSFERLOG = $(LOGDIR)/access_log SCOREBOARDFILE= $(LOGDIR)/apache_status LOGFILES = $(DESTDIR)$(ERRORLOG) \ $(DESTDIR)$(TRANSFERLOG) \ $(DESTDIR)$(SCOREBOARDFILE) \ $(DESTDIR)$(PIDFILE) TOPDIR:sh = pwd DESTDIR = $(TOPDIR)/pkg SUPPORTBINS = httpd_monitor log_server_status logresolve rotatelogs htdigest \ htpasswd CONFFILES = $(DESTDIR)$(ETCDIR)/httpd.conf-dist \ $(DESTDIR)$(ETCDIR)/access.conf-dist \ $(DESTDIR)$(ETCDIR)/mime.types-dist \ $(DESTDIR)$(ETCDIR)/srm.conf-dist MAN1 = htpasswd.1 MAN8 = httpd.8 PKGPROTO = /usr/bin/pkgproto PKGMK = /usr/bin/pkgmk PKGTRANS = /usr/bin/pkgtrans INSTUSER = root INSTGROUP = root all: build build: build-httpd build-support build-httpd: $(BUILDDIR)/src/httpd $(BUILDDIR)/src/httpd: $(BUILDDIR).configured cd $(BUILDDIR)/src ; make build-support: $(BUILDDIR)/support/Makefile cd $(BUILDDIR)/support ; make $(BUILDDIR).configured: $(BUILDDIR).patched cd $(BUILDDIR)/src ; ./Configure test -f $(BUILDDIR)/src/httpd.h.sav || \ cp $(BUILDDIR)/src/httpd.h $(BUILDDIR)/src/httpd.h.sav sed -e "s|^\(#define[ ][ ]*HTTPD_ROOT\).*|\1 \"$(BASEDIR)\"|" \ -e "s|^\(#define[ ][ ]*DOCUMENT_LOCATION\).*|\1 \"$(HTDOCSDIR)\"|" \ -e "s|^\(#define[ ][ ]*SUEXEC_BIN\).*|\1 \"$(SBINDIR)/suexec\"|" \ -e "s|conf/|etc/|" \ < $(BUILDDIR)/src/httpd.h > $(BUILDDIR)/src/httpd.h.new mv $(BUILDDIR)/src/httpd.h.new $(BUILDDIR)/src/httpd.h touch $(BUILDDIR).configured $(BUILDDIR).patched: $(BUILDDIR).untarred if [ "x$(PATCHES)" != "x" ]; then \ $(MAKE) patch ; \ fi touch $(BUILDDIR).patched patch: for PATCHFILE in $(PATCHES) ; do \ ( cd $(BUILDDIR) ; $(PATCH) ) < $$PATCHFILE ; \ done ; \ $(BUILDDIR).untarred: make untar touch $(BUILDDIR).untarred untar: $(DISTTAR) tar xf $(DISTTAR) $(DISTTAR): test -f $(DISTTARGZ) && gzip -d $(DISTTARGZ) veryclean: rm -rf $(BUILDDIR) $(DESTDIR) /var/spool/pkg/$(PKGNAME) \ $(BUILDDIR).untarred $(BUILDDIR).patched $(BUILDDIR).configured $(DESTDIR)$(SBINDIR): mkdir -p $(DESTDIR)$(SBINDIR) $(DESTDIR)$(MANDIR)/man1: mkdir -p $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man8: mkdir -p $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(ICONDIR): mkdir -p $(DESTDIR)$(ICONDIR) $(DESTDIR)$(HTDOCSDIR): mkdir -p $(DESTDIR)$(HTDOCSDIR) $(DESTDIR)$(ETCDIR): mkdir -p $(DESTDIR)$(ETCDIR) install-httpd: $(BUILDDIR)/src/httpd $(DESTDIR)$(SBINDIR) cd $(BUILDDIR)/src ; cp httpd $(DESTDIR)$(SBINDIR) install-support: build-support $(DESTDIR)$(SBINDIR) cd $(BUILDDIR)/support ; cp $(SUPPORTBINS) $(DESTDIR)$(SBINDIR)/ install-man: $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man8 cd $(BUILDDIR)/support ; cp $(MAN1) $(DESTDIR)$(MANDIR)/man1/ cd $(BUILDDIR)/support ; cp $(MAN8) $(DESTDIR)$(MANDIR)/man8/ install-icons: $(DESTDIR)$(ICONDIR) cd $(BUILDDIR)/icons ; find . -depth -print | cpio -updm \ $(DESTDIR)$(ICONDIR) install-htdocs: $(DESTDIR)$(HTDOCSDIR) cd $(BUILDDIR)/htdocs ; find . -depth -print | cpio -updm \ $(DESTDIR)$(HTDOCSDIR) install-docs: $(DESTDIR)$(DOCSDIR) cd $(BUILDDIR) ; cp [A-Z]* $(DESTDIR)$(DOCSDIR) chmod 644 $(DESTDIR)$(DOCSDIR)/* $(DESTDIR)/copyright: $(TOPDIR)/pkg cp $(BUILDDIR)/LICENSE $(TOPDIR)/pkg/copyright install-conf: $(DESTDIR)$(ETCDIR) $(CONFFILES) install-logs: $(DESTDIR)$(LOGDIR) touch $(LOGFILES) $(DESTDIR)$(LOGDIR): mkdir -p $(DESTDIR)$(LOGDIR) $(DESTDIR)$(DOCSDIR): mkdir -p $(DESTDIR)$(DOCSDIR) $(DESTDIR)$(ETCDIR)/httpd.conf-dist: $(BUILDDIR)/conf/httpd.conf-dist @sed -e "`echo '/^ServerRoot/{ s|^ServerRoot.*|ServerRoot $(BASEDIR)|\na\\\\\nTypesConfig $(ETCDIR)/mime.types\\\\\nAccessFileName $(ETCDIR)/access.conf\\\\\nResourceConfig $(ETCDIR)/srm.conf\n}'`" \ -e 's|^Group.*|Group nobody|' \ -e 's|^ErrorLog.*|ErrorLog $(ERRORLOG)|' \ -e 's|^TransferLog.*|TransferLog $(TRANSFERLOG)|' \ -e 's|^PidFile.*|PidFile $(PIDFILE)|' \ -e 's|^ScoreBoardFile.*|ScoreBoardFile $(SCOREBOARDFILE)|' \ > $(DESTDIR)$(ETCDIR)/httpd.conf-dist \ < $(BUILDDIR)/conf/httpd.conf-dist $(DESTDIR)$(ETCDIR)/access.conf-dist: $(BUILDDIR)/conf/access.conf-dist sed -e 's|^|' \ -e 's|^|'\ > $(DESTDIR)$(ETCDIR)/access.conf-dist \ < $(BUILDDIR)/conf/access.conf-dist $(DESTDIR)$(ETCDIR)/srm.conf-dist: $(BUILDDIR)/conf/srm.conf-dist sed -e 's|^DocumentRoot.*|DocumentRoot $(HTDOCSDIR)|' \ -e 's|^#Alias /icons/.*|Alias /icons/ $(ICONSDIR)/|' \ -e 's|^#ScriptAlias /icons/.*|#ScriptAlias /cgi-bin/ $(HTDOCSDIR)/cgi-bin/|' \ > $(DESTDIR)$(ETCDIR)/srm.conf-dist \ < $(BUILDDIR)/conf/srm.conf-dist $(DESTDIR)$(ETCDIR)/mime.types-dist: $(BUILDDIR)/conf/mime.types cat \ > $(DESTDIR)$(ETCDIR)/mime.types-dist \ < $(BUILDDIR)/conf/mime.types install: install-httpd install-support install-man install-icons \ install-htdocs install-conf install-logs install-docs install-README pkg: $(BUILDDIR).pkg clean-pkg: clean.$(DESTDIR) clean.$(DESTDIR): rm -rf $(DESTDIR) $(BUILDDIR).pkg: $(DESTDIR)/prototype ( cd $(DESTDIR) ; $(PKGMK) -or $(DESTDIR)$(BASEDIR) ) $(PKGTRANS) /var/spool/pkg $(TOPDIR)/$(BUILDDIR).pkg $(PKGNAME) $(DESTDIR)/prototype: $(DESTDIR)/pkginfo $(DESTDIR)$(ETCDIR)/init-script \ $(DESTDIR)/etc/init.d/apache $(DESTDIR)/etc/rc3.d/S95apache \ $(DESTDIR)/etc/rc2.d/K10apache $(DESTDIR)/etc/rc1.d/K10apache \ $(DESTDIR)/etc/rc0.d/K10apache $(DESTDIR)/copyright ( cd $(DESTDIR) ; echo "i pkginfo" ; \ echo "i copyright"; \ find . -print | egrep -v './(prototype|pkginfo|copyright)' | \ $(PKGPROTO) | \ sed -e 's/ \([0-9][0-9]*\) [^ ][^ ]* [^ ][^ ]*$$/ \1 '"$(INSTUSER) $(INSTGROUP)/" \ -e 's/^f none install\/\([^ ][^ ]*\) .*$$/i \1=install\/\1/' \ -e '/^d none install/d' \ -e 's/none /none \//' \ -e 's|^f \(none $(ERRORLOG) .*\)|v \1|' \ -e 's|^f \(none $(TRANSFERLOG) .*\)|v \1|' \ -e 's|^f \(none $(SCOREBOARDFILE) .*\)|v \1|' \ -e 's|^f \(none $(PIDFILE) .*\)|v \1|' \ -e 's|^f \(none $(ETCDIR)/httpd.conf .*\)|v \1|' \ -e 's|^f \(none $(ETCDIR)/access.conf .*\)|v \1|' \ -e 's|^f \(none $(ETCDIR)/mime.types .*\)|v \1|' \ -e 's|^f \(none $(ETCDIR)/srm.conf .*\)|v \1|' \ -e '/ \/etc /d' \ -e '/ \/etc\/init.d /d' \ -e '/ \/etc\/rc0.d /d' \ -e '/ \/etc\/rc1.d /d' \ -e '/ \/etc\/rc2.d /d' \ -e '/ \/etc\/rc3.d /d' \ -e '/ \/opt /d' \ -e '/ \/opt\/AGapache /d' \ -e 's/ \/opt\/AGapache\// /' \ ) > $(DESTDIR)/prototype ${DESTDIR}/pkginfo: install rm -f ${DESTDIR}/pkginfo @echo "PKG=\"$(PKGNAME)\"" >> $(DESTDIR)/pkginfo @echo "NAME=\"$(NAME)\"" >> $(DESTDIR)/pkginfo @echo "ARCH=\"$(ARCH)\"" >> $(DESTDIR)/pkginfo @echo "VERSION=\"$(VERSION:sh)\"" >> $(DESTDIR)/pkginfo @echo "CATEGORY=\"$(CATEGORY)\"" >> $(DESTDIR)/pkginfo @echo "VENDOR=\"$(VENDOR)\"" >> $(DESTDIR)/pkginfo @echo "EMAIL=\"$(EMAIL)\"" >> $(DESTDIR)/pkginfo @echo "PSTAMP=\"$(PSTAMP)\"" >> $(DESTDIR)/pkginfo @echo "BASEDIR=\"$(BASEDIR)\"" >> $(DESTDIR)/pkginfo @echo "CLASSES=\"$(CLASSES)\"" >> $(DESTDIR)/pkginfo $(DESTDIR)$(ETCDIR)/init-script: $(DESTDIR)$(ETCDIR) rm -f $@ @echo "#!/bin/sh" >> $@ @echo "" >> $@ @echo "PATH=/sbin:/usr/bin:/usr/sbin" >> $@ @echo "export PATH" >> $@ @echo "" >> $@ @echo "APACHE=$(SBINDIR)/httpd" >> $@ @echo "HTTPDCONF=$(ETCDIR)/httpd.conf" >> $@ @echo "PIDFILE=$(PIDFILE)" >> $@ @echo "" >> $@ @echo 'case "$$1" in' >> $@ @echo " 'start')" >> $@ @echo " # Start apache" >> $@ @echo ' if [ -r $${HTTPDCONF} ]; then' >> $@ @echo " echo \"Starting Apache HTTP Server\"" >> $@ @echo ' $${APACHE} -f $${HTTPDCONF}' >> $@ @echo " else" >> $@ @echo ' echo "Not Starting Apache HTTP Server--$${HTTPDCONF} file does not exist"' >> $@ @echo " fi" >> $@ @echo ' if [ $$? -ne 0 ]; then' >> $@ @echo " echo \"error starting apache\" >&2" >> $@ @echo " exit 1" >> $@ @echo " fi" >> $@ @echo " ;; " >> $@ @echo "" >> $@ @echo " 'stop')" >> $@ @echo " # Stop apache" >> $@ @echo " echo \"Stopping Apache HTTP Server\"" >> $@ @echo ' kill `cat $$PIDFILE`' >> $@ @echo " ;; " >> $@ @echo "" >> $@ @echo "" >> $@ @echo " *) # usage" >> $@ @echo ' echo "usage: $$0 start|stop" >&2' >> $@ @echo " exit 1" >> $@ @echo " ;;" >> $@ @echo "" >> $@ @echo "esac " >> $@ chmod 755 $@ $(DESTDIR)/install: mkdir -p $@ install-README: $(DESTDIR)$(BASEDIR)/README $(DESTDIR)$(BASEDIR)/README: $(DESTDIR)$(BASEDIR) rm -f $@ @echo "This Solaris package of Apache package was built by Daniel J. Gregor, Jr. on" >> $@ @echo "`date`" >> $@ @echo "" >> $@ @echo "Please see the docs/LICENSE file for copyright and licensing information." >> $@ @echo "" >> $@ @echo "A few notes:" >> $@ @echo " 1) Basic information about the Apache server is in the docs directory." >> $@ @echo " More detailed information is in HTML format in htdocs/manual" >> $@ @echo " 2) This package was built with no special options or modules" >> $@ @echo " 3) If you have any problems, please E-mail me, ." >> $@ $(DESTDIR)/etc/init.d/apache: $(DESTDIR)/etc/init.d \ $(DESTDIR)$(ETCDIR)/init-script rm -f $@ ln -s $(ETCDIR)/init-script $@ $(DESTDIR)/etc/rc3.d/S95apache: $(DESTDIR)/etc/rc3.d \ $(DESTDIR)/etc/init.d/apache rm -f $@ ln -s /etc/init.d/apache $@ $(DESTDIR)/etc/rc2.d/K10apache: $(DESTDIR)/etc/rc2.d \ $(DESTDIR)/etc/init.d/apache rm -f $@ ln -s /etc/init.d/apache $@ $(DESTDIR)/etc/rc1.d/K10apache: $(DESTDIR)/etc/rc1.d \ $(DESTDIR)/etc/init.d/apache rm -f $@ ln -s /etc/init.d/apache $@ $(DESTDIR)/etc/rc0.d/K10apache: $(DESTDIR)/etc/rc0.d \ $(DESTDIR)/etc/init.d/apache rm -f $@ ln -s /etc/init.d/apache $@ $(DESTDIR)/etc/init.d: mkdir -p $@ $(DESTDIR)/etc/rc3.d: mkdir -p $@ $(DESTDIR)/etc/rc2.d: mkdir -p $@ $(DESTDIR)/etc/rc1.d: mkdir -p $@ $(DESTDIR)/etc/rc0.d: mkdir -p $@