sources = glob(['**/*.c'])
sources += glob(['**/Makefile'])

out = 'out'

clean_cmd = ' '.join(['rm', '-rf', out])
env_cmd = ' '.join(['export', 'INFER_REPORT_CUSTOM_ERROR=1'])
infer_cmd = ' '.join([
    'infer',
    '--no-progress-bar',
    '--no-filtering',
    '-o', 'out',
    '--testing_mode',
    '--',
    'make'
])
copy_cmd = ' '.join(['cp', out + '/report.csv', '$OUT'])
command = ' && '.join([clean_cmd, env_cmd, infer_cmd, copy_cmd])

genrule(
    name = 'analyze',
    srcs = sources,
    out = 'report.csv',
    cmd = command,
    visibility = [
        'PUBLIC',
    ],
)
