
M(^c           @   st  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l	 Z	 i d d 6d d 6d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6Z
 e Z e a g  a g  a g  a e a d   Z d   Z d  Z d! Z d" Z d# Z d$ Z d% Z d& e d' e d( e d) e d* e d+ Z d, Z d-   Z d. Z d/ Z  d0 Z! d1 Z" i d2 d3 6d4 d5 6d4 d6 6d4 d7 6d2 d8 6d2 d9 6Z# d:   Z$ d;   Z% d<   Z& d=   Z' d>   Z( d?   Z) d@   Z* dA   Z+ d a, dB   Z- dC dD  Z. dE   Z/ i  Z0 i  Z1 dF e2 f dG     YZ3 dH   Z4 dI   Z5 dJ   Z6 d S(K   iN(   t   GetEnvironFallback(   t   GypErrort    t   EXECUTABLE_PREFIXt   EXECUTABLE_SUFFIXt   libt   STATIC_LIB_PREFIXt   SHARED_LIB_PREFIXs   .at   STATIC_LIB_SUFFIXs    $(obj).$(TOOLSET)/$(TARGET)/genit   INTERMEDIATE_DIRs
   $(obj)/gent   SHARED_INTERMEDIATE_DIRs   $(builddir)t   PRODUCT_DIRs   %(INPUT_ROOT)st   RULE_INPUT_ROOTs   %(INPUT_DIRNAME)st   RULE_INPUT_DIRNAMEs   $(abspath $<)t   RULE_INPUT_PATHs   $(suffix $<)t   RULE_INPUT_EXTs   $(notdir $<)t   RULE_INPUT_NAMEs   $(BUILDTYPE)t   CONFIGURATION_NAMEc         C   sJ  t  j j |  } | d k r |  j d d  |  j d d  |  j d t d  |  j d t d  d d	 l j j } t | d
 g   a	 t | d g   a
 t | d g   a t j i d d 6d d 6 nz | } | d k r d } n  |  j d |  | d k r|  j d d  n |  j d d  |  j d d  |  j d d  d	 S(   sD   Calculate additional variables for use in the build (called by gyp).t   mact   OSt   SHARED_LIB_SUFFIXs   .dylibt   SHARED_LIB_DIRR   t   LIB_DIRiNt+   generator_additional_non_configuration_keyst"   generator_additional_path_sectionst!   generator_extra_sources_for_rulest   objcs   .mt   objcxxs   .mmt   androidt   linuxt   aixs   .as   .sos   $(builddir)/lib.$(TOOLSET)s   $(obj).$(TOOLSET)(   t   gypt   commont	   GetFlavort
   setdefaultt   generator_default_variablest   gyp.generator.xcodet	   generatort   xcodet   getattrR   R   R   t   COMPILABLE_EXTENSIONSt   update(   t   default_variablest   paramst   flavort   xcode_generatort   operating_system(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   CalculateVariablesB   s2    			c         C   s   |  j  d i   } | j  d d	  } | r3 t a n  |  d j pJ |  d j } | j  d d  } t j j t j j	 | | d   } i |  d j d 6| d 6a
 d	 S(
   sO   Calculate the generator specific info that gets fed to input (called by
  gyp).t   generator_flagst   android_ndk_versiont   optionst
   output_dirt   outt   gypfilest   toplevelt   qualified_out_dirN(   t   gett   Nonet   Truet#   generator_wants_sorted_dependenciest   generator_outputt   toplevel_dirt   ost   patht   normpatht   joint   generator_filelist_paths(   R+   R0   R1   R3   t   builddir_nameR7   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   CalculateGeneratorInputInfog   s    	t   ?s  quiet_cmd_alink = AR($(TOOLSET)) $@
cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^)

quiet_cmd_alink_thin = AR($(TOOLSET)) $@
cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)

# Due to circular dependencies between libraries :(, we wrap the
# special "figure out circular dependencies" flags around the entire
# input list during linking.
quiet_cmd_link = LINK($(TOOLSET)) $@
cmd_link = $(LINK.$(TOOLSET)) -o $@ $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--start-group $(LD_INPUTS) $(LIBS) -Wl,--end-group

# We support two kinds of shared objects (.so):
# 1) shared_library, which is just bundling together many dependent libraries
# into a link line.
# 2) loadable_module, which is generating a module intended for dlopen().
#
# They differ only slightly:
# In the former case, we want to package all dependent code into the .so.
# In the latter case, we want to package just the API exposed by the
# outermost module.
# This means shared_library uses --whole-archive, while loadable_module doesn't.
# (Note that --whole-archive is incompatible with the --start-group used in
# normal linking.)

# Other shared-object link notes:
# - Set SONAME to the library filename so our binaries don't reference
# the local, absolute paths used on the link command-line.
quiet_cmd_solink = SOLINK($(TOOLSET)) $@
cmd_solink = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive $(LIBS)

quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
cmd_solink_module = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS)
sh  quiet_cmd_alink = LIBTOOL-STATIC $@
cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^)

quiet_cmd_link = LINK($(TOOLSET)) $@
cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)

quiet_cmd_solink = SOLINK($(TOOLSET)) $@
cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)

quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
cmd_solink_module = $(LINK.$(TOOLSET)) -bundle $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
s  quiet_cmd_alink = AR($(TOOLSET)) $@
cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^)

quiet_cmd_alink_thin = AR($(TOOLSET)) $@
cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)

# Due to circular dependencies between libraries :(, we wrap the
# special "figure out circular dependencies" flags around the entire
# input list during linking.
quiet_cmd_link = LINK($(TOOLSET)) $@
quiet_cmd_link_host = LINK($(TOOLSET)) $@
cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS)
cmd_link_host = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS)

# Other shared-object link notes:
# - Set SONAME to the library filename so our binaries don't reference
# the local, absolute paths used on the link command-line.
quiet_cmd_solink = SOLINK($(TOOLSET)) $@
cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -o $@ -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive $(LIBS)

quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -o $@ -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS)
quiet_cmd_solink_module_host = SOLINK_MODULE($(TOOLSET)) $@
cmd_solink_module_host = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
s  quiet_cmd_alink = AR($(TOOLSET)) $@
cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) -X32_64 crs $@ $(filter %.o,$^)

quiet_cmd_alink_thin = AR($(TOOLSET)) $@
cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) -X32_64 crs $@ $(filter %.o,$^)

quiet_cmd_link = LINK($(TOOLSET)) $@
cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS)

quiet_cmd_solink = SOLINK($(TOOLSET)) $@
cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS)

quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
s  quiet_cmd_alink = AR($(TOOLSET)) $@
cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^)

quiet_cmd_alink_thin = AR($(TOOLSET)) $@
cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)

quiet_cmd_link = LINK($(TOOLSET)) $@
cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS)

quiet_cmd_solink = SOLINK($(TOOLSET)) $@
cmd_solink = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS) -Wl,DLL

quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
cmd_solink_module = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS) -Wl,DLL
s.	  # We borrow heavily from the kernel build setup, though we are simpler since
# we don't have Kconfig tweaking settings on us.

# The implicit make rules have it looking for RCS files, among other things.
# We instead explicitly write all the rules we care about.
# It's even quicker (saves ~200ms) to pass -r on the command line.
MAKEFLAGS=-r

# The source directory tree.
srcdir := %(srcdir)s
abs_srcdir := $(abspath $(srcdir))

# The name of the builddir.
builddir_name ?= %(builddir)s

# The V=1 flag on command line makes us verbosely print command lines.
ifdef V
  quiet=
else
  quiet=quiet_
endif

# Specify BUILDTYPE=Release on the command line for a release build.
BUILDTYPE ?= %(default_configuration)s

# Directory all our build output goes into.
# Note that this must be two directories beneath src/ for unit tests to pass,
# as they reach into the src/ directory for data with relative paths.
builddir ?= $(builddir_name)/$(BUILDTYPE)
abs_builddir := $(abspath $(builddir))
depsdir := $(builddir)/.deps

# Object output directory.
obj := $(builddir)/obj
abs_obj := $(abspath $(obj))

# We build up a list of every single one of the targets so we can slurp in the
# generated dependency rule Makefiles in one pass.
all_deps :=

%(make_global_settings)s

CC.target ?= %(CC.target)s
CFLAGS.target ?= $(CPPFLAGS) $(CFLAGS)
CXX.target ?= %(CXX.target)s
CXXFLAGS.target ?= $(CPPFLAGS) $(CXXFLAGS)
LINK.target ?= %(LINK.target)s
LDFLAGS.target ?= $(LDFLAGS)
AR.target ?= $(AR)

# C++ apps need to be linked with g++.
LINK ?= $(CXX.target)

# TODO(evan): move all cross-compilation logic to gyp-time so we don't need
# to replicate this environment fallback in make as well.
CC.host ?= %(CC.host)s
CFLAGS.host ?= $(CPPFLAGS_host) $(CFLAGS_host)
CXX.host ?= %(CXX.host)s
CXXFLAGS.host ?= $(CPPFLAGS_host) $(CXXFLAGS_host)
LINK.host ?= %(LINK.host)s
LDFLAGS.host ?= $(LDFLAGS_host)
AR.host ?= %(AR.host)s

# Define a dir function that can handle spaces.
# http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions
# "leading spaces cannot appear in the text of the first argument as written.
# These characters can be put into the argument value by variable substitution."
empty :=
space := $(empty) $(empty)

# http://stackoverflow.com/questions/1189781/using-make-dir-or-notdir-on-a-path-with-spaces
replace_spaces = $(subst $(space),s    ,$1)
unreplace_spaces = $(subst s  ,$(space),$1)
dirx = $(call unreplace_spaces,$(dir $(call replace_spaces,$1)))

# Flags to make gcc output dependency info.  Note that you need to be
# careful here to use the flags that ccache and distcc can understand.
# We write to a dep file on the side first and then rename at the end
# so we can't end up with a broken dep file.
depfile = $(depsdir)/$(call replace_spaces,$@).d
DEPFLAGS = %(makedep_args)s -MF $(depfile).raw

# We have to fixup the deps output in a few ways.
# (1) the file output should mention the proper .o file.
# ccache or distcc lose the path to the target, so we convert a rule of
# the form:
#   foobar.o: DEP1 DEP2
# into
#   path/to/foobar.o: DEP1 DEP2
# (2) we want missing files not to cause us to fail to build.
# We want to rewrite
#   foobar.o: DEP1 DEP2 \
#               DEP3
# to
#   DEP1:
#   DEP2:
#   DEP3:
# so if the files are missing, they're just considered phony rules.
# We have to do some pretty insane escaping to get those backslashes
# and dollar signs past make, the shell, and sed at the same time.
# Doesn't work with spaces, but that's fine: .d files have spaces in
# their names replaced with other characters.
define fixup_dep
# The depfile may not exist if the input file didn't have any #includes.
touch $(depfile).raw
# Fixup path as in (1).
sed -e "s|^$(notdir $@)|$@|" $(depfile).raw >> $(depfile)
# Add extra rules as in (2).
# We remove slashes and replace spaces with new lines;
# remove blank lines;
# delete the first line and append a colon to the remaining lines.
sed -e 's|\\||' -e 'y| |\n|' $(depfile).raw |\
  grep -v '^$$'                             |\
  sed -e 1d -e 's|$$|:|'                     \
    >> $(depfile)
rm $(depfile).raw
endef

# Command definitions:
# - cmd_foo is the actual command to run;
# - quiet_cmd_foo is the brief-output summary of the command.

quiet_cmd_cc = CC($(TOOLSET)) $@
cmd_cc = $(CC.$(TOOLSET)) -o $@ $< $(GYP_CFLAGS) $(DEPFLAGS) $(CFLAGS.$(TOOLSET)) -c

quiet_cmd_cxx = CXX($(TOOLSET)) $@
cmd_cxx = $(CXX.$(TOOLSET)) -o $@ $< $(GYP_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c
%(extra_commands)s
quiet_cmd_touch = TOUCH $@
cmd_touch = touch $@

quiet_cmd_copy = COPY $@
# send stderr to /dev/null to ignore messages when linking directories.
cmd_copy = ln -f "$<" "$@" 2>/dev/null || (rm -rf "$@" && cp %(copy_archive_args)s "$<" "$@")

%(link_commands)s

# Define an escape_quotes function to escape single quotes.
# This allows us to handle quotes properly as long as we always use
# use single quotes and escape_quotes.
escape_quotes = $(subst ','\'',$(1))
# This comment is here just to include a ' to unconfuse syntax highlighting.
# Define an escape_vars function to escape '$' variable syntax.
# This allows us to read/write command lines with shell variables (e.g.
# $LD_LIBRARY_PATH), without triggering make substitution.
escape_vars = $(subst $$,$$$$,$(1))
# Helper that expands to a shell command to echo a string exactly as it is in
# make. This uses printf instead of echo because printf's behaviour with respect
# to escape sequences is more portable than echo's across different shells
# (e.g., dash, bash).
exact_echo = printf '%%s\n' '$(call escape_quotes,$(1))'

# Helper to compare the command we're about to run against the command
# we logged the last time we ran the command.  Produces an empty
# string (false) when the commands match.
# Tricky point: Make has no string-equality test function.
# The kernel uses the following, but it seems like it would have false
# positives, where one string reordered its arguments.
#   arg_check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \
#                       $(filter-out $(cmd_$@), $(cmd_$(1))))
# We instead substitute each for the empty string into the other, and
# say they're equal if both substitutions produce the empty string.
# .d files contain sa   instead of spaces, take that into account.
command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\
                       $(subst $(cmd_$(call replace_spaces,$@)),,$(cmd_$(1))))

# Helper that is non-empty when a prerequisite changes.
# Normally make does this implicitly, but we force rules to always run
# so we can check their command lines.
#   $? -- new prerequisites
#   $| -- order-only dependencies
prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?))

# Helper that executes all postbuilds until one fails.
define do_postbuilds
  @E=0;\
  for p in $(POSTBUILDS); do\
    eval $$p;\
    E=$$?;\
    if [ $$E -ne 0 ]; then\
      break;\
    fi;\
  done;\
  if [ $$E -ne 0 ]; then\
    rm -rf "$@";\
    exit $$E;\
  fi
endef

# do_cmd: run a command via the above cmd_foo names, if necessary.
# Should always run for a given target to handle command-line changes.
# Second argument, if non-zero, makes it do asm/C/C++ dependency munging.
# Third argument, if non-zero, makes it do POSTBUILDS processing.
# Note: We intentionally do NOT call dirx for depfile, since it contains s*    for
# spaces already and dirx strips the s   characters.
define do_cmd
$(if $(or $(command_changed),$(prereq_changed)),
  @$(call exact_echo,  $($(quiet)cmd_$(1)))
  @mkdir -p "$(call dirx,$@)" "$(dir $(depfile))"
  $(if $(findstring flock,$(word %(flock_index)d,$(cmd_$1))),
    @$(cmd_$(1))
    @echo "  $(quiet_cmd_$(1)): Finished",
    @$(cmd_$(1))
  )
  @$(call exact_echo,$(call escape_vars,cmd_$(call replace_spaces,$@) := $(cmd_$(1)))) > $(depfile)
  @$(if $(2),$(fixup_dep))
  $(if $(and $(3), $(POSTBUILDS)),
    $(call do_postbuilds)
  )
)
endef

# Declare the "%(default_target)s" target first so it is the default,
# even though we don't have the deps yet.
.PHONY: %(default_target)s
%(default_target)s:

# make looks for ways to re-generate included makefiles, but in our case, we
# don't have a direct way. Explicitly telling make that it has nothing to do
# for them makes it go faster.
%%.d: ;

# Use FORCE_DO_CMD to force a target to run.  Should be coupled with
# do_cmd.
.PHONY: FORCE_DO_CMD
FORCE_DO_CMD:

s  
quiet_cmd_objc = CXX($(TOOLSET)) $@
cmd_objc = $(CC.$(TOOLSET)) $(GYP_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $<

quiet_cmd_objcxx = CXX($(TOOLSET)) $@
cmd_objcxx = $(CXX.$(TOOLSET)) $(GYP_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<

# Commands for precompiled header files.
quiet_cmd_pch_c = CXX($(TOOLSET)) $@
cmd_pch_c = $(CC.$(TOOLSET)) $(GYP_PCH_CFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $<
quiet_cmd_pch_cc = CXX($(TOOLSET)) $@
cmd_pch_cc = $(CC.$(TOOLSET)) $(GYP_PCH_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $<
quiet_cmd_pch_m = CXX($(TOOLSET)) $@
cmd_pch_m = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $<
quiet_cmd_pch_mm = CXX($(TOOLSET)) $@
cmd_pch_mm = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<

# gyp-mac-tool is written next to the root Makefile by gyp.
# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd
# already.
quiet_cmd_mac_tool = MACTOOL $(4) $<
cmd_mac_tool = ./gyp-mac-tool $(4) $< "$@"

quiet_cmd_mac_package_framework = PACKAGE FRAMEWORK $@
cmd_mac_package_framework = ./gyp-mac-tool package-framework "$@" $(4)

quiet_cmd_infoplist = INFOPLIST $@
cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@"
c         C   s   t  t j   d t j } |  j d  x4 | D], } |  j d |  |  j d t |  q/ W|  j d  x4 | D], } |  j d |  |  j d t |  qs W|  j d  x4 | D], } |  j d |  |  j d t |  q W|  j d  d  S(	   Nt   keys1   # Suffix rules, putting all outputs into $(obj).
s4   $(obj).$(TOOLSET)/%%.o: $(srcdir)/%%%s FORCE_DO_CMD
s   	@$(call do_cmd,%s,1)
s,   
# Try building from generated source, too.
s<   $(obj).$(TOOLSET)/%%.o: $(obj).$(TOOLSET)/%%%s FORCE_DO_CMD
s   
s1   $(obj).$(TOOLSET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
(   t   sortedR(   t   keyst   strt   lowert   write(   t   writert
   extensionst   ext(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   WriteRootHeaderSuffixRules  s    s1   # Suffix rules, putting all outputs into $(obj).
s+   # Try building from generated source, too.
s  # "all" is a concatenation of the "all" targets from all the included
# sub-makefiles. This is just here to clarify.
all:

# Add in dependency-tracking rules.  $(all_deps) is the list of every single
# target in our tree. Only consider the ones with .d (dependency) info:
d_files := $(wildcard $(foreach f,$(all_deps),$(depsdir)/$(f).d))
ifneq ($(d_files),)
  include $(d_files)
endif
s/   # This file is generated by gyp; do not edit.

t   ccs   .ct   cxxs   .ccs   .cpps   .cxxs   .ss   .Sc            s/   x(   f d   t  D D] } | r t Sq Wt S(   s:   Return true if the file is compilable (should be in OBJS).c         3   s   |  ] }   j  |  Vq d  S(   N(   t   endswith(   t   .0t   e(   t   filename(    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pys	   <genexpr>H  s    (   R(   R:   t   False(   RU   t   res(    (   RU   s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt
   CompilableF  s    c         C   s   |  j  d  S(   sA   Return true if the file is linkable (should be on the link line).s   .o(   RR   (   RU   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   LinkableN  s    c         C   s   t  j j |   d d S(   s1   Translate a compilable filename to its .o target.i    s   .o(   R>   R?   t   splitext(   RU   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   TargetS  s    c         C   s   d |  j  d d  d S(   s   Quotes an argument so that it will be interpreted literally by a POSIX
     shell. Taken from
     http://stackoverflow.com/questions/35817/whats-the-best-way-to-escape-ossystem-calls-in-python
     t   's   '\''(   t   replace(   t   s(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   EscapeShellArgumentX  s    c         C   s   |  j  d d  S(   sr   Make has its own variable expansion syntax using $. We must escape it for
     string to be interpreted literally.t   $s   $$(   R]   (   R^   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   EscapeMakeVariableExpansion`  s    c         C   s(   t  |   }  t |   }  |  j d d  S(   sB   Escapes a CPP define so that it will reach the compiler unaltered.t   #s   \#(   R_   Ra   R]   (   R^   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   EscapeCppDefinef  s    c         C   s-   d |  k r) d |  j  d d  d }  n  |  S(   sS   TODO: Should this ideally be replaced with one or more of the above
     functions?t   "s   \"(   R]   (   t   string(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   QuoteIfNecessaryo  s    c         C   s   t  j d d |   S(   sG   Convert a string to a value that is acceptable as a make variable name.s   [^a-zA-Z0-9_]t   _(   t   ret   sub(   Re   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   StringToMakefileVariablew  s    c         C   s.   d |  k r |  St  j j |   r& |  St |  S(   s,   Convert a path to its source directory form.s   $((   R>   R?   t   isabst   srcdir_prefix(   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt	   Sourceify}  s
    s   \ c         C   s   |  j  d |  S(   Nt    (   R]   (   R^   t   quote(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   QuoteSpaces  s    c   
   
   C   s  |  j  d d  d k r d Si  } xi | D]a } t j j |  \ } } | d k } | s_ q) n  t j j |  } | j | g   j |  q) Wd } xL | j   D]> \ } }	 t	 |	  d k r | d | d j
 |	  f 7} q q W| rd |  d | d d GHt d   n  d S(   s   Makes sure if duplicate basenames are not specified in the source list.

  Arguments:
    spec: The target dictionary containing the properties of the target.
  t   typet   static_libraryNs   .cs   .ccs   .cpps   .cxxs   .ms   .mms   .ss   .SR   i   s	     %s: %s
Rn   s<   static library %s has several files with the same basename:
t   target_names   libtool on OS X will generates    warnings for them.s6   Duplicate basenames in sources section, see list above(   s   .cs   .ccs   .cpps   .cxxs   .ms   .mms   .ss   .S(   R8   R9   R>   R?   RZ   t   basenameR"   t   appendt	   iteritemst   lenRA   R   (
   t   spect   all_sourcest	   basenamest   sourcet   nameRN   t   is_compiled_fileRt   t   errort   files(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   _ValidateSourcesForOSX  s&    	$t   MakefileWriterc           B   sL  e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d! d e d  Z d! e d  Z d! d! e e e d! d  Z d   Z d d  Z d! d  Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# d    Z$ RS("   s   MakefileWriter packages up the writing of one target-specific foobar.mk.

  Its only real entry point is Write(), and is mostly used for namespacing.
  c         C   s   | |  _  | |  _ i  |  _ i  |  _ i  |  _ x t j   D]u } |  j j i d | t | f | 6 |  j j i d | t | f | 6 |  j j i d | t | f | 6 q: Wd  S(   NsT   $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(srcdir)/%%%s FORCE_DO_CMD
	@$(call do_cmd,%s,1)
s\   $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj).$(TOOLSET)/%%%s FORCE_DO_CMD
	@$(call do_cmd,%s,1)
sQ   $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
	@$(call do_cmd,%s,1)
(   R0   R,   t   suffix_rules_srcdirt   suffix_rules_objdir1t   suffix_rules_objdir2R(   RH   R)   (   t   selfR0   R,   RN   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   __init__  s    					c            s  t  j j |  t | d    _   j j t  |   _ |   _ | d   _	 | d   _
 | d   _ t  j j   j |    _   j d k r t  j j |    _ n	 d   _   j |  \ } } g  }	 g  }
 g  } g  } g  }   j r  j |    _   j |    _ n   j |    _   _ t | j d d     _ d   _   j sq  j
   j k rt j j   j    _   j    } n   j   _   j }   j! d   j    j! d   j	  d | k r  j" | d |
 |	 | |  n  d | k r-  j# | d |
 |	 | |  n  d | k rS  j$ | d |	 |  n    j r| j d g   | }   j% | |    j& |  n  | j d g   |
 } | r?  j d k rt' | |  n    j( | | | |	 | | t  j j)   j   f d     j*   t+ t, |  } | r?  j! t-  t. g  | D] } t j j/ |  d ^ q9 } x4 | D], } |   j0 k re  j!   j0 |  qeqeW  j! t1  x4 | D], } |   j2 k r  j!   j2 |  qqWx4 | D], } |   j3 k r  j!   j3 |  qqW  j! d    j r<| j4   j  q<q?n    j5 | | | | | | |	 |  | t6 | <  j
 d k r  j t7 | <n    j8 j d d  r  j9   j	 | |  n    j j:   d S(   s  The main entry point: writes a .mk file for a single target.

    Arguments:
      qualified_target: target we're generating
      base_path: path relative to source root we're building in, used to resolve
                 target-relative paths
      output_filename: output .mk file name to write
      spec, configs: gyp info
      part_of_all: flag indicating this target is part of 'all'
    t   wRs   Rq   t   toolsetR   t   standalone_static_libraryi    t
   executablet   loadable_modulet   shared_librarys   TOOLSET := s
   TARGET := t   actionst   rulest   copiest   mac_bundle_resourcest   sourcesc            s   t    j |    S(   N(   Rm   t
   Absolutify(   t   p(   R   (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   <lambda>1  R   i   s!   # End of this set of suffix rulesRr   R1   N(   R   R   R   (   Rr   R   (;   R   R    t   EnsureDirExistst   opent   fpRK   t   headert   qualified_targetR?   t   targetRq   R   t   xcode_emulationt   IsMacBundleR,   t   is_mac_bundlet   XcodeSettingst   xcode_settingsR9   t   ComputeDepst   ComputeMacBundleOutputt   outputt   ComputeMacBundleBinaryOutputt   output_binaryt   ComputeOutputt   boolR8   t   is_standalone_static_libraryt   _INSTALLABLE_TARGETSR>   Rt   t   aliast   _InstallableTargetInstallPatht   WriteLnt   WriteActionst
   WriteRulest   WriteCopiest   WriteMacBundleResourcest   WriteMacInfoPlistR   t   WriteSourcest   MacPrefixHeadert   Pchifyt   filterRX   t#   SHARED_HEADER_SUFFIX_RULES_COMMENT1t   setRZ   R   t#   SHARED_HEADER_SUFFIX_RULES_COMMENT2R   R   Ru   t   WriteTargett   target_outputst   target_link_depsR0   t   WriteAndroidNdkModuleRulet   close(   R   R   t	   base_patht   output_filenameRx   t   configst   part_of_allt   depst	   link_depst   extra_outputst   extra_sourcest   extra_link_depst   extra_mac_bundle_resourcest   mac_bundle_depst   install_patht   all_mac_bundle_resourcesRy   R   R^   RM   RN   (    (   R   s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   Write  s    				 					/	
c         C   s   t  j j |  t | d  |  _ |  j j t  |  j d t j	 j
 t j	 j |  |   |  j d  |  j d  | r d | } n  |  j d | d j
 |  f  |  j j   d S(	   s  Write a "sub-project" Makefile.

    This is a small, wrapper Makefile that calls the top-level Makefile to build
    the targets from a single gyp file (i.e. a sub-project).

    Arguments:
      output_filename: sub-project Makefile name to write
      makefile_path: path to the top-level Makefile
      targets: list of "all" targets for this sub-project
      build_dir: build output directory, relative to the sub-project
    R   s   export builddir_name ?= %ss   .PHONY: alls   all:s    -C s   	$(MAKE)%s %sRn   N(   R   R    R   R   R   RK   R   R   R>   R?   RA   t   dirnameR   (   R   R   t   makefile_patht   targetst	   build_dir(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   WriteSubMakeY  s    	# c         C   s  |  j    } x| D]} t d |  j | d f  } |  j d | d  | d }	 | d }
 t   } x: |
 D]2 } t j j |  d } | ro | j |  qo qo Wt	 | j
 d t   r | |
 7} n  t	 | j
 d t   r | |
 7} n  | d	 } |  j d
 k r3g  | D] } t j j | |  ^ q} n  t j j |  } d | k ro|  j d | | d f  n |  j d | | f  t |  d k rd d j |  d | } n  d t |  j pd  } | j d |  j  } | j d |  j  } |  j d | | | f  |  j   t |  j |
  }
 |  j d t |
 d   |  j d t |
 d   |  j |
 d |  j     x* |	 D]" } d | k st d |   qWx* |
 D]" } d | k st d |   qWg  |
 D] } t j j | |  ^ q}
 g  |	 D] } t j j | |  ^ q}	 |  j |
 t t t |  j |	   d | d | d | } |  j d | d j |
  f  | j d |  |  j   q W|  j   d S(   s  Write Makefile code for any 'actions' from the gyp input.

    extra_sources: a list that will be filled in with newly generated source
                   files, if any
    extra_outputs: a list that will be filled in with any outputs of these
                   actions (used to make other pieces dependent on these
                   actions)
    part_of_all: flag indicating this target is part of 'all'
    s   %s_%st   action_names   ### Rules for action "%s":t   inputst   outputsi    t   process_outputs_as_sourcest'   process_outputs_as_mac_bundle_resourcest   actionR   t   messages   quiet_cmd_%s = ACTION %s $@s   mkdir -p %sRn   s   ; s   cd %s; t   .s	   $(TARGET)st   cmd_%s = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; %s%ss   %s: obj := $(abs_obj)s   %s: builddir := $(abs_builddir)s3   Spaces in action input filenames not supported (%s)s4   Spaces in action output filenames not supported (%s)R   t   commands   action_%s_outputss   %s := %ss   $(%s)N(   t   GetSortedXcodeEnvRj   R   R   R   R>   R?   t   splitt   addt   intR8   RV   R,   R   R   t   ExpandEnvVarsR    t   EncodePOSIXShellListRw   RA   Rm   R]   R   t   mapR   Rp   t   WriteSortedXcodeEnvt   AssertionErrort
   WriteDoCmdRu   (   R   R   R   R   R   R   t   envR   R|   R   R   t   dirsR4   t   dirt   action_commandsR   t	   cd_actiont   inputR   t   ot   it   outputs_variable(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   t  sf    

	
(	
	(($
 c       
   C   s  |  j    } xy| D]q} t d |  j | d f  } d }	 |  j d |  g  }
 x| j d g   D]} t   } t j j |  \ } } t j j	 |  \ } } g  | d D] } |  j
 | | |  ^ q } x6 | D]. } t j j |  } | r | j |  q q Wt | j d t   r/| | 7} n  t | j d t   rT| | 7} n  t t t |  j | g | j d	 g     } d
 | |	 f g } | d k r| d g 7} n  g  | D] } t j j | |  ^ q} g  | D] } t j j | |  ^ q} t |  j |  } |
 | 7}
 |  j d | d  |  j d | d  |  j | | | d d | |	 f t j d  } x? | D]7 } t j | d |  } d | k st d |   qW|  j d d j |   g  | d D] } |  j
 | | |  ^ q} d } t |  d k r/d d j |  } n  d t |  j pAd  } |  j d k rg  | D] } t j j | |  ^ q^} n  t j j |  } | j d |  j   } | j d |  j   } | j d |  j   } |  j d i | d 6| d 6|	 d 6| d 6| d  6 |  j d! i |	 d 6| d  6 |  j   |	 d" 7}	 qf Wd# | } |  j! |
 |  | j" d$ |  |  j d% |  |  j   q W|  j d&  |  j d  d' S((   s  Write Makefile code for any 'rules' from the gyp input.

    extra_sources: a list that will be filled in with newly generated source
                   files, if any
    extra_outputs: a list that will be filled in with any outputs of these
                   rules (used to make other pieces dependent on these rules)
    part_of_all: flag indicating this target is part of 'all'
    s   %s_%st	   rule_namei    s   ### Generated for rule %s:t   rule_sourcesR   R   R   R   s   $(call do_cmd,%s_%d)t   resources_grits   @touch --no-create $@s   %s: obj := $(abs_obj)s   %s: builddir := $(abs_builddir)R   s   %s_%ds   \$\([^ ]* \$<\)R   Rn   s/   Spaces in rule filenames not yet supported (%s)s   all_deps += %sR   s   mkdir -p %s; s   cd %s; R   R   s	   $(TARGET)s   cmd_%(name)s_%(count)d = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; %(cd_action)s%(mkdirs)s%(action)sR   t   countt   mkdirsR|   s9   quiet_cmd_%(name)s_%(count)d = RULE %(name)s_%(count)d $@i   s   rule_%s_outputss   $(%s)s$   ### Finished generating for rule: %ss%   ### Finished generating for all rulesN(#   R   Rj   R   R   R8   R   R>   R?   R   RZ   t   ExpandInputRootR   R   R   RV   R   Rm   R   R   R   R   t   WriteMakeRuleRh   t   compileRi   R   RA   Rw   R,   R    R   R]   R   t	   WriteListRu   (    R   R   R   R   R   R   R   t   ruleR|   R   t   all_outputst   rule_sourceR   t   rule_source_dirnamet   rule_source_basenamet   rule_source_roott   rule_source_extR4   R   R   R   R   R   R   t   variables_with_spacesR   t   acR   R   R   R   R   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    
	)((
)(

c         C   sF  |  j  d  t |  j d  } g  } x | D] } x | d D] } t |  j |   } t j j |  d } t |  j t j j | d |    }	 |  j	   }
 t
 j j |	 |
  }	 t
 j j | |
  } |  j |	 g | g d |  | j |	  q> Wq- W|  j  d | d j t t |   f  | j d	 |  |  j    d
 S(   s  Write Makefile code for any 'copies' from the gyp input.

    extra_outputs: a list that will be filled in with any outputs of this action
                   (used to make other pieces dependent on this action)
    part_of_all: flag indicating this target is part of 'all'
    s   ### Generated for copy rule.t   _copiesR   i   t   destinationt   copys   %s = %sRn   s   $(%s)N(   R   Rj   R   Rm   R   R>   R?   R   RA   R   R   R   R   R   Ru   R   Rp   (   R   R   R   R   t   variableR   R   R?   RU   R   R   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   X  s"    )c         C   s   |  j  d  x t j j t d |  j t t t |  j |    D]_ \ } } t	 j
 j |  \ } } | d k rB |  j | g | g d d t | j |  qB qB Wd S(   s0   Writes Makefile code for 'mac_bundle_resources'.s&   ### Generated for mac_bundle_resourcesR   s	   .xcassetss   mac_tool,,,copy-bundle-resourceR   N(   R   R   R   t   GetMacBundleResourcesR#   R   R   Rm   R   R>   R?   RZ   R   R:   Ru   (   R   t	   resourcest   bundle_depsR   RW   Rg   RN   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   ~  s    (c            s   t  j j t d   j   f d    \ } } } } | s> d S| r d t j j |  }   j | | d d d t	   j
 | g | g d d	 g  | } n    j |   j d
 |     j | g | g d d t | j |  d S(   s0   Write Makefile code for bundle Info.plist files.R   c            s   t    j |    S(   N(   Rm   R   (   R   (   R   (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     R   Ns   $(obj).$(TOOLSET)/$(TARGET)/s   : INFOPLIST_DEFINESs   -Dt   quoters   $(call do_cmd,infoplist)s   @plutil -convert xml1 $@ $@t   additional_settingss   mac_tool,,,copy-info-plistR   (   R   R   t   GetMacInfoPlistR#   R   R>   R?   Rt   R   Rc   R   R   R   R   R:   Ru   (   R   R  t
   info_plistR4   t   definest	   extra_envt   intermediate_plist(    (   R   s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s&    	
	c         C   s(  xt  | j    D]} | | }	 |  j |	 j d  d | d d d t |  j d k r |  j j |  }
 |  j j |  } |  j j	 |  } |  j j
 |  } |  j j |  } n- |	 j d  }
 |	 j d  } |	 j d	  } |  j d
  |  j |
 d |  |  j d  |  j | d |  |  j d  |  j | d |  |  j d k r|  j d  |  j | d |  |  j d  |  j | d |  n  |	 j d  } | rt t t |  j |   } n  |  j | d | d d q Wt t |  } t |  j t |  j t t |    } |  j | d  x* | D]" } d | k s:t d |   q:W|  j d  |  j d  |  j   | r|  j d g | d d d t n  | r|  j d g | d d  d t n  | j | |  } | r:|  j d!  x. | D]& \ } } } |  j d" | | f  q W|  j d#  n  | r| j d  |  j d$  |  j d%  |  j d& | j d'  d(  |  j d) | j d*  d+  |  j d k r|  j d, | j d-  d.  |  j d/ | j d0  d1  qn  |  j | j    | t t |  7} |  j   d2 S(3   s  Write Makefile code for any 'sources' from the gyp input.
    These are source files necessary to build the current target.

    configs, deps, sources: input from gyp.
    extra_outputs: a list of extra outputs this action should be dependent on;
                   used to serialize action/rules before compilation
    extra_link_deps: a list that will be filled in with any outputs of
                     compilation (to be used in link lines)
    part_of_all: flag indicating this target is part of 'all'
    R	  s   DEFS_%st   prefixs   -DR  R   t   cflagst   cflags_ct	   cflags_ccs#   # Flags passed to all source files.s	   CFLAGS_%ss   # Flags passed to only C files.s   CFLAGS_C_%ss!   # Flags passed to only C++ files.s   CFLAGS_CC_%ss"   # Flags passed to only ObjC files.s   CFLAGS_OBJC_%ss$   # Flags passed to only ObjC++ files.s   CFLAGS_OBJCC_%st   include_dirss   INCS_%ss   -It   OBJSRn   s-   Spaces in object filenames not supported (%s)s?   # Add to the list of files we specially track dependencies for.s   all_deps += $(OBJS)s   $(OBJS)t   comments6   Make sure our dependencies are built before any of us.t
   order_onlys1   Make sure our actions/rules run before any of us.s:   # Dependencies from obj files to their precompiled headerss   %s: %ss%   # End precompiled header dependenciessn   # CFLAGS et al overrides must be target-local.
# See "Target-specific Variable Values" in the GNU Make manual.s   $(OBJS): TOOLSET := $(TOOLSET)sD   $(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) %s t   cs/   $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))sF   $(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) %s RP   s0   $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))sG   $(OBJS): GYP_OBJCFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) %s t   msK   $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE))sI   $(OBJS): GYP_OBJCXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) %s t   mmsM   $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE))N(   RG   RH   R   R8   Rc   R,   R   t	   GetCflagst
   GetCflagsCt   GetCflagsCCt   GetCflagsObjCt   GetCflagsObjCCR   R   Rm   R   R   RX   t	   ObjectifyR[   R   R   R:   t   GetObjDependenciesRu   t
   GetIncludet   WritePchTargetst   GetPchBuildCommandsRY   (   R   R   R   R   R   R   R   t   precompiled_headert
   confignamet   configR  R  R  t   cflags_objct   cflags_objcct   includest
   compilablet   objst   objt   pchdepsR{   t   gch(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    
"'


				c         C   s  | s
 d Sx | D] \ } } } } i d d 6d d 6d d 6d d	 6| } i d
 d 6d d 6d d 6d d	 6| } |  j  d | | | f d |  |  j  d | | f  |  j  d |  |  j  d  d | k s t d |   |  j  d |  |  j  d  q Wd S(   s,   Writes make rules to compile prefix headers.Ns   $(CFLAGS_C_$(BUILDTYPE))R  s   $(CFLAGS_CC_$(BUILDTYPE))RP   s4   $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE))R  s6   $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE))R  t   GYP_PCH_CFLAGSt   GYP_PCH_CXXFLAGSt   GYP_PCH_OBJCFLAGSt   GYP_PCH_OBJCXXFLAGSs   %s: %s := %s sA   $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) s   %s: %s FORCE_DO_CMDs   	@$(call do_cmd,pch_%s,1)R   Rn   s*   Spaces in gch filenames not supported (%s)s   all_deps += %s(   R   R   (   R   t   pch_commandsR+  t	   lang_flagt   langR   t   extra_flagst   var_name(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR  $  s2    c         C   sv  |  j  s t  |  j d k r; |  j d k r; |  j j   S| d } d } d } |  j d k r | d  d	 k r} | d } n  d	 } d
 } n |  j d k r | d  d	 k r | d } n  d	 } |  j d k r d
 } q$d } nE |  j d k r d | } n) |  j d k r$d d |  j d | f GHn  | j d |  } | j d |  } | j d  } | rjd | } n  | | | S(   s   Return the 'output basename' of a gyp spec.

    E.g., the loadable module 'foobar' in directory 'baz' will produce
      'libfoobar.so'
    R   Rr   R   R   R   Rs   R   i   R   s   .aR   s   .sot   nones   %s.stamps,   ERROR: What output file should be generated?Rq   R   t   product_prefixt   product_namet   product_extensionR   (   Rr   R   R   R   (   R   R   (   R   R   R,   Rq   R   t   GetExecutablePathR8   (   R   Rx   R   t   target_prefixt
   target_extt   product_ext(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   ComputeOutputBasenameE  s<    	
			c         C   s+   |  j  d k o* |  j d k o* |  j d k S(   NR   R   Rr   R   R   R   (   Rr   R   R   R   (   R   R,   Rq   (   R   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   _InstallImmediatelyp  s    $c         C   s   |  j  s t  t j j d |  j |  j  } |  j d k sJ |  j   rS d } n  | j d |  } t j j | |  j	 |   S(   s   Return the 'output' (full output path) of a gyp spec.

    E.g., the loadable module 'foobar' in directory 'baz' will produce
      '$(obj)/baz/libfoobar.so'
    s   $(obj).R   s   $(builddir)t   product_dir(
   R   R   R>   R?   RA   R   Rq   R>  R8   R=  (   R   Rx   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   u  s    	c         C   s5   |  j  s t  t d } t j j | |  j j    S(   sD   Return the 'output' (full output path) to a bundle output directory.R   (   R   R   R#   R>   R?   RA   R   t   GetWrapperName(   R   Rx   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    
c         C   s&   t  d } t j j | |  j j    S(   sA   Return the 'output' (full output path) to the binary in a bundle.R   (   R#   R>   R?   RA   R   R9  (   R   Rx   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    
c         C   s   g  } g  } d | k r | j  g  | d D] } t | r) t | ^ q)  x2 | d D]& } | t k rU | j t |  qU qU W| j  |  n  t j j |  t j j |  f S(   s   Compute the dependencies of a gyp spec.

    Returns a tuple (deps, link_deps), where each is a list of
    filenames that will need to be put in front of make for either
    building (deps) or linking (link_deps).
    t   dependencies(   t   extendR   R   Ru   R   R    t   uniquer(   R   Rx   R   R   t   dep(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    c         C   s&   |  j  |  j g | d d d t d  S(   NR  s    Build our special outputs first.R  (   R   R   R:   (   R   R   R   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   WriteDependencyOnExtraOutputs  s    c      	      s
    j  d  | rE   j   j |    j | | d d d t n  i  }   j d k rxt | j    D]}	 | |	 }
   j d k r<  j	 j
 |	 t d   f d    } t j j   j  }   j	 j |	 t t j j t j j |   j    t t j j t j j |   j     } | r| | |	 <qnS |
 j d	 g   } t d
   | D  r| j d   j  | j d   j  n  |
 j d g   } | g  | D] } d | ^ q7}   j | d |	    j d k rm   j   j	 j |	  d |	  qm qm W| j d  } | rZt j j |  }   j d k rZ  j	 j |  } qZn    j | d    j  d t   j     j  d t   j     j d k r  j  d t   j   qn  g  }   j d k r| r| j d  n  | j t j j  |   n  | r)  j!   j   j"    xA | D]9 }	   j  d t   j  |	 t j j# | |	  f  q:W| j$ d t j j# d   j g   xD t% t& |   D]0 } | | j' d  st( | |  | | <qqW  j  d t   j     j  d t   j  d j |  f  n    j) r  j   j |    j t* t |  d    j  d t   j     j dK k r  j  d"   j	 j+    n  | r  j  d#  n  g  }   j  d$    j  d% t   j   n  | r(  j) st, d&   j-   d' | k s(t, d(   n    j d) k r  j  d* t   j  d j t* t |   f    j d+ k r  j d, k r  j.   j g | d- | d. | q  j.   j g | d/ | d. | n  j d0 k rpx* | D]" } d | k st, d1 |   qW  j dL k rK  j/ rK  j.   j g | d5 | d. | q  j.   j g | d6 | d. | nN  j d  k r  j  d* t   j  d j t* t |   f    j.   j g | d7 | d. | n   j d! k rzx* | D]" } d | k st, d8 |   qW  j d+ k rU  j d, k rU  j.   j g | d9 | d. | q  j.   j g | d: | d. | nD   j d k r  j.   j g | d; | d. | n d< G  j Gt- GH  j rD  j   j- k rD  j   j0 k rD  j   j- g   j g d d= d> t | rD  j d? g   j- g d d@ d> t qDn    j   j0 k s_  j/ r
  j d  k rwdA } n   j d0 k rdB } n d) }   j1   }   j g }   j d k r	d' | k r	  j dC k r	|   j k s	t, dD |   j f   n    j   j- g | g d d= d> t |   j k r	  j) sF	t,    j. | g   j g dE d dF | dG | | j |  n    j   j2 k r	  j2   j- k r	  j   j2 g | d dH | d> t n  | r
  j d? g | g d dI | d> t q
n  dJ S(M   s&  Write Makefile code to produce the final target of the gyp spec.

    spec, configs: input from gyp.
    deps, link_deps: dependency lists; see ComputeDeps()
    extra_outputs: any extra outputs that our target should depend on
    part_of_all: flag indicating this target is part of 'all'
    s   ### Rules for final target.R  s4   Preserve order dependency of special output on deps.R  R5  R   R   c            s   t    j |    S(   N(   Rm   R   (   R   (   R   (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     R   t   ldflagsc         s   s*   |  ]  } | j  d   p! d | k Vq d S(   s   .sos   .so.N(   RR   (   RS   RD  (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pys	   <genexpr>  s    s   -Wl,-rpath=\$$ORIGIN/lib.%s/s$   -Wl,-rpath-link=\$(builddir)/lib.%s/t   library_dirss   -L%ss
   LDFLAGS_%ss   LIBTOOLFLAGS_%st	   librariest   LIBSs*   %s: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))s   %s: LIBS := $(LIBS)s4   %s: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE))s!   $(TARGET_POSTBUILDS_$(BUILDTYPE))s   %s: TARGET_POSTBUILDS_%s := %si    t   cdR`   s   %s: builddir := $(abs_builddir)s   %s: POSTBUILDS := %sRn   t   BUNDLE_DEPSs   %s: $(BUNDLE_DEPS)R   R   s+   	@$(call do_cmd,mac_package_framework,,,%s)s   	@$(call do_postbuilds)s   	@true  # No-op, used by testss   	@touch -c %ssQ   Postbuilds for bundles should be done on the bundle, not the binary (target '%s')R?  s.   Postbuilds do not work with custom product_dirR   s   %s: LD_INPUTS := %st   hostR   t	   link_hostt
   postbuildst   linkRr   s2   Spaces in alink input filenames not supported (%s)t   openbsdt   netbsdt   wint
   alink_thint   alinkt   solinks3   Spaces in module input filenames not supported (%s)t   solink_module_hostt   solink_modulet   touchs   WARNING: no output fors   Add target aliast   phonyt   alls!   Add target alias to "all" target.s   shared librarys   static libraryR   s   %s != %sR   s    Copy this to the %s output path.R   s!   Short alias for building this %s.s   Add %s to "all" target.N(   R   R   (   R   RP  RQ  RR  (3   R   RE  R   R   R:   Rq   RG   RH   R,   R   t
   GetLdflagsR#   R   R    t   InvertRelativePathR?   t   AddImplicitPostbuildsRp   R>   R@   RA   R   R8   t   anyRu   R   R   t   GetLibtoolflagsRC  t   AdjustLibrariesRB  R   t   GetSpecPostbuildCommandsR   t   GetSortedXcodePostbuildEnvR   t   insertt   xrangeRw   t
   startswithR_   R   R   t   GetFrameworkVersionR   R   R   R   R   R   R   (   R   Rx   R   R   R   R  R   R   t   target_postbuildsR"  R#  RF  t   gyp_to_buildt   target_postbuildRG  t   library_dirRH  RN  R   t   link_dept	   file_descR   t   installable_deps(    (   R   s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s<   


		!			%	#			


	


			$
R   c         C   sc   d } | rE g  | D] } | | |  ^ q } d d j  |  } n  |  j j d | | f  d S(   s   Write a variable definition that is a list of values.

    E.g. WriteList(['a','b'], 'foo', prefix='blah') writes out
         foo = blaha blahb
    but in a pretty-printed style.
    R   s    \
	s	   %s :=%s

N(   RA   R   RK   (   R   t
   value_listR  R  R  t   valuest   l(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s
    #c   	      C   s   d } | r' d | k s t   d } n  |  j | | d d | | f g d | d | d t g  | D] } t | t  ^ qc } |  j d	 d
 j |   d S(   s   Write a Makefile rule that uses do_cmd.

    This makes the outputs dependent on the command line that was run,
    as well as support the V= make command line flag.
    R   t   ,s   ,,1R   s   $(call do_cmd,%s%s)R  R   t   forces   all_deps += %sRn   N(   R   R   R:   Rp   t   SPACE_REPLACEMENTR   RA   (	   R   R   R   R   R   R  RN  t   suffixR   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    	"c	         C   s  t  t |  } t  t |  } | r8 |  j d |  n  | r[ |  j d d j |   n  | ry |  j d | d  n  | r d n d }	 | r |  j d d j |  d j |  |	 f  n t |  d	 k r |  j d
 | d d j |  |	 f  n t j | r| n |  j  j   }
 d |
 } |  j d d j |  | f  |  j d  |  j d d | f  |  j d
 | d j |  |	 f  | j	 d d  | rx" | D] } |  j d |  qWn  |  j   d S(   s  Write a Makefile rule, with some extra tricks.

    outputs: a list of outputs for the rule (note: this is not directly
             supported by make; see comments below)
    inputs: a list of inputs for the rule
    actions: a list of shell commands to run for the rule
    comment: a comment to put in the Makefile above the rule (also useful
             for making this Python script's code self-documenting)
    order_only: if true, makes the dependency order-only
    force: if true, include FORCE_DO_CMD as an order-only dep
    phony: if true, the rule does not actually generate the named output, the
           output is just a name to run the rule
    command: (optional) command name to generate unambiguous labels
    s   # s   .PHONY: Rn   s   %s: TOOLSET := $(TOOLSET)i    s    FORCE_DO_CMDR   s
   %s: | %s%si   s   %s: %s%ss   %s.intermediates   %s: %ss   	%ss   @:s   .INTERMEDIATEs   $(call do_cmd,touch)Ns   	@:(
   R   Rp   R   RA   Rw   t   hashlibt   sha1R   t	   hexdigestRc  (   R   R   R   R   R  R  Rr  RY  R   t   force_appendt	   cmddigestt   intermediateR   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s4    	&*$
 	c         C   s  |  j  d k r d S|  j d  |  j d  |  j d |  |  j d  |  j d	  |  j d
  |  j d  i d d 6d d 6d d 6} d } x` | D]X } t j j |  d } | | k r | | c d 7<| | | | k r | } q q q W|  j d |  |  j t |  j t t	 |   d  d   } i d d 6}	 i  }
 t
 |
 |	  |  j | | t d |
 d  d  |  j | | t d t d  d  |  j  d k r|  j d  n> |  j  d k r|  j d  n |  j  d k r|  j d  n  |  j   d S(    s  Write a set of LOCAL_XXX definitions for Android NDK.

    These variable definitions will be used by Android NDK but do nothing for
    non-Android applications.

    Arguments:
      module_name: Android NDK module name, which must be unique among all
          module names.
      all_sources: A list of source files (will be filtered by Compilable).
      link_deps: A list of link dependencies, which must be sorted in
          the order from dependencies to dependents.
    R   R   Rr   Ns/   # Variable definitions for Android applicationss   include $(CLEAR_VARS)s   LOCAL_MODULE := si   LOCAL_CFLAGS := $(CFLAGS_$(BUILDTYPE)) $(DEFS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))s+   LOCAL_CPPFLAGS := $(CFLAGS_CC_$(BUILDTYPE))s   LOCAL_C_INCLUDES :=s/   LOCAL_LDLIBS := $(LDFLAGS_$(BUILDTYPE)) $(LIBS)i    s   .ccs   .cpps   .cxxi   s   LOCAL_CPP_EXTENSION := t   LOCAL_SRC_FILESc         S   so   g  } xb |  D]Z } t  j j |  } | j |  r | j |  r | j | t |  t |  ! q q W| S(   N(   R>   R?   Rt   Re  RR   Ru   Rw   (   R   R  Rt  t   modulest   filepathRU   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   DepsToModules/  s    (R   R,   R   R   t   LOCAL_SHARED_LIBRARIESR   R   t   LOCAL_STATIC_LIBRARIESs   include $(BUILD_EXECUTABLE)s   include $(BUILD_SHARED_LIBRARY)s   include $(BUILD_STATIC_LIBRARY)(   R   R   Rr   (   Rq   R   R>   R?   RZ   R   R   R   R   RX   R/   R#   (   R   t   module_nameRy   R   t   cpp_extt   default_cpp_extRU   RN   R~  R+   R*   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     sR    		

c         C   s   |  j  j | d  d  S(   Ns   
(   R   RK   (   R   t   text(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   P  s    c         C   s1   t  j j |  j d t j j d |  j  d |  S(   Ns   $(abs_builddir)s   $(abs_srcdir)s   $(BUILDTYPE)(   R   R   R   R   R>   R?   RA   (   R   R  (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   T  s    		c         C   s,   |  j  j d d  } |  j d i | d 6 S(   Nt   CHROMIUM_STRIP_SAVE_FILER   R  (   R   t   GetPerTargetSettingR   (   R   t   strip_save_file(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyRb  [  s    		c         C   s;   x4 | D], \ } } |  j  d t |  | | f  q Wd  S(   Ns   %s: export %s := %s(   R   Rp   (   R   R   R   t   kt   v(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   f  s    c         C   sN   d | k r( | j  d d |  j  } n  d | k rJ d |  j | f } n  | S(   s,   Convert a path to its output directory form.s   $(s   $(obj)/s   $(obj).%s/$(TARGET)/s   $(obj)s   $(obj).%s/$(TARGET)/%s(   R]   R   (   R   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR  q  s
    c         C   sR   |  j  |  } d | k r> | j d d |  j | f  } | Sd |  j | | f S(   s:   Convert a prefix header path to its output directory form.s   $(s   $(obj)/s   $(obj).%s/$(TARGET)/pch-%ss   $(obj).%s/$(TARGET)/pch-%s/%s(   R   R]   R   (   R   R?   R2  (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR   z  s    c         C   s;   d | k r | j  d  St j j t j j |  j |   S(   sl   Convert a subdirectory-relative path into a base-relative path.
    Skips over paths that contain variables.s   $(t   /(   t   rstripR>   R?   R@   RA   (   R   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    c         C   s8   d | k r d | k r | S| i | d 6| d 6} | S(   Ns   %(INPUT_ROOT)ss   %(INPUT_DIRNAME)st
   INPUT_ROOTt   INPUT_DIRNAME(    (   R   t   templatet	   expansionR   R?   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    c         C   sL   |  j  d k rA |  j d k s- |  j d k rA d |  j |  j f Sd |  j S(   sC   Returns the location of the final output for an installable target.R   R   R   s   $(builddir)/lib.%s/%ss   $(builddir)/(   Rq   R,   R   R   (   R   (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     s    N(%   t   __name__t
   __module__t   __doc__R   R   R   R   R   R   R   R   R   R  R=  R>  R   R   R   R   RE  R   R9   Rf   R   RV   R   R   R   R   R   Rb  R   R  R   R   R   R   (    (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyR     sF   				d		&			|	!	+							<	S					
		
c         C   s   |  d } g  |  d D] } t  j j | | j  ^ q } t  j j |  d | j  } | j t j  s t j j	 d |  } n  | j
 d i | d 6d j	 t t |   d 6t  j j | d	 g t  j |  |  d
 6 d S(   s,   Write the target to regenerate the Makefile.R2   t   build_files_argt
   gyp_binaryR   s   quiet_cmd_regen_makefile = ACTION Regenerating $@
cmd_regen_makefile = cd $(srcdir); %(cmd)s
%(makefile_name)s: %(deps)s
	$(call do_cmd,regen_makefile)

t   makefile_nameRn   R   s   -fmaket   cmdN(   R   R    t   RelativePathR=   t   FixIfRelativePathRe  R>   t   sepR?   RA   RK   R   Rm   R   t   RegenerateFlags(   R+   t   root_makefileR  t   build_filesR2   RU   t   build_files_argsR  (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   WriteAutoRegenerationRule  s    
,	c         C   s   | d } xr | D]j } d g } | j  rN | j  d k rN | d | j  f 7} n  | j d |  d | | f GHt j |  q Wd  S(   NR2   t   makeR   s   -Cs
   BUILDTYPE=s   Building [%s]: %s(   R=   Ru   t
   subprocesst
   check_call(   t   datat   configurationsR+   R2   R#  t	   arguments(    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   PerformBuild  s    
	c   3   
      s	  | d   t  j j |  } | j d i   } | j d d  } | j d d   } | j d d  }   f d   }	 d  }
 t g  |  D] } | | d	 ^ q  } x6 |  D]. } | | } | d
 d k r | d
 }
 Pq q W|
 s d }
 n  d } d   j } t j j	   j
 |  }   j r[t j j	   j
   j |  } t  j j |   j  } d a n  d } d } d } i
 | d 6| d 6|
 d
 6| d 6d d 6t d 6d d 6| d 6| d 6| d 6} | d k rd } | j i | d 6d d 6t d 6t d 6 n | d k r| j i t d 6 n | d k rWd  } d! } | j i | d 6| d 6t d 6 n | d" k r| j i d# d 6d d 6 ng | d$ k rd% } | j i | d 6 n> | d& k rd% } | j i | d 6t d 6d# d 6d d 6 n  | j i t da d)  d* 6t db d-  d. 6t dc d1  d2 6t dd d5  d6 6t de d8  d9 6t df d;  d< 6t dg d>  d? 6t dh dA  dB 6 t  j j |  dC  \ } } } | | j dD g   } i  } x? | D]7 \ } } | j dE  rdF | | | t dE   <qqWd } x | D] \ } } t j dG |  r#qn  | dC dH k r@dF | } n  | j |  } | rodI | | f } | | =n  | di k r| dJ | 7} | j d dK  } | t j k rt j | } n  | dL | | f 7} | dM 7} q| dN | | f 7} qW| | dD <t  j j |  t | dO  } | j t  |  | rC| j dP  n  x) | D]! } | j dQ |  t! |  qJWt j j" |  }  t  j j# | |   t   }! xB | dR D]6 } x- t  j j$ |  | |  D] } |! j% |  qWqWt   }" t   }# x|  D]}$ t  j j |$  \ } } } | | j dD g   }% | |% k sTt& dS |% | f   |" j% t  j j |   j
   | | dT }& x |& D]y }' t  j j t  j j' |' |    j
  }( t j j( |(  }) | dU r|) j) | dU  r|" j% |)  q|" j% |(  qW|	 | | d |   j dV  \ }* }+ | |$ } | dW }, | d k rgt  j* j+ | | |  n  t, | |  }- |- j- |$ |* |+ | |, dX |$ |! k t  j j |+ t j j" |   }. |# j% |.  qWt  j j   j. t j/    }/ x |" D] } t j j	 |/ |  } g  |  D]/ } | j) |  r| |! k r| | dY ^ q}0 |0 sUqn  |	 | t j j0 t j j1 |   dC dZ  \ }* }+ t  j j t j j" |  t j j" |+   }1 |- j2 |+ |1 |0 |  qW| j d[  xK t3 |#  D]= }2 | j d\ |2 d]  | j d^ |2 d[  | j dM  qW| j d[  | j d_  rq	| j d` t4  rq	t5 | | | |"  n  | j t6  | j7   d  S(j   NR2   R0   R3   R4   R1   t   default_targetRZ  c            s   t  j j t j j |     j  } t j j   j | |  }   j rl t j j   j   j | |  } n  t  j j t j j |     j	  } | | f S(   s9   Determine where to write a Makefile for a given gyp file.(
   R   R    R  R>   R?   R   t   depthRA   R<   R=   (   t
   build_filet	   base_nameR   t   output_file(   R2   (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   CalculateMakefilePath  s    		R   t   default_configurationt   DefaultR   t   Makefiles
   $(srcdir)/t   flocks   -afs   -MMDt   builddiri   t   flock_indext   link_commandsR   t   extra_commandst   srcdirt   copy_archive_argst   makedep_argsR   s   ./gyp-mac-tool flocki   R   t   zoss   -fPRs   -qmakedep=gcct   solariss   ./gyp-flock-tool flockRP  s   -pPRfR   t	   CC_targett   CCs   $(CC)s	   CC.targett	   AR_targett   ARs   $(AR)s	   AR.targett
   CXX_targett   CXXs   $(CXX)s
   CXX.targett   LINK_targett   LINKs   $(LINK)s   LINK.targett   CC_hostt   gccs   CC.hostt   AR_hostt   ars   AR.hostt   CXX_hosts   g++s   CXX.hostt	   LINK_hosts   $(CXX.host)s	   LINK.hosti    t   make_global_settingst   _wrappers   $(abspath %s)s
   .*_wrapperR`   s   %s %ss3   ifneq (,$(filter $(origin %s), undefined default))
Rg   s
     %s = %s
s   endif
s	   %s ?= %s
R   sU   # Define LOCAL_PATH for build of Android applications.
LOCAL_PATH := $(call my-dir)

s   TOOLSET := %s
R  sD   make_global_settings needs to be the same for all targets. %s vs. %st   included_filest   home_dot_gyps   .mkR  R   Rs   s	   .Makefiles   
sm   ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
    $(findstring $(join ^,$(prefix)),\
                 $(join ^,s   )))),)
s
     include t
   standalonet   auto_regeneration(   R  R  (   R  R  (   R  R  (   R  R  (   R  R  (   R  R  (   R  R  (   R  R  (   R  s   CC.hostR  s   CXX.host(8   R   R    R!   R8   R9   R   Rt  R>   R?   RA   R=   R<   R  Rl   t   LINK_COMMANDS_LINUXR)   t   LINK_COMMANDS_MACt   SHARED_HEADER_MAC_COMMANDSt   LINK_COMMANDS_ANDROIDt   LINK_COMMANDS_OS390t   LINK_COMMANDS_AIXR    t   ParseQualifiedTargetRR   Rw   Rh   t   matchR]   t   environR   R   RK   t   SHARED_HEADERRO   R   t   CopyToolt
   AllTargetsR   R   t   UnrelativePatht   abspathRe  R   t   MergeGlobalXcodeSettingsToSpecR   R   R  t   getcwdRZ   Rt   R   RG   R:   R  t   SHARED_FOOTERR   (3   t   target_listt   target_dictsR  R+   R,   R0   RC   R1   R  R  R  R   t   toolsetsRx   R  R  R   t   flock_commandt   copy_archive_argumentst   makedep_argumentst   header_paramsR  Rg   t   make_global_settings_arrayt   wrappersRF   t   valueR  t   wrappert   env_keyR  R   t	   dest_patht   needed_targetsR  t   include_listR   t   this_make_global_settingsR  t   included_filet   relative_include_filet   abs_include_fileR   R  R   RL   t   mkfile_rel_patht   depth_rel_patht   gyp_targetst   makefile_rel_patht   include_file(    (   R2   s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   GenerateOutput  sd   
'

				
							 


					
"

 /(7   R>   Rh   t   sysR  R   t
   gyp.commont   gyp.xcode_emulationR    R   Ru  R#   R:   t$   generator_supports_multiple_toolsetsRV   R;   R   R   R   R9   RB   R/   RD   Rs  R  R  R  R  R  R  R  RO   R   R   R  R   R(   RX   RY   R[   R_   Ra   Rc   Rf   Rj   Rl   Rm   Rp   R   R   R   t   objectR   R  R  R  (    (    (    s6   /usr/lib/python2.7/dist-packages/gyp/generator/make.pyt   <module>   s   
	%	!%'"	
												     		