| ########################################################### |
| # 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 |
| |