# Compiled Lua sources
luac.out

# luarocks build files
*.src.rock
*.zip
*.tar.gz

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

# Precompiled Headers
*.gch
*.pch

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

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

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

# develop
*.log
*.pid
t/servroot
go
\.*
conf/apisix.uid
conf/nginx.conf
deps
scgi_temp
uwsgi_temp
proxy_temp
fastcgi_temp
client_body_temp
utils/lj-releng
