Mon, 23 Mar 2009 17:58:32 -0700
Merge
duke@1 | 1 | # |
duke@1 | 2 | # Copyright 1998-2005 Sun Microsystems, Inc. All Rights Reserved. |
duke@1 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@1 | 4 | # |
duke@1 | 5 | # This code is free software; you can redistribute it and/or modify it |
duke@1 | 6 | # under the terms of the GNU General Public License version 2 only, as |
duke@1 | 7 | # published by the Free Software Foundation. Sun designates this |
duke@1 | 8 | # particular file as subject to the "Classpath" exception as provided |
duke@1 | 9 | # by Sun in the LICENSE file that accompanied this code. |
duke@1 | 10 | # |
duke@1 | 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@1 | 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@1 | 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@1 | 14 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@1 | 15 | # accompanied this code). |
duke@1 | 16 | # |
duke@1 | 17 | # You should have received a copy of the GNU General Public License version |
duke@1 | 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@1 | 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@1 | 20 | # |
duke@1 | 21 | # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
duke@1 | 22 | # CA 95054 USA or visit www.sun.com if you need additional information or |
duke@1 | 23 | # have any questions. |
duke@1 | 24 | # |
duke@1 | 25 | |
duke@1 | 26 | # Input: BUILDDIR PACKAGE PKGDIR PROGRAM BUILDTOOL_SOURCE_ROOT BUILDTOOL_MAIN |
duke@1 | 27 | |
duke@1 | 28 | BUILDTOOL_MAIN_SOURCE_FILE = $(BUILDTOOL_SOURCE_ROOT)/$(BUILDTOOL_MAIN) |
duke@1 | 29 | BUILDTOOL_MANIFEST_FILE = $(BUILDTOOLCLASSDIR)/$(PROGRAM)_manifest.mf |
duke@1 | 30 | BUILDTOOL_JAR_FILE = $(BUILDTOOLJARDIR)/$(PROGRAM).jar |
duke@1 | 31 | BUILDTOOL_ALL_FILES := $(shell $(CD) $(BUILDTOOL_SOURCE_ROOT) \ |
duke@1 | 32 | && $(FIND) $(PKGDIR) $(SCM_DIRS_prune) -o -type f -print) |
duke@1 | 33 | BUILTTOOL_MAINCLASS = $(subst /,.,$(BUILDTOOL_MAIN:%.java=%)) |
duke@1 | 34 | |
duke@1 | 35 | all build: $(BUILDTOOL_JAR_FILE) tool_info |
duke@1 | 36 | |
duke@1 | 37 | $(BUILDTOOL_MANIFEST_FILE): $(BUILDTOOL_MAIN_SOURCE_FILE) |
duke@1 | 38 | @$(prep-target) |
duke@1 | 39 | $(ECHO) "Main-Class: $(BUILTTOOL_MAINCLASS)" > $@ |
duke@1 | 40 | |
duke@1 | 41 | $(BUILDTOOL_JAR_FILE): $(BUILDTOOL_MANIFEST_FILE) \ |
duke@1 | 42 | $(BUILDTOOL_ALL_FILES:%=$(BUILDTOOL_SOURCE_ROOT)/%) |
duke@1 | 43 | @$(prep-target) |
duke@1 | 44 | @$(MKDIR) -p $(BUILDTOOLCLASSDIR) |
duke@1 | 45 | $(BOOT_JAVAC_CMD) -d $(BUILDTOOLCLASSDIR) \ |
duke@1 | 46 | -sourcepath $(BUILDTOOL_SOURCE_ROOT) $(BUILDTOOL_MAIN_SOURCE_FILE) |
duke@1 | 47 | $(BOOT_JAR_CMD) cfm $@ $(BUILDTOOL_MANIFEST_FILE) \ |
duke@1 | 48 | -C $(BUILDTOOLCLASSDIR) $(PKGDIR) \ |
duke@1 | 49 | $(JAR_JFLAGS) || $(RM) $@ |
duke@1 | 50 | @$(java-vm-cleanup) |
duke@1 | 51 | |
duke@1 | 52 | # Printing out a build tool information line |
duke@1 | 53 | define printBuildToolSetting |
duke@1 | 54 | if [ "$2" != "" ] ; then $(PRINTF) "%-25s %s\n" "$1:" "$2"; fi |
duke@1 | 55 | endef |
duke@1 | 56 | |
duke@1 | 57 | # Print out the build tool information |
duke@1 | 58 | tool_info: |
duke@1 | 59 | @$(ECHO) "=========================================================" |
duke@1 | 60 | @$(call printBuildToolSetting,BUILDTOOL,$(PROGRAM)) |
duke@1 | 61 | @$(call printBuildToolSetting,PACKAGE,$(PACKAGE)) |
duke@1 | 62 | @$(call printBuildToolSetting,BUILDTOOL_SOURCE_ROOT,$(BUILDTOOL_SOURCE_ROOT)) |
duke@1 | 63 | @$(call printBuildToolSetting,BUILTTOOL_MAINCLASS,$(BUILTTOOL_MAINCLASS)) |
duke@1 | 64 | @$(call printBuildToolSetting,BUILDTOOL_JAR_FILE,$(BUILDTOOL_JAR_FILE)) |
duke@1 | 65 | @$(ECHO) "=========================================================" |
duke@1 | 66 | |
duke@1 | 67 | clean clobber:: |
duke@1 | 68 | $(RM) -r $(BUILDTOOLCLASSDIR)/$(PKGDIR) |
duke@1 | 69 | $(RM) $(BUILDTOOL_MANIFEST_FILE) |
duke@1 | 70 | $(RM) $(BUILDTOOL_JAR_FILE) |
duke@1 | 71 |