wrapped-common.make [plain text]
##
# Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
#
# @APPLE_LICENSE_HEADER_START@
#
# The contents of this file constitute Original Code as defined in and
# are subject to the Apple Public Source License Version 1.1 (the
# "License"). You may not use this file except in compliance with the
# License. Please obtain a copy of the License at
# http://www.apple.com/publicsource and read it before using this file.
#
# This Original Code and all software distributed under the License are
# distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
# License for the specific language governing rights and limitations
# under the License.
#
# @APPLE_LICENSE_HEADER_END@
##
#
# wrapped-common.make
#
# Rules and variables common to all projects with wrapped-style products
# (i.e. applications, bundles, etc.). Projects which include this file
# are assumed to have defined the PRODUCT variable to be the path to the
# directory and the INNER_PRODUCT to be the path to the executable within
# the directory. Wrapped products consist of a directory containing the
# executable, a Resources, Headers, and PrivateHeaders directories.
#
# IMPORTED VARIABLES
# none
#
# EXPORTED VARIABLES
# none
#
WRAPPED = YES
ifeq "YES" "$(JAVA_USED)"
JAVA_INSTALL_DIR = $(subst $(PRODUCT_DIR),$(INSTALLDIR),$(JAVA_RESOURCE_DIR))
JAVA_INSTALL_DIR_CLIENT = $(subst $(PRODUCT_DIR),$(INSTALLDIR),$(JAVA_RESOURCE_DIR_CLIENT))
copy-java-resources: copy-java-classes
ANNOUNCE_COPY_JAVA =
COPY_JAVA_FS = copy-java-fs-wfastcp
endif
# The resource directories are exported so that non-wrapped
# subprojects can copy their resources.
export GLOBAL_RESOURCE_DIR = $(PRODUCT)$(VERSION_SUFFIX)/Resources
export WEBSERVER_RESOURCE_DIR = $(PRODUCT)$(VERSION_SUFFIX)/WebServerResources
export JAVA_RESOURCE_DIR = $(GLOBAL_RESOURCE_DIR)/Java
export JAVA_RESOURCE_DIR_CLIENT = $(WEBSERVER_RESOURCE_DIR)/Java
INFO_FILE = $(GLOBAL_RESOURCE_DIR)/Info-$(PLATFORM_OS).plist
USER_INFO_FILE_NAME = CustomInfo.plist
JAVA_TEMP_FILE = $(SFILE_DIR)/Java.plist
BEFORE_BUILD += create-info-file create-help-file
include $(MAKEFILEDIR)/common.make
-include $(LOCAL_MAKEFILEDIR)/wrapped-common.make.preamble
#
# prebuild rules
#
.PHONY: create-info-file
create-info-file: $(GLOBAL_RESOURCE_DIR) $(INFO_FILE)
ifneq "$(REG_APPEND_FILE)" ""
REG_APPEND_FLAGS = -append $(REG_APPEND_FILE)
endif
ifneq "$(REG_FILE)" ""
$(RESOURCE_OFILE) $(GLOBAL_RESOURCE_DIR)/$(REG_FILE): $(GLOBAL_RESOURCE_DIR) $(OFILE_DIR) PB.project $(WINDOWS_APPICON) $(WINDOWS_DOCICONS)
$(REGGEN) -o $(OFILE_DIR)/$(RESOURCE_OFILE) $(REG_APPEND_FLAGS) -project PB.project -rc $(RC_CMD) -regFile $(GLOBAL_RESOURCE_DIR)/$(REG_FILE)
endif
# only depend on CustomInfo.plist if it exists
ifneq "" "$(wildcard $(USER_INFO_FILE_NAME))"
OPTIONAL_INFO_FILES += $(USER_INFO_FILE_NAME)
endif
$(INFO_FILE): $(GLOBAL_RESOURCE_DIR) PB.project $(OTHER_INFO_FILES) $(OPTIONAL_INFO_FILES)
ifneq "$(ENABLE_INFO_DICTIONARY)" "NO"
-$(SILENT) $(RM) -f $(JAVA_TEMP_FILE)
$(SILENT) $(MKDIRS) $(dir $(JAVA_TEMP_FILE))
$(SILENT) $(ECHO) "{" >>$(JAVA_TEMP_FILE)
ifeq "YES" "$(JAVA_NEEDED)"
$(SILENT) $(ECHO) " NSJavaNeeded = Yes;" >>$(JAVA_TEMP_FILE)
endif
ifneq "" "$(JAVA_USED)"
$(SILENT) $(ECHO) " NSJavaRoot = \"$(subst $(PRODUCT)$(VERSION_SUFFIX)/,,$(JAVA_RESOURCE_DIR))\";" >>$(JAVA_TEMP_FILE)
endif
ifneq "" "$(JAVA_PRODUCT)"
$(SILENT) $(ECHO) " NSJavaPath = ($(JAVA_PRODUCTS_PATH));" >>$(JAVA_TEMP_FILE)
endif
ifeq "WebObjects" "$(findstring WebObjects, $(PROJECT_TYPE))"
$(SILENT) $(ECHO) " NSJavaRootClient = \"$(subst $(PRODUCT)$(VERSION_SUFFIX)/,,$(JAVA_RESOURCE_DIR_CLIENT))\";" >>$(JAVA_TEMP_FILE)
ifeq "JAR" "$(JAVA_ARCHIVE_METHOD)"
$(SILENT) $(ECHO) " NSJavaPathClient = \"$(JAVA_JAR_NAME_CLIENT)\";" >>$(JAVA_TEMP_FILE)
endif
endif
$(SILENT) $(ECHO) "}" >>$(JAVA_TEMP_FILE)
$(SILENT) if [ -r "$(USER_INFO_FILE_NAME)" ] ; then \
mergeInfoArgs="$(USER_INFO_FILE_NAME)" ; \
fi ; \
if [ -r "$(JAVA_TEMP_FILE)" ] ; then \
mergeInfoArgs="$$mergeInfoArgs $(JAVA_TEMP_FILE)" ; \
fi ; \
if [ -n "$(REG_FILE)" ] ; then \
mergeInfoArgs="$$mergeInfoArgs -regFile $(REG_FILE)" ; \
fi ; \
if [ -x "$(MERGEINFO)$(EXECUTABLE_EXT)" ] ; then \
$(RM) -f $(INFO_FILE) ; \
cmd="$(MERGEINFO) PB.project $$mergeInfoArgs $(OTHER_INFO_FILES) -o $(INFO_FILE)" ; \
$(ECHO) $$cmd ; eval $$cmd ; \
elif [ -f "$(USER_INFO_FILE_NAME)" ]; then \
$(RM) -f $(INFO_FILE) ; \
cmd="$(CP) $(USER_INFO_FILE_NAME) $(INFO_FILE)" ; \
$(ECHO) $$cmd ; eval $$cmd ; \
fi
endif
-include $(LOCAL_MAKEFILEDIR)/wrapped-common.make.postamble