
    7j>                         d Z ddlmZ ddZy)z& Functions for working with Makefiles
    )PathNc                 Z   |si }t        |       } | j                         r| j                  d      j                  d      }|D ]c  }|j	                         j                  d      r$d|v r"|d|j                  d       j	                         }d|v sOd|v rv|j                  dd      \  }}|j	                         |vr"|j	                         ||j	                         <   ||j	                         xx   d	|j	                         z   z  cc<   d
|v rK|j                  d
d      \  }}|j	                         |vs|j	                         ||j	                         <   d|v r|j                  dd       |j                  dd      \  }}|j	                         ||j	                         <   f |S )zTurn a rules.mk file into a dictionary.

    Args:
        file: path to the rules.mk file
        rules_mk: already parsed rules.mk the new file should be merged with

    Returns:
        a dictionary with the file's content
    zutf-8)encoding
#N=z+=    z?=z:=: )r   exists	read_textsplitstrip
startswithindexreplace)filerules_mkrules_mk_lineslinekeyvalues         E/home/hanthebot/chat/keyboard/qmk_firmware/lib/python/qmk/makefile.pyparse_rules_mk_filer      sr    :D{{}9??E" 	:Dzz|&&s+ d{,TZZ_-335d{4<!%D!!4JCyy{(205- -u{{}1DD-T\!%D!!4JCyy{(205-t|S"-!%C!3JC,1KKMHSYY[)5	:8 O    )N)__doc__pathlibr   r    r   r   <module>r       s    -r   