blob: 412034c41de6d2ca893f6c5dba41d216529a0ab7 [file] [log] [blame]
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
CHROME=google-chrome
# Include all resources of the Camera App to be copied to the target package,
# but without the manifest files.
SRC_RESOURCES= \
src/_locales/ar/messages.json \
src/_locales/bg/messages.json \
src/_locales/bn/messages.json \
src/_locales/ca/messages.json \
src/_locales/cs/messages.json \
src/_locales/da/messages.json \
src/_locales/de/messages.json \
src/_locales/el/messages.json \
src/_locales/en/messages.json \
src/_locales/en_GB/messages.json \
src/_locales/es/messages.json \
src/_locales/es_419/messages.json \
src/_locales/et/messages.json \
src/_locales/fa/messages.json \
src/_locales/fi/messages.json \
src/_locales/fil/messages.json \
src/_locales/fr/messages.json \
src/_locales/gu/messages.json \
src/_locales/he/messages.json \
src/_locales/hi/messages.json \
src/_locales/hr/messages.json \
src/_locales/hu/messages.json \
src/_locales/id/messages.json \
src/_locales/it/messages.json \
src/_locales/ja/messages.json \
src/_locales/kn/messages.json \
src/_locales/ko/messages.json \
src/_locales/lt/messages.json \
src/_locales/lv/messages.json \
src/_locales/ml/messages.json \
src/_locales/mr/messages.json \
src/_locales/ms/messages.json \
src/_locales/nl/messages.json \
src/_locales/no/messages.json \
src/_locales/pl/messages.json \
src/_locales/pt_BR/messages.json \
src/_locales/pt_PT/messages.json \
src/_locales/ro/messages.json \
src/_locales/ru/messages.json \
src/_locales/sk/messages.json \
src/_locales/sl/messages.json \
src/_locales/sr/messages.json \
src/_locales/sv/messages.json \
src/_locales/ta/messages.json \
src/_locales/te/messages.json \
src/_locales/th/messages.json \
src/_locales/tr/messages.json \
src/_locales/uk/messages.json \
src/_locales/vi/messages.json \
src/_locales/zh_CN/messages.json \
src/_locales/zh_TW/messages.json \
src/css/main.css \
src/images/2x/browser_button_export.png \
src/images/2x/browser_button_print.png \
src/images/2x/camera_button_album.png \
src/images/2x/camera_button_filters.png \
src/images/2x/camera_button_mirror.png \
src/images/2x/camera_button_multi.png \
src/images/2x/camera_button_picture.png \
src/images/2x/camera_button_timer.png \
src/images/2x/camera_button_toggle.png \
src/images/2x/camera_button_video.png \
src/images/2x/gallery_button_back.png \
src/images/2x/gallery_button_delete.png \
src/images/2x/dialog_button_close.png \
src/images/browser_button_export.png \
src/images/browser_button_print.png \
src/images/camera_app_icons_128.png \
src/images/camera_app_icons_256.png \
src/images/camera_app_icons_32.png \
src/images/camera_app_icons_48.png \
src/images/camera_app_icons_64.png \
src/images/camera_app_icons_96.png \
src/images/camera_app_icons_favicon_16.png \
src/images/camera_app_icons_favicon_32.png \
src/images/camera_button_album.png \
src/images/camera_button_filters.png \
src/images/camera_button_mirror.png \
src/images/camera_button_multi.png \
src/images/camera_button_picture.png \
src/images/camera_button_timer.png \
src/images/camera_button_toggle.png \
src/images/camera_button_video.png \
src/images/gallery_button_back.png \
src/images/gallery_button_delete.png \
src/images/dialog_button_close.png \
src/images/no_camera.svg \
src/images/spinner.svg \
src/js/background.js \
src/js/effect.js \
src/js/effects/andy.js \
src/js/effects/beauty.js \
src/js/effects/big_eyes.js \
src/js/effects/cinema.js \
src/js/effects/colorize.js \
src/js/effects/funky.js \
src/js/effects/ghost.js \
src/js/effects/grayscale.js \
src/js/effects/modern.js \
src/js/effects/newspaper.js \
src/js/effects/normal.js \
src/js/effects/photo_lab.js \
src/js/effects/pinch.js \
src/js/effects/retro.js \
src/js/effects/sepia.js \
src/js/effects/swirl.js \
src/js/effects/tilt_shift.js \
src/js/effects/vintage.js \
src/js/main.js \
src/js/models/gallery.js \
src/js/processor.js \
src/js/router.js \
src/js/scrollbar.js \
src/js/test.js \
src/js/test_cases.js \
src/js/tracker.js \
src/js/util.js \
src/js/view.js \
src/js/views/album.js \
src/js/views/browser.js \
src/js/views/camera.js \
src/js/views/dialog.js \
src/js/views/gallery_base.js \
src/sounds/shutter.ogg \
src/sounds/tick.ogg \
src/views/main.html \
# Path for the Camera resources. Relative, with a trailing slash.
SRC_PATH=src/
# Manifest file for the camera.crx package.
SRC_MANIFEST=src/manifest.json
# Manifest file for the tests.crx package.
SRC_TESTS_MANIFEST=src/manifest-tests.json
# Resources of the third party glfx library. They will be built, and the target
# glfx.js with LICENSE will be copied to the target package.
GLFX_RESOURCES= \
third_party/glfx/LICENSE \
third_party/glfx/build.py \
third_party/glfx/src/OES_texture_float_linear-polyfill.js \
third_party/glfx/src/core/canvas.js \
third_party/glfx/src/core/matrix.js \
third_party/glfx/src/core/shader.js \
third_party/glfx/src/core/spline.js \
third_party/glfx/src/core/texture.js \
third_party/glfx/src/filters/adjust/brightnesscontrast.js \
third_party/glfx/src/filters/adjust/curves.js \
third_party/glfx/src/filters/adjust/denoise.js \
third_party/glfx/src/filters/adjust/huesaturation.js \
third_party/glfx/src/filters/adjust/noise.js \
third_party/glfx/src/filters/adjust/sepia.js \
third_party/glfx/src/filters/adjust/unsharpmask.js \
third_party/glfx/src/filters/adjust/vibrance.js \
third_party/glfx/src/filters/adjust/vignette.js \
third_party/glfx/src/filters/blur/lensblur.js \
third_party/glfx/src/filters/blur/tiltshift.js \
third_party/glfx/src/filters/blur/triangleblur.js \
third_party/glfx/src/filters/blur/zoomblur.js \
third_party/glfx/src/filters/common.js \
third_party/glfx/src/filters/fun/colorhalftone.js \
third_party/glfx/src/filters/fun/dotscreen.js \
third_party/glfx/src/filters/fun/edgework.js \
third_party/glfx/src/filters/fun/ghost.js \
third_party/glfx/src/filters/fun/hexagonalpixelate.js \
third_party/glfx/src/filters/fun/ink.js \
third_party/glfx/src/filters/fun/modern.js \
third_party/glfx/src/filters/fun/photolab.js \
third_party/glfx/src/filters/warp/bulgepinch.js \
third_party/glfx/src/filters/warp/matrixwarp.js \
third_party/glfx/src/filters/warp/perspective.js \
third_party/glfx/src/filters/warp/swirl.js \
third_party/glfx/www/build.py \
# Resouces of the third party ccv library. All of these files will be copied to
# the target package.
CCV_RESOURCES= \
third_party/ccv/js/face.js \
third_party/ccv/js/ccv.js \
third_party/ccv/COPYING \
# Builds camera.crx and tests.crx
all: build/camera.crx build/tests.crx
# Builds the glfx third_party library.
build/third_party/glfx: $(GLFX_RESOURCES)
mkdir -p build
cp --parents $(GLFX_RESOURCES) build
cd build/third_party/glfx && ./build.py
# Copies the built glfx library to the camera.crx build directory.
build/camera/js/third_party/glfx: $(GLFX_RESOURCES) build/third_party/glfx
mkdir -p build/camera/js/third_party/glfx
cp build/third_party/glfx/glfx.js build/camera/js/third_party/glfx
cp build/third_party/glfx/LICENSE build/camera/js/third_party/glfx
# Copies the built library to the tests.crx build directory.
build/tests/js/third_party/glfx: $(GLFX_RESOURCES) build/third_party/glfx
mkdir -p build/tests/js/third_party/glfx
cp build/third_party/glfx/glfx.js build/tests/js/third_party/glfx
cp build/third_party/glfx/LICENSE build/tests/js/third_party/glfx
# Copies the ccv library to the camera.crx build directory.
build/camera/js/third_party/ccv: $(CCV_RESOURCES)
mkdir -p build/camera/js
cp --parents $(CCV_RESOURCES) build/camera/js
# Copies the ccv library to the tests.crx build directory.
build/tests/js/third_party/ccv: $(CCV_RESOURCES)
mkdir -p build/tests/js
cp --parents $(CCV_RESOURCES) build/tests/js
# Builds the release version.
build/camera: $(SRC_RESOURCES) $(SRC_MANIFEST) \
build/camera/js/third_party/glfx \
build/camera/js/third_party/ccv
mkdir -p build/camera
cd $(SRC_PATH); cp --parents $(patsubst $(SRC_PATH)%, %, \
$(SRC_RESOURCES)) ../build/camera
cp $(SRC_MANIFEST) build/camera/manifest.json
# Builds the camera.crx package.
build/camera.crx: build/camera
$(CHROME) --pack-extension=build/camera \
--pack-extension-key=dev-keys/camera.pem
# Alias for build/camera.crx.
camera: build/camera.crx
# Builds the tests version.
build/tests: $(SRC_RESOURCES) $(SRC_TESTS_MANIFEST) \
build/tests/js/third_party/glfx \
build/tests/js/third_party/ccv
mkdir -p build/tests
cd $(SRC_PATH); cp --parents $(patsubst $(SRC_PATH)%, %, \
$(SRC_RESOURCES)) ../build/tests
cp $(SRC_TESTS_MANIFEST) build/tests/manifest.json
# Builds the tests.crx package.
build/tests.crx: build/tests
$(CHROME) --pack-extension=build/tests \
--pack-extension-key=dev-keys/camera.pem
# Alias for build/tests.crx.
tests: build/tests.crx
# Cleans the workspace from build files files.
clean:
rm -rf build
# Builds the tests.crx package and performs tests on it.
run-tests: build/tests.crx
tests/run_all_tests.py