head	1.11;
access;
symbols;
locks; strict;
comment	@# @;


1.11
date	98.08.24.19.38.51;	author tommy;	state dead;
branches;
next	1.10;

1.10
date	98.08.13.22.16.18;	author jon;	state Exp;
branches;
next	1.9;

1.9
date	98.08.13.21.29.07;	author jon;	state Exp;
branches;
next	1.8;

1.8
date	98.08.13.21.20.34;	author jon;	state Exp;
branches;
next	1.7;

1.7
date	98.08.12.23.03.11;	author ross;	state Exp;
branches;
next	1.6;

1.6
date	98.08.12.16.57.22;	author ross;	state Exp;
branches;
next	1.5;

1.5
date	98.08.11.10.51.20;	author ross;	state Exp;
branches;
next	1.4;

1.4
date	98.08.04.06.22.29;	author bob;	state Exp;
branches;
next	1.3;

1.3
date	98.07.20.16.50.54;	author ross;	state Exp;
branches;
next	1.2;

1.2
date	98.07.19.22.34.59;	author stefano;	state Exp;
branches;
next	1.1;

1.1
date	98.07.15.08.56.44;	author ross;	state Exp;
branches;
next	;


desc
@@


1.11
log
@New build setup.
See README.build for discussion of tools used.

Directions:

To build do
./configure [OPTIONS]

You need to specify:
--with-apache-dir=/path/to/apache

This can be one of three things, a 1.2 src dir, a 1.3 src dir, or a
1.3 installation dir.  There's some scripts to figure out which it is.

You can specify:
--enable-apache-conf

This will cause configure to actually configure apache for you.  Maybe
not a good idea if you've got a tweaked apache setup, not sure.  May
want to turn this on by default at some point, we'll see.

--with-shared-module

Makes apache use shared module (1.3 only).

--with-jdk-home

Specifies jdk home, overriden by JAVA_HOME.  If you've got it in a
usual place you might not need this.  Look in acinclude.m4 to see
where it looks.

That should be enough to get everyone started.  If you want to make a
distribution to test it out do a make dist.

Support for the 1.3 installation dir is lacking as is the make install
target but this should be enough to meet everyone's development needs.
@
text
@#----------------------------------------
# Makefile Settings
#----------------------------------------

# where to install Apache JServ 
PREFIX=/usr/local/apache/jserv

# path to JSDK 2.0 jsdk.jar file (define here or in your CLASSPATH)
JSDK=

# install application (Solaris needs /usr/ucb/install)
INSTALL=install

#----------------------------------------

# Could be GNUmakefile?
MAKEFILE_NAME=Makefile

# packages about which we care
PACKAGES = \
    org.apache.java.lang \
    org.apache.java.util \
    org.apache.java.io \
    org.apache.java.net \
    org.apache.jserv \
    org.apache.jserv.servlets

# top-level directory
ifndef TOP
export TOP = $(shell pwd)
endif

# specify class / servlet class directory
SRCDIR = .
CLASSPATH := $(TOP)/classes:$(TOP)/servlets:$(JSDK):$(CLASSPATH):$(SRCDIR)
CLEANME += classes servlets
ifeq ($(PACKAGE),org.apache.jserv.servlets)
    CLASSDIR = $(TOP)/servlets
else
    CLASSDIR = $(TOP)/classes
endif

# add servlet class file directory to classpath
export CLASSPATH := $(CLASSPATH)

# java compiler
JAVAC = javac
FLAGS = -O
JAVADOC = javadoc -author -version

# avoid noisy recursion
export MAKEFLAGS=--no-print-directory

#----------------------------------------
# Rules
#----------------------------------------

# compile all java packages
all: $(PACKAGES)
CLEANME += $(patsubst %,$(SRCDIR)/%/.package,$(subst .,/,$(PACKAGES)))
$(PACKAGES):
	@@echo "** building $@@"
	@@$(MAKE) PACKAGE=$@@ \
	    -C $(SRCDIR)/$(subst .,/,$@@) -f $(TOP)/$(MAKEFILE_NAME) \
	    .package
	@@echo

# compile one java package
ifdef PACKAGE
.package: $(wildcard *.java)
	@@[ -d $(CLASSDIR) ] || mkdir $(CLASSDIR)
	$(JAVAC) $(FLAGS) -d $(CLASSDIR) $?
	@@touch $@@
endif

# create documentation
APIDIR = ../../docs/api
CLEANME += $(APIDIR)
docs:
	[ -d $(APIDIR) ] || mkdir $(APIDIR)
	$(JAVADOC) -d $(APIDIR) $(PACKAGES)

# create jar file
JAR = jar
CLEANME += Apache-JServ.jar
jar:
	( cd classes; $(JAR) cf0 ../Apache-JServ.jar org )

# installation
install: all docs doinstall docsinstall mod-jserv-msg

doinstall:
	@@echo "** installing Apache JServ into $(PREFIX)"
	[ -d $(PREFIX) ] || $(INSTALL) -m 755 -d $(PREFIX)
	tar cf - classes servlets | (cd $(PREFIX); tar xf -)
	chmod -R go-w $(PREFIX)/classes $(PREFIX)/servlets
	@@echo

# install docs
docsinstall:
	[ -d $(PREFIX)/api ] || $(INSTALL) -m 755 -d $(PREFIX)/api
	$(INSTALL) -m 644 $(APIDIR)/* $(PREFIX)/api

# tell the user good job, now do mod_jserv
mod-jserv-msg:
	@@echo "** Apache JServ has been installed!"; echo

# cleanup
clean:
	rm -rf $(CLEANME)

.PHONY: doc
@


1.10
log
@changed the jar filename to be more descriptive
@
text
@@


1.9
log
@from the jar --help

Note: use the '0' option to create a jar file that can be put in your
CLASSPATH
@
text
@d85 1
a85 1
CLEANME += classes.jar
d87 1
a87 1
	( cd classes; $(JAR) cf0 ../classes.jar org )
@


1.8
log
@Cleaned up top part to make configuration of file easier
fixed bug with installing the docs
added FLAGS to the javac line
added INSTALL to pick which install program to use
tested installation on solaris 2.5.1
@
text
@d87 1
a87 1
	( cd classes; $(JAR) cf ../classes.jar org )
@


1.7
log
@Added documentation to installation
@
text
@d2 12
a13 1
# Macro Settings
a18 3
# where to install Apache JServ 
PREFIX=/usr/local/apache/jserv

a27 3
# Name of file containing JSDK classes
JSDK_FILE=../../lib/jsdk.jar

d35 1
a35 1
CLASSPATH := $(TOP)/classes:$(TOP)/servlets:$(CLASSPATH):$(SRCDIR)
d44 1
a44 2
SERVCLASSES = $(TOP)/$(JSDK_FILE)
export CLASSPATH := $(SERVCLASSES):$(CLASSPATH)
d47 2
a48 1
JAVAC = javac -g
d72 1
a72 1
	$(JAVAC) -d $(CLASSDIR) -deprecation $?
a91 1
# copy various things into structure
d94 1
a94 1
	[ -d $(PREFIX) ] || install -m 755 -d $(PREFIX)
a96 2
	[ -d $(PREFIX)/lib ] || install -m 755 -d $(PREFIX)/lib
	install -m 644 $(JSDK_FILE) $(PREFIX)/lib
d101 2
a102 2
	[ -d $(PREFIX)/api ] || install -m 755 -d $(PREFIX)/api
	install -m 644 doc/* $(PREFIX)/api
d106 1
a106 1
	@@echo "** Done!"; echo
@


1.6
log
@Added 'classes.jar' to clean-up rule
@
text
@d44 1
d76 1
a76 1
	javadoc -author -version -d $(APIDIR) $(PACKAGES)
d85 1
a85 1
install: all doinstall mod-jserv-msg
a92 2
	#[ -d $(PREFIX)/api ] || install -m 755 -d $(PREFIX)/api
	#install -m 644 doc/* $(PREFIX)/api
d96 5
@


1.5
log
@Added ability to create jar file of the core classes
@
text
@d79 1
@


1.4
log
@Changed the default installation path for the jserv files to fall in line
with the default installation of Apache 1.3.1 (/usr/local/apache).
@
text
@d77 5
@


1.3
log
@Changed build order.
@
text
@d9 1
a9 1
PREFIX=/usr/local/java/jserv
@


1.2
log
@removed org.apache.java.sgml package
@
text
@d13 2
a16 2
    org.apache.java.lang \
    org.apache.java.util \
d43 1
a43 1
JAVAC = javac -O
@


1.1
log
@Corrected misleading/broken filename
@
text
@a16 1
    org.apache.java.sgml \
@

