# Prerequisites
*.d

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

# Linker output
*.ilk
*.map
*.exp

# 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
*.rom
*.bin
*.efi
*.srec

# Debug files
*.dSYM/
*.su
*.idb
*.pdb
*.gdb
*.log

# automatically generated keys
*.der
*.pem
*.sig

# automatically generated source files
src/keystore.c
src/ed25519_pub_key.c
src/ed448_pub_key.c
src/ecc256_pub_key.c
src/ecc384_pub_key.c
src/ecc512_pub_key.c
src/rsa2048_pub_key.c
src/rsa4096_pub_key.c

# Any other generated keystore files
/**/keystore.c
/**/wolfboot_signing_private_key.der
/**/keystore.der

# Converted from generated files
/**/keystore_spki.der
/**/keystore_spki.pem

# Renesas key data files
include/key_data.*
include/enckey_data.*

# keygen binaries
tools/keytools/sign
tools/keytools/sign.exe
tools/keytools/keygen
tools/keytools/keygen.exe
tools/keytools/x64
tools/keytools/Debug
tools/keytools/Release
tools/keytools/otp/otp-keystore-primer


# delta binaries
tools/delta/bmdiff
tools/delta/bmpatch

# otp-keystore-gen binary
tools/keytools/otp/otp-keystore-gen

# test-server binary
test-app/emu-test-apps/*/test-update-server

# Vim swap files
.*.swp

# emacs backups
**~

# tags etc.
cscope.out
tags

# Generated files
.wolfboot-config
include/target.h
.wolfboot-arch-offset
.wolfboot-offset
.wolfboot-partition-size
.bootloader-partition-size
NVChip
MPLabX/wolfBoot-SAME51.X/.generated_files/
test-dummy-ca/**

# Test tools
tools/check_config/check_config
tools/test-expect-version/test-expect-version
tools/test-update-server/server
tools/uart-flash-server/ufserver
tools/bin-assemble/bin-assemble
tools/elf-parser/elf-parser
tools/fdt-parser/fdt-parser
tools/tpm/rot
tools/tpm/pcr_read
tools/tpm/pcr_reset
tools/tpm/pcr_extend
tools/tpm/policy_create
tools/tpm/policy_sign
config/*.ld
config/*.sct
test-lib
lib-fs

#unit tests

tools/unit-tests/unit-aes128
tools/unit-tests/unit-aes256
tools/unit-tests/unit-chacha20
tools/unit-tests/unit-delta
tools/unit-tests/unit-disk
tools/unit-tests/unit-enc-nvm
tools/unit-tests/unit-enc-nvm-flagshome
tools/unit-tests/unit-extflash
tools/unit-tests/unit-image
tools/unit-tests/unit-libwolfboot-extra
tools/unit-tests/unit-mock-state
tools/unit-tests/unit-nvm
tools/unit-tests/unit-nvm-flagshome
tools/unit-tests/unit-parser
tools/unit-tests/unit-pci
tools/unit-tests/unit-pkcs11_store
tools/unit-tests/unit-sectorflags
tools/unit-tests/unit-spi-flash
tools/unit-tests/unit-string
tools/unit-tests/unit-update-flash
tools/unit-tests/unit-update-flash-enc
tools/unit-tests/unit-update-ram
tools/unit-tests/unit-boot-x86-fsp
tools/unit-tests/unit-image-rsa
tools/unit-tests/unit-multiboot
tools/unit-tests/unit-psa_store
tools/unit-tests/unit-qspi-flash
tools/unit-tests/unit-tpm-rsa-exp
tools/unit-tests/unit-image-nopart
tools/unit-tests/unit-image-sha3-384
tools/unit-tests/unit-image-sha384
tools/unit-tests/unit-image-dts
tools/unit-tests/unit-image-dts-sha384
tools/unit-tests/unit-image-dts-sha3-384
tools/unit-tests/unit-store-sbrk
tools/unit-tests/unit-tpm-blob
tools/unit-tests/unit-update-disk
tools/unit-tests/unit-policy-sign
tools/unit-tests/unit-fdt
tools/unit-tests/unit-hal-otp
tools/unit-tests/unit-rot-auth
tools/unit-tests/unit-sdhci-response-bits
tools/unit-tests/unit-tpm-check-rot-auth
tools/unit-tests/unit-policy-create
tools/unit-tests/unit-sign-encrypted-output
tools/unit-tests/unit-update-flash-delta
tools/unit-tests/unit-update-flash-self-update
tools/unit-tests/unit-update-flash-hook
tools/unit-tests/unit-loader-tpm-init
tools/unit-tests/unit-update-ram-nofixed
tools/unit-tests/unit-update-ram-noramboot
tools/unit-tests/unit-update-flash-hwswap
tools/unit-tests/unit-uart-flash
tools/unit-tests/unit-max-space
tools/unit-tests/unit-sdhci-disk-unaligned
tools/unit-tests/unit-fwtpm-stub
tools/unit-tests/unit-gzip
tools/unit-tests/unit-fit-gzip
tools/unit-tests/unit-fit-nogzip
tools/unit-tests/unit-flash-erase-h7
tools/unit-tests/unit-keygen-xmss-params
tools/unit-tests/unit-linux-loader-e820
tools/unit-tests/unit-linux-loader-syssize
tools/unit-tests/unit-mpusize
tools/unit-tests/unit-otp-keystore
tools/unit-tests/unit-otp-keystore-gen-zeroize
tools/unit-tests/unit-tpm-api-names
tools/unit-tests/unit-tpm-nsc-cert
tools/unit-tests/unit-tpm-advio-zeroize
tools/unit-tests/unit-tpm-mfgid-eh-zeroize
tools/unit-tests/unit-elf-bss-guard
tools/unit-tests/unit-fit-fpga
tools/unit-tests/unit-flash-erase-c0
tools/unit-tests/unit-flash-erase-g0
tools/unit-tests/unit-flash-erase-l0
tools/unit-tests/unit-flash-erase-u3
tools/unit-tests/unit-flash-erase-wb
tools/unit-tests/unit-flash-erase-mcxw
tools/unit-tests/unit-fwtpm-nv-oob
tools/unit-tests/unit-x86-paging-oob
tools/unit-tests/unit-ahci-unlock-panic
tools/unit-tests/unit-ata-security-passphrase-zeroize
tools/unit-tests/unit-arm-tee-psa-ipc
tools/unit-tests/unit-flash-write-mcxa
tools/unit-tests/unit-flash-write-nrf52
tools/unit-tests/unit-flash-write-same51
tools/unit-tests/unit-flash-write-samr21
tools/unit-tests/unit-image-elf-scatter
tools/unit-tests/unit-image-hybrid
tools/unit-tests/unit-imx-rt-cache-align
tools/unit-tests/unit-update-disk-fit
tools/unit-tests/unit-update-disk-oob
tools/unit-tests/unit-update-ram-enc
tools/unit-tests/unit-update-ram-enc-nopart
tools/unit-tests/unit-va416x0-fram
tools/unit-tests/unit-wolfhsm_flash_hal
tools/unit-tests/__pycache__/*



# Elf preprocessing tools
tools/squashelf/**
!tools/squashelf/squashelf.c
!tools/squashelf/Makefile
!tools/squashelf/README.md
!tools/squashelf/test-range-overflow.py
!tools/squashelf/test-align-overflow.py

# Generated configuration files
.config
*.filters
*.user

# IAR files not under version control
IDE/IAR/settings
IDE/IAR/*.ewt
IDE/IAR/Debug
IDE/IAR/Release

# Simulated Flash files
*.dd

# CMake
build/
CMakeFiles/
CMakeCache.txt
# User specific presets should never be included.
# See docs: https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html
/**/CMakeUserPresets.json

# Stage 1
stage1/loader_stage1.ld
hal/x86_fsp_tgl_stage1.ld
hal/x86_fsp_qemu_stage1.ld

debug/lauterbach

#clangd cache
.cache/*

#gcov files
*.gcov
*.gcda
*.gcno
coverage.*

IDE/MPLAB/test-app/test-usb-updater.same51.X/dist/
IDE/MPLAB/test-app/test-usb-updater.same51.X/.generated_files/
IDE/MPLAB/bootloader/wolfboot-same51.dualbank.X/dist/
IDE/MPLAB/bootloader/wolfboot-same51.dualbank.X/.generated_files/

# IDE Renesas e2Studio generated
IDE/Renesas/e2studio/RZN2L/app_RZ/Debug
IDE/Renesas/e2studio/RZN2L/app_RZ/rzn
IDE/Renesas/e2studio/RZN2L/app_RZ/rzn_gen
IDE/Renesas/e2studio/RZN2L/app_RZ/rzn_cfg
IDE/Renesas/e2studio/RZN2L/app_RZ/.settings
IDE/Renesas/e2studio/RZN2L/app_RZ/.api_xml
IDE/Renesas/e2studio/RZN2L/app_RZ/.secure_azone
IDE/Renesas/e2studio/RZN2L/app_RZ/.secure_xml
IDE/Renesas/e2studio/RZN2L/app_RZ/configuration.xml
IDE/Renesas/e2studio/RZN2L/app_RZ/rzn_cfg.txt
IDE/Release/e2Studio/RZN2L/app_RZ/JLinkLog.log
IDE/Renesas/e2studio/RZN2L/flash_app/Debug
IDE/Renesas/e2studio/RZN2L/flash_app/rzn
IDE/Renesas/e2studio/RZN2L/flash_app/rzn_gen
IDE/Renesas/e2studio/RZN2L/flash_app/rzn_cfg
IDE/Renesas/e2studio/RZN2L/flash_app/.settings
IDE/Renesas/e2studio/RZN2L/flash_app/.api_xml
IDE/Renesas/e2studio/RZN2L/flash_app/.secure_azone
IDE/Renesas/e2studio/RZN2L/flash_app/.secure_xml
IDE/Renesas/e2studio/RZN2L/flash_app/configuration.xml
IDE/Renesas/e2studio/RZN2L/flash_app/rzn_cfg.txt
IDE/Release/e2Studio/RZN2L/flash_app/JLinkLog.log
IDE/Renesas/e2studio/RZN2L/flash_app/flash_simple_loader.elf.jlink
IDE/Renesas/e2studio/RZN2L/flash_app/flash_simple_loader.elf.launch
IDE/Renesas/e2studio/RZN2L/wolfboot/Debug
IDE/Renesas/e2studio/RZN2L/wolfboot/rzn
IDE/Renesas/e2studio/RZN2L/wolfboot/rzn_gen
IDE/Renesas/e2studio/RZN2L/wolfboot/rzn_cfg
IDE/Renesas/e2studio/RZN2L/wolfboot/.settings
IDE/Renesas/e2studio/RZN2L/wolfboot/.api_xml
IDE/Renesas/e2studio/RZN2L/wolfboot/.secure_azone
IDE/Renesas/e2studio/RZN2L/wolfboot/.secure_xml
IDE/Renesas/e2studio/RZN2L/wolfboot/configuration.xml
IDE/Renesas/e2studio/RZN2L/wolfboot/rzn_cfg.txt
IDE/Release/e2Studio/RZN2L/wolfboot/JLinkLog.log
IDE/Renesas/e2studio/RZN2L/wolfboot/wolfBoot_RZ.elf.jlink
IDE/Renesas/e2studio/RZN2L/wolfboot/wolfBoot_RZ.elf.launch
IDE/Renesas/e2studio/RZN2L/wolfboot/.cache/*
IDE/Renesas/e2studio/RZN2L/flash_app/.cache/*
IDE/Release/e2studio/RZN2L/app_RZ/.cache/*

# IDE AURIX generated
IDE/AURIX/*/TriCore* (GCC)/*
IDE/AURIX/*/TriCore* (TASKING)/*
IDE/AURIX/*/.settings/*
IDE/AURIX/*/.ads/*
IDE/AURIX/SDK/*
!IDE/AURIX/SDK/placeholder.txt
IDE/AURIX/Configurations/*
!IDE/AURIX/Configurations/placeholder.txt
IDE/AURIX/wolfHSM-infineon-tc3xx/*
!IDE/AURIX/wolfHSM-infineon-tc3xx/placeholder.txt
IDE/AURIX/wolfBoot-tc3xx/wolfBoot_macros.txt
IDE/AURIX/wolfBoot-tc3xx-wolfHSM/wolfBoot_macros.txt
IDE/AURIX/test-app/Lcf_Gnuc_Tricore_Tc.lsl
IDE/AURIX/test-app-wolfHSM/Lcf_Gnuc_Tricore_Tc.lsl

tpm_seal_key.key

# FSP downloaded headers
include/x86/fsp/FspUpd.h
include/x86/fsp/FspmUpd.h
include/x86/fsp/FspsUpd.h
include/x86/fsp/FsptUpd.h
include/x86/fsp/MemInfoHob.h

# IDE Renesas e2Studio generated
IDE/Renesas/e2studio/RX72N/app_RenesasRX01/HardwareDebug
IDE/Renesas/e2studio/RX72N/app_RenesasRX01/src/smc_gen
IDE/Renesas/e2studio/RX72N/wolfBoot/HardwareDebug
IDE/Renesas/e2studio/RX72N/wolfBoot/src/smc_gen

# IDE pico-sdk build directories
IDE/pico-sdk/rp2350/wolfboot/build
IDE/pico-sdk/rp2350/test-app/build

# Third party test application distributed off-tree
IDE/pico-sdk/rp2350/test-app/blink.c

# Renesas Libraries
lib/r_bsp
lib/r_config
lib/r_flash_rx
lib/r_tsip_rx

Debug/
Release/
language.settings.xml

# Backup files
*.bak

# Any Visual Studio / VisualGDB
/**/.vs/**
/**/.visualgdb/**

# --- Whitelist specific files in the *root* .vs folder ---
# Allow Git to descend into the root .vs directory
!/.vs/

# Defaults are set in files otherwise excluded:
!**/.vs/README.md
!**/.vs/VSWorkspaceSettings.json


# Any build directories
/**/build
/**/build-**

# User config
# See cmake/config_defaults_user.cmake.sample
/**/cmake/config_defaults_user.cmake

# Eclipse
.cproject
.project
.settings/

# PolarFire SoC Device Tree Binary
hal/mpfs.dtb
bootmode1/

# Emulator test: generated linker scripts
test-app/emu-test-apps/*/target.ld

# AMD/Xilinx Versal test artifacts
uart_log*.txt
build_test*.log
optional_data.txt
wolfboot_output_*.log
BOOT.BIN
Image
fitImage
image.ub
*.pdi
system-default.dtb
test_output/
sdcard.img

# wolfHSM STM32H5 TZ demo build output
port/stmicro/stm32h5-tz-wolfhsm/out/

# CI-only generated Libero settings stub (see tools/ci/gen_mpfs_libero_stub.sh)
tools/ci/mpfs_libero_stub/
# gnu-efi built for the AArch64 UEFI target and its cloned source
tools/gnu-efi-aarch64/
tools/gnu-efi-src/
# aarch64_efi working/staging dirs (build artifacts, not tracked)
aarch64_efi-stage/
tools/qemu-esp/
# UEFI Secure Boot keys/certs generated by tools/scripts/sign-efi-secureboot.sh
tools/efi-secureboot-keys/
