Makefile
Makefile.in
.deps
.dirstamp
.libs
*.o
*.lo
*.la
*.pc
*.pyc
aclocal.m4
acinclude.m4
aminclude.am
m4/*.m4
!m4/ax_*.m4
autom4te.cache
config.cache
config.h*
config.sub
config.log
config.status
config.guess
configure
compile
depcomp
missing
ltmain.sh
install-sh
stamp-h1
libtool
libosmocore-*.tar.*
*~

# libtool for different platforms like arm-poky-linux-gnueabi-libtool
*-libtool

Doxyfile.core
Doxyfile.ctrl
Doxyfile.gsm
Doxyfile.isdn
Doxyfile.vty
Doxyfile.codec
Doxyfile.coding
Doxyfile.gb
Doxyfile.sim
Doxyfile.usb

debian/autoreconf.after
debian/autoreconf.before
debian/files
debian/libosmocore-dev/
debian/libosmocore*.log
debian/tmp/
debian/libosmocore*.substvars
debian/libosmocore/
debian/libosmocore.post*.debhelper

.tarball-version
.version

#gnu autotest
tests/package.m4
tests/atconfig
tests/atlocal
tests/osmo-test
tests/package.m4
tests/testsuite
tests/testsuite.dir/
tests/testsuite.log
tests/*/*_test

utils/osmo-arfcn
utils/osmo-auc-gen
utils/osmo-config-merge
utils/osmo-gsmtap-logsend
utils/osmo-sim-test
utils/osmo-aka-verify

doc/codec
doc/coding
doc/core
doc/ctrl
doc/vty/latex
doc/vty/html
doc/vty/doxygen_sqlite3.db
doc/gsm
doc/isdn
doc/gb
doc/sim
doc/usb
doc/html.tar
doc/*.tag
doc/*.tag.prep
tags

src/core/crc*gen.c
src/gsm/gsm0503_conv.c
src/gsm/*_gen.c
include/osmocom/core/crc*gen.h
include/osmocom/core/bit*gen.h
include/osmocom/core/socket_compat.h
include/osmocom/gsm/gsm0503.h
tests/conv/gsm0503_test_vectors.c

# vi files
*.sw?
/tests/libsercomstub.a

# code coverage reports
libosmocore-*-coverage*
coverage-cobertura.xml

contrib/libosmocore.spec
/utils/osmo-ns-dummy
utils/osmo-stat-dummy/osmo-stat-dummy
