chiark / gitweb /
Added in the SN3218 LED controller IC - as used in the PiGlow
[wiringPi.git] / wiringPi / Makefile
index 51f4773e47fdf693153ba48be6b8563c28dd8a23..ed4f6bead66333255717e7ec0c61b348abdfc6cc 100644 (file)
@@ -1,4 +1,4 @@
-#
+# ;
 # Makefile:
 #      wiringPi - Wiring Compatable library for the Raspberry Pi
 #
 #    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>.
 #################################################################################
 
+DYN_VERS_MAJ=2
+DYN_VERS_MIN=0
+
+VERSION=$(DYN_VERS_MAJ).$(DYN_VERS_MIN)
+DESTDIR=/usr
+PREFIX=/local
 
-TARGET=libwiringPi.a
+STATIC=libwiringPi.a
+DYNAMIC=libwiringPi.so.$(VERSION)
 
 #DEBUG = -g -O0
-DEBUG  = -O3
+DEBUG  = -O2
 CC     = gcc
 INCLUDE        = -I.
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+DEFS   = -D_GNU_SOURCE
+CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
 
 LIBS    =
 
 # Should not alter anything below this line
 ###############################################################################
 
-SRC    =       wiringPi.c wiringPiFace.c wiringSerial.c wiringShift.c  \
-               gertboard.c                                             \
-               piNes.c                                                 \
-               lcd.c piHiPri.c piThread.c
+SRC    =       wiringPi.c                                              \
+               wiringSerial.c wiringShift.c                            \
+               piHiPri.c piThread.c                                    \
+               wiringPiSPI.c wiringPiI2C.c                             \
+               softPwm.c softTone.c                                    \
+               mcp23008.c mcp23016.c mcp23017.c                        \
+               mcp23s08.c mcp23s17.c                                   \
+               sr595.c                                                 \
+               pcf8574.c pcf8591.c                                     \
+               mcp3002.c mcp3004.c mcp4802.c mcp3422.c                 \
+               max31855.c max5322.c                                    \
+               sn3218.c                                                \
+               drc.c
+
+OBJ    =       $(SRC:.c=.o)
+
+all:           $(DYNAMIC)
 
-OBJ    =       wiringPi.o wiringPiFace.o wiringSerial.o wiringShift.o  \
-               gertboard.o                                             \
-               piNes.o                                                 \
-               lcd.o piHiPri.o piThread.o
+static:                $(STATIC)
 
-all:           $(TARGET)
+$(STATIC):     $(OBJ)
+       @echo "[Link (Static)]"
+       @ar rcs $(STATIC) $(OBJ)
+       @ranlib $(STATIC)
+#      @size   $(STATIC)
 
-$(TARGET):     $(OBJ)
-       @echo [AR] $(OBJ)
-       @ar rcs $(TARGET) $(OBJ)
-       @ranlib $(TARGET)
-       @size   $(TARGET)
+$(DYNAMIC):    $(OBJ)
+       @echo "[Link (Dynamic)]"
+       @$(CC) -shared -Wl,-soname,libwiringPi.so -o libwiringPi.so.$(VERSION) -lpthread $(OBJ)
 
 .c.o:
-       @echo [CC] $<
+       @echo [Compile] $<
        @$(CC) -c $(CFLAGS) $< -o $@
 
+.PHONEY:       clean
 clean:
-       rm -f $(OBJ) $(TARGET) *~ core tags Makefile.bak
+       @echo "[Clean]"
+       @rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
 
+.PHONEY:       tags
 tags:  $(SRC)
        @echo [ctags]
        @ctags $(SRC)
 
-depend:
-       makedepend -Y $(SRC)
-
-install:       $(TARGET)
-       @echo [install]
-       install -m 0755 -d /usr/local/lib
-       install -m 0755 -d /usr/local/include
-       install -m 0644 wiringPi.h      /usr/local/include
-       install -m 0644 wiringSerial.h  /usr/local/include
-       install -m 0644 wiringShift.h   /usr/local/include
-       install -m 0644 gertboard.h     /usr/local/include
-       install -m 0644 piNes.h         /usr/local/include
-       install -m 0644 lcd.h           /usr/local/include
-       install -m 0644 libwiringPi.a   /usr/local/lib
 
+.PHONEY:       install-headers
+install-headers:
+       @echo "[Install Headers]"
+       @install -m 0755 -d                     $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 wiringPi.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 wiringSerial.h         $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 wiringShift.h          $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 softPwm.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 softTone.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 wiringPiSPI.h          $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 wiringPiI2C.h          $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp23008.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp23016.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp23017.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp23s08.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp23s17.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 max31855.h             $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 max5322.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp3002.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp3004.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp4802.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 mcp3422.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 sr595.h                $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 pcf8574.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 pcf8591.h              $(DESTDIR)$(PREFIX)/include
+       @install -m 0644 sn3218.h               $(DESTDIR)$(PREFIX)/include
+
+.PHONEY:       install
+install:       $(DYNAMIC) install-headers
+       @echo "[Install Dynamic Lib]"
+       @install -m 0755 -d                                             $(DESTDIR)$(PREFIX)/lib
+       @install -m 0755 libwiringPi.so.$(VERSION)                      $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
+       @ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)       $(DESTDIR)/lib/libwiringPi.so
+       @ldconfig
+
+.PHONEY:       install-static
+install-static:        $(STATIC) install-headers
+       @echo "[Install Static Lib]"
+       @install -m 0755 -d                     $(DESTDIR)$(PREFIX)/lib
+       @install -m 0755 libwiringPi.a          $(DESTDIR)$(PREFIX)/lib
+
+.PHONEY:       uninstall
 uninstall:
-       @echo [uninstall]
-       rm -f /usr/local/include/lcd.h
-       rm -f /usr/local/include/wiringShift.h
-       rm -f /usr/local/include/wiringPi.h
-       rm -f /usr/local/lib/libwiringPi.a
-
-
+       @echo "[UnInstall]"
+       @rm -f $(DESTDIR)$(PREFIX)/include/wiringPi.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/wiringSerial.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/wiringShift.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/softPwm.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/softTone.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/wiringPiSPI.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/wiringPiI2C.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp23008.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp23016.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp23017.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp23s08.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp23s17.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/max31855.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/max5322.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp3002.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp3004.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp4802.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/mcp3422.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/sr595.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/pcf8574.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/pcf8591.h
+       @rm -f $(DESTDIR)$(PREFIX)/include/sn3218.h
+       @rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPi.*
+       @ldconfig
+
+
+.PHONEY:       depend
+depend:
+       makedepend -Y $(SRC) $(SRC_I2C)
 
 # DO NOT DELETE
 
 wiringPi.o: wiringPi.h
-wiringPiFace.o: wiringPi.h
 wiringSerial.o: wiringSerial.h
 wiringShift.o: wiringPi.h wiringShift.h
-gertboard.o: gertboard.h
-piNes.o: wiringPi.h piNes.h
-lcd.o: wiringPi.h lcd.h
 piHiPri.o: wiringPi.h
 piThread.o: wiringPi.h
+wiringPiSPI.o: wiringPi.h wiringPiSPI.h
+wiringPiI2C.o: wiringPi.h wiringPiI2C.h
+softPwm.o: wiringPi.h softPwm.h
+softTone.o: wiringPi.h softTone.h
+mcp23008.o: wiringPi.h wiringPiI2C.h mcp23x0817.h mcp23008.h
+mcp23016.o: wiringPi.h wiringPiI2C.h mcp23016.h mcp23016reg.h
+mcp23017.o: wiringPi.h wiringPiI2C.h mcp23x0817.h mcp23017.h
+mcp23s08.o: wiringPi.h wiringPiSPI.h mcp23x0817.h mcp23s08.h
+mcp23s17.o: wiringPi.h wiringPiSPI.h mcp23x0817.h mcp23s17.h
+sr595.o: wiringPi.h sr595.h
+pcf8574.o: wiringPi.h wiringPiI2C.h pcf8574.h
+pcf8591.o: wiringPi.h wiringPiI2C.h pcf8591.h
+mcp3002.o: wiringPi.h wiringPiSPI.h mcp3002.h
+mcp3004.o: wiringPi.h wiringPiSPI.h mcp3004.h
+mcp4802.o: wiringPi.h wiringPiSPI.h mcp4802.h
+mcp3422.o: wiringPi.h wiringPiI2C.h mcp3422.h
+max31855.o: wiringPi.h wiringPiSPI.h max31855.h
+max5322.o: wiringPi.h wiringPiSPI.h max5322.h
+sn3218.o: wiringPi.h wiringPiI2C.h sn3218.h
+drc.o: wiringPi.h wiringSerial.h drc.h