# 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/. DEPTH = @DEPTH@ topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk include $(topsrcdir)/ipc/app/defs.mk DIRS = locales DIST_FILES = package-name.txt include $(topsrcdir)/mobile/android/base/android-sync-files.mk MOZGLUE_JAVA_FILES := \ mozglue/DirectBufferAllocator.java \ $(NULL) UTIL_JAVA_FILES := \ ActivityResultHandler.java \ ActivityResultHandlerMap.java \ GeckoAsyncTask.java \ GeckoBackgroundThread.java \ GeckoEventListener.java \ GeckoEventResponder.java \ GeckoJarReader.java \ INIParser.java \ INISection.java \ util/EventDispatcher.java \ util/FloatUtils.java \ $(NULL) FENNEC_JAVA_FILES = \ AboutHomeContent.java \ AboutHomePromoBox.java \ AboutHomeSection.java \ ActivityHandlerHelper.java \ AndroidImport.java \ AndroidImportPreference.java \ AlertNotification.java \ AwesomeBar.java \ AwesomebarResultHandler.java \ AwesomeBarTabs.java \ awesomebar/AwesomeBarTab.java \ awesomebar/AllPagesTab.java \ awesomebar/BookmarksTab.java \ awesomebar/HistoryTab.java \ BrowserApp.java \ BrowserToolbar.java \ BrowserToolbarBackground.java \ CameraImageResultHandler.java \ CameraVideoResultHandler.java \ CanvasDelegate.java \ SyncPreference.java \ db/BrowserDB.java \ db/LocalBrowserDB.java \ db/DBUtils.java \ DoorHanger.java \ DoorHangerPopup.java \ Favicons.java \ FilePickerResultHandler.java \ FilePickerResultHandlerSync.java \ FindInPageBar.java \ FlowLayout.java \ FontSizePreference.java \ FormAssistPopup.java \ GeckoAccessibility.java \ GeckoApplication.java \ GeckoApp.java \ GeckoAppShell.java \ GeckoBatteryManager.java \ GeckoConnectivityReceiver.java \ GeckoEvent.java \ GeckoHalDefines.java \ GeckoInputConnection.java \ GeckoMenu.java \ GeckoMenuInflater.java \ GeckoMenuItem.java \ GeckoMessageReceiver.java \ GeckoPreferences.java \ GeckoProfile.java \ GeckoThread.java \ GlobalHistory.java \ GeckoViewsFactory.java \ InputMethods.java \ LinkPreference.java \ LinkTextView.java \ MenuButton.java \ MenuItemActionBar.java \ MenuItemDefault.java \ MultiChoicePreference.java \ NSSBridge.java \ CustomEditText.java \ OnInterceptTouchListener.java \ PrivateDataPreference.java \ PropertyAnimator.java \ ProfileMigrator.java \ PromptService.java \ sqlite/ByteBufferInputStream.java \ sqlite/MatrixBlobCursor.java \ sqlite/SQLiteBridge.java \ sqlite/SQLiteBridgeException.java \ ReaderModeUtils.java \ RemoteTabs.java \ RobocopAPI.java \ ScreenshotHandler.java \ SetupScreen.java \ ShapedButton.java \ SiteIdentityPopup.java \ SuggestClient.java \ SurfaceBits.java \ Tab.java \ Tabs.java \ TabsButton.java \ TabsPanel.java \ TabsPanelButton.java \ TabsTray.java \ TabsAccessor.java \ Telemetry.java \ TextSelection.java \ TextSelectionHandle.java \ WebAppAllocator.java \ ZoomConstraints.java \ gfx/BitmapUtils.java \ gfx/BufferedCairoImage.java \ gfx/CairoGLInfo.java \ gfx/CairoImage.java \ gfx/CairoUtils.java \ gfx/CheckerboardImage.java \ gfx/DisplayPortCalculator.java \ gfx/DisplayPortMetrics.java \ gfx/DrawTimingQueue.java \ gfx/FloatSize.java \ gfx/GeckoLayerClient.java \ gfx/GfxInfoThread.java \ gfx/GLController.java \ gfx/ImmutableViewportMetrics.java \ gfx/InputConnectionHandler.java \ gfx/IntSize.java \ gfx/Layer.java \ gfx/LayerRenderer.java \ gfx/LayerView.java \ gfx/PluginLayer.java \ gfx/NinePatchTileLayer.java \ gfx/PanningPerfAPI.java \ gfx/PointUtils.java \ gfx/RectUtils.java \ gfx/ScreenshotLayer.java \ gfx/ScrollbarLayer.java \ gfx/SingleTileLayer.java \ gfx/TextLayer.java \ gfx/TextureGenerator.java \ gfx/TextureReaper.java \ gfx/TileLayer.java \ gfx/TouchEventHandler.java \ gfx/ViewTransform.java \ gfx/ViewportMetrics.java \ gfx/VirtualLayer.java \ ui/Axis.java \ ui/PanZoomController.java \ ui/PanZoomTarget.java \ ui/SimpleScaleGestureDetector.java \ ui/SubdocumentScrollHelper.java \ GeckoNetworkManager.java \ GeckoScreenOrientationListener.java \ UpdateService.java \ GeckoUpdateReceiver.java \ $(NULL) ifdef MOZ_WEBSMS_BACKEND FENNEC_JAVA_FILES += GeckoSmsManager.java endif FENNEC_PP_JAVA_FILES = \ App.java \ MarketplaceApp.java \ WebApp.java \ WebApps.java \ GeckoActivity.java \ LauncherShortcuts.java \ NotificationHandler.java \ Restarter.java \ db/BrowserContract.java \ db/BrowserProvider.java \ db/PasswordsProvider.java \ db/FormHistoryProvider.java \ db/TabsProvider.java \ db/GeckoProvider.java \ SmsManager.java \ UpdateServiceHelper.java \ $(NULL) FENNEC_PP_XML_FILES = \ res/layout/abouthome_content.xml \ res/layout/browser_toolbar.xml \ res/layout/browser_toolbar_menu.xml \ res/layout-land-v14/browser_toolbar.xml \ res/layout-land-v14/browser_toolbar_menu.xml \ res/layout-large-v11/browser_toolbar_menu.xml \ res/layout-xlarge-v11/browser_toolbar_menu.xml \ res/layout/gecko_app.xml \ res/layout/text_selection_handles.xml \ res/layout-xlarge-land-v11/abouthome_content.xml \ res/layout-xlarge-v11/awesomebar_search.xml \ res/layout-xlarge-v11/gecko_app.xml \ res/xml/preferences.xml \ res/menu/browser_app_menu.xml \ res/menu-v11/browser_app_menu.xml \ res/menu-v11/gecko_app_menu.xml \ res/menu-v11/titlebar_contextmenu.xml \ res/menu-large-v11/browser_app_menu.xml \ res/menu-xlarge-v11/browser_app_menu.xml \ $(NULL) ifneq (,$(findstring -march=armv7,$(OS_CFLAGS))) MIN_CPU_VERSION=7 DEFINES += -DARMV7_ONLY=1 else MIN_CPU_VERSION=5 endif MOZ_APP_BUILDID=$(shell cat $(DEPTH)/config/buildid) ifeq (,$(ANDROID_VERSION_CODE)) ifeq ($(MIN_CPU_VERSION),7) ANDROID_VERSION_CODE=$(shell cat $(DEPTH)/config/buildid | cut -c1-10) else # decrement the version code by 1 for armv6 builds so armv7 builds will win any compatability ties ANDROID_VERSION_CODE=$(shell echo $$((`cat $(DEPTH)/config/buildid | cut -c1-10` - 1))) endif endif UA_BUILDID=$(shell echo $(ANDROID_VERSION_CODE) | cut -c1-8) # Mangle our package name to avoid Bug 750548. DEFINES += \ -DMANGLED_ANDROID_PACKAGE_NAME=$(subst fennec,f3nn3c,$(ANDROID_PACKAGE_NAME)) \ -DANDROID_PACKAGE_NAME=$(ANDROID_PACKAGE_NAME) \ -DMOZ_APP_DISPLAYNAME="$(MOZ_APP_DISPLAYNAME)" \ -DMOZ_APP_NAME=$(MOZ_APP_NAME) \ -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \ -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) \ -DMOZ_MIN_CPU_VERSION=$(MIN_CPU_VERSION) \ -DMOZ_CRASHREPORTER=$(MOZ_CRASHREPORTER) \ -DANDROID_VERSION_CODE=$(ANDROID_VERSION_CODE) \ -DMOZILLA_OFFICIAL=$(MOZILLA_OFFICIAL) \ -DUA_BUILDID=$(UA_BUILDID) \ -DMOZ_APP_BASENAME=$(MOZ_APP_BASENAME) \ -DMOZ_APP_BUILDID=$(MOZ_APP_BUILDID) \ -DMOZ_APP_ABI=$(TARGET_XPCOM_ABI) \ -DMOZ_UPDATER=$(MOZ_UPDATER) \ $(NULL) ifdef MOZ_LINKER_EXTRACT DEFINES += -DMOZ_LINKER_EXTRACT=1 endif GARBAGE += \ AndroidManifest.xml \ classes.dex \ $(FENNEC_PP_JAVA_FILES) \ $(SYNC_PP_JAVA_FILES) \ gecko.ap_ \ res/values/strings.xml \ R.java \ $(FENNEC_PP_XML_FILES) \ $(SYNC_PP_RES_XML) \ package-name.txt \ Manifest.java \ $(NULL) GARBAGE_DIRS += classes db jars res sync MOZ_ANDROID_SHARED_ID = "$(ANDROID_PACKAGE_NAME).sharedID" MOZ_ANDROID_SHARED_ACCOUNT_TYPE = "$(ANDROID_PACKAGE_NAME)_sync" # Bug 567884 - Need a way to find appropriate icons during packaging ifeq ($(MOZ_APP_NAME),fennec) ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_48x48.png ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_72x72.png # we released these builds to the public with shared IDs and need to keep them ifeq (org.mozilla.firefox,$(ANDROID_PACKAGE_NAME)) MOZ_ANDROID_SHARED_ID = "org.mozilla.firefox.sharedID" MOZ_ANDROID_SHARED_ACCOUNT_TYPE = "org.mozilla.firefox_sync" else ifeq (org.mozilla.firefox_beta,$(ANDROID_PACKAGE_NAME)) MOZ_ANDROID_SHARED_ID = "org.mozilla.firefox.sharedID" MOZ_ANDROID_SHARED_ACCOUNT_TYPE = "org.mozilla.firefox_sync" else ifeq (org.mozilla.fennec_aurora,$(ANDROID_PACKAGE_NAME)) MOZ_ANDROID_SHARED_ID = "org.mozilla.fennec.sharedID" MOZ_ANDROID_SHARED_ACCOUNT_TYPE = "org.mozilla.fennec_sync" else ifeq (org.mozilla.fennec,$(ANDROID_PACKAGE_NAME)) MOZ_ANDROID_SHARED_ID = "org.mozilla.fennec.sharedID" MOZ_ANDROID_SHARED_ACCOUNT_TYPE = "org.mozilla.fennec_sync" endif else ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon48.png ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon64.png endif ifdef MOZ_ANDROID_SHARED_ID DEFINES += -DMOZ_ANDROID_SHARED_ID="$(MOZ_ANDROID_SHARED_ID)" endif ifdef MOZ_ANDROID_SHARED_ACCOUNT_TYPE DEFINES += -DMOZ_ANDROID_SHARED_ACCOUNT_TYPE="$(MOZ_ANDROID_SHARED_ACCOUNT_TYPE)" endif RES_LAYOUT = \ $(SYNC_RES_LAYOUT) \ res/layout/autocomplete_list.xml \ res/layout/autocomplete_list_item.xml \ res/layout/awesomebar.xml \ res/layout/awesomebar_actionbar.xml \ res/layout/awesomebar_expandable_list.xml \ res/layout/awesomebar_folder_row.xml \ res/layout/awesomebar_header_row.xml \ res/layout/awesomebar_list.xml \ res/layout/awesomebar_row.xml \ res/layout/awesomebar_suggestion_item.xml \ res/layout/awesomebar_suggestion_row.xml \ res/layout/awesomebar_search.xml \ res/layout/awesomebar_tab_indicator.xml \ res/layout/awesomebar_tabs.xml \ res/layout/bookmark_edit.xml \ res/layout/doorhangerpopup.xml \ res/layout/doorhanger.xml \ res/layout/find_in_page_content.xml \ res/layout/font_size_preference.xml \ res/layout/web_app.xml \ res/layout/launch_app_list.xml \ res/layout/launch_app_listitem.xml \ res/layout/menu_item.xml \ res/layout/menu_popup.xml \ res/layout/notification_icon_text.xml \ res/layout/notification_progress.xml \ res/layout/notification_progress_text.xml \ res/layout/site_setting_title.xml \ res/layout/setup_screen.xml \ res/layout/shared_ui_components.xml \ res/layout/site_identity_popup.xml \ res/layout/remote_tabs.xml \ res/layout/remote_tabs_child.xml \ res/layout/remote_tabs_group.xml \ res/layout/tabs_counter.xml \ res/layout/tabs_panel.xml \ res/layout/tabs_panel_toolbar.xml \ res/layout/tabs_panel_toolbar_menu.xml \ res/layout/tabs_row.xml \ res/layout/tabs_tray.xml \ res/layout/list_item_header.xml \ res/layout/select_dialog_list.xml \ res/layout/abouthome_addon_row.xml \ res/layout/abouthome_last_tabs_row.xml \ res/layout/abouthome_promo_box.xml \ res/layout/abouthome_section.xml \ res/layout/abouthome_remote_tab_row.xml \ res/layout/abouthome_topsite_item.xml \ res/layout/validation_message.xml \ $(NULL) RES_LAYOUT_LAND_V14 = \ res/layout-land-v14/tabs_panel_toolbar.xml \ res/layout-land-v14/tabs_panel_toolbar_menu.xml \ $(NULL) RES_LAYOUT_LARGE_V11 = \ res/layout-large-v11/awesomebar_search.xml \ res/layout-large-v11/doorhangerpopup.xml \ res/layout-large-v11/site_identity_popup.xml \ res/layout-large-v11/tabs_panel_toolbar_menu.xml \ $(NULL) RES_LAYOUT_XLARGE_V11 = \ res/layout-xlarge-v11/font_size_preference.xml \ res/layout-xlarge-v11/remote_tabs_child.xml \ res/layout-xlarge-v11/remote_tabs_group.xml \ res/layout-xlarge-v11/tabs_panel_toolbar_menu.xml \ res/layout-xlarge-v11/tabs_row.xml \ $(NULL) RES_VALUES = \ $(SYNC_RES_VALUES) \ res/values/attrs.xml \ res/values/arrays.xml \ res/values/colors.xml \ res/values/dimens.xml \ res/values/integers.xml \ res/values/styles.xml \ res/values/themes.xml \ $(NULL) RES_VALUES_LAND = \ res/values-land/integers.xml \ $(NULL) RES_VALUES_V11 = \ res/values-v11/dimens.xml \ res/values-v11/styles.xml \ res/values-v11/themes.xml \ $(NULL) RES_VALUES_LARGE_V11 = \ $(SYNC_RES_VALUES_LARGE_V11) \ res/values-large-v11/dimens.xml \ $(NULL) RES_VALUES_XLARGE_V11 = \ res/values-xlarge-v11/dimens.xml \ res/values-xlarge-v11/integers.xml \ res/values-xlarge-v11/styles.xml \ $(NULL) RES_VALUES_LAND_V14 = \ res/values-land-v14/dimens.xml \ $(NULL) RES_XML = \ $(SYNC_RES_XML) \ $(NULL) RES_ANIM = \ res/anim/grow_fade_in.xml \ res/anim/shrink_fade_out.xml \ $(NULL) RES_DRAWABLE_NODPI = \ res/drawable-nodpi/abouthome_bg.png \ res/drawable-nodpi/tabs_tray_bg.png \ res/drawable-nodpi/tabs_tray_selected_bg.png \ $(NULL) RES_DRAWABLE_BASE = \ res/drawable/favicon.png \ res/drawable/folder.png \ res/drawable/abouthome_icon.png \ res/drawable/abouthome_logo.png \ res/drawable/abouthome_promo_box_bg.9.png \ res/drawable/abouthome_promo_box_pressed_bg.9.png \ res/drawable/abouthome_promo_logo_apps.png \ res/drawable/abouthome_promo_logo_sync.png \ res/drawable/abouthome_thumbnail.png \ res/drawable/address_bar_bg_shadow.png \ res/drawable/alert_addon.png \ res/drawable/alert_app.png \ res/drawable/alert_download.png \ res/drawable/awesomebar_tab_center.9.png \ res/drawable/awesomebar_tab_left.9.png \ res/drawable/awesomebar_tab_right.9.png \ res/drawable/ic_addons_empty.png \ res/drawable/ic_awesomebar_go.png \ res/drawable/ic_awesomebar_reader.png \ res/drawable/ic_awesomebar_search.png \ res/drawable/ic_awesomebar_star.png \ res/drawable/ic_menu_back.xml \ res/drawable/ic_menu_bookmark_add.png \ res/drawable/ic_menu_bookmark_remove.png \ res/drawable/ic_menu_reload.png \ res/drawable/ic_menu_save_as_pdf.png \ res/drawable/ic_menu_share.png \ res/drawable/ic_menu_reading_list_add.png \ res/drawable/ic_menu_reading_list_remove.png \ res/drawable/ic_menu_forward.png \ res/drawable/remote_tabs_off.png \ res/drawable/remote_tabs_on.png \ res/drawable/tab_new.png \ res/drawable/tab_close.png \ res/drawable/tab_thumbnail_default.png \ res/drawable/tab_thumbnail_shadow.png \ res/drawable/tabs_carat.png \ res/drawable/address_bar_back_button.xml \ res/drawable/address_bar_back_button_bg.xml \ res/drawable/address_bar_back_button_pressed_bg.xml \ res/drawable/address_bar_forward_button.xml \ res/drawable/address_bar_texture_port.png \ res/drawable/address_bar_url.xml \ res/drawable/address_bar_url_default.9.png \ res/drawable/address_bar_url_pressed.9.png \ res/drawable/doorhanger_arrow.png \ res/drawable/doorhanger_bg.9.png \ res/drawable/doorhanger_shadow_bg.9.png \ res/drawable/doorhanger_popup_bg.9.png \ res/drawable/find_close.png \ res/drawable/find_next.png \ res/drawable/find_prev.png \ res/drawable/larry_blue.png \ res/drawable/larry_green.png \ res/drawable/menu.xml \ res/drawable/menu_item_bg.xml \ res/drawable/menu_item_default.xml \ res/drawable/menu_item_pressed.xml \ res/drawable/site_security_identified.png \ res/drawable/site_security_verified.png \ res/drawable/urlbar_stop.png \ res/drawable/reader.png \ res/drawable/reading_list.png \ res/drawable/validation_arrow.png \ res/drawable/validation_arrow_inverted.png \ res/drawable/validation_bg.9.png \ res/drawable/bookmarkdefaults_favicon_support.png \ res/drawable/bookmarkdefaults_favicon_addons.png \ res/drawable/handle_end.png \ res/drawable/handle_start.png \ $(addprefix res/drawable-mdpi/,$(notdir $(SYNC_RES_DRAWABLE_MDPI))) \ $(NULL) RES_DRAWABLE_LDPI = \ $(addprefix res/drawable-ldpi/,$(notdir $(SYNC_RES_DRAWABLE_LDPI))) \ $(NULL) RES_DRAWABLE_HDPI = \ res/drawable-hdpi/favicon.png \ res/drawable-hdpi/folder.png \ res/drawable-hdpi/home_bg.png \ res/drawable-hdpi/home_star.png \ res/drawable-hdpi/abouthome_icon.png \ res/drawable-hdpi/abouthome_logo.png \ res/drawable-hdpi/abouthome_promo_box_bg.9.png \ res/drawable-hdpi/abouthome_promo_box_pressed_bg.9.png \ res/drawable-hdpi/abouthome_promo_logo_apps.png \ res/drawable-hdpi/abouthome_promo_logo_sync.png \ res/drawable-hdpi/abouthome_thumbnail.png \ res/drawable-hdpi/address_bar_bg_shadow.png \ res/drawable-hdpi/alert_addon.png \ res/drawable-hdpi/alert_app.png \ res/drawable-hdpi/alert_download.png \ res/drawable-hdpi/awesomebar_tab_center.9.png \ res/drawable-hdpi/awesomebar_tab_left.9.png \ res/drawable-hdpi/awesomebar_tab_right.9.png \ res/drawable-hdpi/ic_addons_empty.png \ res/drawable-hdpi/ic_awesomebar_go.png \ res/drawable-hdpi/ic_awesomebar_reader.png \ res/drawable-hdpi/ic_awesomebar_search.png \ res/drawable-hdpi/ic_awesomebar_star.png \ res/drawable-hdpi/ic_menu_bookmark_add.png \ res/drawable-hdpi/ic_menu_bookmark_remove.png \ res/drawable-hdpi/ic_menu_forward.png \ res/drawable-hdpi/ic_menu_reading_list_add.png \ res/drawable-hdpi/ic_menu_reading_list_remove.png \ res/drawable-hdpi/ic_menu_reload.png \ res/drawable-hdpi/ic_menu_save_as_pdf.png \ res/drawable-hdpi/ic_menu_share.png \ res/drawable-hdpi/remote_tabs_off.png \ res/drawable-hdpi/remote_tabs_on.png \ res/drawable-hdpi/tab_new.png \ res/drawable-hdpi/tab_close.png \ res/drawable-hdpi/tab_thumbnail_default.png \ res/drawable-hdpi/tab_thumbnail_shadow.png \ res/drawable-hdpi/tabs_carat.png \ res/drawable-hdpi/address_bar_texture_port.png \ res/drawable-hdpi/address_bar_url_default.9.png \ res/drawable-hdpi/address_bar_url_pressed.9.png \ res/drawable-hdpi/doorhanger_arrow.png \ res/drawable-hdpi/doorhanger_bg.9.png \ res/drawable-hdpi/doorhanger_shadow_bg.9.png \ res/drawable-hdpi/doorhanger_popup_bg.9.png \ res/drawable-hdpi/find_close.png \ res/drawable-hdpi/find_next.png \ res/drawable-hdpi/find_prev.png \ res/drawable-hdpi/larry_blue.png \ res/drawable-hdpi/larry_green.png \ res/drawable-hdpi/site_security_identified.png \ res/drawable-hdpi/site_security_verified.png \ res/drawable-hdpi/urlbar_stop.png \ res/drawable-hdpi/reader.png \ res/drawable-hdpi/reading_list.png \ res/drawable-hdpi/validation_arrow.png \ res/drawable-hdpi/validation_arrow_inverted.png \ res/drawable-hdpi/validation_bg.9.png \ res/drawable-hdpi/handle_end.png \ res/drawable-hdpi/handle_start.png \ $(addprefix res/drawable-hdpi/,$(notdir $(SYNC_RES_DRAWABLE_HDPI))) \ $(NULL) RES_DRAWABLE_XHDPI = \ res/drawable-xhdpi/favicon.png \ res/drawable-xhdpi/folder.png \ res/drawable-xhdpi/abouthome_icon.png \ res/drawable-xhdpi/abouthome_logo.png \ res/drawable-xhdpi/abouthome_promo_box_bg.9.png \ res/drawable-xhdpi/abouthome_promo_box_pressed_bg.9.png \ res/drawable-xhdpi/abouthome_promo_logo_apps.png \ res/drawable-xhdpi/abouthome_promo_logo_sync.png \ res/drawable-xhdpi/abouthome_thumbnail.png \ res/drawable-xhdpi/address_bar_bg_shadow.png \ res/drawable-xhdpi/address_bar_texture_port.png \ res/drawable-xhdpi/address_bar_url_default.9.png \ res/drawable-xhdpi/address_bar_url_pressed.9.png \ res/drawable-xhdpi/alert_addon.png \ res/drawable-xhdpi/alert_app.png \ res/drawable-xhdpi/alert_download.png \ res/drawable-xhdpi/awesomebar_tab_center.9.png \ res/drawable-xhdpi/awesomebar_tab_left.9.png \ res/drawable-xhdpi/awesomebar_tab_right.9.png \ res/drawable-xhdpi/ic_addons_empty.png \ res/drawable-xhdpi/ic_awesomebar_go.png \ res/drawable-xhdpi/ic_awesomebar_reader.png \ res/drawable-xhdpi/ic_awesomebar_search.png \ res/drawable-xhdpi/ic_awesomebar_star.png \ res/drawable-xhdpi/ic_menu_bookmark_add.png \ res/drawable-xhdpi/ic_menu_bookmark_remove.png \ res/drawable-xhdpi/ic_menu_forward.png \ res/drawable-xhdpi/ic_menu_reading_list_add.png \ res/drawable-xhdpi/ic_menu_reading_list_remove.png \ res/drawable-xhdpi/ic_menu_reload.png \ res/drawable-xhdpi/ic_menu_save_as_pdf.png \ res/drawable-xhdpi/ic_menu_share.png \ res/drawable-xhdpi/tab_new.png \ res/drawable-xhdpi/tab_close.png \ res/drawable-xhdpi/tab_thumbnail_default.png \ res/drawable-xhdpi/tab_thumbnail_shadow.png \ res/drawable-xhdpi/tabs_carat.png \ res/drawable-xhdpi/doorhanger_arrow.png \ res/drawable-xhdpi/doorhanger_bg.9.png \ res/drawable-xhdpi/doorhanger_shadow_bg.9.png \ res/drawable-xhdpi/doorhanger_popup_bg.9.png \ res/drawable-xhdpi/find_close.png \ res/drawable-xhdpi/find_next.png \ res/drawable-xhdpi/find_prev.png \ res/drawable-xhdpi/urlbar_stop.png \ res/drawable-xhdpi/reader.png \ res/drawable-xhdpi/reading_list.png \ res/drawable-xhdpi/larry_blue.png \ res/drawable-xhdpi/larry_green.png \ res/drawable-xhdpi/remote_tabs_off.png \ res/drawable-xhdpi/remote_tabs_on.png \ res/drawable-xhdpi/site_security_identified.png \ res/drawable-xhdpi/site_security_verified.png \ res/drawable-xhdpi/validation_arrow.png \ res/drawable-xhdpi/validation_arrow_inverted.png \ res/drawable-xhdpi/validation_bg.9.png \ res/drawable-xhdpi/handle_end.png \ res/drawable-xhdpi/handle_start.png \ $(NULL) RES_DRAWABLE_MDPI_V11 = \ res/drawable-mdpi-v11/alert_addon.png \ res/drawable-mdpi-v11/alert_app.png \ res/drawable-mdpi-v11/alert_download.png \ res/drawable-mdpi-v11/ic_menu_back.png \ res/drawable-mdpi-v11/ic_menu_bookmark_add.png \ res/drawable-mdpi-v11/ic_menu_bookmark_remove.png \ res/drawable-mdpi-v11/ic_menu_desktop_mode.png \ res/drawable-mdpi-v11/ic_menu_find_in_page.png \ res/drawable-mdpi-v11/ic_menu_forward.png \ res/drawable-mdpi-v11/ic_menu_reading_list_add.png \ res/drawable-mdpi-v11/ic_menu_reading_list_remove.png \ res/drawable-mdpi-v11/ic_menu_reload.png \ res/drawable-mdpi-v11/ic_menu_save_as_pdf.png \ res/drawable-mdpi-v11/ic_menu_share.png \ res/drawable-mdpi-v11/menu.png \ res/drawable-mdpi-v11/menu_panel_bg.9.png \ res/drawable-mdpi-v11/menu_popup_bg.9.png \ res/drawable-mdpi-v11/menu_popup_arrow.png \ res/drawable-mdpi-v11/menu_item_texture.png \ res/drawable-mdpi-v11/menu_item_pressed_texture.png \ res/drawable-mdpi-v11/menu_item_check.png \ $(NULL) RES_DRAWABLE_HDPI_V11 = \ res/drawable-hdpi-v11/alert_addon.png \ res/drawable-hdpi-v11/alert_app.png \ res/drawable-hdpi-v11/alert_download.png \ res/drawable-hdpi-v11/ic_menu_back.png \ res/drawable-hdpi-v11/ic_menu_bookmark_add.png \ res/drawable-hdpi-v11/ic_menu_bookmark_remove.png \ res/drawable-hdpi-v11/ic_menu_desktop_mode.png \ res/drawable-hdpi-v11/ic_menu_find_in_page.png \ res/drawable-hdpi-v11/ic_menu_forward.png \ res/drawable-hdpi-v11/ic_menu_reading_list_add.png \ res/drawable-hdpi-v11/ic_menu_reading_list_remove.png \ res/drawable-hdpi-v11/ic_menu_reload.png \ res/drawable-hdpi-v11/ic_menu_save_as_pdf.png \ res/drawable-hdpi-v11/ic_menu_share.png \ res/drawable-hdpi-v11/menu.png \ res/drawable-hdpi-v11/menu_panel_bg.9.png \ res/drawable-hdpi-v11/menu_popup_bg.9.png \ res/drawable-hdpi-v11/menu_popup_arrow.png \ res/drawable-hdpi-v11/menu_item_texture.png \ res/drawable-hdpi-v11/menu_item_pressed_texture.png \ res/drawable-hdpi-v11/menu_item_check.png \ $(NULL) RES_DRAWABLE_XHDPI_V11 = \ res/drawable-xhdpi-v11/alert_addon.png \ res/drawable-xhdpi-v11/alert_app.png \ res/drawable-xhdpi-v11/alert_download.png \ res/drawable-xhdpi-v11/ic_menu_back.png \ res/drawable-xhdpi-v11/ic_menu_bookmark_add.png \ res/drawable-xhdpi-v11/ic_menu_bookmark_remove.png \ res/drawable-xhdpi-v11/ic_menu_desktop_mode.png \ res/drawable-xhdpi-v11/ic_menu_find_in_page.png \ res/drawable-xhdpi-v11/ic_menu_forward.png \ res/drawable-xhdpi-v11/ic_menu_reading_list_add.png \ res/drawable-xhdpi-v11/ic_menu_reading_list_remove.png \ res/drawable-xhdpi-v11/ic_menu_reload.png \ res/drawable-xhdpi-v11/ic_menu_save_as_pdf.png \ res/drawable-xhdpi-v11/ic_menu_share.png \ res/drawable-xhdpi-v11/menu.png \ res/drawable-xhdpi-v11/menu_panel_bg.9.png \ res/drawable-xhdpi-v11/menu_popup_bg.9.png \ res/drawable-xhdpi-v11/menu_popup_arrow.png \ res/drawable-xhdpi-v11/menu_item_texture.png \ res/drawable-xhdpi-v11/menu_item_pressed_texture.png \ res/drawable-xhdpi-v11/menu_item_check.png \ $(NULL) RES_DRAWABLE_LAND_V14 = \ res/drawable-land-v14/address_bar_bg.xml \ $(NULL) RES_DRAWABLE_LAND_MDPI_V14 = \ res/drawable-land-mdpi-v14/ic_awesomebar_go.png \ res/drawable-land-mdpi-v14/ic_awesomebar_search.png \ res/drawable-land-mdpi-v14/address_bar_texture_land.png \ res/drawable-land-mdpi-v14/address_bar_url_default.9.png \ res/drawable-land-mdpi-v14/address_bar_url_pressed.9.png \ res/drawable-land-mdpi-v14/remote_tabs_off.png \ res/drawable-land-mdpi-v14/remote_tabs_on.png \ res/drawable-land-mdpi-v14/tab_new.png \ res/drawable-land-mdpi-v14/tabs_carat.png \ res/drawable-land-mdpi-v14/urlbar_stop.png \ res/drawable-land-mdpi-v14/menu.png \ res/drawable-land-mdpi-v14/reader.png \ res/drawable-land-mdpi-v14/site_security_identified.png \ res/drawable-land-mdpi-v14/site_security_verified.png \ $(NULL) RES_DRAWABLE_LAND_HDPI_V14 = \ res/drawable-land-hdpi-v14/ic_awesomebar_go.png \ res/drawable-land-hdpi-v14/ic_awesomebar_search.png \ res/drawable-land-hdpi-v14/address_bar_texture_land.png \ res/drawable-land-hdpi-v14/address_bar_url_default.9.png \ res/drawable-land-hdpi-v14/address_bar_url_pressed.9.png \ res/drawable-land-hdpi-v14/remote_tabs_off.png \ res/drawable-land-hdpi-v14/remote_tabs_on.png \ res/drawable-land-hdpi-v14/tab_new.png \ res/drawable-land-hdpi-v14/tabs_carat.png \ res/drawable-land-hdpi-v14/urlbar_stop.png \ res/drawable-land-hdpi-v14/menu.png \ res/drawable-land-hdpi-v14/reader.png \ res/drawable-land-hdpi-v14/site_security_identified.png \ res/drawable-land-hdpi-v14/site_security_verified.png \ $(NULL) RES_DRAWABLE_LAND_XHDPI_V14 = \ res/drawable-land-xhdpi-v14/ic_awesomebar_go.png \ res/drawable-land-xhdpi-v14/ic_awesomebar_search.png \ res/drawable-land-xhdpi-v14/address_bar_texture_land.png \ res/drawable-land-xhdpi-v14/address_bar_url_default.9.png \ res/drawable-land-xhdpi-v14/address_bar_url_pressed.9.png \ res/drawable-land-xhdpi-v14/remote_tabs_off.png \ res/drawable-land-xhdpi-v14/remote_tabs_on.png \ res/drawable-land-xhdpi-v14/tab_new.png \ res/drawable-land-xhdpi-v14/tabs_carat.png \ res/drawable-land-xhdpi-v14/urlbar_stop.png \ res/drawable-land-xhdpi-v14/menu.png \ res/drawable-land-xhdpi-v14/reader.png \ res/drawable-land-xhdpi-v14/site_security_identified.png \ res/drawable-land-xhdpi-v14/site_security_verified.png \ $(NULL) RES_DRAWABLE_LARGE_MDPI_V11 = \ res/drawable-large-mdpi-v11/address_bar_bg.xml \ res/drawable-large-mdpi-v11/address_bar_texture_tablet.png \ res/drawable-large-mdpi-v11/address_bar_back_button_bg.png \ res/drawable-large-mdpi-v11/address_bar_back_button_pressed_bg.png \ res/drawable-large-mdpi-v11/address_bar_url_default.9.png \ res/drawable-large-mdpi-v11/address_bar_url_pressed.9.png \ res/drawable-large-mdpi-v11/ic_awesomebar_go.png \ res/drawable-large-mdpi-v11/ic_awesomebar_search.png \ res/drawable-large-mdpi-v11/ic_menu_bookmark_add.png \ res/drawable-large-mdpi-v11/ic_menu_bookmark_remove.png \ res/drawable-large-mdpi-v11/ic_menu_reload.png \ res/drawable-large-mdpi-v11/ic_menu_forward.png \ res/drawable-large-mdpi-v11/remote_tabs_off.png \ res/drawable-large-mdpi-v11/remote_tabs_on.png \ res/drawable-large-mdpi-v11/tab_new.png \ res/drawable-large-mdpi-v11/urlbar_stop.png \ res/drawable-large-mdpi-v11/reader.png \ res/drawable-large-mdpi-v11/site_security_identified.png \ res/drawable-large-mdpi-v11/site_security_verified.png \ res/drawable-large-mdpi-v11/menu.png \ res/drawable-large-mdpi-v11/tabs_carat.png \ $(NULL) RES_DRAWABLE_LARGE_HDPI_V11 = \ res/drawable-large-hdpi-v11/address_bar_texture_tablet.png \ res/drawable-large-hdpi-v11/address_bar_back_button_bg.png \ res/drawable-large-hdpi-v11/address_bar_back_button_pressed_bg.png \ res/drawable-large-hdpi-v11/address_bar_url_default.9.png \ res/drawable-large-hdpi-v11/address_bar_url_pressed.9.png \ res/drawable-large-hdpi-v11/ic_awesomebar_go.png \ res/drawable-large-hdpi-v11/ic_awesomebar_search.png \ res/drawable-large-hdpi-v11/ic_menu_bookmark_add.png \ res/drawable-large-hdpi-v11/ic_menu_bookmark_remove.png \ res/drawable-large-hdpi-v11/ic_menu_reload.png \ res/drawable-large-hdpi-v11/ic_menu_forward.png \ res/drawable-large-hdpi-v11/remote_tabs_off.png \ res/drawable-large-hdpi-v11/remote_tabs_on.png \ res/drawable-large-hdpi-v11/tab_new.png \ res/drawable-large-hdpi-v11/urlbar_stop.png \ res/drawable-large-hdpi-v11/reader.png \ res/drawable-large-hdpi-v11/site_security_identified.png \ res/drawable-large-hdpi-v11/site_security_verified.png \ res/drawable-large-hdpi-v11/menu.png \ res/drawable-large-hdpi-v11/tabs_carat.png \ $(NULL) RES_DRAWABLE_LARGE_XHDPI_V11 = \ res/drawable-large-xhdpi-v11/address_bar_texture_tablet.png \ res/drawable-large-xhdpi-v11/address_bar_back_button_bg.png \ res/drawable-large-xhdpi-v11/address_bar_back_button_pressed_bg.png \ res/drawable-large-xhdpi-v11/address_bar_url_default.9.png \ res/drawable-large-xhdpi-v11/address_bar_url_pressed.9.png \ res/drawable-large-xhdpi-v11/ic_awesomebar_go.png \ res/drawable-large-xhdpi-v11/ic_awesomebar_search.png \ res/drawable-large-xhdpi-v11/ic_menu_bookmark_add.png \ res/drawable-large-xhdpi-v11/ic_menu_bookmark_remove.png \ res/drawable-large-xhdpi-v11/ic_menu_reload.png \ res/drawable-large-xhdpi-v11/ic_menu_forward.png \ res/drawable-large-xhdpi-v11/remote_tabs_on.png \ res/drawable-large-xhdpi-v11/remote_tabs_off.png \ res/drawable-large-xhdpi-v11/tab_new.png \ res/drawable-large-xhdpi-v11/urlbar_stop.png \ res/drawable-large-xhdpi-v11/reader.png \ res/drawable-large-xhdpi-v11/site_security_identified.png \ res/drawable-large-xhdpi-v11/site_security_verified.png \ res/drawable-large-xhdpi-v11/menu.png \ res/drawable-large-xhdpi-v11/tabs_carat.png \ $(NULL) RES_DRAWABLE_XLARGE_MDPI_V11 = \ res/drawable-xlarge-mdpi-v11/awesomebar_tab_center.9.png \ res/drawable-xlarge-mdpi-v11/awesomebar_tab_left.9.png \ res/drawable-xlarge-mdpi-v11/awesomebar_tab_right.9.png \ res/drawable-xlarge-mdpi-v11/menu.png \ res/drawable-xlarge-mdpi-v11/tabs_button.xml \ res/drawable-xlarge-mdpi-v11/tabs_carat_contracted.png \ res/drawable-xlarge-mdpi-v11/tabs_carat_expanded.png \ res/drawable-xlarge-mdpi-v11/tabs_level.xml \ $(NULL) RES_DRAWABLE_XLARGE_HDPI_V11 = \ res/drawable-xlarge-hdpi-v11/awesomebar_tab_center.9.png \ res/drawable-xlarge-hdpi-v11/awesomebar_tab_left.9.png \ res/drawable-xlarge-hdpi-v11/awesomebar_tab_right.9.png \ res/drawable-xlarge-hdpi-v11/menu.png \ res/drawable-xlarge-hdpi-v11/tabs_carat_contracted.png \ res/drawable-xlarge-hdpi-v11/tabs_carat_expanded.png \ $(NULL) RES_DRAWABLE_XLARGE_XHDPI_V11 = \ res/drawable-xlarge-xhdpi-v11/awesomebar_tab_center.9.png \ res/drawable-xlarge-xhdpi-v11/awesomebar_tab_left.9.png \ res/drawable-xlarge-xhdpi-v11/awesomebar_tab_right.9.png \ res/drawable-xlarge-xhdpi-v11/menu.png \ res/drawable-xlarge-xhdpi-v11/tabs_carat_contracted.png \ res/drawable-xlarge-xhdpi-v11/tabs_carat_expanded.png \ $(NULL) RES_COLOR = \ res/color/menu_item_title.xml \ $(NULL) RES_MENU = \ res/menu/awesomebar_contextmenu.xml \ res/menu/gecko_app_menu.xml \ res/menu/titlebar_contextmenu.xml \ $(NULL) JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar ifdef MOZ_CRASHREPORTER FENNEC_PP_JAVA_FILES += CrashReporter.java MOZ_ANDROID_DRAWABLES += mobile/android/base/resources/drawable/crash_reporter.png RES_LAYOUT += res/layout/crash_reporter.xml endif MOZ_ANDROID_DRAWABLES += \ $(SYNC_RES_DRAWABLE) \ mobile/android/base/resources/drawable/abouthome_bg_repeat.xml \ mobile/android/base/resources/drawable/abouthome_divider.xml \ mobile/android/base/resources/drawable/abouthome_promo_box.xml \ mobile/android/base/resources/drawable/action_bar_button.xml \ mobile/android/base/resources/drawable/address_bar_bg.xml \ mobile/android/base/resources/drawable/address_bar_bg_shadow_repeat.xml \ mobile/android/base/resources/drawable/autocomplete_list_bg.9.png \ mobile/android/base/resources/drawable/awesomebar_tab_indicator.xml \ mobile/android/base/resources/drawable/awesomebar_tab_selected.xml \ mobile/android/base/resources/drawable/awesomebar_tab_unselected.xml \ mobile/android/base/resources/drawable/desktop_notification.png \ mobile/android/base/resources/drawable/highlight.xml \ mobile/android/base/resources/drawable/menu_button.xml \ mobile/android/base/resources/drawable/menu_level.xml \ mobile/android/base/resources/drawable/progress_spinner.xml \ mobile/android/base/resources/drawable/progress_spinner_1.png \ mobile/android/base/resources/drawable/progress_spinner_2.png \ mobile/android/base/resources/drawable/progress_spinner_3.png \ mobile/android/base/resources/drawable/progress_spinner_4.png \ mobile/android/base/resources/drawable/progress_spinner_5.png \ mobile/android/base/resources/drawable/progress_spinner_6.png \ mobile/android/base/resources/drawable/progress_spinner_7.png \ mobile/android/base/resources/drawable/progress_spinner_8.png \ mobile/android/base/resources/drawable/progress_spinner_9.png \ mobile/android/base/resources/drawable/progress_spinner_10.png \ mobile/android/base/resources/drawable/progress_spinner_11.png \ mobile/android/base/resources/drawable/progress_spinner_12.png \ mobile/android/base/resources/drawable/remote_tabs_level.xml \ mobile/android/base/resources/drawable/start.png \ mobile/android/base/resources/drawable/site_security_level.xml \ mobile/android/base/resources/drawable/suggestion_selector.xml \ mobile/android/base/resources/drawable/tab_new_button.xml \ mobile/android/base/resources/drawable/tabs_button.xml \ mobile/android/base/resources/drawable/tabs_level.xml \ mobile/android/base/resources/drawable/tabs_tray_bg_repeat.xml \ mobile/android/base/resources/drawable/tabs_tray_selected_bg_repeat.xml \ mobile/android/base/resources/drawable/tabs_tray_active_selector.xml \ mobile/android/base/resources/drawable/tabs_tray_default_selector.xml \ mobile/android/base/resources/drawable/tabs_tray_list_divider.xml \ mobile/android/base/resources/drawable/tabs_shadow.xml \ mobile/android/base/resources/drawable/shadow.png \ mobile/android/base/resources/drawable/marketplace.png \ mobile/android/base/resources/drawable/webapp_titlebar_bg.xml \ $(NULL) MOZ_ANDROID_DRAWABLES += $(shell if test -e $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/android-resources.mn; then cat $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/android-resources.mn | tr '\n' ' '; fi) RESOURCES=$(RES_LAYOUT) $(RES_LAYOUT_LAND_V14) $(RES_LAYOUT_LARGE_V11) $(RES_LAYOUT_XLARGE_V11) $(RES_VALUES) $(RES_VALUES_LAND) $(RES_VALUES_V11) $(RES_VALUES_LARGE_V11) $(RES_VALUES_XLARGE_V11) $(RES_VALUES_LAND_V14) $(RES_XML) $(RES_ANIM) $(RES_DRAWABLE_NODPI) $(RES_DRAWABLE_BASE) $(RES_DRAWABLE_LDPI) $(RES_DRAWABLE_HDPI) $(RES_DRAWABLE_XHDPI) $(RES_DRAWABLE_MDPI_V11) $(RES_DRAWABLE_HDPI_V11) $(RES_DRAWABLE_XHDPI_V11) $(RES_DRAWABLE_LAND_V14) $(RES_DRAWABLE_LAND_MDPI_V14) $(RES_DRAWABLE_LAND_HDPI_V14) $(RES_DRAWABLE_LAND_XHDPI_V14) $(RES_DRAWABLE_LARGE_MDPI_V11) $(RES_DRAWABLE_LARGE_HDPI_V11) $(RES_DRAWABLE_LARGE_XHDPI_V11) $(RES_DRAWABLE_XLARGE_MDPI_V11) $(RES_DRAWABLE_XLARGE_HDPI_V11) $(RES_DRAWABLE_XLARGE_XHDPI_V11) $(RES_COLOR) $(RES_MENU) RES_DIRS= \ res/layout \ res/layout-land-v14 \ res/layout-large-v11 \ res/layout-xlarge-v11 \ res/layout-xlarge-land-v11 \ res/values \ res/values-v11 \ res/values-large-v11 \ res/values-xlarge-v11 \ res/values-land-v14 \ res/xml \ res/anim \ res/drawable-nodpi \ res/drawable-ldpi \ res/drawable-mdpi \ res/drawable-hdpi \ res/drawable-xhdpi \ res/drawable \ res/drawable-mdpi-v11 \ res/drawable-hdpi-v11 \ res/drawable-xhdpi-v11 \ res/drawable-land-v14 \ res/drawable-land-mdpi-v14 \ res/drawable-land-hdpi-v14 \ res/drawable-land-xhdpi-v14 \ res/drawable-large-mdpi-v11 \ res/drawable-large-hdpi-v11 \ res/drawable-large-xhdpi-v11 \ res/drawable-xlarge-mdpi-v11 \ res/drawable-xlarge-hdpi-v11 \ res/drawable-xlarge-xhdpi-v11 \ res/color \ res/menu \ res/menu-v11 \ res/menu-large-v11 \ res/menu-xlarge-v11 \ $(NULL) include $(topsrcdir)/config/rules.mk # Override the Java settings with some specific android settings include $(topsrcdir)/config/android-common.mk # Note that we're going to set up a dependency directly between embed_android.dex and the java files # Instead of on the .class files, since more than one .class file might be produced per .java file # Sync dependencies are provided in a single jar. Sync classes themselves are delivered as source, # because Android resource classes must be compiled together in order to avoid overlapping resource # indices. classes.dex: jars/gecko-browser.jar @echo "DX classes.dex" $(DX) --dex --output=classes.dex jars jars/gecko-browser.jar: jars/gecko-mozglue.jar jars/gecko-util.jar jars/sync-thirdparty.jar $(addprefix $(srcdir)/,$(FENNEC_JAVA_FILES)) $(FENNEC_PP_JAVA_FILES) $(addprefix $(srcdir)/,$(SYNC_JAVA_FILES)) $(SYNC_PP_JAVA_FILES) R.java @echo "JAR gecko-browser.jar" $(NSINSTALL) -D classes/gecko-browser $(JAVAC) $(JAVAC_FLAGS) -Xlint:all,-deprecation,-fallthrough -d classes/gecko-browser -classpath "jars/gecko-mozglue.jar:jars/gecko-util.jar:jars/sync-thirdparty.jar" $(addprefix $(srcdir)/,$(FENNEC_JAVA_FILES)) $(FENNEC_PP_JAVA_FILES) $(addprefix $(srcdir)/,$(SYNC_JAVA_FILES)) $(SYNC_PP_JAVA_FILES) R.java jar cMf jars/gecko-browser.jar -C classes/gecko-browser . jars/gecko-mozglue.jar: $(addprefix $(srcdir)/,$(MOZGLUE_JAVA_FILES)) jars @echo "JAR gecko-mozglue.jar" $(NSINSTALL) -D classes/gecko-mozglue $(JAVAC) $(JAVAC_FLAGS) -Xlint:all -d classes/gecko-mozglue $(addprefix $(srcdir)/,$(MOZGLUE_JAVA_FILES)) jar cMf jars/gecko-mozglue.jar -C classes/gecko-mozglue . jars/gecko-util.jar: $(addprefix $(srcdir)/,$(UTIL_JAVA_FILES)) jars @echo "JAR gecko-util.jar" $(NSINSTALL) -D classes/gecko-util $(JAVAC) $(JAVAC_FLAGS) -Xlint:all,-deprecation -d classes/gecko-util $(addprefix $(srcdir)/,$(UTIL_JAVA_FILES)) jar cMf jars/gecko-util.jar -C classes/gecko-util . jars/sync-thirdparty.jar: $(addprefix $(srcdir)/,$(SYNC_THIRDPARTY_JAVA_FILES)) jars @echo "JAR sync-thirdparty.jar" $(NSINSTALL) -D classes/sync-thirdparty $(JAVAC) $(JAVAC_FLAGS) -d classes/sync-thirdparty $(addprefix $(srcdir)/,$(SYNC_THIRDPARTY_JAVA_FILES)) jar cMf jars/sync-thirdparty.jar -C classes/sync-thirdparty . jars: @echo "MKDIR jars" $(NSINSTALL) -D jars PP_RES_XML= \ $(SYNC_PP_RES_XML) \ $(FENNEC_PP_XML_FILES) \ $(NULL) # This is kinda awful; if any of the source files change, we remake them all. $(PP_RES_XML): $(patsubst res/%,$(srcdir)/resources/%.in,$(PP_RES_XML)) $(PYTHON) $(topsrcdir)/config/Preprocessor.py \ $(AUTOMATION_PPARGS) $(DEFINES) $(ACDEFINES) $(subst res,$(srcdir)/resources,$@).in > $@ # AndroidManifest.xml includes these files, so they need to be marked as dependencies. SYNC_MANIFEST_FRAGMENTS = $(wildcard $(topsrcdir)/mobile/android/sync/manifests/*.in) android-tgts = \ AndroidManifest.xml \ $(FENNEC_PP_JAVA_FILES) \ $(SYNC_PP_JAVA_FILES) \ package-name.txt \ $(NULL) android-preqs = \ Makefile.in \ $(call mkdir_deps,db,sync/repositories/android) \ $(SYNC_MANIFEST_FRAGMENTS) \ WebAppManifestFragment.xml.in \ WebAppsFragments.java \ $(NULL) $(android-tgts): % : %.in $(android-preqs) $(PYTHON) $(topsrcdir)/config/Preprocessor.py \ $(AUTOMATION_PPARGS) -DOBJDIR="`pwd`" $(DEFINES) $(ACDEFINES) $< > $@ # Add a predefined number of WebApp classes to the WebApps class. # These are used so that each webapp can launch in its own process # Keep this number in sync with the max web apps in WebAppAllocator.java NUM_WEB_APPS=100 WebAppManifestFragment.xml.in: WebAppManifestFragment.xml.frag @rm -f $@ @for n in `$(PYTHON) -c "for x in range($(NUM_WEB_APPS)): print x"`; do \ cat $< | sed s,@APPNUM@,$$n,g >> $@ ; \ done WebAppsFragments.java: WebAppsFragment.java.frag @rm -f $@ @for n in `$(PYTHON) -c "for x in range($(NUM_WEB_APPS)): print x"`; do \ cat $< | sed s,@APPNUM@,$$n,g >> $@ ; \ done res/drawable/icon.png: $(MOZ_APP_ICON) $(NSINSTALL) -D res/drawable cp $(ICON_PATH) $@ res/drawable-hdpi/icon.png: $(MOZ_APP_ICON) $(NSINSTALL) -D res/drawable-hdpi cp $(ICON_PATH_HDPI) $@ RES_DRAWABLE = $(addprefix res/drawable/,$(notdir $(MOZ_ANDROID_DRAWABLES))) $(RES_DRAWABLE): $(addprefix $(topsrcdir)/,$(MOZ_ANDROID_DRAWABLES)) $(NSINSTALL) -D res/drawable $(NSINSTALL) $^ res/drawable/ res/values/defaults.xml: $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/res/values/defaults.xml $(NSINSTALL) -D res/values $(NSINSTALL) $^ res/values $(RES_DIRS): $(RM) -r $@ $(NSINSTALL) -D $@ $(RESOURCES): $(RES_DIRS) $(subst res/,$(srcdir)/resources/,$(RESOURCES)) @echo "creating $@" $(NSINSTALL) $(subst res/,$(srcdir)/resources/,$@) $(dir $@) R.java: $(MOZ_APP_ICON) $(RESOURCES) $(RES_DRAWABLE) $(RES_DRAWABLE_LDPI) $(RES_DRAWABLE_MDPI) $(RES_DRAWABLE_HDPI) $(PP_RES_XML) res/values/defaults.xml res/drawable/icon.png res/drawable-hdpi/icon.png res/values/strings.xml AndroidManifest.xml FORCE $(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -S res -J . --custom-package org.mozilla.gecko gecko.ap_: AndroidManifest.xml res/drawable/icon.png res/drawable-hdpi/icon.png $(RESOURCES) $(RES_DRAWABLE) $(RES_DRAWABLE_LDPI) $(RES_DRAWABLE_MDPI) $(RES_DRAWABLE_HDPI) $(PP_RES_XML) res/values/defaults.xml res/values/strings.xml FORCE $(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -S res -F $@ libs:: classes.dex package-name.txt $(INSTALL) classes.dex $(FINAL_TARGET) $(INSTALL) package-name.txt $(FINAL_TARGET)