# Object files
*.o
*.ko
*.obj
*.elf
*.cbor

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
a.bat

# Debug files
*.dSYM/

# emacs files
*#
*~
\#*

Debug
Release

# CMAKE FILES
CMakeFiles
CMakeCache.txt
Makefile
*.cmake
build

# Visual Studio files
*.sdf
*.sln
*.suo
*.vcxproj
*.vcxproj.filters
*.vcxproj.user
*.opensdf
*.VC.db
*.VC.opendb

# CMake and CTest directories
project_cn-cbor-prefix
project_embedtls-prefix
Testing
dist
test/test.cbor
*.tcl

# Coverity
cov-int

# Doxygen
html
latex
doxygen.bat
