#-*-makefile-*- # these will be automatically set iff they are not manually set here # # makefile.package can override APPNAME to give subprojects different names BASE_PACKAGE = vona APPNAME = Vona # uncomment this to make some things debug-only #DBG = -n # PROJECT_TOOLS_HOME is optional, it sets TOOLS_HOME for this project # # the makefile will try to find the various tools (java, javac, etc) at # $(TOOLS_HOME)/java/$(PLATFORM)/$(JDK_VERSION)/bin first # # TOOLS_HOME defaults to /usr # # you can also set the environment variable TOOLS_HOME, and that overrides # PROJECT_TOOLS_HOME # # tools that aren't found under TOOLS_HOME are searched for with "which" # # by default, EXT_DIR (where EXT_JARS are searched, see below) defaults to # TOOLS_EXT, which defaults to TOOLS_HOME/java/indep/lib; if that is not # present then EXT_DIR defaults to jre/lib/ext under the JDK currently in use; # you can also override TOOLS_EXT and EXT_DIR directly, either here or in # environment vars PROJECT_TOOLS_HOME = # default source and target versions # # makefile.package can override these on a per-package basis SOURCE_VERSION = TARGET_VERSION = JAVADOC_SOURCE_VERSION = # total heap size to use for JVMs that run classes TOTAL_HEAP_SIZE = 768m #TOTAL_HEAP_SIZE = 512m #TOTAL_HEAP_SIZE = 64m # javac options JAVAC_OPTIONS += -Xlint:unchecked #JAVAC_OPTIONS += -verbose # needed to suppress "package com.sun.xml.internal.bind does not exist" when # building xjc generated code in vona.dae.jaxb.* # # see # http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6778491 # http://andrew-haley.livejournal.com/695.html JAVAC_OPTIONS += -XDignore.symbol.file=true # java options #JAVA_OPTIONS += -Xss64m # Report information about use of native methods and other Java Native Interface activity. #JAVA_OPTIONS += -verbose:jni # Display information about each class loaded. #JAVA_OPTIONS += -verbose:class # Report on each garbage collection event. #JAVA_OPTIONS += -verbose:gc #JAVA_OPTIONS += -XX:+PrintGCDetails # Report on JIT #JAVA_OPTIONS += -XX:+PrintCompilation # enable OGL 2D pipeline #JAVA_OPTIONS += -Dsun.java2d.opengl # enable OGL 2D pipeline with debug output #JAVA_OPTIONS += -Dsun.java2d.opengl=True # Java3D options #JAVA_OPTIONS += -Dj3d.implicitAntialiasing=True #JAVA_OPTIONS += -Dj3d.threadLimit=1 # Use parallel garbage collection (available beginning in J2SE 1.4.1) #JAVA_OPTIONS += -XX:+UseParallelGC #JAVA_OPTIONS += -XX:+UseSerialGC # (available beginning with J2SE 1.4.1) #JAVA_OPTIONS += -XX:+UseConcMarkSweepGC # Use Train GC JAVA_OPTIONS += -Xincgc # Do not use Train Garbage Collection (default) #JAVA_OPTIONS += -Xnoincgc # disable class garbage collection #JAVA_OPTIONS += -Xnoclassgc # (J2SE 5.0 ?) #JAVA_OPTIONS += -XX:+UseAdaptiveSizePolicy # (J2SE 5.0) A hint to the virtual machine that pause times of nnn milliseconds or less are desired. #JAVA_OPTIONS += -XX:MaxGCPauseMillis=100 # (J2SE 5.0) A hint to the virtual machine that it's desirable that not more than 1 / (1 + nnn) of the application execution time be spent in the collector. # 99->1% # 19->5% #JAVA_OPTIONS += -XX:GCTimeRatio=19 #JAVA_OPTIONS +=-XX:CompileThreshold=100 # workaround flags for runtime JVMs #WORKAROUND_FLAGS += -Dsun.java2d.pmoffscreen=false #WORKAROUND_FLAGS += -Dj3d.sharedctx=false #WORKAROUND_FLAGS += -Dsun.java2d.noddraw=true #WORKAROUND_FLAGS += -Dsun.java2d.d3d=false #JAVA_OPTIONS += -Djava.util.logging.config.file=logging.properties #JAVA_OPTIONS += -Dvona.math.loglevel=info #JAVA_OPTIONS += -Djogl.verbose #JAVA_OPTIONS += -Djogl.debug #JAVA_OPTIONS += -Djogl.debug.DebugGL #JAVA_OPTIONS += -Djogl.debug.TraceGL #JAVA_OPTIONS += -Djogamp.debug #JAVA_OPTIONS += -Djogamp.debug.JNILibLoader #JAVA_OPTIONS += -Djogamp.debug.NativeLibrary #JAVA_OPTIONS += -Djogamp.debug.NativeLibrary.Lookup #JAVA_OPTIONS += -Djogamp.debug.TempJarCache #JAVA_OPTIONS += -Djogamp.debug.TempFileCache # targets that will be built for "make jars" # for VonaUtils the regular jars include all deps with the indicated natives # the lite jar includes no deps but does include vona/jscheme/*.jar # the xlite jar does not include deps, vona/jscheme/*.jar, sourcecode or doc PROJECT_JAR_TARGETS = jar-nonatives jar-i586 jar-amd64 jar-lite jar-xlite # filename extensions to put in the jars, empty to include all files JARFILE_EXTS = JARFILE_LITE_EXTS = JARFILE_XLITE_EXTS = .class .scm .hex .txt .gif .png .jpg .o .eep .elf .lss .policy # extra files to put in the jars (relative to parent of base package) JAR_EXTRA = JAR_LITE_EXTRA = JAR_XLITE_EXTRA = # extra commands to prepare $(JAR_DIR) JAR_EXTRA_CMDS = \ $(call jmsg, copying jscheme/*.jar to $(JAR_DIR)/$(BASE_PACKAGE)/jscheme); \ cp jscheme/*.jar $(JAR_DIR)/$(BASE_PACKAGE)/jscheme JAR_LITE_EXTRA_CMDS = $(JAR_EXTRA_CMDS) JAR_XLITE_EXTRA_CMDS = # the jar manifest file JAR_MF_NAME = $(APPNAME).mf JAR_MF = $(PROJECT_HOME)/$(JAR_MF_NAME) # list of packages to include in jarfile # # all descendant subpackages of these will also be included # # makefile.package can override this for making sub-project jars SUBPROJECT_PACKAGES = $(BASE_PACKAGE) LITE_SUBPROJECT_PACKAGES = $(SUBPROJECT_PACKAGES) XLITE_SUBPROJECT_PACKAGES = $(LITE_SUBPROJECT_PACKAGES) # 3rd party jars, found in EXT_DIR, on which the whole project depends # # these will be folded into built jarfiles # # makefile.package can append (or override) this for making sub-project jars EXT_JARS = $(JLAPACK_JARS) #EXT_JARS += $(NETLIB_JAVA_JARS) #EXT_JARS += $(call filter-foreign-jars,$(NETLIB_JAVA_NATIVE_JARS)) EXT_JARS += $(FOMMIL_NETLIB_JARS) EXT_JARS += $(call filter-foreign-jars,$(FOMMIL_NETLIB_NATIVE_JARS)) EXT_JARS += $(JOGL_JARS) EXT_JARS += $(call filter-foreign-jars,$(JOGL_NATIVE_JARS)) EXT_JARS += $(J3D_JARS) $(J3D_LOADER_JARS) EXT_JARS += jcip-annotations.jar EXT_JARS_JARFILE_ONLY = $(JOGL_NATIVE_JARS) #EXT_JARS_JARFILE_ONLY += $(NETLIB_JAVA_NATIVE_JARS) EXT_JARS_JARFILE_ONLY += $(FOMMIL_NETLIB_NATIVE_JARS) EXT_JARS_LITE = EXT_JARS_LITE_JARFILE_ONLY = EXT_JARS_XLITE = EXT_JARS_XLITE_JARFILE_ONLY = # name of key used to sign jars # # makefile.package can override this for making sub-project jars # # presence of $(JAR_CRT) triggers signing of built jarfile # # make target keygen to generate the key initially, then check in the .crt file # *in the base package* JARKEY = mykey JAR_CRT_NAME = $(JARKEY).crt JAR_CRT = $(PROJECT_HOME)/$(JAR_CRT_NAME) # publish rsync destination # # empty disables publish # # makefile.package can override this sub-project publish PUBLISH_DEST = # jarfile to unpack at $(PUBLISH_DEST), if any JARFILE_PUBLISH_UNPACK = $(JARFILE_LITE) # name of subdir in which javadoc is built JAVADOC_DIR_NAME = javadoc-$(APPNAME) JAVADOC_DIR = $(PROJECT_HOME)/$(JAVADOC_DIR_NAME) EXCLUDE_JAVADOC_PACKAGES += $(BASE_PACKAGE).templates EXCLUDE_JAVADOC_PACKAGES += vona.dae.jaxb:vona.dae.jaxb.dae:vona.dae.jaxb.mathml # uncomment this to disable the source-gen phase of package and project builds NO_SOURCE_GEN=1 # uncomment this to disable the html phase of package and project builds NO_HTML=1 # uncomment this to ensure code is built before it's run via the run targets #BUILD_BEFORE_RUN=1 # uncomment this to disable adding NATIVE_EXT_DIR (default # $(TOOLS_HOME)/java/native/lib/$(PLATFORM)) to the native library path NATIVE_LIB_NOAUTO=1 # uncomment this to disable automatic gen/clean of SVNVERSION.txt #SVNVERSION_FILE_NOAUTO=1 # bring in defines for html gen -include makefile.gpc-html ifeq ($(FOUND_WWW_GPC),1) PUBLISH_DEST = $(GPC_PUBLISH_DEST)/VonaUtils endif EXTRA_PUBLISH_CMDS = rsync -av --progress --chmod='go+r' .htaccess $(PUBLISH_DEST)/$(BASE_PACKAGE)