make/Makefile-classic

changeset 1
9a66ca7c79fa
child 554
9d9f26857129
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/make/Makefile-classic	Sat Dec 01 00:00:00 2007 +0000
     1.3 @@ -0,0 +1,419 @@
     1.4 +#
     1.5 +# Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     1.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.7 +#
     1.8 +# This code is free software; you can redistribute it and/or modify it
     1.9 +# under the terms of the GNU General Public License version 2 only, as
    1.10 +# published by the Free Software Foundation.  Sun designates this
    1.11 +# particular file as subject to the "Classpath" exception as provided
    1.12 +# by Sun in the LICENSE file that accompanied this code.
    1.13 +#
    1.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
    1.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.16 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.17 +# version 2 for more details (a copy is included in the LICENSE file that
    1.18 +# accompanied this code).
    1.19 +#
    1.20 +# You should have received a copy of the GNU General Public License version
    1.21 +# 2 along with this work; if not, write to the Free Software Foundation,
    1.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.23 +#
    1.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    1.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
    1.26 +# have any questions.
    1.27 +#
    1.28 +
    1.29 +#
    1.30 +# Makefile for building the langtools workspace.
    1.31 +#
    1.32 +
    1.33 +#
    1.34 +# On Solaris, the 'make' utility from Sun will not work with these makefiles.
    1.35 +#    This little rule is only understood by Sun's make, and is harmless
    1.36 +#    when seen by the GNU make tool. If using Sun's make, this causes the
    1.37 +#    make command to fail.
    1.38 +#
    1.39 +SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
    1.40 +
    1.41 +#----- cancel implicit rules
    1.42 +
    1.43 +%: %.o
    1.44 +%: %.obj
    1.45 +%: %.dll
    1.46 +%: %.c
    1.47 +%: %.cc
    1.48 +%: %.C
    1.49 +%: %.p
    1.50 +%: %.f
    1.51 +%: %.s
    1.52 +%: %.F
    1.53 +%: %.r
    1.54 +%: %.S
    1.55 +%: %.mod
    1.56 +%: %.sh
    1.57 +%: %,v
    1.58 +%: RCS/%,v
    1.59 +
    1.60 +#----- imports
    1.61 +
    1.62 +ifdef ALT_BOOT_JAVA_HOME
    1.63 +  BOOT_JAVA_HOME = $(ALT_BOOT_JAVA_HOME)
    1.64 +else 
    1.65 +  ifdef ALT_BOOTDIR
    1.66 +    BOOT_JAVA_HOME = $(ALT_BOOTDIR)
    1.67 +  else
    1.68 +    BOOT_JAVA_HOME=/java/re/jdk/1.5.0/archive/fcs/binaries/solaris-sparc
    1.69 +  endif
    1.70 +endif
    1.71 +
    1.72 +BOOT_JAVA=$(BOOT_JAVA_HOME)/bin/java
    1.73 +BOOT_JAVAC=$(BOOT_JAVA_HOME)/bin/javac
    1.74 +BOOTJAR=$(BOOT_JAVA_HOME)/bin/jar
    1.75 +
    1.76 +ifdef ALT_TESTJAVA_HOME
    1.77 +  TESTJAVA_HOME = $(ALT_TESTJAVA_HOME)
    1.78 +else
    1.79 +  TESTJAVA_HOME=/java/re/jdk/1.6.0/archive/fcs/binaries/solaris-sparc
    1.80 +endif
    1.81 +
    1.82 +TESTJAVA=$(TESTJAVA_HOME)/bin/java
    1.83 +
    1.84 +ifdef ALT_FINDBUGS_HOME
    1.85 +  FINDBUGS_HOME = $(ALT_FINDBUGS_HOME)
    1.86 +else
    1.87 +  FINDBUGS_HOME = /java/devtools/share/findbugs/1.1.2-rc4
    1.88 +endif
    1.89 +
    1.90 +FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs
    1.91 +
    1.92 +#----- commands
    1.93 +
    1.94 +CHMOD = chmod
    1.95 +CP = cp
    1.96 +ECHO = echo # FIXME
    1.97 +FIND = find
    1.98 +MKDIR = mkdir
    1.99 +SED = sed
   1.100 +ZIP = zip
   1.101 +
   1.102 +#-----  locations and deliverables
   1.103 +
   1.104 +TOPDIR = ..
   1.105 +SRC_BIN_DIR = $(TOPDIR)/src/share/bin
   1.106 +SRC_CLASSES_DIR = $(TOPDIR)/src/share/classes
   1.107 +
   1.108 +BUILD_DIR = $(TOPDIR)/build
   1.109 +
   1.110 +CLASSES_DIR = $(BUILD_DIR)/classes
   1.111 +GENSRC_DIR = $(BUILD_DIR)/gensrc
   1.112 +
   1.113 +DIST_DIR = $(TOPDIR)/dist
   1.114 +BIN_DIR = $(DIST_DIR)/bin
   1.115 +LIB_DIR = $(DIST_DIR)/lib
   1.116 +
   1.117 +JAVAC_JAR = $(LIB_DIR)/javac.jar
   1.118 +JAVADOC_JAR = $(LIB_DIR)/javadoc.jar
   1.119 +JAVAH_JAR = $(LIB_DIR)/javah.jar
   1.120 +JAVAP_JAR = $(LIB_DIR)/javap.jar
   1.121 +APT_JAR = $(LIB_DIR)/apt.jar
   1.122 +
   1.123 +CLASSES_JAR = $(DIST_DIR)/classes.jar
   1.124 +SRC_ZIP = $(DIST_DIR)/src.zip
   1.125 +
   1.126 +BUILDTOOLSRC_DIR = tools
   1.127 +BUILDTOOLCLASSES_DIR = $(BUILD_DIR)/toolclasses
   1.128 +
   1.129 +#-----
   1.130 +
   1.131 +ifndef JDK_MAJOR_VERSION
   1.132 +  JDK_MAJOR_VERSION = 1
   1.133 +endif
   1.134 +
   1.135 +ifndef JDK_MINOR_VERSION
   1.136 +  JDK_MINOR_VERSION = 7
   1.137 +endif
   1.138 +
   1.139 +ifndef JDK_MICRO_VERSION
   1.140 +  JDK_MICRO_VERSION = 0
   1.141 +endif
   1.142 +
   1.143 +ifndef JDK_VERSION
   1.144 +  JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
   1.145 +endif
   1.146 +
   1.147 +ifndef MILESTONE
   1.148 +  MILESTONE = internal
   1.149 +endif
   1.150 +
   1.151 +# RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set
   1.152 +ifneq ($(MILESTONE),fcs)
   1.153 +  RELEASE      = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
   1.154 +else
   1.155 +  RELEASE      = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
   1.156 +endif
   1.157 +
   1.158 +# FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
   1.159 +ifdef BUILD_NUMBER
   1.160 +  FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
   1.161 +else
   1.162 +  BUILD_NUMBER = b00
   1.163 +  USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`)
   1.164 +  FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
   1.165 +endif
   1.166 +
   1.167 +#----- useful macros
   1.168 +
   1.169 +TOOLS =  javac javadoc javah javap apt
   1.170 +
   1.171 +SOURCE_LEVEL = 5
   1.172 +BOOTSTRAP_TARGET_LEVEL = 5
   1.173 +TARGET_LEVEL = 6
   1.174 +
   1.175 +ifndef TARGET_JAVA
   1.176 +  TARGET_JAVA = java
   1.177 +endif
   1.178 +
   1.179 +NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true
   1.180 +
   1.181 +SELF = $(lastword $(MAKEFILE_LIST))
   1.182 +
   1.183 +#-----
   1.184 +
   1.185 +# the default is to generate the following:
   1.186 +# dist/{bin,lib}: 
   1.187 +# 	lang tools compiled to run on the target JDK
   1.188 +
   1.189 +default:  
   1.190 +	$(MAKE) -f $(SELF) \
   1.191 +		MILESTONE=bootstrap \
   1.192 +		TARGET_LEVEL=$(BOOTSTRAP_TARGET_LEVEL) \
   1.193 +		TARGET_JAVA=$(BOOT_JAVA_HOME)/bin/java \
   1.194 +		GENSRC_DIR=$(BUILD_DIR)/bootstrap/gensrc \
   1.195 +		CLASSES_DIR=$(BUILD_DIR)/bootstrap/classes \
   1.196 +		BIN_DIR=$(BUILD_DIR)/bootstrap/bin \
   1.197 +		LIB_DIR=$(BUILD_DIR)/bootstrap/lib \
   1.198 +		$(BUILD_DIR)/bootstrap/lib/javac.jar \
   1.199 +		$(BUILD_DIR)/bootstrap/bin/javac
   1.200 +	$(MAKE) -f $(SELF) \
   1.201 +		BOOT_JAVAC=$(BUILD_DIR)/bootstrap/bin/javac \
   1.202 +		tools
   1.203 +
   1.204 +# for jdk, we generate the following:
   1.205 +# dist/bootstrap/{bin,lib}:
   1.206 +#	lang tools compiled to run on the boot JDK
   1.207 +# dist/lib/classes.jar:
   1.208 +#	lang tools recompiled to run on the target JDK,
   1.209 +#	ready for inclusion in rt.jar and tools.jar
   1.210 +# dist/lib/src.zip
   1.211 +#	.properties and .java files for classes in classes.jar,
   1.212 +#	ready for jdk src.zip 
   1.213 +
   1.214 +jdk:
   1.215 +	$(MAKE) -f $(SELF) \
   1.216 +		MILESTONE=bootstrap \
   1.217 +		TARGET_LEVEL=$(BOOTSTRAP_TARGET_LEVEL) \
   1.218 +		TARGET_JAVA=$(BOOT_JAVA_HOME)/bin/java \
   1.219 +		GENSRC_DIR=$(BUILD_DIR)/bootstrap/gensrc \
   1.220 +		CLASSES_DIR=$(BUILD_DIR)/bootstrap/classes \
   1.221 +		BIN_DIR=$(DIST_DIR)/bootstrap/bin \
   1.222 +		LIB_DIR=$(DIST_DIR)/bootstrap/lib \
   1.223 +		tools
   1.224 +	$(MAKE) -f $(SELF) \
   1.225 +		BOOT_JAVAC=$(DIST_DIR)/bootstrap/bin/javac \
   1.226 +		LIB_DIR=$(BUILD_DIR)/jdk/lib \
   1.227 +		$(DIST_DIR)/lib/classes.jar \
   1.228 +		$(DIST_DIR)/lib/src.zip
   1.229 +
   1.230 +tools: $(TOOLS:%=$(LIB_DIR)/%.jar) $(TOOLS:%=$(BIN_DIR)/%)
   1.231 +
   1.232 +clean:
   1.233 +	$(RM) -r $(BUILD_DIR)
   1.234 +
   1.235 +really-clean: clean
   1.236 +	$(RM) -r $(DIST_DIR)
   1.237 +
   1.238 +jprt_product_build \
   1.239 +jprt_debug_build \
   1.240 +jprt_fastdebug_build: lib
   1.241 +
   1.242 +#-----  javac
   1.243 +
   1.244 +JAVAC_DIRS = \
   1.245 +	javax/annotation/processing \
   1.246 +	javax/lang/model \
   1.247 +	javax/tools \
   1.248 +	com/sun/source \
   1.249 +	com/sun/tools/javac 
   1.250 +
   1.251 +JAVAC_RESOURCE_FILES = \
   1.252 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAC_DIRS)) -name SCCS -prune -o -name \*.properties -print )
   1.253 +
   1.254 +JAVAC_JAVA_FILES = \
   1.255 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAC_DIRS)) -name SCCS -prune -o -name \*.java -print ) \
   1.256 +	$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAC_RESOURCE_FILES)) \
   1.257 +	$(GENSRC_DIR)/com/sun/tools/javac/resources/version.java
   1.258 +
   1.259 +$(JAVAC_JAR): $(JAVAC_JAVA_FILES)
   1.260 +	$(MKDIR) -p $(CLASSES_DIR) $(@D)
   1.261 +	$(BOOT_JAVAC) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(NO_PROPRIETARY_API_WARNINGS) $(JAVAC_JAVA_FILES)
   1.262 +	( $(ECHO) Main-Class: com.sun.tools.javac.Main ) > $(BUILD_DIR)/javac.mf
   1.263 +	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/javac.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAC_DIRS))
   1.264 +
   1.265 +#----- javadoc
   1.266 +
   1.267 +### FIXME -- javadoc has a couple of extra non-property resource files
   1.268 +### that need to be included
   1.269 +
   1.270 +JAVADOC_DIRS = \
   1.271 +	com/sun/javadoc \
   1.272 +	com/sun/tools/doclets \
   1.273 +	com/sun/tools/javadoc
   1.274 +
   1.275 +JAVADOC_RESOURCE_FILES = \
   1.276 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVADOC_DIRS)) -name SCCS -prune -o -name \*.properties -print )
   1.277 +
   1.278 +JAVADOC_JAVA_FILES = \
   1.279 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVADOC_DIRS)) -name SCCS -prune -o -name \*.java -print ) \
   1.280 +	$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVADOC_RESOURCE_FILES))
   1.281 + 
   1.282 +$(JAVADOC_JAR): $(JAVADOC_JAVA_FILES) $(JAVAC_JAR)
   1.283 +	$(MKDIR) -p $(CLASSES_DIR) $(@D)
   1.284 +	$(BOOT_JAVAC) -sourcepath "" -classpath $(JAVAC_JAR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(JAVADOC_JAVA_FILES)
   1.285 +	( $(ECHO) Main-Class: com.sun.tools.javadoc.Main ; $(ECHO) Class-Path: javac.jar ) > $(BUILD_DIR)/javadoc.mf
   1.286 +	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/javadoc.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVADOC_DIRS))
   1.287 +
   1.288 +#----- javah
   1.289 +
   1.290 +JAVAH_DIRS = \
   1.291 +	com/sun/tools/javah
   1.292 +
   1.293 +JAVAH_RESOURCE_FILES = \
   1.294 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAH_DIRS)) -name SCCS -prune -o -name \*.properties -print )
   1.295 +
   1.296 +JAVAH_JAVA_FILES = \
   1.297 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAH_DIRS)) -name SCCS -prune -o -name \*.java -print ) \
   1.298 +	$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAH_RESOURCE_FILES))
   1.299 + 
   1.300 +$(JAVAH_JAR): $(JAVAH_JAVA_FILES) $(JAVADOC_JAR)
   1.301 +	$(MKDIR) -p $(CLASSES_DIR) $(@D)
   1.302 +	$(BOOT_JAVAC) -sourcepath "" -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(JAVAH_JAVA_FILES)
   1.303 +	( $(ECHO) Main-Class: com.sun.tools.javah.Main ; $(ECHO) Class-Path: javadoc.jar ) > $(BUILD_DIR)/javah.mf
   1.304 +	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/javah.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAH_DIRS))
   1.305 +
   1.306 +#----- javap
   1.307 +
   1.308 +JAVAP_DIRS = \
   1.309 +	sun/tools/javap
   1.310 +
   1.311 +JAVAP_RESOURCE_FILES = \
   1.312 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAP_DIRS)) -name SCCS -prune -o -name \*.properties -print )
   1.313 +
   1.314 +JAVAP_JAVA_FILES = \
   1.315 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAP_DIRS)) -name SCCS -prune -o -name \*.java -print ) \
   1.316 +	$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAP_RESOURCE_FILES))
   1.317 + 
   1.318 +$(JAVAP_JAR): $(JAVAP_JAVA_FILES) \
   1.319 +		$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAP_RESOURCE_FILES))
   1.320 +	$(MKDIR) -p $(CLASSES_DIR)
   1.321 +	$(BOOT_JAVAC) -sourcepath "" -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(JAVAP_JAVA_FILES)
   1.322 +	( $(ECHO) Main-Class: sun.tools.javap.Main ) > $(BUILD_DIR)/javap.mf
   1.323 +	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/javap.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAP_DIRS))
   1.324 +
   1.325 +#----- apt
   1.326 +
   1.327 +APT_DIRS = \
   1.328 +	com/sun/mirror \
   1.329 +	com/sun/tools/apt
   1.330 +
   1.331 +APT_RESOURCE_FILES = \
   1.332 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(APT_DIRS)) -name SCCS -prune -o -name \*.properties -print )
   1.333 +
   1.334 +APT_JAVA_FILES = \
   1.335 +	$(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(APT_DIRS)) -name SCCS -prune -o -name \*.java -print ) \
   1.336 +	$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(APT_RESOURCE_FILES))
   1.337 + 
   1.338 +$(APT_JAR): $(APT_JAVA_FILES) $(JAVAC_JAR) \
   1.339 +		$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(APT_RESOURCE_FILES))
   1.340 +	$(MKDIR) -p $(CLASSES_DIR) $(@D)
   1.341 +	$(BOOT_JAVAC) -sourcepath "" -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(NO_PROPRIETARY_API_WARNINGS) \
   1.342 +		$(APT_JAVA_FILES) \
   1.343 +		$(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(APT_RESOURCE_FILES))
   1.344 +	( $(ECHO) Main-Class: com.sun.tools.apt.Main ; $(ECHO) Class-Path: javac.jar ) > $(BUILD_DIR)/apt.mf
   1.345 +	$(BOOTJAR) -cfm $@ $(BUILD_DIR)/apt.mf $(patsubst %,-C $(CLASSES_DIR) %, $(APT_DIRS))
   1.346 +
   1.347 +#-----
   1.348 +
   1.349 +build-tools: $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class
   1.350 +
   1.351 +$(GENSRC_DIR)/%.java: $(SRC_CLASSES_DIR)/%.properties $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class
   1.352 +	$(MKDIR) -p $(@D)
   1.353 +	$(BOOT_JAVA) -cp $(BUILDTOOLCLASSES_DIR)/CompileProperties CompileProperties $< $(patsubst $(CLASSES_DIR)/%.class,$(GENSRC_DIR)/%.java,$@)
   1.354 +
   1.355 +$(GENSRC_DIR)/%.java: $(GENSRC_DIR)/%.properties $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class
   1.356 +	$(MKDIR) -p $(@D)
   1.357 +	$(BOOT_JAVA) -cp $(BUILDTOOLCLASSES_DIR)/CompileProperties CompileProperties $< $(patsubst $(CLASSES_DIR)/%.class,$(GENSRC_DIR)/%.java,$@)
   1.358 +
   1.359 +$(GENSRC_DIR)/%.properties: $(SRC_CLASSES_DIR)/%.properties-template
   1.360 +	$(MKDIR) -p $(@D)
   1.361 +	$(SED)  -e 's/$$(JDK_VERSION)/$(JDK_VERSION)/'  \
   1.362 +		-e 's/$$(FULL_VERSION)/$(FULL_VERSION)/' \
   1.363 +		-e 's/$$(RELEASE)/$(RELEASE)/' \
   1.364 +		< $< > $@
   1.365 +
   1.366 +$(BUILDTOOLCLASSES_DIR)/%.class : $(BUILDTOOLSRC_DIR)/%.java
   1.367 +	$(MKDIR) -p $(@D)
   1.368 +	$(BOOT_JAVAC) -d $(@D) $<
   1.369 +
   1.370 +#----- all classes
   1.371 +
   1.372 +$(DIST_DIR)/%/classes.jar: $(JAVAC_JAR) $(JAVADOC_JAR) $(JAVAH_JAR) $(JAVAP_JAR) $(APT_JAR)
   1.373 +	$(MKDIR) -p $(@D)
   1.374 +	$(BOOTJAR) -cf $@ -C $(CLASSES_DIR) .
   1.375 +
   1.376 +#----- src.zip
   1.377 +
   1.378 +SRC_ZIP_FILES = $(shell $(FIND) $(SRC_CLASSES_DIR) \( -name SCCS -o -name \*-template \) -prune -o -type f -print )
   1.379 +
   1.380 +$(DIST_DIR)/%/src.zip: $(SRC_ZIP_FILES)
   1.381 +	abs_src_zip=`cd $(@D) ; pwd`/$(@F) ; \
   1.382 +	( cd $(SRC_CLASSES_DIR) ; $(FIND) . \( -name SCCS -o -name \*-template \) -prune -o -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ; \
   1.383 +	( cd $(SRC_CLASSES_DIR) ; $(FIND) . -name SCCS -prune -o -name \*-template -print | $(SED) -e 's/-template//' ) | ( cd $(GENSRC_DIR) ; $(ZIP) -q $$abs_src_zip -@ ) 
   1.384 +
   1.385 +#----- bin files
   1.386 +
   1.387 +$(BIN_DIR)/%: $(SRC_BIN_DIR)/launcher.sh-template
   1.388 +	$(MKDIR) -p $(@D)
   1.389 +	$(SED) -e 's|#PROGRAM#|$(@F)|' -e 's|#TARGET_JAVA#|$(TARGET_JAVA)|' $< > $@
   1.390 +	$(CHMOD) +x $@
   1.391 +
   1.392 +#-----
   1.393 +
   1.394 +findbugs: $(BUILD_DIR)/findbugs.txt
   1.395 +
   1.396 +$(BUILD_DIR)/findbugs.txt: $(CLASSES_JAR)
   1.397 +	$(MKDIR) -p $(@D)
   1.398 +	$(FINDBUGS) -textui -javahome $(BOOT_JAVA_HOME) -high -emacs -outputFile $@ $<
   1.399 +
   1.400 +#-----
   1.401 +
   1.402 +quick-check: $(patsubst %, $(DIST_LIB_DIR)/%.jar, $(TOOLS))
   1.403 +	$(TESTJAVA) -jar $(JAVAC_JAR) -version
   1.404 +	- $(TESTJAVA) -jar $(JAVADOC_JAR) -version
   1.405 +	$(TESTJAVA) -jar $(JAVAH_JAR) -version
   1.406 +	- $(TESTJAVA) -jar $(JAVAP_JAR) -version
   1.407 +	$(TESTJAVA) -jar $(APT_JAR) -version
   1.408 +
   1.409 +#-----
   1.410 +
   1.411 +.PHONY: \
   1.412 +	all \
   1.413 +	build \
   1.414 +	build-tools \
   1.415 +	clean \
   1.416 +	default \
   1.417 +	findbugs \
   1.418 +	jprt_product_build \
   1.419 +	jprt_debug_build \
   1.420 +	jprt_fastdebug_build \
   1.421 +	tools
   1.422 +

mercurial