blob: d971ce90ad900c740bf1e50686402cb5606eff7a [file] [log] [blame]
###########################################################
# Common variables and targets for XPath and xslt4j
#
# See Makefile for important environment notes
#
###########################################################
###########################################################
# Project-specific variables and rules
#
# You should not need to edit these
###########################################################
JAVAX = .java
CLASSX = .class
JARX = .jar
TARX = .tar.gz
ZIPX = .zip
OBJS = $(SRCS:%.java=%.class)
# A simple marker file created to show last compile time
# Note subdirectories may reset the name!
SINCE_FILE = since.last
# Relative directory (usually from ./src/.) where class files are to go
CLASS_DIR = classes
CURRENT_DIR = .
###########################################################
# Build-specific tools and flags definitions
###########################################################
PRODUCT_NAME := xalan
VERSION = _1_1_D01
JARNAME = $(PRODUCT_NAME)$(JARX)
JARDISTNAME = $(PRODUCT_NAME)-j$(VERSION)$(JARX)
TARDISTNAME = $(PRODUCT_NAME)-j$(VERSION)$(TARX)
ZIPDISTNAME = $(PRODUCT_NAME)-j$(VERSION)$(ZIPX)
###########################################################
# Environment-specific tools and flags definitions
#
# You may need to edit these if you're not using
# a standard JDK or the tools aren't on the path.
###########################################################
# References to default tools
JAVA = java
JAVAC = javac
JAVADOC = javadoc
JAR = jar
# References to JDK 1.2-only tools; required for xdocs build
# While the code compiles under 1.1.8 or 1.2.2, the docs require 1.2.2
# Thus, you can install both JDK's, set 1.1.8 up as default,
# then call us like 'make -f Makefile JAVAC12=c:/jdk122/bin/javac.exe ...'
# This should compile the sources with 1.1.8, but the doc with 1.2.2
JAVA12 = java
JAVAC12 = javac
JAVADOC12 = javadoc
# Setting flags for various tools
# You can override these on the make command line as well
# Call us like 'make -f Makefile JAVADEBUG=-g:none ...'
JAVADEBUG = -g
# JAVADEBUG = -g:none -O
JAVADESTDIR = -d $(CLASS_DIR)
JAVACFLAGS = $(JAVADEBUG) $(JAVADESTDIR)
JARFLAGS = Mcf0
# References to other tools
RM = rm -f
RM-RF = rm -rf
CP = cp -f
CPR = cp -Rvf
UPDIR := ..
# References to standard UNIX or Cygwin tar utility, filtering through gzip
TARGZ = tar cvzf
UNTARGZ = tar xvzf
# Decide if we're on unix or DOS
ifeq (,$(findstring usr,$(PATH)))
# DOS
PATHSEP := \\
CLPATHSEP := ;
else
# UNIX
PATHSEP := /
CLPATHSEP := :
endif
###########################################################
# Main targets definitions
###########################################################
.PHONY: makeall
makeall: all
.PHONY: clean
clean::
$(RM) *.class $(JARNAME) *~ *.bak *.o *.obj *.dll $(SINCE_FILE)
.PHONY: makesubdirs
makesubdirs:
@for i in $(SUBDIRS) ; \
do \
(cd $$i; echo making xpath engine in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makexpath4j JAVACFLAGS="$(JAVACFLAGS)" all); \
(cd $$i; echo making xslt engine in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makexslt4j JAVACFLAGS="$(JAVACFLAGS)" all); \
done
.PHONY: makecompat
makecompat:
@for i in $(SUBDIRS) ; \
do \
(cd $$i; echo making compat engine in "$(CURRENT_DIR)/$$i...";pwd; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makecompat JAVACFLAGS="$(JAVACFLAGS)" all); \
done
.PHONY: makedocs
makedocs:
@for i in xdocs ; \
do \
(cd $$i; echo making x-docs in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile all); \
done
.PHONY: makesamples
makesamples:
@for i in samples ; \
do \
(cd $$i; echo making samples in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile all); \
done
.PHONY: cleansubdirs
cleansubdirs:
-@for i in $(SUBDIRS) ; \
do \
(cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makexpath4j $(MFLAGS) clean); \
(cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makexslt4j $(MFLAGS) clean); \
done
.PHONY: cleancompat
cleancompat:
-@for i in $(SUBDIRS) ; \
do \
(cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makecompat $(MFLAGS) clean); \
done
.PHONY: cleandocs
cleandocs:
@for i in xdocs ; \
do \
(cd $$i; echo cleaning up x-docs "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile clean); \
done
.PHONY: cleansamples
cleansamples:
@for i in samples ; \
do \
(cd $$i; echo cleaning up samples "$(CURRENT_DIR)/$$i..."; \
$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile clean); \
done
# End of file