# Ignore miscellaneous files
cscope.*
*.swp
*.patch
*~
.project
.cproject

# Ignore build directory
build/

# Ignore build products from tools
tools/**/*.o
tools/fip_create/
tools/fiptool/fiptool
tools/fiptool/fiptool.exe
tools/cert_create/src/*.o
tools/cert_create/src/**/*.o
tools/cert_create/cert_create
tools/cert_create/cert_create.exe

# GNU GLOBAL files
GPATH
GRTAGS
GSYMS
GTAGS
