jdk/makefiles/CompileDemos.gmk
changeset 13702 efd6a05935b2
parent 13164 72c5d01a857d
child 14231 a0c23c1c010f
equal deleted inserted replaced
13694:ffe6bce5a521 13702:efd6a05935b2
    42 
    42 
    43 ##################################################################################################
    43 ##################################################################################################
    44 
    44 
    45 define SetupAppletDemo
    45 define SetupAppletDemo
    46      $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_APPLET_$1,\
    46      $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_APPLET_$1,\
    47                 SETUP:=GENERATE_USINGJDKBYTECODE$2,\
    47                 SETUP:=GENERATE_USINGJDKBYTECODE,\
    48 		SRC:=$(JDK_TOPDIR)/src/$3share/demo/applets/$1,\
    48 		SRC:=$(JDK_TOPDIR)/src/$3share/demo/applets/$1,\
    49 		BIN:=$(JDK_OUTPUTDIR)/newdemo/applets/$1,\
    49 		BIN:=$(JDK_OUTPUTDIR)/demo/applets/$1,\
    50 		COPY:=.html .java .xyz .obj .au .gif))
    50 		COPY:=.html .java .xyz .obj .au .gif,\
       
    51 		DISABLE_SJAVAC:=$2))
    51      BUILD_DEMOS += $$(BUILD_DEMO_APPLET_$1)
    52      BUILD_DEMOS += $$(BUILD_DEMO_APPLET_$1)
    52 endef
    53 endef
    53 
    54 
    54 $(eval $(call SetupAppletDemo,ArcTest))
    55 $(eval $(call SetupAppletDemo,ArcTest))
    55 $(eval $(call SetupAppletDemo,BarChart))
    56 $(eval $(call SetupAppletDemo,BarChart))
    65 $(eval $(call SetupAppletDemo,SimpleGraph))
    66 $(eval $(call SetupAppletDemo,SimpleGraph))
    66 $(eval $(call SetupAppletDemo,SortDemo))
    67 $(eval $(call SetupAppletDemo,SortDemo))
    67 $(eval $(call SetupAppletDemo,SpreadSheet))
    68 $(eval $(call SetupAppletDemo,SpreadSheet))
    68 # Build WireFrame without a server since it
    69 # Build WireFrame without a server since it
    69 # has a class Matrix3D that also exists in MoleculeViewer.
    70 # has a class Matrix3D that also exists in MoleculeViewer.
    70 $(eval $(call SetupAppletDemo,WireFrame,_NOSERV))
    71 $(eval $(call SetupAppletDemo,WireFrame,true))
    71 
    72 
    72 ifndef OPENJDK
    73 ifndef OPENJDK
    73     $(eval $(call SetupAppletDemo,Animator,,closed/))
    74     $(eval $(call SetupAppletDemo,Animator,,closed/))
    74     $(eval $(call SetupAppletDemo,GraphLayout,_NOSERV,closed/))
    75     $(eval $(call SetupAppletDemo,GraphLayout,true,closed/))
    75     $(eval $(call SetupAppletDemo,JumpingBox,,closed/))
    76     $(eval $(call SetupAppletDemo,JumpingBox,,closed/))
    76     $(eval $(call SetupAppletDemo,TicTacToe,,closed/))
    77     $(eval $(call SetupAppletDemo,TicTacToe,,closed/))
    77 endif
    78 endif
    78 
    79 
    79 ##################################################################################################
    80 ##################################################################################################
   109     # Compile java classes if there are any.
   110     # Compile java classes if there are any.
   110     $1_JAVA_FILES_EXIST := $$(shell $$(FIND) $$($1_MAIN_SRC) -name "*.java")
   111     $1_JAVA_FILES_EXIST := $$(shell $$(FIND) $$($1_MAIN_SRC) -name "*.java")
   111 
   112 
   112     ifneq ($$($1_JAVA_FILES_EXIST),)
   113     ifneq ($$($1_JAVA_FILES_EXIST),)
   113         $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_$1,\
   114         $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_$1,\
   114                 SETUP:=GENERATE_USINGJDKBYTECODE$(12),\
   115                 SETUP:=GENERATE_USINGJDKBYTECODE,\
   115                 ADD_JAVAC_FLAGS:=$3,\
   116                 ADD_JAVAC_FLAGS:=$3,\
   116 		SRC:=$$($1_MAIN_SRC) $5,\
   117 		SRC:=$$($1_MAIN_SRC) $5,\
   117 		BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/$2/$1,\
   118 		BIN:=$(JDK_OUTPUTDIR)/democlasses/$2/$1,\
   118 		COPY:=$(PATTERNS_TO_COPY) $(10),\
   119 		COPY:=$(PATTERNS_TO_COPY) $(10),\
   119 		JAR:=$(JDK_OUTPUTDIR)/newdemo/$2/$1/$$($1_JARFILE),\
   120 		JAR:=$(JDK_OUTPUTDIR)/demo/$2/$1/$$($1_JARFILE),\
   120 		JARMAIN:=$4,\
   121 		JARMAIN:=$4,\
   121 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf,\
   122 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf,\
   122 		EXTRA_MANIFEST_ATTR:=$(11),\
   123 		EXTRA_MANIFEST_ATTR:=$(11),\
   123 		SRCZIP:=$(JDK_OUTPUTDIR)/newdemo/$2/$1/src.zip,\
   124 		SRCZIP:=$(JDK_OUTPUTDIR)/demo/$2/$1/src.zip,\
   124 		EXCLUDE_FILES:=$9))
   125 		EXCLUDE_FILES:=$9,\
       
   126 		DISABLE_SJAVAC:=$(12)))
   125 
   127 
   126         BUILD_DEMOS +=  $$(BUILD_DEMO_$1) \
   128         BUILD_DEMOS +=  $$(BUILD_DEMO_$1) \
   127 			$(JDK_OUTPUTDIR)/newdemo/$2/$1/$$($1_JARFILE) \
   129 			$(JDK_OUTPUTDIR)/demo/$2/$1/$$($1_JARFILE) \
   128 			$(JDK_OUTPUTDIR)/newdemo/$2/$1/src.zip 
   130 			$(JDK_OUTPUTDIR)/demo/$2/$1/src.zip 
   129     endif
   131     endif
   130 
   132 
   131     # Copy files.
   133     # Copy files.
   132     $1_COPY_TARGETS :=  $$(patsubst $(JDK_TOPDIR)/src/$6share/demo/$2/$1/%,\
   134     $1_COPY_TARGETS :=  $$(patsubst $(JDK_TOPDIR)/src/$6share/demo/$2/$1/%,\
   133 			$(JDK_OUTPUTDIR)/newdemo/$2/$1/%,\
   135 			$(JDK_OUTPUTDIR)/demo/$2/$1/%,\
   134 			$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/$6share/demo/$2/$1/,$7)))
   136 			$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/$6share/demo/$2/$1/,$7)))
   135     ifneq ($7,)
   137     ifneq ($7,)
   136         $(JDK_OUTPUTDIR)/newdemo/$2/$1/% : $(JDK_TOPDIR)/src/$6share/demo/$2/$1/%
   138         $(JDK_OUTPUTDIR)/demo/$2/$1/% : $(JDK_TOPDIR)/src/$6share/demo/$2/$1/%
   137 		$(MKDIR) -p $$(@D)
   139 		$(MKDIR) -p $$(@D)
   138 		$(CP) $$< $$@
   140 		$(CP) $$< $$@
   139 		$(CHMOD) -f ug+w $$@
   141 		$(CHMOD) -f ug+w $$@
   140 
   142 
   141         BUILD_DEMOS += $$($1_COPY_TARGETS)
   143         BUILD_DEMOS += $$($1_COPY_TARGETS)
   142     endif
   144     endif
   143 
   145 
   144 endef
   146 endef
   145 
   147 
   146 $(eval $(call SetupDemo,CodePointIM,jfc,,CodePointIM,,,*.html))
   148 $(eval $(call SetupDemo,CodePointIM,jfc,,CodePointIM,,,*.html))
   147 $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.services : \
   149 $(JDK_OUTPUTDIR)/demo/jfc/CodePointIM/_the.services : \
   148 			$(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/CodePointIM.jar \
   150 			$(JDK_OUTPUTDIR)/demo/jfc/CodePointIM/CodePointIM.jar \
   149 			$(JDK_TOPDIR)/src/share/demo/jfc/CodePointIM/java.awt.im.spi.InputMethodDescriptor
   151 			$(JDK_TOPDIR)/src/share/demo/jfc/CodePointIM/java.awt.im.spi.InputMethodDescriptor
   150 	(cd $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM && \
   152 	(cd $(JDK_OUTPUTDIR)/demo/jfc/CodePointIM && \
   151 		$(MKDIR) -p _the.tmp/META-INF/services && \
   153 		$(MKDIR) -p _the.tmp/META-INF/services && \
   152 		$(CP) $(JDK_TOPDIR)/src/share/demo/jfc/CodePointIM/java.awt.im.spi.InputMethodDescriptor _the.tmp/META-INF/services && \
   154 		$(CP) $(JDK_TOPDIR)/src/share/demo/jfc/CodePointIM/java.awt.im.spi.InputMethodDescriptor _the.tmp/META-INF/services && \
   153 		cd _the.tmp && \
   155 		cd _the.tmp && \
   154 		$(JAR) uf $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/CodePointIM.jar META-INF/services/java.awt.im.spi.InputMethodDescriptor && \
   156 		$(JAR) uf $(JDK_OUTPUTDIR)/demo/jfc/CodePointIM/CodePointIM.jar META-INF/services/java.awt.im.spi.InputMethodDescriptor && \
   155 		cd META-INF/services && \
   157 		cd META-INF/services && \
   156 		$(JAR) uf $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/CodePointIM.jar java.awt.im.spi.InputMethodDescriptor)
   158 		$(JAR) uf $(JDK_OUTPUTDIR)/demo/jfc/CodePointIM/CodePointIM.jar java.awt.im.spi.InputMethodDescriptor)
   157 	$(RM) -r $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.tmp
   159 	$(RM) -r $(JDK_OUTPUTDIR)/demo/jfc/CodePointIM/_the.tmp
   158 	$(TOUCH) $@
   160 	$(TOUCH) $@
   159 
   161 
   160 BUILD_DEMOS+=$(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.services
   162 BUILD_DEMOS+=$(JDK_OUTPUTDIR)/demo/jfc/CodePointIM/_the.services
   161 
   163 
   162 $(eval $(call SetupDemo,FileChooserDemo,jfc,,FileChooserDemo,,,README*))
   164 $(eval $(call SetupDemo,FileChooserDemo,jfc,,FileChooserDemo,,,README*))
   163 $(eval $(call SetupDemo,Font2DTest,jfc,,Font2DTest,,,*.html *.txt))
   165 $(eval $(call SetupDemo,Font2DTest,jfc,,Font2DTest,,,*.html *.txt))
   164 $(eval $(call SetupDemo,Metalworks,jfc,,Metalworks,,,README*))
   166 $(eval $(call SetupDemo,Metalworks,jfc,,Metalworks,,,README*))
   165 $(eval $(call SetupDemo,Notepad,jfc,,Notepad,,,README*))
   167 $(eval $(call SetupDemo,Notepad,jfc,,Notepad,,,README*))
   180 
   182 
   181     $(eval $(call SetupDemo,Java2D,jfc,,java2d.Java2Demo,,closed/,*.html README*,Java2Demo))
   183     $(eval $(call SetupDemo,Java2D,jfc,,java2d.Java2Demo,,closed/,*.html README*,Java2Demo))
   182     $(eval $(call SetupDemo,Stylepad,jfc,,Stylepad,\
   184     $(eval $(call SetupDemo,Stylepad,jfc,,Stylepad,\
   183 		$(JDK_TOPDIR)/src/share/demo/jfc/Notepad,closed/,*.txt,,$(JDK_TOPDIR)/src/share/demo/jfc/Notepad/README.txt))
   185 		$(JDK_TOPDIR)/src/share/demo/jfc/Notepad,closed/,*.txt,,$(JDK_TOPDIR)/src/share/demo/jfc/Notepad/README.txt))
   184     $(eval $(call SetupDemo,SwingSet2,jfc,,SwingSet2,,closed/,README* *.html,,,.java COPYRIGHT,\
   186     $(eval $(call SetupDemo,SwingSet2,jfc,,SwingSet2,,closed/,README* *.html,,,.java COPYRIGHT,\
   185 		SplashScreen-Image: resources/images/splash.png,_NOSERV))
   187 		SplashScreen-Image: resources/images/splash.png,true))
   186 
   188 
   187     BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%,\
   189     BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%,\
   188 			$(JDK_OUTPUTDIR)/newdemo/nbproject/%,\
   190 			$(JDK_OUTPUTDIR)/demo/nbproject/%,\
   189 			$(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/demo/nbproject/ -type f))
   191 			$(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/demo/nbproject/ -type f))
   190     $(JDK_OUTPUTDIR)/newdemo/nbproject/% : $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
   192     $(JDK_OUTPUTDIR)/demo/nbproject/% : $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
   191 		$(MKDIR) -p $(@D)
   193 		$(MKDIR) -p $(@D)
   192 		$(CP) $< $@
   194 		$(CP) $< $@
   193 		$(CHMOD) -f ug+w $@
   195 		$(CHMOD) -f ug+w $@
   194 endif
   196 endif
   195 
   197 
   196 ##################################################################################################
   198 ##################################################################################################
   197 
   199 
   198 # Why do we install a demo jar into the main jre/lib/ext????????????????
   200 # Why do we install a demo jar into the main jre/lib/ext????????????????
   199 $(JDK_OUTPUTDIR)/lib/ext/zipfs.jar : $(JDK_OUTPUTDIR)/newdemo/nio/zipfs/zipfs.jar
   201 $(JDK_OUTPUTDIR)/lib/ext/zipfs.jar : $(JDK_OUTPUTDIR)/demo/nio/zipfs/zipfs.jar
   200 		$(MKDIR) -p $(@D)
   202 		$(MKDIR) -p $(@D)
   201 		$(CP) $< $@
   203 		$(CP) $< $@
   202 
   204 
   203 BUILD_DEMOS += $(JDK_OUTPUTDIR)/lib/ext/zipfs.jar
   205 BUILD_DEMOS += $(JDK_OUTPUTDIR)/lib/ext/zipfs.jar
   204 
   206 
   205 ##################################################################################################
   207 ##################################################################################################
   206 
   208 
   207 # In the old makefiles, j2dbench was not compiled. 
   209 # In the old makefiles, j2dbench was not compiled. 
   208 #$(eval $(call SetupDemo,J2DBench,java2d,/src,,j2dbench/J2DBench))
   210 #$(eval $(call SetupDemo,J2DBench,java2d,/src,,j2dbench/J2DBench))
   209 
   211 
       
   212 # JVMTI demos are a bit strange and share some files, but be careful the
       
   213 #    shared files are just the *.c and *.h files, not the README or sample
       
   214 #    makefiles. So we always exclude the README.txt and sample.makefile.txt
       
   215 #    from the extra sources.
   210 define SetupJVMTIDemo
   216 define SetupJVMTIDemo
   211      # Param 1 = Name of the demo
   217      # Param 1 = Name of the demo
   212      # Param 2 = add these directories to the includes, default is agent_util
   218      # Param 2 = add these directories to the includes, default is agent_util
   213      # Param 3 = extra CFLAGS
   219      # Param 3 = extra CFLAGS
   214      # Param 4 = C or C++ (defaults to C)
   220      # Param 4 = C or C++ (defaults to C)
   215      # Param 5 = libs for posix
   221      # Param 5 = libs for posix
   216      # Param 6 = libs for winapi
   222      # Param 6 = libs for windows
   217      # Param 7 = libs for solaris
   223      # Param 7 = libs for solaris
   218      BUILD_DEMO_JVMTI_$1_EXTRA_SRC:=	$$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/$1) \
   224      BUILD_DEMO_JVMTI_$1_EXTRA_SRC:= \
   219 					$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2))
   225         $$(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/$1) \
       
   226 	$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2))
       
   227      BUILD_DEMO_JVMTI_$1_EXTRA_SRC_EXCLUDE:= \
       
   228 	$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2)/README.txt) \
       
   229 	$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2)/sample.makefile.txt)
   220      BUILD_DEMO_JVMTI_$1_EXTRA_INC:=$$(addprefix -I,$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
   230      BUILD_DEMO_JVMTI_$1_EXTRA_INC:=$$(addprefix -I,$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
   221      BUILD_DEMO_JVMTI_$1_LANG:=C
   231      BUILD_DEMO_JVMTI_$1_LANG:=C
   222      BUILD_DEMO_JVMTI_$1_O_FLAG:=$(C_O_FLAG_NORM)
       
   223      ifneq (,$4)
   232      ifneq (,$4)
   224          BUILD_DEMO_JVMTI_$1_LANG:=$4
   233          BUILD_DEMO_JVMTI_$1_LANG:=$4
   225      endif
   234      endif
   226      ifeq (C++,$4)
   235      ifeq (C++,$4)
   227          $1_EXTRA_CXX:=$(LIBCXX)
   236          $1_EXTRA_CXX:=$(LDFLAGS_CXX_JDK) $(LIBCXX)
   228          BUILD_DEMO_JVMTI_$1_O_FLAG:=$(CXX_O_FLAG_NORM)
       
   229      endif
   237      endif
   230 
   238 
   231      $1_CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3
   239      $1_CXXFLAGS:=$(CXXFLAGS_JDKLIB) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 \
       
   240 		  $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3 \
       
   241 		  $(CXXFLAGS_DEBUG_SYMBOLS)
   232      ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH),waiters-sparc)
   242      ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH),waiters-sparc)
   233        $1_FILTER:=-xregs=no%appl
   243          $1_FILTER:=-xregs=no%appl
   234        $1_CXXFLAGS:=$$(filter-out $$($1_FILTER),$$($1_CXXFLAGS))
   244          $1_CXXFLAGS:=$$(filter-out $$($1_FILTER),$$($1_CXXFLAGS))
   235      endif
   245      endif
   236 
   246 
       
   247      # Workaround for CFLAGS_JDKLIB containing ',' on solaris. If this is added as 'CFLAGS' to the
       
   248      # eval call below, the comma gets expanded too early.
       
   249      BUILD_DEMO_JVMTI_$1_CFLAGS:=$(CFLAGS_JDKLIB) $(CFLAGS_DEBUG_SYMBOLS) \
       
   250 		-I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3
       
   251 
       
   252      # Remove the -incremental:no setting to get .ilk-files like in the old build.
   237      $$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1,\
   253      $$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1,\
   238 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
   254 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
   239 		LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\
   255 		LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\
   240 		CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
   256 		OPTIMIZATION:=LOW,\
   241 		CXXFLAGS:=$$($1_CXXFLAGS),\
   257 		CXXFLAGS:=$$($1_CXXFLAGS),\
   242 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
   258 		LDFLAGS:=$(filter-out -incremental:no -opt:ref,$(LDFLAGS_JDKLIB)),\
       
   259 		LDFLAGS_macosx:=$(call SET_EXECUTABLE_ORIGIN),\
   243 		LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\
   260 		LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\
   244 		LDFLAGS_SUFFIX_posix:=$5,\
   261 		LDFLAGS_SUFFIX_posix:=$5,\
   245 		LDFLAGS_SUFFIX_winapi:=$6,\
   262 		LDFLAGS_SUFFIX_windows:=$6,\
   246 		LDFLAGS_SUFFIX_solaris:=-lc $7,\
   263 		LDFLAGS_SUFFIX_solaris:=$7 -lc,\
   247 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\
   264 		LDFLAGS_SUFFIX_linux:=$8,\
   248 		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib,\
   265 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
       
   266 		RC_FLAGS:=$$(RC_FLAGS) \
       
   267 			  /D "JDK_FNAME=$1.dll" \
       
   268 			  /D "JDK_INTERNAL_NAME=$1" \
       
   269 			  /D "JDK_FTYPE=0x2L",\
       
   270 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/demoobjs/jvmti/$1,\
       
   271 		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/demo/jvmti/$1/lib,\
   249 		LIBRARY:=$1))
   272 		LIBRARY:=$1))
   250 
   273 
   251     $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1,\
   274     $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1,\
   252 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
   275 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
   253 		ZIP:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip))
   276 		EXCLUDE_FILES:=$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC_EXCLUDE), \
   254 
   277 		ZIP:=$(JDK_OUTPUTDIR)/demo/jvmti/$1/src.zip))
   255      $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/README.txt : $(JDK_TOPDIR)/src/share/demo/jvmti/$1/README.txt
   278 
       
   279      $(JDK_OUTPUTDIR)/demo/jvmti/$1/README.txt : $(JDK_TOPDIR)/src/share/demo/jvmti/$1/README.txt
   256 		$(MKDIR) -p $$(@D)
   280 		$(MKDIR) -p $$(@D)
   257 		$(CP) $$< $$@
   281 		$(CP) $$< $$@
   258 		$(CHMOD) -f ug+w $$@
   282 		$(CHMOD) -f ug+w $$@
   259 
   283 
   260      ifneq (,$$(wildcard $(JDK_TOPDIR)/src/share/demo/jvmti/$1/*.java))
   284      ifneq (,$$(wildcard $(JDK_TOPDIR)/src/share/demo/jvmti/$1/*.java))
   261          $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_JVMTI_$1_JAVA,\
   285          $$(eval $$(call SetupJavaCompilation,BUILD_DEMO_JVMTI_$1_JAVA,\
   262                 SETUP:=GENERATE_USINGJDKBYTECODE,\
   286                 SETUP:=GENERATE_USINGJDKBYTECODE,\
   263 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1,\
   287 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1,\
   264 		BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/jvmti/$1,\
   288 		BIN:=$(JDK_OUTPUTDIR)/democlasses/jvmti/$1,\
   265 		COPY:=$(PATTERNS_TO_COPY),\
   289 		COPY:=$(PATTERNS_TO_COPY),\
   266 		JAR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar,\
   290 		JAR:=$(JDK_OUTPUTDIR)/demo/jvmti/$1/$1.jar,\
   267 		EXTRA_MANIFEST_ATTR:=Main-Class: \n,\
   291 		EXTRA_MANIFEST_ATTR:=Main-Class: \n,\
   268 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf))
   292 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf))
   269 
   293 
   270          BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar
   294          BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jvmti/$1/$1.jar
   271      endif
   295      endif
   272 
   296 
   273      BUILD_DEMOS += 	$$(BUILD_DEMO_JVMTI_$1) \
   297      BUILD_DEMOS += 	$$(BUILD_DEMO_JVMTI_$1) \
   274 			$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip \
   298 			$(JDK_OUTPUTDIR)/demo/jvmti/$1/src.zip \
   275 			$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/README.txt
   299 			$(JDK_OUTPUTDIR)/demo/jvmti/$1/README.txt
       
   300 
       
   301      ifeq ($(OPENJDK_TARGET_OS),windows)
       
   302          # These files normally end up in OBJECT_DIR but for demos they
       
   303          # are supposed to be included in the distro.
       
   304          $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.lib: $$(BUILD_DEMO_JVMTI_$1)
       
   305 		$(CP) $(JDK_OUTPUTDIR)/demoobjs/jvmti/$1/$1.lib $$@
       
   306 
       
   307          $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.exp: $$(BUILD_DEMO_JVMTI_$1)
       
   308 		$(CP) $(JDK_OUTPUTDIR)/demoobjs/jvmti/$1/$1.exp $$@
       
   309 
       
   310          BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.lib \
       
   311 			$(JDK_OUTPUTDIR)/demo/jvmti/$1/lib/$1.exp
       
   312      endif
   276 endef
   313 endef
   277 
   314 
   278 $(eval $(call SetupJVMTIDemo,compiledMethodLoad,	agent_util))
   315 $(eval $(call SetupJVMTIDemo,compiledMethodLoad,	agent_util))
   279 $(eval $(call SetupJVMTIDemo,gctest,			agent_util))
   316 $(eval $(call SetupJVMTIDemo,gctest,			agent_util))
   280 $(eval $(call SetupJVMTIDemo,heapTracker,		agent_util java_crw_demo))
   317 $(eval $(call SetupJVMTIDemo,heapTracker,		agent_util java_crw_demo))
   281 $(eval $(call SetupJVMTIDemo,heapViewer,		agent_util))
   318 $(eval $(call SetupJVMTIDemo,heapViewer,		agent_util))
   282 # hprof contains error messages using __FILE__ macro. These expand to the absolute path
       
   283 # in the new build system and relative in the old, causing the binaries to differ.
       
   284 $(eval $(call SetupJVMTIDemo,hprof,			java_crw_demo,\
   319 $(eval $(call SetupJVMTIDemo,hprof,			java_crw_demo,\
   285 		-I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,C,\
   320 		-I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,C,\
   286 		-ldl,ws2_32.lib winmm.lib,-lsocket -lnsl))
   321 		-ldl,ws2_32.lib winmm.lib,-lsocket -lnsl,-lpthread))
   287 
   322 
   288 $(eval $(call SetupJVMTIDemo,minst,			agent_util java_crw_demo))
   323 $(eval $(call SetupJVMTIDemo,minst,			agent_util java_crw_demo))
   289 $(eval $(call SetupJVMTIDemo,mtrace,			agent_util java_crw_demo))
   324 $(eval $(call SetupJVMTIDemo,mtrace,			agent_util java_crw_demo))
   290 $(eval $(call SetupJVMTIDemo,waiters,			agent_util,,C++))
   325 $(eval $(call SetupJVMTIDemo,waiters,			agent_util,,C++))
   291 $(eval $(call SetupJVMTIDemo,versionCheck,		agent_util))
   326 $(eval $(call SetupJVMTIDemo,versionCheck,		agent_util))
   296 # At least, we do not need to compile the jpda demo, just jar/zip up the sources.
   331 # At least, we do not need to compile the jpda demo, just jar/zip up the sources.
   297 JPDA_SOURCES:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example -type f)
   332 JPDA_SOURCES:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example -type f)
   298 # The number of files are few enough so that we can use echo safely below to list them.
   333 # The number of files are few enough so that we can use echo safely below to list them.
   299 JPDA_FILES:=$(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
   334 JPDA_FILES:=$(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
   300 
   335 
   301 $(JDK_OUTPUTDIR)/newdemo/jpda/src.zip : $(JPDA_SOURCES)
   336 $(JDK_OUTPUTDIR)/demo/jpda/src.zip : $(JPDA_SOURCES)
   302 		$(MKDIR) -p $(@D)
   337 		$(MKDIR) -p $(@D)
   303 		(cd $(JDK_TOPDIR)/src/share/classes && $(ZIP) -qru $@ com -i "com/sun/tools/example/*")
   338 		(cd $(JDK_TOPDIR)/src/share/classes && $(ZIP) -qru $@ com -i "com/sun/tools/example/*")
   304 
   339 
   305 $(JDK_OUTPUTDIR)/newdemo/jpda/examples.jar : $(JPDA_SOURCES)
   340 $(JDK_OUTPUTDIR)/demo/jpda/examples.jar : $(JPDA_SOURCES)
   306 		$(MKDIR) -p $(@D)
   341 		$(MKDIR) -p $(@D)
   307 		$(RM) $(@D)/_the.sources
   342 		$(RM) $(@D)/_the.sources
   308 		$(call ListPathsSafely,JPDA_FILES,\n, >> $(@D)/_the.sources)
   343 		$(call ListPathsSafely,JPDA_FILES,\n, >> $(@D)/_the.sources)
   309 		$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
   344 		$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
   310 		       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $(JDK_TOPDIR)/make/tools/manifest.mf > $(@D)/_the.manifest
   345 		       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $(JDK_TOPDIR)/make/tools/manifest.mf > $(@D)/_the.manifest
   311 		$(ECHO) "Main-Class: " >> $(@D)/_the.manifest
   346 		$(ECHO) "Main-Class: " >> $(@D)/_the.manifest
   312 		(cd $(JDK_TOPDIR)/src/share/classes && $(JAR) cfm  $@ $(@D)/_the.manifest @$(@D)/_the.sources)
   347 		(cd $(JDK_TOPDIR)/src/share/classes && $(JAR) cfm  $@ $(@D)/_the.manifest @$(@D)/_the.sources)
   313 		(cd $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example && $(JAR) uf $@ README)
   348 		(cd $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example && $(JAR) uf $@ README)
   314 
   349 
   315 $(JDK_OUTPUTDIR)/newdemo/jpda/com/sun/tools/example/README : $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example/README
   350 $(JDK_OUTPUTDIR)/demo/jpda/com/sun/tools/example/README : $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example/README
   316 		$(MKDIR) -p $(@D)
   351 		$(MKDIR) -p $(@D)
   317 		$(CP) $< $@
   352 		$(CP) $< $@
   318 		$(CHMOD) -f ug+w $@
   353 		$(CHMOD) -f ug+w $@
   319 
   354 
   320 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jpda/src.zip $(JDK_OUTPUTDIR)/newdemo/jpda/examples.jar \
   355 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jpda/src.zip $(JDK_OUTPUTDIR)/demo/jpda/examples.jar \
   321 		$(JDK_OUTPUTDIR)/newdemo/jpda/com/sun/tools/example/README
   356 		$(JDK_OUTPUTDIR)/demo/jpda/com/sun/tools/example/README
   322 
   357 
   323 ##################################################################################################
   358 ##################################################################################################
   324 
   359 
   325 $(JDK_OUTPUTDIR)/newdemo/management/index.html : $(JDK_TOPDIR)/src/share/demo/management/index.html
   360 $(JDK_OUTPUTDIR)/demo/management/index.html : $(JDK_TOPDIR)/src/share/demo/management/index.html
   326 		$(MKDIR) -p $(@D)
   361 		$(MKDIR) -p $(@D)
   327 		$(CP) $< $@
   362 		$(CP) $< $@
   328 		$(CHMOD) -f ug+w $@
   363 		$(CHMOD) -f ug+w $@
   329 
   364 
   330 $(JDK_OUTPUTDIR)/newdemo/jvmti/index.html : $(JDK_TOPDIR)/src/share/demo/jvmti/index.html
   365 $(JDK_OUTPUTDIR)/demo/jvmti/index.html : $(JDK_TOPDIR)/src/share/demo/jvmti/index.html
   331 		$(MKDIR) -p $(@D)
   366 		$(MKDIR) -p $(@D)
   332 		$(CP) $< $@
   367 		$(CP) $< $@
   333 		$(CHMOD) -f ug+w $@
   368 		$(CHMOD) -f ug+w $@
   334 
   369 
   335 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/management/index.html \
   370 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/management/index.html \
   336 		$(JDK_OUTPUTDIR)/newdemo/jvmti/index.html
   371 		$(JDK_OUTPUTDIR)/demo/jvmti/index.html
   337 
   372 
   338 ##################################################################################################
   373 ##################################################################################################
   339 
   374 
   340 # The netbeans project files are copied into the demo directory.
   375 # The netbeans project files are copied into the demo directory.
   341 BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%,\
   376 BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%,\
   342 		$(JDK_OUTPUTDIR)/newdemo/nbproject/%,\
   377 		$(JDK_OUTPUTDIR)/demo/nbproject/%,\
   343 		$(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject/ -type f))
   378 		$(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject/ -type f))
   344 
   379 
   345 $(JDK_OUTPUTDIR)/newdemo/nbproject/% : $(JDK_TOPDIR)/src/share/demo/nbproject/%
   380 $(JDK_OUTPUTDIR)/demo/nbproject/% : $(JDK_TOPDIR)/src/share/demo/nbproject/%
   346 	$(MKDIR) -p $(@D)
   381 	$(MKDIR) -p $(@D)
   347 	$(CP) $< $@
   382 	$(CP) $< $@
   348 	$(CHMOD) -f ug+w $@
   383 	$(CHMOD) -f ug+w $@
   349 
   384 
   350 ##################################################################################################
   385 ##################################################################################################
   351 
   386 
   352 $(JDK_OUTPUTDIR)/newdemo/README: $(JDK_TOPDIR)/src/share/demo/README
   387 $(JDK_OUTPUTDIR)/demo/README: $(JDK_TOPDIR)/src/share/demo/README
   353 	$(MKDIR) -p $(@D)
   388 	$(MKDIR) -p $(@D)
   354 	$(CP) $< $@
   389 	$(CP) $< $@
   355 
   390 
   356 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/README
   391 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/README
   357 
   392 
   358 ##################################################################################################
   393 ##################################################################################################
   359 
   394 
   360 ifeq ($(OPENJDK_TARGET_OS), solaris)
   395 ifeq ($(OPENJDK_TARGET_OS), solaris)
   361 
   396 
   362 $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
   397 $(JDK_OUTPUTDIR)/democlasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
   363 		$(MKDIR) -p $(@D)
   398 		$(MKDIR) -p $(@D)
   364 		$(CP) $< $@
   399 		$(CP) $< $@
   365 		$(CHMOD) -f ug+w $@
   400 		$(CHMOD) -f ug+w $@
   366 
   401 
   367 $(JDK_OUTPUTDIR)/newdemo/jni/Poller/README.txt : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/README.txt
   402 $(JDK_OUTPUTDIR)/demo/jni/Poller/README.txt : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/README.txt
   368 		$(MKDIR) -p $(@D)
   403 		$(MKDIR) -p $(@D)
   369 		$(CP) $< $@
   404 		$(CP) $< $@
   370 		$(CHMOD) -f ug+w $@
   405 		$(CHMOD) -f ug+w $@
   371 
   406 
   372 $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar : \
   407 $(JDK_OUTPUTDIR)/demo/jni/Poller/Poller.jar : \
   373   $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/README.txt $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/Poller.c
   408   $(JDK_OUTPUTDIR)/democlasses/jni/Poller/README.txt $(JDK_OUTPUTDIR)/democlasses/jni/Poller/Poller.c
   374 
   409 
   375 $(eval $(call SetupJavaCompilation,BUILD_DEMO_POLLER_JAR,\
   410 $(eval $(call SetupJavaCompilation,BUILD_DEMO_POLLER_JAR,\
   376 		SETUP:=GENERATE_USINGJDKBYTECODE, \
   411 		SETUP:=GENERATE_USINGJDKBYTECODE, \
   377 		SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
   412 		SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
   378 		BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
   413 		BIN:=$(JDK_OUTPUTDIR)/democlasses/jni/Poller, \
   379 		HEADERS:=$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
   414 		HEADERS:=$(JDK_OUTPUTDIR)/democlasses/jni/Poller, \
   380 		JAR:=$(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar, \
   415 		JAR:=$(JDK_OUTPUTDIR)/demo/jni/Poller/Poller.jar, \
   381 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf, \
   416 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf, \
   382 		SRCZIP:=$(JDK_OUTPUTDIR)/newdemo/jni/Poller/src.zip, \
   417 		SRCZIP:=$(JDK_OUTPUTDIR)/demo/jni/Poller/src.zip, \
   383 		COPY := README.txt Poller.c, \
   418 		COPY:=README.txt Poller.c, \
   384 		JARMAIN := Client))
   419 		JARMAIN:=Client))
   385 
   420 
   386 
   421 
   387 
   422 
   388 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar $(JDK_OUTPUTDIR)/newdemo/jni/Poller/src.zip \
   423 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jni/Poller/Poller.jar $(JDK_OUTPUTDIR)/demo/jni/Poller/src.zip \
   389                $(JDK_OUTPUTDIR)/newdemo/jni/Poller/README.txt
   424                $(JDK_OUTPUTDIR)/demo/jni/Poller/README.txt
   390 
   425 
   391 $(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER,\
   426 $(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER,\
   392 		SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
   427 		SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
   393 		LANG := C, \
   428 		LANG:=C,\
   394 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
   429 		OPTIMIZATION:=LOW,\
   395                         -I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
   430 		CFLAGS:=$(CFLAGS_JDKLIB) $(SHARED_LIBRARY_FLAGS) \
       
   431                         -I$(JDK_OUTPUTDIR)/democlasses/jni/Poller, \
   396 		LDFLAGS:=$(LDFLAGS_JDKLIB), \
   432 		LDFLAGS:=$(LDFLAGS_JDKLIB), \
   397 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
   433 		OBJECT_DIR:=$(JDK_OUTPUTDIR)/demoobjs/jni/Poller,\
   398                 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs, \
   434                 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/demoobjs, \
   399 		LIBRARY:=Poller))
   435 		LIBRARY:=Poller))
   400 
   436 
   401 #
   437 #
   402 # We can only compile native code after jar has been build (since we depend on generated .h files)
   438 # We can only compile native code after jar has been build (since we depend on generated .h files)
   403 #
   439 #
   404 $(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller/Poller.o : $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar
   440 $(JDK_OUTPUTDIR)/demoobjs/jni/Poller/Poller.o : $(JDK_OUTPUTDIR)/demo/jni/Poller/Poller.jar
   405 
   441 
   406 $(JDK_OUTPUTDIR)/newdemo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX) : \
   442 $(JDK_OUTPUTDIR)/demo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX) : \
   407   $(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
   443   $(JDK_OUTPUTDIR)/demoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
   408 	$(MKDIR) -p $(@D)
   444 	$(MKDIR) -p $(@D)
   409 	$(CP) $< $@
   445 	$(CP) $< $@
   410 
   446 
   411 BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
   447 BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
   412 
   448 
   413 endif
   449 endif
   414 
   450 
   415 ##################################################################################################
   451 ##################################################################################################
   416 
   452 
   417 ifndef OPENJDK
   453 ifndef OPENJDK
   418     DB_DEMO_ZIPFILE := $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*demo*.zip")
   454     DB_DEMO_ZIPFILE := $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*demo*.zip")
   419 
   455 
   420     $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped: $(DB_DEMO_ZIPFILE)
   456     $(JDK_OUTPUTDIR)/demo/_the.db.unzipped: $(DB_DEMO_ZIPFILE)
   421 	$(MKDIR) -p $(@D)
   457 	$(MKDIR) -p $(@D)
   422 	$(RM) -rf $(JDK_OUTPUTDIR)/newdemo/db $(JDK_OUTPUTDIR)/newdemo/demo
   458 	$(RM) -r $(JDK_OUTPUTDIR)/demo/db $(JDK_OUTPUTDIR)/demo/demo
   423 	$(CD) $(JDK_OUTPUTDIR)/newdemo && $(UNZIP) -o $<
   459 	$(CD) $(JDK_OUTPUTDIR)/demo && $(UNZIP) -o $<
   424 	$(MV) $(JDK_OUTPUTDIR)/newdemo/demo $(JDK_OUTPUTDIR)/newdemo/db
   460 	$(MV) $(JDK_OUTPUTDIR)/demo/demo $(JDK_OUTPUTDIR)/demo/db
   425 	$(TOUCH) $@
   461 	$(TOUCH) $@
   426 
   462 
   427 #    Copy this after the unzip above to avoid race with directory creation and mv command.
   463 #    Copy this after the unzip above to avoid race with directory creation and mv command.
   428      $(JDK_OUTPUTDIR)/newdemo/db/README-JDK-DEMOS.html: \
   464      $(JDK_OUTPUTDIR)/demo/db/README-JDK-DEMOS.html: \
   429 		$(JDK_TOPDIR)/src/closed/share/db/README-JDK-DEMOS.html \
   465 		$(JDK_TOPDIR)/src/closed/share/db/README-JDK-DEMOS.html \
   430 		| $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped
   466 		| $(JDK_OUTPUTDIR)/demo/_the.db.unzipped
   431 	$(MKDIR) -p $(@D)
   467 	$(MKDIR) -p $(@D)
   432 	$(CP) '$<' '$@'
   468 	$(CP) '$<' '$@'
   433      BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped $(JDK_OUTPUTDIR)/newdemo/db/README-JDK-DEMOS.html
   469      BUILD_DEMOS += $(JDK_OUTPUTDIR)/demo/_the.db.unzipped $(JDK_OUTPUTDIR)/demo/db/README-JDK-DEMOS.html
   434 endif
   470 endif
   435 
   471 
   436 ##################################################################################################
   472 ##################################################################################################
   437 
   473 
   438 all: $(BUILD_DEMOS)
   474 all: $(BUILD_DEMOS)