• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2011 Google Inc. 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{
6  'targets': [
7    {
8      'target_name': 'print_rule_input_dirname',
9      'type': 'none',
10      'msvs_cygwin_shell': 0,
11      'sources': [
12        'foo/bar/baz.printvars',
13        'a/b/c.printvars',
14      ],
15      'rules': [
16        {
17          'rule_name': 'printvars',
18          'extension': 'printvars',
19          'inputs': [
20            'printvars.py',
21          ],
22          'outputs': [
23            '<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).dirname',
24          ],
25          'action': [
26            'python', '<@(_inputs)', '<(RULE_INPUT_DIRNAME)', '<@(_outputs)',
27          ],
28        },
29      ],
30    },
31    {
32      'target_name': 'print_rule_input_path',
33      'type': 'none',
34      'msvs_cygwin_shell': 0,
35      'sources': [
36        'foo/bar/baz.printvars',
37        'a/b/c.printvars',
38      ],
39      'rules': [
40        {
41          'rule_name': 'printvars',
42          'extension': 'printvars',
43          'inputs': [
44            'printvars.py',
45          ],
46          'outputs': [
47            '<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).path',
48          ],
49          'action': [
50            'python', '<@(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
51          ],
52        },
53      ],
54    },
55    {
56      'target_name': 'gencc_int_output',
57      'type': 'executable',
58      'msvs_cygwin_shell': 0,
59      'sources': [
60        'nodir.gencc',
61        'foo/bar/baz.gencc',
62        'a/b/c.gencc',
63        'main.cc',
64      ],
65      'rules': [
66        {
67          'rule_name': 'gencc',
68          'extension': 'gencc',
69          'inputs': [
70            '<(DEPTH)/copy-file.py',
71          ],
72          'outputs': [
73            '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).cc',
74          ],
75          'action': [
76            'python', '<@(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
77          ],
78          'process_outputs_as_sources': 1,
79        },
80      ],
81    },
82  ],
83  'conditions': [
84    ['OS=="win"', {
85      'targets': [
86        {
87          'target_name': 'gencc_int_output_external',
88          'type': 'executable',
89          'msvs_cygwin_shell': 0,
90          'msvs_cygwin_dirs': ['../../../../../../<(DEPTH)/third_party/cygwin'],
91          'sources': [
92            'nodir.gencc',
93            'foo/bar/baz.gencc',
94            'a/b/c.gencc',
95            'main.cc',
96          ],
97          'dependencies': [
98            'cygwin',
99          ],
100          'rules': [
101            {
102              'rule_name': 'gencc',
103              'extension': 'gencc',
104              'msvs_external_rule': 1,
105              'inputs': [
106                '<(DEPTH)/copy-file.py',
107              ],
108              'outputs': [
109                '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).cc',
110              ],
111              'action': [
112                'python', '<@(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
113              ],
114              'process_outputs_as_sources': 1,
115            },
116          ],
117        },
118        {
119          'target_name': 'cygwin',
120          'type': 'none',
121          'actions': [
122            {
123              'action_name': 'setup_mount',
124              'msvs_cygwin_shell': 0,
125              'inputs': [
126                '../../../../../../<(DEPTH)/third_party/cygwin/setup_mount.bat',
127              ],
128              # Visual Studio requires an output file, or else the
129              # custom build step won't run.
130              'outputs': [
131                '<(INTERMEDIATE_DIR)/_always_run_setup_mount.marker',
132              ],
133              'action': ['<@(_inputs)'],
134            },
135          ],
136        },
137      ],
138    }],
139  ],
140}
141