#
# NOTE! Don't add files that are generated in specific
# subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead.
#
# Normal rules
#
omri.pl
comri.pl
.gitignore
*.rej
*.orig
*.a
*.o
*.su
*~
*.swp
*.patch
*.bin
*.dis
*.elf
*.srec
*.elf


# Build tree
/build-*

#
# Top-level generic files
#

/MLO
/System.map
/u-boot
/u-boot.hex
/u-boot.imx
/u-boot.map
/u-boot.srec
/u-boot.ldr
/u-boot.ldr.hex
/u-boot.ldr.srec
/u-boot.img
/u-boot.kwb
/u-boot.sha1
/u-boot.dis
/u-boot.lds
/u-boot.ubl
/u-boot.ais
/u-boot.dtb
/u-boot.sb
/u-boot.geany
/include/u-boot.lst

#
# Generated files
#

*.depend*
/LOG
/errlog
/reloc_off

/include/generated/
asm-offsets.s

# stgit generated dirs
patches-*
.stgit-edit.txt

# quilt's files
patches
series

# gdb files
.gdb_history

# cscope files
cscope.*

# tags files
/tags
/ctags
/etags

# spl ais files
/spl/*.ais

# build output
/output
output.*.tar
