#
# bundle.make
#
# Variable definitions and rules for building bundle projects.  A bundle
# is a directory which contains a dynamically-loadable executable and any resources
# that executable requires.  See wrapped.make for more information about
# projects whose product is a directory.
#
# PUBLIC TARGETS
#    bundle: synonymous with all
#
# IMPORTED VARIABLES
#    none
#
# EXPORTED VARIABLES
#    none
#

bundle: all

ifndef BUNDLE_EXTENSION
BUNDLE_EXTENSION = bundle
endif

PRODUCT = $(PRODUCT_DIR)/$(NAME).$(BUNDLE_EXTENSION)
PRODUCTS = $(PRODUCT)
INNER_PRODUCT = $(PRODUCT)$(VERSION_SUFFIX)/$(NAME)$(BUILD_TYPE_SUFFIX)$(DLL_EXT)
STRIPPED_PRODUCTS = $(INNER_PRODUCT)

PROJTYPE_MFLAGS = -F$(PRODUCT_DIR)
ifeq "$(OS)" "NEXTSTEP"
PROJTYPE_LDFLAGS = $($(OS)_PROJTYPE_LDFLAGS) -bundle -undefined suppress
endif
ifeq "$(OS)" "WINDOWS"
PROJTYPE_LDFLAGS = $($(OS)_PROJTYPE_LDFLAGS) -bundle
endif

include $(MAKEFILEDIR)/wrapped-common.make
-include $(LOCAL_MAKEFILEDIR)/bundle.make.preamble

$(PRODUCT): $(INNER_PRODUCT)

$(INNER_PRODUCT): $(DEPENDENCIES)
	$(SILENT) $(MKDIRS) $(PRODUCT)
ifeq "$(OS)" "SOLARIS"
	$(LIBTOOL) $(ALL_LIBTOOL_FLAGS) -o $(INNER_PRODUCT) $(LOADABLES)
else
	$(LD) $(ALL_LDFLAGS) $(ARCHITECTURE_FLAGS) -o $(INNER_PRODUCT) $(LOADABLES)
endif

-include $(LOCAL_MAKEFILEDIR)/bundle.make.postamble


