#
# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

################################################################
# DEPLOY TARGETS
################################################################

deploy:  deploy-build

DEPLOY = deploy

# put the generated bundles in their own place in OUTPUTDIR
DEPLOY_OUTPUTDIR = $(ABS_OUTPUTDIR)

# NO_IMAGES may be set in conjunction with DEV_ONLY
ifdef NO_IMAGES
  IMAGES_TARGET =
else
  IMAGES_TARGET = images
endif

DEPLOY_BUILD_TARGETS = sanity deploy 
# Only build 7-Zip LZMA file compression if it is available
# Enable 7-Zip LZMA file (de)compression for Java Kernel if it is available
ifeq ($(ARCH_DATA_MODEL), 32)
  ifeq ($(PLATFORM), windows)
      EC_TMP = $(shell if [ -d $(DEPLOY_TOPDIR)/make/lzma ] ; then \
        $(ECHO) true ; \
      else \
  $(ECHO) false ; \
      fi )
  ifeq ($(EC_TMP), true)
        DEPLOY_BUILD_TARGETS += extra-comp-all
      endif
  endif
endif

ifneq ($(JQS), off)
  ifeq ($(ARCH_DATA_MODEL), 32)
    ifeq ($(PLATFORM), windows)
      DEPLOY_BUILD_TARGETS += jqs-all
    endif
  endif
endif

ifeq ($(ARCH_DATA_MODEL), 32)
  ifeq ($(PLATFORM), windows)
    # Only set up to use UPX compression if it is available
    UP_TMP = $(shell if [ -d $(DEPLOY_TOPDIR)/make/upx ] ; then \
      $(ECHO) true ; \
    else \
      $(ECHO) false ; \
    fi )
    ifeq ($(UP_TMP), true)
      DEPLOY_BUILD_TARGETS += cmd-comp-all
    endif
  endif
endif



ifndef DEV_ONLY
  DEPLOY_BUILD_TARGETS += images
else
  DEPLOY_BUILD_TARGETS += $(IMAGES_TARGET)
endif

DEPLOY_BUILD_ARGUMENTS = $(COMMON_BUILD_ARGUMENTS) \
			ALT_OUTPUTDIR=$(DEPLOY_OUTPUTDIR) 

ifeq ($(BUILD_LANGTOOLS), true)
   DEPLOY_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif

ifdef ALT_IMAGE_DIR
  DEPLOY_BUILD_ARGUMENTS += ALT_IMAGE_DIR=$(ALT_IMAGE_DIR)
endif

ifdef ALT_BUNDLE_DATE
  DEPLOY_BUILD_ARGUMENTS += ALT_BUNDLE_DATE=$(ALT_BUNDLE_DATE)
endif

ifdef ALT_JAVAWS_BOOTDIR
  DEPLOY_BUILD_ARGUMENTS += ALT_JAVAWS_BOOTDIR=$(ALT_JAVAWS_BOOTDIR)
endif

ifdef CERT
  DEPLOY_BUILD_ARGUMENTS += CERT=$(CERT)
endif

ifdef PKEY
  DEPLOY_BUILD_ARGUMENTS += PKEY=$(PKEY)
endif

deploy-build:
ifeq ($(BUILD_DEPLOY), true)
	@$(call MakeStart,deploy,$(DEPLOY_BUILD_TARGETS))
	($(CD) $(DEPLOY_TOPDIR)/make && \
	  $(MAKE) $(DEPLOY_BUILD_TARGETS) $(DEPLOY_BUILD_ARGUMENTS))
	@$(call MakeFinish,deploy,$(DEPLOY_BUILD_TARGETS))
endif

deploy-clobber::
ifeq ($(BUILD_DEPLOY), true)
	@$(call MakeStart,deploy,clobber)
	($(CD) $(DEPLOY_TOPDIR)/make && \
	  $(MAKE) clobber $(DEPLOY_BUILD_ARGUMENTS))
	@$(call MakeFinish,deploy,clobber)
endif 

deploy-sanity::
ifeq ($(BUILD_DEPLOY), true)
	($(CD) $(DEPLOY_TOPDIR)/make && \
	$(MAKE) sanity $(DEPLOY_BUILD_ARGUMENTS))
endif

.PHONY: deploy deploy-build deploy-clobber deploy-sanity

