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