+
    TBi                         R t ^ RIt^ RIHtHtHtHtHtHt ^ RI	H
t
HtHtHtHtHtHtHt ^ RIHt . ROt ! R R]4      t ! R	 R]4      t ! R
 R]4      tR# )z
pygments.lexers.make
~~~~~~~~~~~~~~~~~~~~

Lexers for Makefiles and similar.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)Lexer
RegexLexerincludebygroupsdo_insertionsusing)TextCommentOperatorKeywordNameStringPunctuation
Whitespace)	BashLexerMakefileLexerBaseMakefileLexer
CMakeLexerc                      a  ] tR t^t o RtRt. ROt. ROtR.tRt	Rt
]P                  ! R4      t]P                  ! R4      tR tR	 tR
tV tR# )r   z}
Lexer for BSD and GNU make extensions (lenient enough to handle both in
the same file even).

*Rewritten in Pygments 0.10.*
Makefileztext/x-makefile-https://en.wikipedia.org/wiki/Make_(software) z^(?:\.\s*(include|undef|error|warning|if|else|elif|endif|for|endfor)|\s*(ifeq|ifneq|ifdef|ifndef|else|endif|-?include|define|endef|:|vpath)|\s*(if|else|endif))(?=\s)z^\s*@?#c              #  P  "   . pVP                  R R7      pRp\        R/ V P                  B pRpV F  pV P                  P	                  V4      '       g	   V'       dP   VP                  \        V4      ^ \        P                  V3.34       VP                  4       P                  R4      pK{  V P                  P	                  V4      '       d'   VP                  \        V4      ^ \        V3.34       K  WG,          pK  	  \        W%P                  V4      4       Rj  xL
  R#  L5i)T)keependsr   F\N )
splitlinesr   options	r_specialmatchappendlenr	   Preprocstripendswith	r_commentr   get_tokens_unprocessed)selftextinslinesdonelexbackslashflaglines   &&      9/usr/lib/python3.14/site-packages/pygments/lexers/make.pyr&   $MakefileLexer.get_tokens_unprocessed/   s     ./$,,/D~~##D))]

CIGOOT(B'CDE $

 5 5d ;%%d++

CIGT(:';<=  !&@&@&FGGGs    AD&A/D&AD&D$D&c                D    \         P                  ! R V 4      '       d   R# R# )z\$\([A-Z_]+\)g?N)research)r(   s   &r/   analyse_textMakefileLexer.analyse_text?   s    99%t,, -    r   N)makemakefilemfbsdmake)z*.makz*.mkr   r8   z
Makefile.*GNUmakefile)__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_addedr2   compiler   r%   r&   r4   __static_attributes____classdictcell____classdict__s   @r/   r   r      s`      D3GVI"#I
9CM

	%&I 

:&IH  r6   c                      ] tR t^EtRtRtR.t. t. tRt	Rt
RR]! ]4      3R]3R	]3R
]3R]! ]]4      R3R]3R]! ]P$                  ]]]]! ]4      4      3R]P*                  3R]P,                  3R]! ]P.                  ]]4      R3R]R3.RR]3R]P$                  3R]3R]R3R]R3.RR]P$                  3R]R3R	]3.RR]3R
]R3R]3R]R3R ]3R]R3R!]3./tR"tR## )$r   z0
Lexer for simple Makefiles (no preprocessing).
zBase Makefilebasemaker   z0.10rootz^(?:[\t ]+.*\n|\n)+z\$[<@$+%?|*]z\s+z#.*?\nz&((?:un)?export)(\s+)(?=[\w${}\t -]+\n)exportz(?:un)?export\s+z7([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z([^\n:]+)(:+)([ \t]*)zblock-headerz\$\(	expansionz[^\w$().-]+z[\w.-]+z\$\(#push\)#popz	[\w${}-]+\nz[,|]z\\\nz
[a-zA-Z_]+.r   N)r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   r   r   r   r   r	   r   r   Variabler
   r   DoubleSingleFunctionr   r   tokensrH   r   r6   r/   r   r   E   s    DlGII
9CM 	#U9%56g&Z  6gz*H6 '*Gz8Zi "#
 )&--8(&--8%xx(5 g{+/
2 	T"'GGW%GV$
 	4==)D&!Z 

 	k"(dOg{+D!J'4L
M/Fr6   c                     a  ] tR t^t o RtRtRtR.tRR.tR.t	Rt
R	R
]! ]P                  ]]4      R3]! R4      ]! R4      .RR]R3R]R3R]! ]]P$                  ]4      3R]! ]]P$                  ]4      3R]! ]]P$                  ]4      3R]P(                  3R]3R]P*                  3R]3R]3]! R4      ]! R4      .R. RR]3.RR]3R]3R]3./tR tR tV tR!# )"r   z
Lexer for CMake files.
CMakez https://cmake.org/documentation/cmakez*.cmakezCMakeLists.txtztext/x-cmakez1.2rN   z\b(\w+)([ \t]*)(\()argskeywordswsrQ   rR   rS   rT   z(\$\{)(.+?)(\})z(\$ENV\{)(.+?)(\})z(\$<)(.+?)(>)z	(?s)".*?"z\\\S+z'\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z[^)$"# \t\n]+rU   stringz\\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\bz[ \t]+z(#\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z#.*\nc                    R p\         P                  ! W\         P                  \         P                  ,          R7      '       d   R# R# )zu^[ \t]*CMAKE_MINIMUM_REQUIRED[ \t]*\([ \t]*VERSION[ \t]*\d+(\.\d+)*[ \t]*([ \t]FATAL_ERROR)?[ \t]*\)[ \t]*(#[^\n]*)?$)flagsg?g        )r2   r3   	MULTILINE
IGNORECASE)r(   exps   & r/   r4   CMakeLexer.analyse_text   s2     	 99SbllR]]&BCCr6   r   N)r<   r=   r>   r?   r@   rA   rE   rB   rC   rD   rF   r   r   Builtinr   r   r   r
   rW   r   rX   	Multiliner   r	   r[   r4   rH   rI   rJ   s   @r/   r   r      sc     D
,CiG,-I IM 	6 $XdllJ.9&;<BDJDM=
@ 	K)K((DMM8!LM"HXt}}h$OPx$--JK6==)v79I9IJv&JJDM
 	 
 	/079
 	
#8'Bw
m;Fz	 	r6   )r   r   r   )r@   r2   pygments.lexerr   r   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   pygments.lexers.shellr   __all__r   r   r   r   r6   r/   <module>ro      sX    
    +
>,E ,^;
 ;|Q Qr6   