./build uninstall
+
+I2C:
+
+If your system has the correct i2c-dev libraries and headers installed,
+then the I2C helpers will be compiled into wiringPi. If you want to
+use the I2C helpers and don't have them installed, then under Raspbian,
+issue the command:
+
+ sudo apt-get install libi2c-dev
+
+Consult the documentation for your system if you are not running Raspbian.
+
Gordon Henderson
projects@drogon.net
#!/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
-}
-
check-make-ok()
{
if [ $? != 0 ]; then
fi
}
-
if [ x$1 = "xclean" ]; then
echo Cleaning
echo
make clean
cd ../examples
make clean
- cd ..
-elif [ x$1 = "xuninstall" ]; then
+ exit
+fi
+
+if [ x$1 = "xuninstall" ]; then
echo Uninstalling
echo
echo "WiringPi library"
cd ../gpio
sudo make uninstall
cd ..
-else
- echo wiringPi Build script - please wait...
+ exit
+fi
+
+
+ echo "wiringPi Build script"
+ echo "====================="
echo
# Check for I2C being installed...
+# ... and if-so, then automatically make the I2C helpers
-# 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
+ if [ -f /usr/include/linux/i2c-dev.h ]; then
+ grep -q i2c_smbus_read_byte /usr/include/linux/i2c-dev.h
+ if [ $? = 0 ]; then
+ target=i2c
+ echo "Building wiringPi with the I2C helper libraries."
+ else
+ target=all
+ echo "The wiringPi I2C helper libraries will not be built."
+ fi
+ fi
+ echo
echo "WiringPi library"
cd wiringPi
sudo make uninstall
- make
+ make $target
check-make-ok
sudo make install
check-make-ok
+
echo
echo "GPIO Utility"
cd ../gpio
check-make-ok
sudo make install
check-make-ok
- echo
- echo "Examples"
- cd ../examples
- make
- cd ..
-fi
+
+# echo
+# echo "Examples"
+# cd ../examples
+# make
+# cd ..
echo
echo All Done.
wiringPiSPI.c \
softPwm.c softServo.c softTone.c
+SRC_I2C = wiringPiI2C.c
+
OBJ = $(SRC:.c=.o)
+OBJ_I2C = $(SRC_I2C:.c=.o)
+
all: $(DYNAMIC)
static: $(STATIC)
@echo "[Link (Dynamic)]"
@$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ)
+i2c: $(OBJ) $(OBJ_I2C)
+ @echo "[Link (Dynamic + I2C)]"
+ @$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ) $(OBJ_I2C)
+
.c.o:
@echo [Compile] $<
@$(CC) -c $(CFLAGS) $< -o $@
.PHONEY: clean
clean:
- rm -f $(OBJ) *~ core tags Makefile.bak libwiringPi.*
+ rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
.PHONEY: tags
tags: $(SRC)
.PHONEY: depend
depend:
- makedepend -Y $(SRC)
+ makedepend -Y $(SRC) $(SRC_I2C)
# DO NOT DELETE
lcd.o: wiringPi.h lcd.h
piHiPri.o: wiringPi.h
piThread.o: wiringPi.h
-softPwm.o: wiringPi.h softPwm.h
wiringPiSPI.o: wiringPiSPI.h
+softPwm.o: wiringPi.h softPwm.h
+softServo.o: wiringPi.h softServo.h
+softTone.o: wiringPi.h softTone.h
+wiringPiI2C.o: wiringPi.h wiringPiI2C.h