forked from bonsai/harakit
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						||
 | 
						||
# Copyright (c) 2023–2024 Emma Tebibyte <emma@tebibyte.media>
 | 
						||
# SPDX-License-Identifier: FSFAP
 | 
						||
#
 | 
						||
# Copying and distribution of this file, with or without modification, are
 | 
						||
# permitted in any medium without royalty provided the copyright notice and this
 | 
						||
# notice are preserved.  This file is offered as-is, without any warranty.
 | 
						||
 | 
						||
set -e
 | 
						||
 | 
						||
CFLAGS='-Lbuild/lib -idirafter include -O3'
 | 
						||
RUSTFLAGS='-Copt-level=z -Ccodegen-units=1 -Cpanic=abort -Clto=y \
 | 
						||
	-Cstrip=symbols -Ctarget-cpu=native \
 | 
						||
	--extern sysexits=build/o/libsysexits.rlib'
 | 
						||
 | 
						||
if [ "$1" = "clean" ]; then
 | 
						||
	rm *.mk || true
 | 
						||
	exit 0
 | 
						||
fi
 | 
						||
 | 
						||
while test -n "$1"; do
 | 
						||
	case "$1" in
 | 
						||
		clang)
 | 
						||
			CFLAGS="$CFLAGS -Wall"
 | 
						||
			;;
 | 
						||
		gcc)
 | 
						||
			CFLAGS="$CFLAGS -s -Wl,-z,noseparate-code,-z,nosectionheader -flto"
 | 
						||
			;;
 | 
						||
		rustc) ;;
 | 
						||
		'rustc +nightly')
 | 
						||
			RUSTFLAGS="+nightly -Zlocation-detail=none $RUSTFLAGS"
 | 
						||
			;;
 | 
						||
		*)
 | 
						||
			printf 'Usage: %s [clean | compiler]\n' "$0"
 | 
						||
			exit 64 # sysexits.h(3) EX_USAGE
 | 
						||
			;;
 | 
						||
	esac
 | 
						||
 | 
						||
	shift
 | 
						||
done
 | 
						||
 | 
						||
printf 'CFLAGS=%s\n' "$CFLAGS" >cc.mk
 | 
						||
printf 'RUSTFLAGS=%s\n' "$RUSTFLAGS" >rustc.mk
 |