1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5# Paraneters: 6# filename 7# Output base name (will be put into gen/blink with various extensions). 8# 9# resources 10# List of resource files. 11# 12# namespace (optional) 13# String. If specified, files will be wrapped in this namespace. 14template("make_file_arrays") { 15 assert(defined(invoker.resources), "Need resources in $target_name") 16 assert(defined(invoker.filename), "Need filename in $target_name") 17 18 code_gen_target_name = target_name + "_code_gen" 19 20 action(code_gen_target_name) { 21 script = "//third_party/WebKit/Source/build/scripts/make-file-arrays.py" 22 23 sources = [ script ] 24 sources += invoker.resources 25 26 inputs = invoker.resources 27 outputs = [ 28 "$root_gen_dir/blink/" + invoker.filename + ".h", 29 "$root_gen_dir/blink/" + invoker.filename + ".cpp", 30 ] 31 32 args = [ 33 "--out-h=gen/blink/" + invoker.filename + ".h", 34 "--out-cpp=gen/blink/" + invoker.filename + ".cpp", 35 ] 36 if (defined(invoker.namespace)) { 37 args += [ "--namespace=" + invoker.namespace ] 38 } 39 args += rebase_path(invoker.resources, root_build_dir, ".") 40 } 41 42 source_set(target_name) { 43 sources = get_target_outputs(":$code_gen_target_name") 44 deps = [ ":$code_gen_target_name" ] 45 configs += [ "//third_party/WebKit/Source:config" ] 46 } 47} 48 49 50