Browse Source

Updated the build & makefile to allow for building the

I2C libraries again - but only if the right headers are
installed!
pull/22/head
Gordon Henderson 12 years ago
parent
commit
db925cea18
3 changed files with 56 additions and 37 deletions
  1. +12
    -0
      INSTALL
  2. +30
    -34
      build
  3. +14
    -3
      wiringPi/Makefile

+ 12
- 0
INSTALL View File

@@ -30,6 +30,18 @@ To un-install wiringPi:

./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


+ 30
- 34
build View File

@@ -1,20 +1,5 @@
#!/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
@@ -28,7 +13,6 @@ check-make-ok()
fi
}


if [ x$1 = "xclean" ]; then
echo Cleaning
echo
@@ -38,8 +22,10 @@ if [ x$1 = "xclean" ]; then
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"
@@ -50,27 +36,37 @@ elif [ x$1 = "xuninstall" ]; then
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
@@ -78,12 +74,12 @@ else
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.

+ 14
- 3
wiringPi/Makefile View File

@@ -49,8 +49,12 @@ SRC = wiringPi.c wiringPiFace.c wiringSerial.c wiringShift.c \
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)
@@ -65,13 +69,17 @@ $(DYNAMIC): $(OBJ)
@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)
@@ -124,7 +132,7 @@ uninstall:

.PHONEY: depend
depend:
makedepend -Y $(SRC)
makedepend -Y $(SRC) $(SRC_I2C)

# DO NOT DELETE

@@ -137,5 +145,8 @@ piNes.o: wiringPi.h piNes.h
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

Loading…
Cancel
Save