# VS Code Configs
.vscode/*
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/settings.json

# Platforms
.DS_Store

# Build System
Makefile.in
aclocal.m4
autom4te.cache
output/
/build/
examples/**/build
config.log
config.status
configure
src/include/BuildConfig.h.in
src/include/BuildConfig.h.in~

# Repos stuff
.repos-warning-stamp
third_party/nlassert/
third_party/nlfaultinjection/
third_party/nlio/
third_party/nlunit-test/
third_party/mbedtls/
examples/common/m5stack-tft/
examples/common/QRCode/repo/

# Example specific rules
examples/**/sdkconfig
examples/**/sdkconfig.old

# ESP32 QEMU build
src/test_driver/esp32/build

# Temporary Directories
.tmp/

# Xcode, other development environment stuff
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/
*.xcodeproj/*
*.xcworkspace/*
TAGS
