OLD | NEW |
1 # Copyright (c) 2013 Google Inc. All rights reserved. | 1 # Copyright (c) 2013 Google Inc. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # Notes: | 5 # Notes: |
6 # | 6 # |
7 # This is all roughly based on the Makefile system used by the Linux | 7 # This is all roughly based on the Makefile system used by the Linux |
8 # kernel, but is a non-recursive make -- we put the entire dependency | 8 # kernel, but is a non-recursive make -- we put the entire dependency |
9 # graph in front of make and let it figure it out. | 9 # graph in front of make and let it figure it out. |
10 # | 10 # |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
666 | 666 |
667 # Map from qualified target to path to output. | 667 # Map from qualified target to path to output. |
668 target_outputs = {} | 668 target_outputs = {} |
669 # Map from qualified target to any linkable output. A subset | 669 # Map from qualified target to any linkable output. A subset |
670 # of target_outputs. E.g. when mybinary depends on liba, we want to | 670 # of target_outputs. E.g. when mybinary depends on liba, we want to |
671 # include liba in the linker line; when otherbinary depends on | 671 # include liba in the linker line; when otherbinary depends on |
672 # mybinary, we just want to build mybinary first. | 672 # mybinary, we just want to build mybinary first. |
673 target_link_deps = {} | 673 target_link_deps = {} |
674 | 674 |
675 | 675 |
676 class MakefileWriter: | 676 class MakefileWriter(object): |
677 """MakefileWriter packages up the writing of one target-specific foobar.mk. | 677 """MakefileWriter packages up the writing of one target-specific foobar.mk. |
678 | 678 |
679 Its only real entry point is Write(), and is mostly used for namespacing. | 679 Its only real entry point is Write(), and is mostly used for namespacing. |
680 """ | 680 """ |
681 | 681 |
682 def __init__(self, generator_flags, flavor): | 682 def __init__(self, generator_flags, flavor): |
683 self.generator_flags = generator_flags | 683 self.generator_flags = generator_flags |
684 self.flavor = flavor | 684 self.flavor = flavor |
685 | 685 |
686 self.suffix_rules_srcdir = {} | 686 self.suffix_rules_srcdir = {} |
(...skipping 1525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2212 root_makefile.write("endif\n") | 2212 root_makefile.write("endif\n") |
2213 root_makefile.write('\n') | 2213 root_makefile.write('\n') |
2214 | 2214 |
2215 if (not generator_flags.get('standalone') | 2215 if (not generator_flags.get('standalone') |
2216 and generator_flags.get('auto_regeneration', True)): | 2216 and generator_flags.get('auto_regeneration', True)): |
2217 WriteAutoRegenerationRule(params, root_makefile, makefile_name, build_files) | 2217 WriteAutoRegenerationRule(params, root_makefile, makefile_name, build_files) |
2218 | 2218 |
2219 root_makefile.write(SHARED_FOOTER) | 2219 root_makefile.write(SHARED_FOOTER) |
2220 | 2220 |
2221 root_makefile.close() | 2221 root_makefile.close() |
OLD | NEW |