< prev index next >

jdk/make/CompileDemos.gmk

Print this page




  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 default: all
  27 
  28 include $(SPEC)
  29 include MakeBase.gmk
  30 include JavaCompilation.gmk
  31 include NativeCompilation.gmk
  32 include SetupJavaCompilers.gmk

  33 
  34 # Prepare the find cache.
  35 $(eval $(call FillCacheFind, $(JDK_TOPDIR)/src))
  36 
  37 # Append demo goals to this variable.
  38 BUILD_DEMOS =
  39 
  40 # The demo structure and contents should really be cleaned up.
  41 # Now every other demo has its own quirks where to put the
  42 # READMEs and other files.
  43 
  44 DEMO_SHARE_SRC := $(JDK_TOPDIR)/src/demo/share
  45 DEMO_CLOSED_SHARE_SRC := $(JDK_TOPDIR)/src/closed/demo/share
  46 DEMO_SOLARIS_SRC := $(JDK_TOPDIR)/src/demo/solaris
  47 DEMO_OS_TYPE_SRC := $(JDK_TOPDIR)/src/demo/$(OPENJDK_TARGET_OS_TYPE)
  48 GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc
  49 
  50 ##################################################################################################
  51 









  52 define SetupAppletDemo
  53   $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_APPLET_$1, \
  54       SETUP := GENERATE_USINGJDKBYTECODE, \
  55       SRC := $(JDK_TOPDIR)/src/$3demo/share/applets/$1, \
  56       BIN := $(SUPPORT_OUTPUTDIR)/demo/image/applets/$1, \
  57       COPY := .html .java .xyz .obj .au .gif, \
  58       DISABLE_SJAVAC := $2))
  59       BUILD_DEMOS += $$(BUILD_DEMO_APPLET_$1)
  60 endef
  61 
  62 ifneq ($(OPENJDK_TARGET_OS), solaris)
  63   $(eval $(call SetupAppletDemo,ArcTest))
  64   $(eval $(call SetupAppletDemo,BarChart))
  65   $(eval $(call SetupAppletDemo,Blink))
  66   $(eval $(call SetupAppletDemo,CardTest))
  67   $(eval $(call SetupAppletDemo,Clock))
  68   $(eval $(call SetupAppletDemo,DitherTest))
  69   $(eval $(call SetupAppletDemo,DrawTest))
  70   $(eval $(call SetupAppletDemo,Fractal))
  71   $(eval $(call SetupAppletDemo,GraphicsTest))


 105   $1_MAIN_SRC := $$(wildcard $$($1_SRC_BASE)/src)
 106   ifeq ($$($1_MAIN_SRC), )
 107     $1_MAIN_SRC := $$($1_SRC_BASE)
 108   endif
 109 
 110   ifneq ($8, )
 111     $1_JARFILE := $8.jar
 112   else
 113     $1_JARFILE := $1.jar
 114   endif
 115 
 116   ifeq ($(findstring $1,Laffy SwingSet3), )
 117     $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_$1, \
 118         SETUP := GENERATE_USINGJDKBYTECODE, \
 119         ADD_JAVAC_FLAGS := $3, \
 120         SRC := $$($1_MAIN_SRC) $5, \
 121         BIN := $(SUPPORT_OUTPUTDIR)/demo/classes/$2/$1, \
 122         COPY := $(PATTERNS_TO_COPY) $(10), \
 123         JAR := $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/$$($1_JARFILE), \
 124         JARMAIN := $4, \
 125         MANIFEST := $(JDK_TOPDIR)/make/data/mainmanifest/manifest.mf, \
 126         EXTRA_MANIFEST_ATTR := $(11), \
 127         SRCZIP := $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/src.zip, \
 128         EXCLUDE_FILES := $9, \
 129         DISABLE_SJAVAC := $(12)))
 130 
 131     BUILD_DEMOS += $$(BUILD_DEMO_$1) \
 132         $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/$$($1_JARFILE) \
 133         $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/src.zip
 134   endif
 135 
 136   # Copy files.
 137   $1_COPY_TARGETS := $$(patsubst $$($1_SRC_BASE)/%, \
 138       $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/%, \
 139       $$(wildcard $$(addprefix $$($1_SRC_BASE)/, $7)))
 140   ifneq ($7, )
 141     $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/%: $$($1_SRC_BASE)/%
 142         $$(call install-file)
 143         $(CHMOD) -f ug+w $$@
 144 
 145     BUILD_DEMOS += $$($1_COPY_TARGETS)


 273       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib, \
 274       LIBRARY := $1))
 275 
 276   $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1, \
 277       SRC := $(DEMO_SHARE_SRC)/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC), \
 278       EXCLUDE_FILES := $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC_EXCLUDE), \
 279       ZIP := $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/src.zip))
 280 
 281   $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/README.txt: $(DEMO_SHARE_SRC)/jvmti/$1/README.txt
 282         $$(call install-file)
 283         $(CHMOD) -f ug+w $$@
 284 
 285   ifneq (, $$(wildcard $(DEMO_SHARE_SRC)/jvmti/$1/*.java))
 286     $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_JVMTI_$1_JAVA, \
 287         SETUP := GENERATE_USINGJDKBYTECODE, \
 288         SRC := $(DEMO_SHARE_SRC)/jvmti/$1, \
 289         BIN := $(SUPPORT_OUTPUTDIR)/demo/classes/jvmti/$1, \
 290         COPY := $(PATTERNS_TO_COPY), \
 291         JAR := $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/$1.jar, \
 292         EXTRA_MANIFEST_ATTR := Main-Class: \n, \
 293         MANIFEST := $(JDK_TOPDIR)/make/data/mainmanifest/manifest.mf))
 294 
 295     BUILD_DEMOS += $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/$1.jar
 296   endif
 297 
 298   BUILD_DEMOS += $$(BUILD_DEMO_JVMTI_$1) \
 299       $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/src.zip \
 300       $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/README.txt
 301 
 302   ifeq ($(OPENJDK_TARGET_OS), windows)
 303     # These files normally end up in OBJECT_DIR but for demos they
 304     # are supposed to be included in the distro.
 305     $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.lib: $$(BUILD_DEMO_JVMTI_$1)
 306         $(CP) $(SUPPORT_OUTPUTDIR)/demo/native/jvmti/$1/$1.lib $$@
 307 
 308     $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.exp: $$(BUILD_DEMO_JVMTI_$1)
 309         $(CP) $(SUPPORT_OUTPUTDIR)/demo/native/jvmti/$1/$1.exp $$@
 310 
 311     BUILD_DEMOS += $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.lib \
 312         $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.exp
 313   endif


 365 ifeq ($(OPENJDK_TARGET_OS), solaris)
 366 
 367   $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller/%: $(DEMO_SOLARIS_SRC)/jni/Poller/%
 368         $(call install-file)
 369         $(CHMOD) -f ug+w $@
 370 
 371   $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/README.txt: $(DEMO_SOLARIS_SRC)/jni/Poller/README.txt
 372         $(call install-file)
 373         $(CHMOD) -f ug+w $@
 374 
 375   $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/Poller.jar: \
 376       $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller/README.txt \
 377       $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller/Poller.c
 378 
 379   $(eval $(call SetupJavaCompilation,BUILD_DEMO_POLLER_JAR, \
 380       SETUP := GENERATE_USINGJDKBYTECODE, \
 381       SRC := $(DEMO_SOLARIS_SRC)/jni/Poller, \
 382       BIN := $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
 383       HEADERS := $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
 384       JAR := $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/Poller.jar, \
 385       MANIFEST := $(JDK_TOPDIR)/make/data/mainmanifest/manifest.mf, \
 386       SRCZIP := $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/src.zip, \
 387       COPY := README.txt Poller.c, \
 388       JARMAIN := Client))
 389 
 390 
 391 
 392   BUILD_DEMOS += $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/Poller.jar \
 393       $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/src.zip \
 394       $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/README.txt
 395 
 396   $(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER, \
 397       SRC := $(DEMO_SOLARIS_SRC)/jni/Poller, \
 398       OPTIMIZATION := LOW, \
 399       CFLAGS := $(CFLAGS_JDKLIB) \
 400           -I$(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
 401       LDFLAGS := $(LDFLAGS_JDKLIB), \
 402       LDFLAGS_SUFFIX_solaris := -lc, \
 403       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/demo/native/jni/Poller, \
 404       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/demo/native, \
 405       LIBRARY := Poller))




  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 default: all
  27 
  28 include $(SPEC)
  29 include MakeBase.gmk
  30 include JavaCompilation.gmk
  31 include NativeCompilation.gmk
  32 include SetupJavaCompilers.gmk
  33 include TextFileProcessing.gmk
  34 
  35 # Prepare the find cache.
  36 $(eval $(call FillCacheFind, $(JDK_TOPDIR)/src))
  37 
  38 # Append demo goals to this variable.
  39 BUILD_DEMOS =
  40 
  41 # The demo structure and contents should really be cleaned up.
  42 # Now every other demo has its own quirks where to put the
  43 # READMEs and other files.
  44 
  45 DEMO_SHARE_SRC := $(JDK_TOPDIR)/src/demo/share
  46 DEMO_CLOSED_SHARE_SRC := $(JDK_TOPDIR)/src/closed/demo/share
  47 DEMO_SOLARIS_SRC := $(JDK_TOPDIR)/src/demo/solaris
  48 DEMO_OS_TYPE_SRC := $(JDK_TOPDIR)/src/demo/$(OPENJDK_TARGET_OS_TYPE)
  49 GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc
  50 
  51 ##################################################################################################
  52 
  53 # This rule will be depended on due to the MANIFEST line
  54 $(eval $(call SetupTextFileProcessing, BUILD_JAVA_MANIFEST, \
  55   SOURCE_FILES := $(JDK_TOPDIR)/make/data/mainmanifest/manifest.mf, \
  56   OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/demo/java-main-manifest.mf, \
  57   REPLACEMENTS := \
  58       @@RELEASE@@ => $(RELEASE) ; \
  59       @@COMPANY_NAME@@ => $(COMPANY_NAME) , \
  60 ))
  61 
  62 define SetupAppletDemo
  63   $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_APPLET_$1, \
  64       SETUP := GENERATE_USINGJDKBYTECODE, \
  65       SRC := $(JDK_TOPDIR)/src/$3demo/share/applets/$1, \
  66       BIN := $(SUPPORT_OUTPUTDIR)/demo/image/applets/$1, \
  67       COPY := .html .java .xyz .obj .au .gif, \
  68       DISABLE_SJAVAC := $2))
  69       BUILD_DEMOS += $$(BUILD_DEMO_APPLET_$1)
  70 endef
  71 
  72 ifneq ($(OPENJDK_TARGET_OS), solaris)
  73   $(eval $(call SetupAppletDemo,ArcTest))
  74   $(eval $(call SetupAppletDemo,BarChart))
  75   $(eval $(call SetupAppletDemo,Blink))
  76   $(eval $(call SetupAppletDemo,CardTest))
  77   $(eval $(call SetupAppletDemo,Clock))
  78   $(eval $(call SetupAppletDemo,DitherTest))
  79   $(eval $(call SetupAppletDemo,DrawTest))
  80   $(eval $(call SetupAppletDemo,Fractal))
  81   $(eval $(call SetupAppletDemo,GraphicsTest))


 115   $1_MAIN_SRC := $$(wildcard $$($1_SRC_BASE)/src)
 116   ifeq ($$($1_MAIN_SRC), )
 117     $1_MAIN_SRC := $$($1_SRC_BASE)
 118   endif
 119 
 120   ifneq ($8, )
 121     $1_JARFILE := $8.jar
 122   else
 123     $1_JARFILE := $1.jar
 124   endif
 125 
 126   ifeq ($(findstring $1,Laffy SwingSet3), )
 127     $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_$1, \
 128         SETUP := GENERATE_USINGJDKBYTECODE, \
 129         ADD_JAVAC_FLAGS := $3, \
 130         SRC := $$($1_MAIN_SRC) $5, \
 131         BIN := $(SUPPORT_OUTPUTDIR)/demo/classes/$2/$1, \
 132         COPY := $(PATTERNS_TO_COPY) $(10), \
 133         JAR := $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/$$($1_JARFILE), \
 134         JARMAIN := $4, \
 135         MANIFEST := $(SUPPORT_OUTPUTDIR)/demo/java-main-manifest.mf, \
 136         EXTRA_MANIFEST_ATTR := $(11), \
 137         SRCZIP := $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/src.zip, \
 138         EXCLUDE_FILES := $9, \
 139         DISABLE_SJAVAC := $(12)))
 140 
 141     BUILD_DEMOS += $$(BUILD_DEMO_$1) \
 142         $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/$$($1_JARFILE) \
 143         $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/src.zip
 144   endif
 145 
 146   # Copy files.
 147   $1_COPY_TARGETS := $$(patsubst $$($1_SRC_BASE)/%, \
 148       $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/%, \
 149       $$(wildcard $$(addprefix $$($1_SRC_BASE)/, $7)))
 150   ifneq ($7, )
 151     $(SUPPORT_OUTPUTDIR)/demo/image/$2/$1/%: $$($1_SRC_BASE)/%
 152         $$(call install-file)
 153         $(CHMOD) -f ug+w $$@
 154 
 155     BUILD_DEMOS += $$($1_COPY_TARGETS)


 283       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib, \
 284       LIBRARY := $1))
 285 
 286   $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1, \
 287       SRC := $(DEMO_SHARE_SRC)/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC), \
 288       EXCLUDE_FILES := $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC_EXCLUDE), \
 289       ZIP := $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/src.zip))
 290 
 291   $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/README.txt: $(DEMO_SHARE_SRC)/jvmti/$1/README.txt
 292         $$(call install-file)
 293         $(CHMOD) -f ug+w $$@
 294 
 295   ifneq (, $$(wildcard $(DEMO_SHARE_SRC)/jvmti/$1/*.java))
 296     $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_JVMTI_$1_JAVA, \
 297         SETUP := GENERATE_USINGJDKBYTECODE, \
 298         SRC := $(DEMO_SHARE_SRC)/jvmti/$1, \
 299         BIN := $(SUPPORT_OUTPUTDIR)/demo/classes/jvmti/$1, \
 300         COPY := $(PATTERNS_TO_COPY), \
 301         JAR := $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/$1.jar, \
 302         EXTRA_MANIFEST_ATTR := Main-Class: \n, \
 303         MANIFEST := $(SUPPORT_OUTPUTDIR)/demo/java-main-manifest.mf))
 304 
 305     BUILD_DEMOS += $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/$1.jar
 306   endif
 307 
 308   BUILD_DEMOS += $$(BUILD_DEMO_JVMTI_$1) \
 309       $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/src.zip \
 310       $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/README.txt
 311 
 312   ifeq ($(OPENJDK_TARGET_OS), windows)
 313     # These files normally end up in OBJECT_DIR but for demos they
 314     # are supposed to be included in the distro.
 315     $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.lib: $$(BUILD_DEMO_JVMTI_$1)
 316         $(CP) $(SUPPORT_OUTPUTDIR)/demo/native/jvmti/$1/$1.lib $$@
 317 
 318     $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.exp: $$(BUILD_DEMO_JVMTI_$1)
 319         $(CP) $(SUPPORT_OUTPUTDIR)/demo/native/jvmti/$1/$1.exp $$@
 320 
 321     BUILD_DEMOS += $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.lib \
 322         $(SUPPORT_OUTPUTDIR)/demo/image/jvmti/$1/lib/$1.exp
 323   endif


 375 ifeq ($(OPENJDK_TARGET_OS), solaris)
 376 
 377   $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller/%: $(DEMO_SOLARIS_SRC)/jni/Poller/%
 378         $(call install-file)
 379         $(CHMOD) -f ug+w $@
 380 
 381   $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/README.txt: $(DEMO_SOLARIS_SRC)/jni/Poller/README.txt
 382         $(call install-file)
 383         $(CHMOD) -f ug+w $@
 384 
 385   $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/Poller.jar: \
 386       $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller/README.txt \
 387       $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller/Poller.c
 388 
 389   $(eval $(call SetupJavaCompilation,BUILD_DEMO_POLLER_JAR, \
 390       SETUP := GENERATE_USINGJDKBYTECODE, \
 391       SRC := $(DEMO_SOLARIS_SRC)/jni/Poller, \
 392       BIN := $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
 393       HEADERS := $(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
 394       JAR := $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/Poller.jar, \
 395       MANIFEST := $(SUPPORT_OUTPUTDIR)/demo/java-main-manifest.mf, \
 396       SRCZIP := $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/src.zip, \
 397       COPY := README.txt Poller.c, \
 398       JARMAIN := Client))
 399 
 400 
 401 
 402   BUILD_DEMOS += $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/Poller.jar \
 403       $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/src.zip \
 404       $(SUPPORT_OUTPUTDIR)/demo/image/jni/Poller/README.txt
 405 
 406   $(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER, \
 407       SRC := $(DEMO_SOLARIS_SRC)/jni/Poller, \
 408       OPTIMIZATION := LOW, \
 409       CFLAGS := $(CFLAGS_JDKLIB) \
 410           -I$(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
 411       LDFLAGS := $(LDFLAGS_JDKLIB), \
 412       LDFLAGS_SUFFIX_solaris := -lc, \
 413       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/demo/native/jni/Poller, \
 414       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/demo/native, \
 415       LIBRARY := Poller))


< prev index next >