blob: 207f367f5c3dafdb17315e5cad1210a469ec4b78 [file] [log] [blame]
###########################################################
# Makefile for xml-xalan, an XSLT Processor
#
# Please note the following assumptions!
# - See make.include for system tools definitions. We assume
# that each of these tools are on the path and properly setup.
#
# - Use GNU make or an equivalent. On Win32, you can see
# http://sourceware.cygnus.com/cygwin for a port.
#
# - With JDK 1.1.7B or earlier, a 'make all' may fail the first
# time. Try running it again twice, and everything should work.
# Note that when using JDK 1.2.x, it all works fine. We'll work on it.
#
# - Note the several attempts to determine if we're on WinXX or Unix:
# ifeq (,$(findstring usr,$(PATH)))
# Feel free to modify to work for your machine, and suggest a better
# way to create a platform-independent makefile.
#
# - The docs directory currently requires javadoc from the JDK 1.2.x
# You may need to edit make.include 'JAVADOC12' for your system.
#
# - Yes, we plan to move to an 'Ant' based make system soon
# (Ant is from jakarta.apache.org and is a Java-based make)
###########################################################
include make.include
SUBDIRS = src
###########################################################
# Main targets definitions
#
# Note that make.include also defines common targets
###########################################################
all: makesubdirs jars makesamples makedocs
build: makesubdirs jars
# To change debug/release options, see make.include for JAVADEBUG flag
# Create a distribution module
dist: makedist
docs: makedocs
samples: makesamples
jars: makesubdirs $(JARNAME)
compat: makecompat compatjars
PROPPATH = org$(PATHSEP)apache$(PATHSEP)xalan$(PATHSEP)res
$(JARNAME)::
-mkdir src/$(CLASS_DIR)/META-INF;
-mkdir src/$(CLASS_DIR)/META-INF/services;
$(CP) src/$(PROPPATH)/*.properties src/$(CLASS_DIR)/$(PROPPATH)/.; \
$(CP) src/org/apache/serialize/*.properties src/$(CLASS_DIR)/org/apache/serialize/.; \
$(CPR) src/META-INF/* src/$(CLASS_DIR)/META-INF/.; \
echo -n "Jarring ../bin/$@ .. "; \
cd src/$(CLASS_DIR); $(JAR) $(JARFLAGS) ../../bin/$@ META-INF javax org; \
echo "done"
compatjars:
echo -n "Jarring ../bin/$@ .. "; \
cd src/$(CLASS_DIR); $(JAR) $(JARFLAGS) ../../bin/$@.jar org/apache/xalan/xslt org/apache/xalan/xpath; \
echo "done"
# Note: When making dist, copy the built docs up one level
# Note: Create both a super-jar and a tar.gz archive
DISTDIR = $(PRODUCT_NAME)$(VERSION)
.PHONY: makedist
makedist:
echo Prepare creating $(DIST_NAME)
-mkdir $(DISTDIR)
$(CP) * $(DISTDIR);\
$(CPR) xdocs $(DISTDIR);\
$(CPR) samples $(DISTDIR);\
$(CPR) src $(DISTDIR);\
$(CPR) build/docs $(DISTDIR);\
echo Create $(JARDISTNAME);\
$(JAR) -cf $(JARDISTNAME) $(DISTDIR);\
echo Create $(TARDISTNAME);\
$(TARGZ) $(TARDISTNAME) $(DISTDIR);\
echo Create $(ZIPDISTNAME);\
$(JAR) -cMf $(ZIPDISTNAME) $(DISTDIR);\
echo Done creating $(JARDISTNAME) etc., you should sign this with PGP before posting
# Subsidiary targets are defined in make.include
clean:: cleansubdirs cleandocs cleansamples
compatclean:: cleancompat