1 changed files with 0 additions and 298 deletions
			
			
		@ -1,298 +0,0 @@ | 
				
			|||||||
#!/bin/bash -e | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# build | 
					 | 
				
			||||||
#	Simple wiringPi build and install script | 
					 | 
				
			||||||
# | 
					 | 
				
			||||||
#	Copyright (c) 2012-2015 Gordon Henderson | 
					 | 
				
			||||||
################################################################################# | 
					 | 
				
			||||||
# This file is part of wiringPi: | 
					 | 
				
			||||||
#	A "wiring" library for the Raspberry Pi | 
					 | 
				
			||||||
# | 
					 | 
				
			||||||
#    wiringPi is free software: you can redistribute it and/or modify | 
					 | 
				
			||||||
#    it under the terms of the GNU Lesser General Public License as published by | 
					 | 
				
			||||||
#    the Free Software Foundation, either version 3 of the License, or | 
					 | 
				
			||||||
#    (at your option) any later version. | 
					 | 
				
			||||||
# | 
					 | 
				
			||||||
#    wiringPi is distributed in the hope that it will be useful, | 
					 | 
				
			||||||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					 | 
				
			||||||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					 | 
				
			||||||
#    GNU Lesser General Public License for more details. | 
					 | 
				
			||||||
# | 
					 | 
				
			||||||
#    You should have received a copy of the GNU Lesser General Public License | 
					 | 
				
			||||||
#    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>. | 
					 | 
				
			||||||
################################################################################# | 
					 | 
				
			||||||
# | 
					 | 
				
			||||||
# wiringPi is designed to run on a Raspberry Pi only. | 
					 | 
				
			||||||
#	However if you're clever enough to actually look at this script to | 
					 | 
				
			||||||
#	see why it's not building for you, then good luck. | 
					 | 
				
			||||||
# | 
					 | 
				
			||||||
#	To everyone else: Stop using cheap alternatives. Support the | 
					 | 
				
			||||||
#	Raspberry Pi Foundation	as they're the only ones putting money | 
					 | 
				
			||||||
#	back into education! | 
					 | 
				
			||||||
################################################################################# | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
check_make_ok() { | 
					 | 
				
			||||||
  if [ $? != 0 ]; then | 
					 | 
				
			||||||
    echo "" | 
					 | 
				
			||||||
    echo "Make Failed..." | 
					 | 
				
			||||||
    echo "Please check the messages and fix any problems. If you're still stuck," | 
					 | 
				
			||||||
    echo "then please email all the output and as many details as you can to" | 
					 | 
				
			||||||
    echo "  projects@drogon.net" | 
					 | 
				
			||||||
    echo "" | 
					 | 
				
			||||||
    exit 1 | 
					 | 
				
			||||||
  fi | 
					 | 
				
			||||||
} | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
select_boards() | 
					 | 
				
			||||||
{ | 
					 | 
				
			||||||
	local cnt=0 | 
					 | 
				
			||||||
	local choice | 
					 | 
				
			||||||
	local call=${1} | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	boards=("orangepir1" | 
					 | 
				
			||||||
		"orangepizero" | 
					 | 
				
			||||||
		"orangepizero-lts" | 
					 | 
				
			||||||
		"orangepipc" | 
					 | 
				
			||||||
		"orangepipch5" | 
					 | 
				
			||||||
		"orangepipcplus" | 
					 | 
				
			||||||
		"orangepiplus2e" | 
					 | 
				
			||||||
		"orangepione" | 
					 | 
				
			||||||
		"orangepioneh5" | 
					 | 
				
			||||||
		"orangepilite" | 
					 | 
				
			||||||
		"orangepiplus" | 
					 | 
				
			||||||
		"orangepizeroplus2h3" | 
					 | 
				
			||||||
		"orangepizeroplus" | 
					 | 
				
			||||||
		"orangepipc2" | 
					 | 
				
			||||||
		"orangepiprime" | 
					 | 
				
			||||||
		"orangepizeroplus2h5" | 
					 | 
				
			||||||
		"orangepiwin" | 
					 | 
				
			||||||
		"orangepiwinplus" | 
					 | 
				
			||||||
		"orangepi3" | 
					 | 
				
			||||||
		"orangepi3-lts" | 
					 | 
				
			||||||
		"orangepilite2" | 
					 | 
				
			||||||
		"orangepioneplus" | 
					 | 
				
			||||||
		"orangepi4" | 
					 | 
				
			||||||
    		"orangepi4-lts" | 
					 | 
				
			||||||
		"orangepirk3399" | 
					 | 
				
			||||||
		"orangepi800" | 
					 | 
				
			||||||
		"orangepizero2" | 
					 | 
				
			||||||
		"orangepizero2-lts" | 
					 | 
				
			||||||
		"orangepizero2-b" | 
					 | 
				
			||||||
		"orangepir1plus-lts" | 
					 | 
				
			||||||
		"orangepir1plus") | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if [[ -f /etc/orangepi-release ]]; then | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		source /etc/orangepi-release | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	elif [[ -f /etc/armbian-release ]]; then | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		source /etc/armbian-release | 
					 | 
				
			||||||
		[[ $BOARD == orangepi-r1 ]] && BOARD=orangepir1 | 
					 | 
				
			||||||
		[[ $BOARD == orangepi-rk3399 ]] && BOARD=orangepirk3399 | 
					 | 
				
			||||||
		[[ $BOARD == orangepizeroplus2-h3 ]] && BOARD=orangepizeroplus2h3 | 
					 | 
				
			||||||
		[[ $BOARD == orangepizeroplus2-h5 ]] && BOARD=orangepizeroplus2h5 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	else | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		printf "All available boards:\n" | 
					 | 
				
			||||||
		for var in ${boards[@]} ; do | 
					 | 
				
			||||||
			printf "%4d. %s\n" $cnt ${boards[$cnt]} | 
					 | 
				
			||||||
			((cnt+=1)) | 
					 | 
				
			||||||
		done | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		while true ; do | 
					 | 
				
			||||||
		read -p "Choice: " choice | 
					 | 
				
			||||||
		if [ -z "${choice}" ] ; then | 
					 | 
				
			||||||
			continue | 
					 | 
				
			||||||
		fi | 
					 | 
				
			||||||
		if [ -z "${choice//[0-9]/}" ] ; then | 
					 | 
				
			||||||
			if [ $choice -ge 0 -a $choice -lt $cnt ] ; then | 
					 | 
				
			||||||
			export BOARD="${boards[$choice]}" | 
					 | 
				
			||||||
			break | 
					 | 
				
			||||||
			fi | 
					 | 
				
			||||||
		fi | 
					 | 
				
			||||||
		printf "Invalid input ...\n" | 
					 | 
				
			||||||
		done | 
					 | 
				
			||||||
	fi | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	[[ $BOARD == orangepir1 ]] && BOARD=orangepir1-h2 | 
					 | 
				
			||||||
	[[ $BOARD == orangepizero ]] && BOARD=orangepizero-h2 | 
					 | 
				
			||||||
	[[ $BOARD == orangepizero-lts ]] && BOARD=orangepizero-h2 | 
					 | 
				
			||||||
	[[ $BOARD == orangepipc ]] && BOARD=orangepipc-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepipch5 ]] && BOARD=orangepipc-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepipcplus ]] && BOARD=orangepipcplus-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepiplus2e ]] && BOARD=orangepiplus2e-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepione ]] && BOARD=orangepione-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepioneh5 ]] && BOARD=orangepione-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepilite ]] && BOARD=orangepilite-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepiplus ]] && BOARD=orangepiplus-h3 | 
					 | 
				
			||||||
	[[ $BOARD == orangepizeroplus ]] && BOARD=orangepizeroplus-h5 | 
					 | 
				
			||||||
	[[ $BOARD == orangepipc2 ]] && BOARD=orangepipc2-h5 | 
					 | 
				
			||||||
	[[ $BOARD == orangepiprime ]] && BOARD=orangepiprime-h5 | 
					 | 
				
			||||||
	[[ $BOARD == orangepiwin ]] && BOARD=orangepiwin-a64 | 
					 | 
				
			||||||
	[[ $BOARD == orangepiwinplus ]] && BOARD=orangepiwinplus-a64 | 
					 | 
				
			||||||
	[[ $BOARD == orangepi3 ]] && BOARD=orangepi3-h6 | 
					 | 
				
			||||||
	[[ $BOARD == orangepi3-lts ]] && BOARD=orangepi3-h6 | 
					 | 
				
			||||||
	[[ $BOARD == orangepilite2 ]] && BOARD=orangepilite2-h6 | 
					 | 
				
			||||||
	[[ $BOARD == orangepioneplus ]] && BOARD=orangepioneplus-h6 | 
					 | 
				
			||||||
	[[ $BOARD == orangepizero2 ]] && BOARD=orangepizero2-h616 | 
					 | 
				
			||||||
	[[ $BOARD == orangepizero2-lts ]] && BOARD=orangepizero2-h616 | 
					 | 
				
			||||||
	[[ $BOARD == orangepizero2-b ]] && BOARD=orangepizero2-h616 | 
					 | 
				
			||||||
	[[ $BOARD == orangepir1plus ]] && BOARD=orangepir1plus-rk3328 | 
					 | 
				
			||||||
	[[ $BOARD == orangepir1plus-lts ]] && BOARD=orangepir1plus-rk3328 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	export BOARD="${BOARD}" | 
					 | 
				
			||||||
} | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sudo=${WIRINGPI_SUDO-sudo} | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ x$1 = "xclean" ]; then | 
					 | 
				
			||||||
  cd wiringPi | 
					 | 
				
			||||||
  echo -n "wiringPi:   "	; make clean | 
					 | 
				
			||||||
  cd ../devLib | 
					 | 
				
			||||||
  echo -n "DevLib:     "	; make clean | 
					 | 
				
			||||||
  cd ../gpio | 
					 | 
				
			||||||
  echo -n "gpio:       "	; make clean | 
					 | 
				
			||||||
  cd ../examples | 
					 | 
				
			||||||
  echo -n "Examples:   "	; make clean | 
					 | 
				
			||||||
  cd Gertboard | 
					 | 
				
			||||||
  echo -n "Gertboard:  "	; make clean | 
					 | 
				
			||||||
  cd ../PiFace | 
					 | 
				
			||||||
  echo -n "PiFace:     "	; make clean | 
					 | 
				
			||||||
  cd ../q2w | 
					 | 
				
			||||||
  echo -n "Quick2Wire: "	; make clean | 
					 | 
				
			||||||
  cd ../PiGlow | 
					 | 
				
			||||||
  echo -n "PiGlow:     "	; make clean | 
					 | 
				
			||||||
  cd ../scrollPhat | 
					 | 
				
			||||||
  echo -n "scrollPhat: "	; make clean | 
					 | 
				
			||||||
  cd ../.. | 
					 | 
				
			||||||
  echo -n "Deb: " ; rm  -f debian-template/wiringpi*.deb | 
					 | 
				
			||||||
  echo | 
					 | 
				
			||||||
  exit | 
					 | 
				
			||||||
fi | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ x$1 = "xuninstall" ]; then | 
					 | 
				
			||||||
  cd wiringPi | 
					 | 
				
			||||||
  echo -n "wiringPi: " ; $sudo make uninstall | 
					 | 
				
			||||||
  cd ../devLib | 
					 | 
				
			||||||
  echo -n "DevLib:   " ; $sudo make uninstall | 
					 | 
				
			||||||
  cd ../gpio | 
					 | 
				
			||||||
  echo -n "gpio:     " ; $sudo make uninstall | 
					 | 
				
			||||||
  exit | 
					 | 
				
			||||||
fi | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Only if you know what you're doing! | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ x$1 = "xdebian" ]; then | 
					 | 
				
			||||||
  here=`pwd` | 
					 | 
				
			||||||
  echo "removing old libs" | 
					 | 
				
			||||||
  cd debian-template/wiringPi | 
					 | 
				
			||||||
  rm -rf usr | 
					 | 
				
			||||||
  echo "building wiringPi" | 
					 | 
				
			||||||
  cd $here/wiringPi | 
					 | 
				
			||||||
  make install-deb | 
					 | 
				
			||||||
  echo "building devLib" | 
					 | 
				
			||||||
  cd $here/devLib | 
					 | 
				
			||||||
  make install-deb INCLUDE='-I. -I../wiringPi' | 
					 | 
				
			||||||
  echo "building gpio" | 
					 | 
				
			||||||
  cd $here/gpio | 
					 | 
				
			||||||
  make install-deb INCLUDE='-I../wiringPi -I../devLib' LDFLAGS=-L../debian-template/wiringPi/usr/lib | 
					 | 
				
			||||||
  echo "Building deb package" | 
					 | 
				
			||||||
  cd $here/debian-template | 
					 | 
				
			||||||
  fakeroot dpkg-deb --build wiringPi | 
					 | 
				
			||||||
  mv wiringPi.deb  wiringpi-`cat $here/VERSION`-1.deb | 
					 | 
				
			||||||
  exit | 
					 | 
				
			||||||
fi | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ x$1 != "x" ]; then | 
					 | 
				
			||||||
  echo "Usage: $0 [clean | uninstall]" | 
					 | 
				
			||||||
  exit 1 | 
					 | 
				
			||||||
fi | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  select_boards | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  echo "wiringPi Build script" | 
					 | 
				
			||||||
  echo "=====================" | 
					 | 
				
			||||||
  echo | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  hardware=`fgrep Hardware /proc/cpuinfo | head -1 | awk '{ print $3 }'` | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#  if [ x$hardware != "xBCM2708" ]; then | 
					 | 
				
			||||||
#    echo "" | 
					 | 
				
			||||||
#    echo "   +------------------------------------------------------------+" | 
					 | 
				
			||||||
#    echo "   |   wiringPi is designed to run on the Raspberry Pi only.    |" | 
					 | 
				
			||||||
#    echo "   |   This processor does not appear to be a Raspberry Pi.     |" | 
					 | 
				
			||||||
#    echo "   +------------------------------------------------------------+" | 
					 | 
				
			||||||
#    echo "   | In the unlikely event that you think it is a Raspberry Pi, |" | 
					 | 
				
			||||||
#    echo "   | then please accept my apologies and email the contents of  |" | 
					 | 
				
			||||||
#    echo "   | /proc/cpuinfo to projects@drogon.net.                      |" | 
					 | 
				
			||||||
#    echo "   |    - Thanks, Gordon                                        |" | 
					 | 
				
			||||||
#    echo "   +------------------------------------------------------------+" | 
					 | 
				
			||||||
#    echo "" | 
					 | 
				
			||||||
#    exit 1 | 
					 | 
				
			||||||
#  fi | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  echo | 
					 | 
				
			||||||
  echo "WiringPi Library" | 
					 | 
				
			||||||
  cd wiringPi | 
					 | 
				
			||||||
  $sudo make uninstall | 
					 | 
				
			||||||
  if [ x$1 = "xstatic" ]; then | 
					 | 
				
			||||||
    make -j5 static | 
					 | 
				
			||||||
    check_make_ok | 
					 | 
				
			||||||
    $sudo make install-static | 
					 | 
				
			||||||
  else | 
					 | 
				
			||||||
    make -j5 | 
					 | 
				
			||||||
    check_make_ok | 
					 | 
				
			||||||
    $sudo make install | 
					 | 
				
			||||||
  fi | 
					 | 
				
			||||||
  check_make_ok | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  echo | 
					 | 
				
			||||||
  echo "WiringPi Devices Library" | 
					 | 
				
			||||||
  cd ../devLib | 
					 | 
				
			||||||
  $sudo make uninstall | 
					 | 
				
			||||||
  if [ x$1 = "xstatic" ]; then | 
					 | 
				
			||||||
    make -j5 static | 
					 | 
				
			||||||
    check_make_ok | 
					 | 
				
			||||||
    $sudo make install-static | 
					 | 
				
			||||||
  else | 
					 | 
				
			||||||
    make -j5 | 
					 | 
				
			||||||
    check_make_ok | 
					 | 
				
			||||||
    $sudo make install | 
					 | 
				
			||||||
  fi | 
					 | 
				
			||||||
  check_make_ok | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  echo | 
					 | 
				
			||||||
  echo "GPIO Utility" | 
					 | 
				
			||||||
  cd ../gpio | 
					 | 
				
			||||||
  make -j5 | 
					 | 
				
			||||||
  check_make_ok | 
					 | 
				
			||||||
  $sudo make install | 
					 | 
				
			||||||
  check_make_ok | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# echo | 
					 | 
				
			||||||
# echo "wiringPi Daemon" | 
					 | 
				
			||||||
# cd ../wiringPiD | 
					 | 
				
			||||||
# make -j5 | 
					 | 
				
			||||||
# check_make_ok | 
					 | 
				
			||||||
# $sudo make install | 
					 | 
				
			||||||
# check_make_ok | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# echo | 
					 | 
				
			||||||
# echo "Examples" | 
					 | 
				
			||||||
# cd ../examples | 
					 | 
				
			||||||
# make | 
					 | 
				
			||||||
# cd .. | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo | 
					 | 
				
			||||||
echo All Done. | 
					 | 
				
			||||||
echo "" | 
					 | 
				
			||||||
echo "NOTE: To compile programs with wiringPi, you need to add:" | 
					 | 
				
			||||||
echo "    -lwiringPi" | 
					 | 
				
			||||||
echo "  to your compile line(s) To use the Gertboard, MaxDetect, etc." | 
					 | 
				
			||||||
echo "  code (the devLib), you need to also add:" | 
					 | 
				
			||||||
echo "    -lwiringPiDev" | 
					 | 
				
			||||||
echo "  to your compile line(s)." | 
					 | 
				
			||||||
echo "" | 
					 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue