You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by dl...@apache.org on 2005/10/28 11:07:07 UTC

svn commit: r329163 - in /incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM: ./ jni/src/harmony/generic/0.0/ jni/src/harmony/generic/0.0/src/ jvm/ jvm/src/ libjvm/ main/ main/src/ test/ test/src/

Author: dlydick
Date: Fri Oct 28 02:06:10 2005
New Revision: 329163

URL: http://svn.apache.org/viewcvs?rev=329163&view=rev
Log:
Replace old build scripts with proper Makefiles.

Added:
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeRules
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeSetup
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/Makefile
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/src/Makefile
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/Makefile
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/src/Makefile
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/src/Makefile
Removed:
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/build.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/clean.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/build.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/clean.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/common.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/build.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/clean.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/common.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/libjvm/build.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/libjvm/clean.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/libjvm/common.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/build.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/clean.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/common.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/build.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/clean.sh
    incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/common.sh

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeRules
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeRules?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeRules (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeRules Fri Oct 28 02:06:10 2005
@@ -0,0 +1,362 @@
+#
+#!
+# @file ./MakeRules
+#
+# @brief Rules for building targets
+#
+# @see @link ./Makefile ./Makefile@endlink
+#
+# @see @link ./MakeSetup ./MakeSetup@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Makefile sources, objects, and targets
+#
+
+# Generic copyright message reference (C pgms use 'jvm/include/arch.h')
+ARCH_COPYRIGHT_TEXT_APACHE=\
+"Copyright 2005 The Apache Software Foundation or its licensors, as applicable."
+
+########################
+#
+# File extensions
+#
+C_SOURCE=c
+C_OBJECT=o
+AR_ARCHIVE=a
+# (Only needed for MS binaries, namely '.exe')
+DOT_BIN_EXTENSION=
+
+JAVA_SOURCE=java
+JAVA_CLASS=class
+JAVA_ARCHIVE=jar
+
+########################
+#
+# Rule verbosity
+#
+
+# Permit C compilation to be silent except errors with '@'
+CC_SILENT=@
+#CC_SILENT=
+
+# Permit Java compilation to be silent except errors with '@'
+JAVAC_SILENT=@
+#JAVAC_SILENT=
+
+# Permit 'clean' rules to be silent except errors with '@'
+CLEAN_SILENT=@
+#CLEAN_SILENT=
+
+
+########################
+#
+# Select C compiler based on configuration, defaulting
+# to CONFIG_CCOMPILER_OTHER
+#
+#ifdef CONFIG_CCOMPILER_GCC
+
+########################
+#
+# Configured to use GNU 'C' compiler and 'bintools'
+#
+CC=gcc
+AR=ar
+
+CFLAGS:=-m$(CONFIG_WORDWIDTH) -O0 -g3 -Wall -fmessage-length=0 -ansi
+
+LFLAGS=-m$W(CONFIG_WORDWIDTH) -lpthread -lm -L$(TOPDIR)/libjvm/lib
+
+ARCMD=r
+
+#else
+
+########################
+#
+# Default to GNU 'C' compiler and 'bintools'
+#
+
+CC=gcc
+AR=ar
+
+CFLAGS:=-m$(CONFIG_WORDWIDTH) -O0 -g3 -Wall -fmessage-length=0 -ansi
+
+LFLAGS=-m$(CONFIG_WORDWIDTH) -lpthread -lm -L$(TOPDIR)/libjvm/lib
+
+ARCMD=r
+
+#endif
+
+########################
+#
+# Java compiler and archiver
+#
+JAVAC=$(JAVA_HOME)/bin/javac
+JAR=$(JAVA_HOME)/bin/jar
+
+JFLAGS=-g -sourcepath .:$(TOPDIR) -d $(CLSDIR)
+
+# No compression so archive is readable by 'getsvndata.sh'
+JARFLAGS=0
+
+JARCMD=-cf$(JARFLAGS)
+
+########################
+#
+# Compendium of all include paths
+#
+STD_INCLUDE_PATHS= -I../include -I$(TOPDIR)/config \
+  -I$(TOPDIR)/jvm/include \
+  $(JAVA_INCLUDE_PATHS)
+
+INCLUDES:= \
+  $(PRE_INCLUDE_PATHS) \
+  $(STD_INCLUDE_PATHS) \
+  $(POST_INCLUDE_PATHS)
+
+###################################################################
+#
+# Utility rules
+#
+
+########################
+#
+# Create header file dependency list
+#
+DEPEND=.depend
+ifneq (,$(BIN_TARGET))
+DEPDIR=$(BINDIR)
+endif
+ifneq (,$(LIB_TARGET))
+DEPDIR=$(LIBDIR)
+endif
+
+TOUCHDEPEND=touch $(DEPEND)
+MAKEDEPEND:=makedepend -f$(DEPEND) $(INCLUDES) -p$(DEPDIR)/ \
+  $(C_SOURCES) $(C_HEADERS)
+
+########################
+#
+# Unconditionally build dependencies for directories with 'C' sources.
+# Ignore request for other directory types.
+#
+depend::
+ifneq (,$(C_SOURCES))
+	$(CC_SILENT)$(TOUCHDEPEND)
+	$(CC_SILENT)-$(MAKEDEPEND)
+
+-include $(DEPEND)
+
+########################
+#
+# Automatically build dependencies if not present
+#
+all::
+ifeq (,$(wildcard $(DEPEND)))
+	$(CC_SILENT)@$(TOUCHDEPEND)
+	$(CC_SILENT)@-$(MAKEDEPEND)
+
+endif # DEPEND
+endif # C_SOURCES
+
+
+clean veryclean::
+	$(CLEAN_SILENT)rm -f $(DEPEND) $(DEPEND).bak
+
+###################################################################
+#
+# Compilation rules
+#
+
+########################
+#
+# Compile classes for a Java archive-- yes, I know about 'ant'.
+#
+# Send classes to a lib sub-directory, while result
+# goes to bin directory.
+#
+# Put these rules ahead of 'lib' rules so 'clean' operates
+# on $(CLSDIR) ahead of 'lib' rules, being a 'lib' subdirectory.
+#
+ifneq (,$(JAR_TARGET))
+ifneq (,$(JAVA_SOURCES))
+
+JAVA_CLASSES:=$(patsubst %.$(JAVA_SOURCE),%.$(JAVA_CLASS),$(JAVA_SOURCES))
+JAVA_CLASSES:=$(patsubst %,$(CLSDIR)/%,$(JAVA_CLASSES))
+
+# Java archive target depends on Java sources
+$(JAR_TARGET):: $(JAVA_SOURCES)
+
+#
+# Compile Java source into Java classes, then on into a Java archive.
+# For incremental compile, let Java compiler decide which class files
+# are up to date or not.
+#
+$(JAR_TARGET):: $(JAVA_SOURCES)
+ifeq (,$(wildcard $(LIBDIR)))
+	@if test ! -d $(LIBDIR); then mkdir $(LIBDIR); fi
+endif
+ifeq (,$(wildcard $(CLSDIR)))
+	@if test ! -d $(CLSDIR); then mkdir $(CLSDIR); fi
+endif
+ifeq (,$(wildcard $(BINDIR)))
+	@if test ! -d $(BINDIR); then mkdir $(BINDIR); fi
+endif
+	$(JAVAC_SILENT)$(JAVAC) $(JFLAGS) $(JJFLAGS) $^
+	$(JAVAC_SILENT)$(JAR) $(JARCMD) $@ -C $(CLSDIR) .
+
+# Assume that 'rmdir' works on an empty directory-- there should
+# _never_ be anything there that 'make' did not put there.
+# Remove $(CLSDIR) subdirectories by deepest first.
+# (Be just a _bit_ lazy and not recursively 'rmdir' up to the
+# top, but do 'rm -rf' of any leftover intermediate directories.)
+clean::
+	$(CLEAN_SILENT)rm -f $(JAVA_CLASSES) $(JAR_TARGET)
+	@-rmdir `(for d in $(sort $(dir $(JAVA_CLASSES))); do \
+			echo $$d; done) | sort -ru`
+	$(CLEAN_SILENT)rm -rf $(CLSDIR)/*
+	$(CLEAN_SILENT)-rmdir $(CLSDIR)
+	$(CLEAN_SILENT)-rmdir $(LIBDIR)
+	$(CLEAN_SILENT)-rmdir $(BINDIR)
+
+veryclean::
+	for d in $(CLSDIR) $(LIBDIR) $(BINDIR); \
+		do if test -d $$d/.; then chmod -R +w $$d; fi; done
+	$(CLEAN_SILENT)-rm -rf $(CLSDIR) $(LIBDIR) $(BINDIR)
+
+endif # JAVA_SOURCES
+
+endif # JAR_TARGET
+
+
+########################
+#
+# Enable 'bin' rules when BIN_TARGET specified
+#
+ifneq (,$(BIN_TARGET))
+
+ifneq (,$(C_SOURCES))
+BIN_OBJECTS:=$(patsubst %.$(C_SOURCE),$(BINDIR)/%.$(C_OBJECT),$(C_SOURCES))
+ifneq (,$(wildcard main.$(C_SOURCE)))
+BIN_OBJECTS+=$(BINDIR)/main.$(C_OBJECT)
+endif
+
+#
+# Compile sources into linkable objects
+#
+$(BINDIR)/%.$(C_OBJECT): %.$(C_SOURCE)
+ifeq (,$(wildcard $(BINDIR)))
+	@if test ! -d $(BINDIR); then mkdir $(BINDIR); fi
+endif
+	$(CC_SILENT)$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
+
+#
+# Link objects into executable binary
+#
+$(BIN_TARGET):: $(BIN_OBJECTS)
+	$(CC_SILENT)$(CC) $^ -o $@ $(LFLAGS) $(LLFLAGS)
+
+endif # C_SOURCES
+
+# Assume that 'rmdir' works on an empty directory-- there should
+# _never_ be anything there that 'make' did not put there.
+clean::
+ifneq (,$(wildcard main.$(C_SOURCE)))
+	$(CLEAN_SILENT)rm -f $(BINDIR)/main.$(C_OBJECT)
+endif
+	$(CLEAN_SILENT)rm -f $(BIN_OBJECTS) $(BIN_TARGET)
+	@rm -rf $(BINDIR)/src
+	$(CLEAN_SILENT)-rmdir $(BINDIR)
+
+veryclean::
+	if test -d $(BINDIR); then chmod -R +w $(BINDIR); fi; done
+	$(CLEAN_SILENT)-rm -rf $(BINDIR)
+
+endif # BIN_TARGET
+
+########################
+#
+# Enable 'lib' rules when LIB_TARGET specified
+#
+ifneq (,$(LIB_TARGET))
+
+LIB_OBJECTS=$(patsubst %.$(C_SOURCE),$(LIBDIR)/%.$(C_OBJECT),$(C_SOURCES))
+
+#
+# Compile sources into archivable objects
+#
+$(LIBDIR)/%.$(C_OBJECT): %.$(C_SOURCE)
+ifeq (,$(wildcard $(LIBDIR)))
+	@if test ! -d $(LIBDIR); then mkdir $(LIBDIR); fi
+endif
+	$(CC_SILENT)$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
+
+#
+# Archive objects into linkable static library archive
+#
+$(LIB_TARGET): $(LIB_OBJECTS)
+	$(CC_SILENT)$(AR) $(ARCMD) $@ $^
+
+# Assume that 'rmdir' works on an empty directory-- there should
+# _never_ be anything there that 'make' did not put there.
+clean::
+	$(CLEAN_SILENT)rm -f $(LIB_OBJECTS) $(LIB_TARGET)
+	@rm -rf $(LIBDIR)/src
+	$(CLEAN_SILENT)-rmdir $(LIBDIR)
+
+veryclean::
+	if test -d $(LIBDIR); then chmod -R +w $(LIBDIR); fi; done
+	$(CLEAN_SILENT)-rm -rf $(LIBDIR)
+
+endif # LIB_TARGET
+
+########################
+#
+# Rules that really only operate at the top level,
+# placed at other levels for convenience.
+#
+roster dox undox::
+	$(MAKE) -C $(TOPDIR) $@
+
+###################################################################
+#
+# EOF

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeSetup
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeSetup?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeSetup (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/MakeSetup Fri Oct 28 02:06:10 2005
@@ -0,0 +1,102 @@
+#
+#!
+# @file ./MakeSetup
+#
+# @brief Setup and configuration of all Makefiles
+#
+# @see @link ./Makefile ./Makefile@endlink
+#
+# @see @link ./MakeRules ./MakeRules@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Makefile setup
+#
+
+########################
+#
+# Default target
+#
+all::
+
+PWD=$(shell pwd)
+
+########################
+#
+# Base name of this directory and of parent directory
+#
+DIRNAME:=$(shell expr $(PWD) : '\(.*[^/]\)/*$' : '.*/\(..*\)')
+PROJECTNAME:=
+
+ifeq ("src","$(DIRNAME)")
+PROJECTNAME:=$(shell expr $(PWD)/ : '\(/\)/*[^/]*//*$' \| $(PWD)/ \
+                                  : '\(.*[^/]\)//*[^/][^/]*//*$' )
+endif
+
+########################
+#
+# Names of source and target directories
+#
+CFGDIR=$(TOPDIR)/config
+
+INCDIR=../include
+BINDIR=../bin
+LIBDIR=../lib
+
+CLSDIR=$(LIBDIR)/classes
+LIBJVM_LIBDIR=../../libjvm/lib
+
+########################
+#
+# Disallow default build rules
+#
+.SUFFIXES:
+
+########################
+#
+# List of which projects are configured, plus crucial compile options
+#
+include $(TOPDIR)/config/config_build_steps.mak
+
+###################################################################
+#
+# EOF

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/Makefile
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/Makefile?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/Makefile (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/Makefile Fri Oct 28 02:06:10 2005
@@ -0,0 +1,237 @@
+#
+#!
+# @file /home/dlydick/harmony/bootjvm/bootJVM/Makefile
+#
+# @brief Build entire code base
+#
+# Top level @c @b Makefile for compiling the whole code base.
+#
+# (Please refer to @link ./roster.sh roster.sh@endlink as to why
+# the <b>@@file</b> directive is constructed the way that it is.)
+#
+# In order to support both the creation of the JVM static library
+# archive and the Eclipse project files, some adjustments have been
+# made to the way the @c @b jvm and @c @b libjvm trees are built.
+# Since @c @b libjvm/src is a symbolic link to the @c @b jvm/src
+# directory, @link jvm/src/Makefile jvm/src/Makefile@endlink has
+# been set up to compile both types of targets, the linked binary
+# of its original build script and the static library from
+# @c @b libjvm/src directory.  (The former build scripts were
+# placed above the @c @b src level and so could distinguish
+# between them without any other mechanism.)  That
+# @link jvm/src/Makefile jvm/src/Makefile@endlink may be used
+# to compile for one or the other or both directories.
+#
+# This script replaces the former @c @b build.sh and @c @b clean.sh
+# scripts, which were implemented merely as a convenience toward
+# getting the initial code base written.
+#
+#
+# @see @link ./MakeSetup ./MakeSetup@endlink
+#
+# @see @link ./MakeRules ./MakeRules@endlink
+#
+# @see @link jvm/src/Makefile jvm/src/Makefile@endlink
+#
+# @see @link main/src/Makefile main/src/Makefile@endlink
+#
+# @see @link test/src/Makefile test/src/Makefile@endlink
+#
+# @see @link jni/src/harmony/generic/0.0/src/Makefile jni/src/harmony/generic/0.0/src/Makefile@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Makefile setup
+#
+
+#
+# The default rule for the top level is 'cfg' instead of 'all'
+# (that all other Makefiles use as the default rule).
+#
+cfg::
+
+TOPDIR=.
+include $(TOPDIR)/MakeSetup
+
+#
+# Disable subdirectory warnings if desired
+#
+NPD=--no-print-directory
+#NPD=
+
+###################################################################
+#
+# Target specifications.
+#
+OPTLIST1=cfg | all | clean | veryclean
+
+cfg::
+ifeq (1,$(CONFIG_BUILD_JVM))
+	$(MAKE) $(NPD) -C jvm/src BOOTJVM=non-null all
+endif
+ifeq (1,$(CONFIG_BUILD_LIB))
+	$(MAKE) $(NPD) -C jvm/src LIBJVM=non-null all
+endif
+ifeq (1,$(CONFIG_BUILD_MAIN))
+	$(MAKE) $(NPD) -C main/src all
+endif
+ifeq (1,$(CONFIG_BUILD_JNI))
+	$(MAKE) $(NPD) -C jni/src/harmony/generic/0.0/src all
+endif
+ifeq (1,$(CONFIG_BUILD_TEST))
+	$(MAKE) $(NPD) -C test/src all
+endif
+ifeq (1,$(CONFIG_BUILD_DOX))
+	$(MAKE) $(NPD) dox
+endif
+
+all clean veryclean::
+	-$(MAKE) $(NPD) -C jvm/src BOOTJVM=non-null LIBJVM=non-null $@
+	-$(MAKE) $(NPD) -C main/src $@
+	-$(MAKE) $(NPD) -C jni/src/harmony/generic/0.0/src $@
+	-$(MAKE) $(NPD) -C test/src $@
+
+all::
+	-$(MAKE) $(NPD) dox
+
+ifeq (1,$(CONFIG_BUILD_DOX))
+clean::
+	-$(MAKE) $(NPD) undox
+endif
+
+veryclean::
+	-$(MAKE) $(NPD) undox
+
+
+
+OPTLIST2=jvm | libjvm | main | jni | test
+
+jvm::
+	$(MAKE) $(NPD) -C jvm/src BOOTJVM=non-null all
+libjvm::
+	$(MAKE) $(NPD) -C jvm/src LIBJVM=non-null all
+main::
+	$(MAKE) $(NPD) -C main/src all
+jni::
+	$(MAKE) $(NPD) -C jni/src/harmony/generic/0.0/src all
+test::
+	$(MAKE) $(NPD) -C test/src all
+
+
+
+OPTLIST3=dox | undox | help
+
+include config/config_dox_setup.mak
+
+MAKEDOX:=
+ifeq (YES,$(GENERATE_HTML))
+MAKEDOX:=$(MAKEDOX) doc/html
+endif
+ifeq (YES,$(GENERATE_LATEX))
+MAKEDOX:=$(MAKEDOX) doc/latex
+endif
+ifeq (YES,$(GENERATE_RTF))
+MAKEDOX:=$(MAKEDOX) doc/rtf
+endif
+ifeq (YES,$(GENERATE_MAN))
+MAKEDOX:=$(MAKEDOX) doc/man
+endif
+ifeq (YES,$(GENERATE_XML))
+MAKEDOX:=$(MAKEDOX) doc/xml
+endif
+
+.PHONY:: dox
+
+ifeq (,$(MAKEDOX))
+
+# Nothing to do for documentation
+dox::
+
+else
+# To unconditionally build documentation, simply run 'dox.sh' by itself
+# or run 'make clean' first.
+#
+
+dox:: ./doc
+
+./doc:: $(MAKEDOX)
+	dox.sh
+
+$(MAKEDOX)::
+
+endif
+
+undox::
+	undox.sh
+
+roster::
+	roster.sh
+
+help::
+	@echo ""
+	@echo "Usage:  $(MAKE) $(OPTLIST1) |"
+	@echo "             $(OPTLIST2) |"
+	@echo "             $(OPTLIST3)"
+	@echo ""
+	@echo "where  cfg       Build what was configured by 'config.sh'"
+	@echo "       all       Build everything (*)"
+	@echo "       clean     Smart cleanup (*)"
+	@echo "       veryclean Unconditional cleanup (*)"
+	@echo ""
+	@echo "       jvm       Build main JVM development area"
+	@echo "       libjvm    Build static JVM library"
+	@echo "       main      Build JVM binary from main() and static library"
+	@echo "       test      Build test classes for JVM development"
+	@echo "       jni       Build JNI classes and shared object library"
+	@echo "                   (but currently the same binary as 'main')"
+	@echo ""
+	@echo "       dox       Build documentation (*)"
+	@echo "       undox     Clean documentation (*)"
+	@echo "       roster    Change the file roster (*)"
+	@echo "       help      Display this message"
+	@echo ""
+	@echo " (*) Works at any level, not just here at the top level"
+	@echo ""
+
+###################################################################
+#
+# EOF

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/src/Makefile
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/src/Makefile?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/src/Makefile (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jni/src/harmony/generic/0.0/src/Makefile Fri Oct 28 02:06:10 2005
@@ -0,0 +1,86 @@
+#
+#!
+# @file ./jni/src/harmony/generic/0.0/src/Makefile
+#
+# @brief Build Harmony generic JNI area
+#
+# (Please refer to @link ./roster.sh roster.sh@endlink as to why
+# the <b>@@file</b> directive is constructed the way that it is.)
+#
+# @see @link ./Makefile ./Makefile@endlink
+#
+# @see @link ./MakeSetup ./MakeSetup@endlink
+#
+# @see @link ./MakeRules ./MakeRules@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Create the 'bootjvm' binary and 'bootjvm.jar' class archive
+#
+
+# Set up directory knowledge and basic structure
+TOPDIR=../../../../../..
+include $(TOPDIR)/MakeSetup
+
+# Roster of C source files and C header files
+include $(CFGDIR)/config_roster_jni_c.mak
+include $(CFGDIR)/config_roster_jni_h.mak
+
+# Roster of Java source files
+include $(CFGDIR)/config_roster_jni_java.mak
+
+# Pick up JVM library
+LLFLAGS:=-ljvm
+
+# Targets to build
+JAR_TARGET=$(BINDIR)/bootjvm.$(JAVA_ARCHIVE)
+BIN_TARGET=$(BINDIR)/bootjvm$(DOT_BIN_EXTENSION)
+
+# Build rules
+include $(TOPDIR)/MakeRules
+
+# Default rule
+all:: $(BIN_TARGET) $(JAR_TARGET)
+
+###################################################################
+#
+# EOF

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/Makefile
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/Makefile?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/Makefile (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/jvm/src/Makefile Fri Oct 28 02:06:10 2005
@@ -0,0 +1,136 @@
+#
+#!
+# @file ./jvm/src/Makefile
+#
+# @brief Build main JVM development area and/or JVM library archive
+#
+# (Please refer to @link ./roster.sh roster.sh@endlink as to why
+# the <b>@@file</b> directive is constructed the way that it is.)
+#
+# Default to building the main JVM development area, but also build
+# the JVM library archive, typically controlled by
+# @link ./Makefile ./Makefile@endlink .  The default may be changed
+# here in this file to build one or the other or both or neither
+# by default.
+#
+# <ul>
+# <li><b>make BOOTJVM=any-non-null-string</b> (Default) Build main
+#                                             JVM development area (in
+#                                             @e this area,
+#                                             @c @b jvm/bin ).
+#
+# </li>
+# <li><b>make LIBJVM=any-non-null-string</b>  Build JVM static library
+#                                             archive file (in the
+#                                             @c @b libjvm/lib area,
+#                                             just like old
+#                                             @c @b build.sh did and
+#                                             how Eclipse still does).
+# </li>
+# </ul>
+#
+# For notes on why @c @b jvm and @c @b libjvm are now built with
+# a single build script, please refer to
+# @link ./Makefile ./Makefile@endlink .
+#
+# @see @link ./Makefile ./Makefile@endlink
+#
+# @see @link ./MakeSetup ./MakeSetup@endlink
+#
+# @see @link ./MakeRules ./MakeRules@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Decide which target(s) to build
+#
+
+MAKEBOOTJVM=0
+MAKELIBJVM=0
+
+ifdef BOOTJVM
+MAKEBOOTJVM=1
+endif
+
+ifdef LIBJVM
+MAKELIBJVM=1
+endif
+
+# Default to building main development area
+# (May be set to build one or the other or both or neither by default.)
+ifeq (0,$(MAKEBOOTJVM))
+ifeq (0,$(MAKELIBJVM))
+MAKEBOOTJVM=1
+endif
+endif
+
+###################################################################
+#
+# Create the 'bootjvm' binary and/or the 'libjvm.a' library archive
+#
+
+# Set up directory knowledge and basic structure
+TOPDIR=../..
+include $(TOPDIR)/MakeSetup
+
+# Roster of C source files and C header files
+include $(CFGDIR)/config_roster_c.mak
+include $(CFGDIR)/config_roster_h.mak
+
+# Target to build, either main development area or library archive
+ifeq (1,$(MAKEBOOTJVM))
+BIN_TARGET=$(BINDIR)/bootjvm$(DOT_BIN_EXTENSION)
+endif
+
+ifeq (1,$(MAKELIBJVM))
+LIB_TARGET=$(LIBDIR)/libjvm.$(AR_ARCHIVE)
+LIBDIR=$(LIBJVM_LIBDIR)
+endif
+
+# Build rules
+include $(TOPDIR)/MakeRules
+
+# Default rule (one or the other sources may be an empty string here)
+all:: $(BIN_TARGET) $(LIB_TARGET)
+
+###################################################################
+#
+# EOF

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/src/Makefile
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/src/Makefile?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/src/Makefile (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/main/src/Makefile Fri Oct 28 02:06:10 2005
@@ -0,0 +1,85 @@
+#
+#!
+# @file ./main/src/Makefile
+#
+# @brief Build JVM using main program entry point and library archive
+#
+# (Please refer to @link ./roster.sh roster.sh@endlink as to why
+# the <b>@@file</b> directive is constructed the way that it is.)
+#
+# @see @link ./Makefile ./Makefile@endlink
+#
+# @see @link ./MakeSetup ./MakeSetup@endlink
+#
+# @see @link ./MakeRules ./MakeRules@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Create the 'bootjvm' binary
+#
+
+# Set up directory knowledge and basic structure
+TOPDIR=../..
+include $(TOPDIR)/MakeSetup
+
+# Roster of C source files and C header files
+C_SOURCES=main.c
+BIN_OBJECTS=$(BINDIR)/main.o
+
+# Target to build
+BIN_TARGET=$(BINDIR)/bootjvm$(DOT_BIN_EXTENSION)
+
+# Additional include paths, before main list
+PRE_INCLUDE_PATHS:=-I$(TOPDIR)/jvm/src
+
+# Pick up JVM library
+LLFLAGS:=-ljvm
+
+# Build rules
+include $(TOPDIR)/MakeRules
+
+# Default rule
+all:: $(BIN_TARGET)
+
+###################################################################
+#
+# EOF

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/src/Makefile
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/src/Makefile?rev=329163&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/src/Makefile (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM/test/src/Makefile Fri Oct 28 02:06:10 2005
@@ -0,0 +1,78 @@
+#
+#!
+# @file ./test/src/Makefile
+#
+# @brief Build JVM test classes
+#
+# (Please refer to @link ./roster.sh roster.sh@endlink as to why
+# the <b>@@file</b> directive is constructed the way that it is.)
+#
+# @see @link ./Makefile ./Makefile@endlink
+#
+# @see @link ./MakeSetup ./MakeSetup@endlink
+#
+# @see @link ./MakeRules ./MakeRules@endlink
+#
+#
+# @section Control
+#
+# \$URL$
+#
+# \$Id$
+#
+# Copyright 2005 The Apache Software Foundation
+# or its licensors, as applicable.
+#
+# Licensed under the Apache License, Version 2.0 ("the License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied.
+#
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# @version \$LastChangedRevision$
+#
+# @date \$LastChangedDate$
+#
+# @author \$LastChangedBy$
+#
+# @section Reference
+#
+#/ /* 
+# (Use  #! and #/ with dox_filter.sh to fool Doxygen into
+# parsing this non-source text file for the documentation set.
+# Use the above open comment to force termination of parsing
+# since it is not a Doxygen-style 'C' comment.)
+#
+#
+###################################################################
+#
+# Create the 'boottest.jar' Java class library archive
+#
+
+# Set up directory knowledge and basic structure
+TOPDIR=../..
+include $(TOPDIR)/MakeSetup
+
+# Roster of Java source files
+include $(CFGDIR)/config_roster_test_java.mak
+
+# Target to build
+JAR_TARGET=$(BINDIR)/boottest.$(JAVA_ARCHIVE)
+
+# Build rules
+include $(TOPDIR)/MakeRules
+
+# Default rule
+all:: $(JAR_TARGET)
+
+###################################################################
+#
+# EOF