#!/usr/bin/env python

import re
import os

items = [
'CONFIG/CMakeCache.txt',
'CONFIG/CMakeFiles/3.2.1/CMakeCCompiler.cmake',
'CONFIG/CMakeFiles/3.2.1/CMakeCXXCompiler.cmake',
'CONFIG/CMakeFiles/3.2.1/CMakeSystem.cmake',
'CONFIG/CMakeFiles/feature_tests.c',
'CONFIG/CMakeFiles/feature_tests.cxx',
'CONFIG/LLVMBuild.cmake',
'CONFIG/include/llvm/Config/AsmParsers.def',
'CONFIG/include/llvm/Config/AsmPrinters.def',
'CONFIG/include/llvm/Config/Disassemblers.def',
'CONFIG/include/llvm/Config/Targets.def',
'CONFIG/include/llvm/Config/config.h',
'CONFIG/include/llvm/Config/llvm-config.h',
'CONFIG/include/llvm/Support/DataTypes.h',
'CONFIG/tools/clang/include/clang/Basic/Version.inc',
'CONFIG/tools/clang/include/clang/Config/config.h',
]
replacements = [(item.replace('CONFIG', 'OBJ'), item)
                for item in items]

def rewrite_depfile(path):
    print 'rewriting...', path

    with open(path) as f:
        data = f.read()

    data = re.sub('/Users/ddunbar/llvm/', 'SRCS/', data)
    data = re.sub('^(lib/|include/|tools/)', r'OBJ/\1', data)
    data = re.sub(' (lib/|include/|tools/)', r' OBJ/\1', data)

    for a,b in replacements:
        data = data.replace(a, b)

    with open(path, 'w') as f:
        f.write(data)

for dirpath, dirnames, filenames in os.walk('.'):
    for filename in filenames:
        if filename.endswith('.d'):
            rewrite_depfile(os.path.join(dirpath, filename))
        
