mirror of
				https://github.com/RfidResearchGroup/proxmark3.git
				synced 2025-10-27 22:48:07 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| # Output a version.c file that includes information about the current build
 | |
| # From mkversion.pl
 | |
| # pure sh POSIX as now even on Windows we use WSL or ProxSpace with sh available
 | |
| 
 | |
| # Clear environment locale so that git will not use localized strings
 | |
| export LC_ALL="C"
 | |
| export LANG="C"
 | |
| 
 | |
| # if you are making your own fork,  change this line to reflect your fork-name
 | |
| fullgitinfo="RRG/Iceman"
 | |
| # GIT status  0 = dirty,  1 = clean ,  2 = undecided
 | |
| clean=2
 | |
| 
 | |
| # Do we have acces to git command?
 | |
| commandGIT=$(env git)
 | |
| 
 | |
| if [ "$commandGIT" != "" ]; then
 | |
| 
 | |
|     # now avoiding the "fatal: No names found, cannot describe anything." error by fallbacking to abbrev hash in such case
 | |
|     gitversion=$(git describe --dirty --always)
 | |
|     gitbranch=$(git rev-parse --abbrev-ref HEAD)
 | |
|     if [ "$1" != "--undecided" ]; then
 | |
|         if [ "$gitversion" != "${gitversion%-dirty}" ]; then
 | |
|             clean=0
 | |
|         else
 | |
|             clean=1
 | |
|         fi
 | |
|     fi
 | |
|     if [ "$gitbranch" != "" ] && [ "$gitversion" != "" ]; then
 | |
|         fullgitinfo="${fullgitinfo}/${gitbranch}/${gitversion}"
 | |
|         ctime="$(date '+%Y-%m-%d %H:%M:%S')"
 | |
|     else
 | |
|         fullgitinfo="${fullgitinfo}/master/release (git)"
 | |
|     fi
 | |
| else
 | |
|     fullgitinfo="${fullgitinfo}/master/release (no_git)"
 | |
|     dl_time=$(stat --printf="%y" ../README.md)
 | |
|     # POSIX way...
 | |
|     ctime=${dl_time%.*}
 | |
| fi
 | |
| 
 | |
| # Crop so it fits within 50 characters C string, so max 49 chars
 | |
| # POSIX way
 | |
| fullgitinfoextra="${fullgitinfo#??????????????????????????????????????????????}"
 | |
| if [ "$fullgitinfoextra" != "$fullgitinfo" ]; then
 | |
|     fullgitinfo46="${fullgitinfo%"${fullgitinfoextra}"}"
 | |
|     fullgitinfo="${fullgitinfo46}..."
 | |
| fi
 | |
| cat <<EOF
 | |
| #include "common.h"
 | |
| /* Generated file, do not edit */
 | |
| #ifndef ON_DEVICE
 | |
| #define SECTVERSINFO
 | |
| #else
 | |
| #define SECTVERSINFO __attribute__((section(".version_information")))
 | |
| #endif
 | |
| 
 | |
| const struct version_information SECTVERSINFO version_information = {
 | |
|     VERSION_INFORMATION_MAGIC,
 | |
|     1,
 | |
|     1,
 | |
|     $clean,
 | |
|     "$fullgitinfo",
 | |
|     "$ctime",
 | |
| };
 | |
| EOF
 |