blob: 11bc4326792d374186c8f4fe1e163a49bbebcb4c [file] [log] [blame]
Martin Roth1c9c4b82016-11-30 10:29:39 -07001#!/bin/sh
2# This file is part of the coreboot project.
3#
4# Copyright (C) 2016 Google Inc.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; version 2 of the License.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# DESCR: Check for auto-included headers
16
17LC_ALL=C export LC_ALL
18
19INCLUDED_DIRS='^src/'
20EXCLUDED_FILES='src/include/kconfig.h'
21
22# TODO: Add rules when those patches are complete
23HEADER_FILES="k*config"
24
25# Use git grep if the code is in a git repo, otherwise use grep.
Alex Thiessen73f19dc2018-01-16 23:05:48 +000026if [ -n "$(command -v git)" ] && \
27 [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]
28then
Martin Roth1c9c4b82016-11-30 10:29:39 -070029 GREP_FILES="git grep -n"
30else
31 GREP_FILES="grep -rn"
32fi
33
34for header in $HEADER_FILES; do
35 ${GREP_FILES} "#\s*include\s\+[\"<]\s*${header}\.h\s*[\">]" | \
36 grep "$INCLUDED_DIRS" | \
37 grep -v "$EXCLUDED_FILES"; \
Alex Thiessen687b9612018-01-18 23:11:07 +000038done