# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

INSTALL_TARGETS += GECKOVIEW_LIBRARY
GECKOVIEW_LIBRARY_DEST = $(CURDIR)
GECKOVIEW_LIBRARY_FILES := \
  .classpath \
  .project \
  build.xml \
  $(NULL)

PP_TARGETS = properties manifest project

properties = local.properties.in
project = project.properties.in
manifest = AndroidManifest.xml.in

GARBAGE = $(GECKOVIEW_LIBRARY_FILES) local.properties project.properties AndroidManifest.xml

GARBAGE_DIRS = \
  bin \
  libs \
  src \
  .deps \
  gen  \
  res \
  $(NULL)

include $(topsrcdir)/config/rules.mk

_ABS_DIST = $(abspath $(DIST))

package: local.properties project.properties AndroidManifest.xml FORCE
	# Make directory for the zips
	$(MKDIR) -p $(_ABS_DIST)/geckoview_library

	# Zip the assets into $(DIST)/geckoview_library/geckoview_assets.zip
	cd $(_ABS_DIST)/$(MOZ_APP_NAME) && \
	$(ZIP) -q -r $(_ABS_DIST)/geckoview_library/geckoview_assets.zip assets

	# Make empty directories to fit an Android project structure
	$(MKDIR) -p bin gen libs/$(ANDROID_CPU_ARCH) src

	# Copy the JARs, except for the jar containing org.mozilla.gecko.R.
	# org.mozilla.gecko.R will be provided by the embedding application.
	cp $(DEPTH)/mobile/android/base/*.jar libs/
	$(RM) libs/gecko-R.jar

	# Copy the SOs
	cp $(_ABS_DIST)/bin/libmozglue.so $(_ABS_DIST)/bin/lib/libplugin-container.so libs/$(ANDROID_CPU_ARCH)/

	# Copy the resources
	$(RM) -rf res
	$(MKDIR) -p res
	cd res && \
	$(UNZIP) -q -u -o $(_ABS_DIST)/bin/geckoview_resources.zip

	# Zip the directory
	cd $(DEPTH)/mobile/android && \
	$(ZIP) -q -r $(_ABS_DIST)/geckoview_library/geckoview_library.zip geckoview_library -x geckoview_library/backend.mk geckoview_library/Makefile
