mirror of
				https://github.com/yggdrasil-network/yggstack.git
				synced 2025-10-31 23:05:06 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			939 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			939 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -ef
 | |
| 
 | |
| PKGSRC=${PKGSRC:-github.com/yggdrasil-network/yggdrasil-go/src/version}
 | |
| PKGNAME=${PKGNAME:-$(sh contrib/semver/name.sh)}
 | |
| PKGVER=${PKGVER:-$(sh contrib/semver/version.sh --bare)}
 | |
| 
 | |
| LDFLAGS="-X $PKGSRC.buildName=$PKGNAME -X $PKGSRC.buildVersion=$PKGVER"
 | |
| ARGS="-v"
 | |
| 
 | |
| while getopts "utc:l:dro:ps" option
 | |
| do
 | |
|   case "$option"
 | |
|   in
 | |
|   u) UPX=true;;
 | |
|   t) TABLES=true;;
 | |
|   c) GCFLAGS="$GCFLAGS $OPTARG";;
 | |
|   l) LDFLAGS="$LDFLAGS $OPTARG";;
 | |
|   d) ARGS="$ARGS -tags debug" DEBUG=true;;
 | |
|   r) ARGS="$ARGS -race";;
 | |
|   o) ARGS="$ARGS -o $OPTARG";;
 | |
|   p) ARGS="$ARGS -buildmode=pie";;
 | |
|   s) ARGS="$ARGS -tags netgo,osusersgo,static" LDFLAGS="$LDFLAGS -extldflags '-static'" CGO_ENABLED=0;;
 | |
|   esac
 | |
| done
 | |
| 
 | |
| if [ -z $TABLES ] && [ -z $DEBUG ]; then
 | |
|   LDFLAGS="$LDFLAGS -s -w"
 | |
| fi
 | |
| 
 | |
| for CMD in yggstack ; do
 | |
|   echo "Building: $CMD"
 | |
|   go build $ARGS -ldflags="$LDFLAGS" -gcflags="$GCFLAGS" ./cmd/$CMD
 | |
| 
 | |
|   if [ $UPX ]; then
 | |
|     upx --brute $CMD
 | |
|   fi
 | |
| done
 | 
