-#!/bin/bash
-
-i2c-install()
-{
- echo "* wiringPi needs the I2C Development Libraires installing."
- echo ""
- echo "If using Debian/Raspbian, then type this command:"
- echo " sudo apt-get install libi2c-dev"
- echo "then run ./build again."
- echo ""
- echo "If using another Linux distribution, then you will have to"
- echo "work out how to install the I2C Developmen Libraries for your"
- echo "system. (Sorry - I don't know - do let me know though!)"
- echo ""
- exit 1
-}
+#!/bin/sh
+
+# build
+# Simple wiringPi build and install script
+#
+# Copyright (c) 2012-2015 Gordon Henderson
+#################################################################################
+# This file is part of wiringPi:
+# Wiring Compatable 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()
-{
+check_make_ok() {
if [ $? != 0 ]; then
echo ""
echo "Make Failed..."
fi
}
-
if [ x$1 = "xclean" ]; then
- echo Cleaning
- echo
cd wiringPi
- make clean
+ echo -n "wiringPi: " ; make clean
+ cd ../devLib
+ echo -n "DevLib: " ; make clean
cd ../gpio
- make clean
+ echo -n "gpio: " ; make clean
cd ../examples
- make clean
- cd ..
-elif [ x$1 = "xuninstall" ]; then
- echo Uninstalling
- echo
- echo "WiringPi library"
+ 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
+ exit
+fi
+
+if [ x$1 = "xuninstall" ]; then
cd wiringPi
- sudo make uninstall
- echo
- echo "GPIO Utility"
+ echo -n "wiringPi: " ; sudo make uninstall
+ cd ../devLib
+ echo -n "DevLib: " ; sudo make uninstall
cd ../gpio
- sudo make uninstall
- cd ..
-else
- echo wiringPi Build script - please wait...
+ echo -n "gpio: " ; sudo make uninstall
+ exit
+fi
+
+# Only if you know what you're doing!
+
+if [ x$1 = "xdebian" ]; then
+ here=`pwd`
+ cd debian/wiringPi
+ rm -rf usr
+ cd $here/wiringPi
+ make install-deb
+ cd $here/devLib
+ make install-deb
+ cd $here/gpio
+ make install-deb
+ cd $here/debian
+ 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
+
+ echo "wiringPi Build script"
+ echo "====================="
echo
-# Check for I2C being installed...
+ 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
- if [ ! -f /usr/include/linux/i2c-dev.h ]; then
- i2c-install
- fi
- grep -q i2c_smbus_read_byte /usr/include/linux/i2c-dev.h
- if [ $? = 1 ]; then
- i2c-install
- fi
- echo "WiringPi library"
+ echo
+ echo "WiringPi Library"
cd wiringPi
sudo make uninstall
- make
- check-make-ok
- sudo make install
- check-make-ok
+ 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
- check-make-ok
+ make -j5
+ check_make_ok
sudo make install
- check-make-ok
- echo
- echo "Examples"
- cd ../examples
- make
- cd ..
-fi
+ 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 ""