Makefile revision 3
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# This code is free software; you can redistribute it and/or modify it
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# under the terms of the GNU General Public License version 2 only, as
841179549b6433e782c164a562eb3422f603533dAndreas Gustafsson# published by the Free Software Foundation. Sun designates this
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson# particular file as subject to the "Classpath" exception as provided
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# by Sun in the LICENSE file that accompanied this code.
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# This code is distributed in the hope that it will be useful, but WITHOUT
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# version 2 for more details (a copy is included in the LICENSE file that
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# accompanied this code).
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# You should have received a copy of the GNU General Public License version
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# 2 along with this work; if not, write to the Free Software Foundation,
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# CA 95054 USA or visit www.sun.com if you need additional information or
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# have any questions.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Makefile for jaxws: wrapper around Ant build.xml file
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# On Solaris, the 'make' utility from Sun will not work with these makefiles.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# This little rule is only understood by Sun's make, and is harmless
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# when seen by the GNU make tool. If using Sun's make, this causes the
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# make command to fail.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceSUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafssonifdef QUIET
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -quiet
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef VERBOSE
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -verbose
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef JDK_VERSION
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Djdk.version=$(JDK_VERSION)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef FULL_VERSION
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dfull.version='$(FULL_VERSION)' # will contain spaces
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef MILESTONE
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dmilestone=$(MILESTONE)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef BUILD_NUMBER
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dbuild.number=$(BUILD_NUMBER)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceelse
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ifdef JDK_BUILD_NUMBER
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dbuild.number=$(JDK_BUILD_NUMBER)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce endif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifeq ($(VARIANT), DBG)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Djavac.debug=true
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceelse
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ifeq ($(VARIANT), OPT)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Djavac.debug=false
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce endif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# and the somewhat misnamed CLASS_VERSION (-target NN)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef TARGET_CLASS_VERSION
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Djavac.target=$(TARGET_CLASS_VERSION)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceelse
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ifdef JAVAC_TARGET_ARG
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Djavac.target=$(JAVAC_TARGET_ARG)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce endif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef ALT_BOOTDIR
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef ALT_OUTPUTDIR
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce OUTPUTDIR = $(ALT_OUTPUTDIR)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dbuild.dir=$(ALT_OUTPUTDIR)/build
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Ddist.dir=$(ALT_OUTPUTDIR)/dist
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceelse
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce OUTPUTDIR = ..
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
2aca7f657de7002f8144a322148fa42c0a0c1eddAndreas Gustafssonifdef ALT_LANGTOOLS_DIST
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef FINDBUGS_HOME
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT_OPTIONS += -Dfindbugs.home=$(FINDBUGS_HOME)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceifdef ANT_HOME
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT = $(ANT_HOME)/bin/ant
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ifneq ($(shell test -x $(ANT); echo $$?), 0)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(error "$(ANT) not found; please update ANT_HOME")
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce endif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceelse
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ANT = ant
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ifneq ($(shell which $(ANT) > /dev/null; echo $$?), 0)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(error "\"ant\" not found; please set ANT_HOME or put \"ant\" on your PATH")
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce endif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceendif
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Default target and expected 'do everything' target
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceall: build
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Standard make clobber target
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceclobber: clean
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# All ant targets of interest
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceANT_TARGETS = build clean sanity # for now
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Create a make target for each
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(ANT_TARGETS):
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(ANT_JAVA_HOME) $(ANT) -version
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) $@
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Targets for Sun's internal JPRT build system
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceJPRT_ARCHIVE_BUNDLE=$(OUTPUTDIR)/jprt.zip
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucejprt_build_product jprt_build_debug jprt_build_fastdebug: all
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(RM) $(JPRT_ARCHIVE_BUNDLE)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ( cd $(OUTPUTDIR)/dist && \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce zip -q -r $(JPRT_ARCHIVE_BUNDLE) . )
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Declare these phony (not filenames)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce.PHONY: $(ANT_TARGETS) all clobber \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce jprt_build_product jprt_build_debug jprt_build_fastdebug
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce