chiark / gitweb /
Makefiles: Do not override PREFIX or DESTDIR from the environment
[wiringPi.git] / devLib / Makefile
index a106d935ae26f0346cbc1010b6631a729a07e851..9ec163dbd04c8fc0a070b3c38ba0421183708901 100644 (file)
@@ -1,7 +1,8 @@
+#
 # Makefile:
 #      wiringPi device - Wiring Compatable library for the Raspberry Pi
 #
-#      Copyright (c) 2012-2013 Gordon Henderson
+#      Copyright (c) 2012-2015 Gordon Henderson
 #################################################################################
 # This file is part of wiringPi:
 #      https://projects.drogon.net/raspberry-pi/wiringpi/
 #    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>.
 #################################################################################
 
-DYN_VERS_MAJ=2
-DYN_VERS_MIN=0
+VERSION=$(shell cat ../VERSION)
+DESTDIR?=/usr
+PREFIX?=/local
 
-VERSION=$(DYN_VERS_MAJ).$(DYN_VERS_MIN)
-DESTDIR=/usr
-PREFIX=/local
+ifneq ($V,1)
+Q ?= @
+endif
 
 STATIC=libwiringPiDev.a
 DYNAMIC=libwiringPiDev.so.$(VERSION)
@@ -34,7 +36,8 @@ DYNAMIC=libwiringPiDev.so.$(VERSION)
 DEBUG  = -O2
 CC     = gcc
 INCLUDE        = -I.
-CFLAGS = $(DEBUG) -Wformat=2 -Wall $(INCLUDE) -Winline -pipe -fPIC
+DEFS   = -D_GNU_SOURCE
+CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
 
 LIBS    =
 
@@ -42,80 +45,81 @@ LIBS    =
 
 SRC    =       ds1302.c maxdetect.c  piNes.c           \
                gertboard.c piFace.c                    \
-               lcd128x64.c lcd.c
+               lcd128x64.c lcd.c                       \
+               piGlow.c
 
 OBJ    =       $(SRC:.c=.o)
 
+HEADERS        =       ds1302.h gertboard.h  lcd128x64.h  lcd.h  maxdetect.h piFace.h  piGlow.h  piNes.h
+
 all:           $(DYNAMIC)
 
 static:                $(STATIC)
 
 $(STATIC):     $(OBJ)
-       @echo "[Link (Static)]"
-       @ar rcs $(STATIC) $(OBJ)
-       @ranlib $(STATIC)
+       $Q echo "[Link (Static)]"
+       $Q ar rcs $(STATIC) $(OBJ)
+       $Q ranlib $(STATIC)
 #      @size   $(STATIC)
 
 $(DYNAMIC):    $(OBJ)
-       @echo "[Link (Dynamic)]"
-       @$(CC) -shared -Wl,-soname,libwiringPiDev.so -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
+       $Q echo "[Link (Dynamic)]"
+       $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
 
 .c.o:
-       @echo [Compile] $<
-       @$(CC) -c $(CFLAGS) $< -o $@
+       $Q echo [Compile] $<
+       $Q $(CC) -c $(CFLAGS) $< -o $@
 
-.PHONEY:       clean
+.PHONY:        clean
 clean:
-       @echo "[Clean]"
-       @rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
+       $Q echo "[Clean]"
+       $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
 
-.PHONEY:       tags
+.PHONY:        tags
 tags:  $(SRC)
-       @echo [ctags]
-       @ctags $(SRC)
-
-
-.PHONEY:       install-headers
-install-headers:
-       @echo "[Install Headers]"
-       @install -m 0755 -d                     $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 ds1302.h               $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 maxdetect.h            $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 piNes.h                $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 gertboard.h            $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 piFace.h               $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 lcd128x64.h            $(DESTDIR)$(PREFIX)/include
-       @install -m 0644 lcd.h                  $(DESTDIR)$(PREFIX)/include
-
-.PHONEY:       install
-install:       $(DYNAMIC) install-headers
-       @echo "[Install Dynamic Lib]"
-       @install -m 0755 -d                                             $(DESTDIR)$(PREFIX)/lib
-       @install -m 0755 libwiringPiDev.so.$(VERSION)                   $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
-       @ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)    $(DESTDIR)/lib/libwiringPiDev.so
-       @ldconfig
-
-.PHONEY:       install-static
-install-static:        $(STATIC) install-headers
-       @echo "[Install Static Lib]"
-       @install -m 0755 -d                     $(DESTDIR)$(PREFIX)/lib
-       @install -m 0755 libwiringPiDev.a       $(DESTDIR)$(PREFIX)/lib
-
-.PHONEY:       uninstall
+       $Q echo [ctags]
+       $Q ctags $(SRC)
+
+
+.PHONY:        install
+install:       $(DYNAMIC)
+       $Q echo "[Install Headers]"
+       $Q install -m 0755 -d                                           $(DESTDIR)$(PREFIX)/include
+       $Q install -m 0644 $(HEADERS)                                   $(DESTDIR)$(PREFIX)/include
+       $Q echo "[Install Dynamic Lib]"
+       $Q install -m 0755 -d                                           $(DESTDIR)$(PREFIX)/lib
+       $Q install -m 0755 libwiringPiDev.so.$(VERSION)                 $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
+       $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)  $(DESTDIR)/lib/libwiringPiDev.so
+       $Q ldconfig
+
+.PHONY:        install-static
+install-static:        $(STATIC)
+       $Q echo "[Install Headers]"
+       $Q install -m 0755 -d                                           $(DESTDIR)$(PREFIX)/include
+       $Q install -m 0644 $(HEADERS)                                   $(DESTDIR)$(PREFIX)/include
+       $Q echo "[Install Static Lib]"
+       $Q install -m 0755 -d                                           $(DESTDIR)$(PREFIX)/lib
+       $Q install -m 0755 libwiringPiDev.a                             $(DESTDIR)$(PREFIX)/lib
+
+.PHONY:        install-deb
+install-deb:   $(DYNAMIC)
+       $Q echo "[Install Headers: deb]"
+       $Q install -m 0755 -d                                                   ~/wiringPi/debian-template/wiringPi/usr/include
+       $Q install -m 0644 $(HEADERS)                                           ~/wiringPi/debian-template/wiringPi/usr/include
+       $Q echo "[Install Dynamic Lib: deb]"
+       install -m 0755 -d                                                      ~/wiringPi/debian-template/wiringPi/usr/lib
+       install -m 0755 libwiringPiDev.so.$(VERSION)                            ~/wiringPi/debian-template/wiringPi/usr/lib/libwiringPiDev.so.$(VERSION)
+       ln -sf ~/wiringPi/debian-template/wiringPi/usr/lib/libwiringPiDev.so.$(VERSION) ~/wiringPi/debian-template/wiringPi/usr/lib/libwiringPiDev.so
+
+.PHONY:        uninstall
 uninstall:
-       @echo "[UnInstall]"
-       @rm -f $(DESTDIR)$(PREFIX)/include/ds1302.h
-       @rm -f $(DESTDIR)$(PREFIX)/include/maxdetect.h
-       @rm -f $(DESTDIR)$(PREFIX)/include/piNes.h
-       @rm -f $(DESTDIR)$(PREFIX)/include/gertboard.h
-       @rm -f $(DESTDIR)$(PREFIX)/include/piFace.h
-       @rm -f $(DESTDIR)$(PREFIX)/include/lcd128x64.h
-       @rm -f $(DESTDIR)$(PREFIX)/include/lcd.h
-       @rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.*
-       @ldconfig
-
-
-.PHONEY:       depend
+       $Q echo "[UnInstall]"
+       $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
+       $Q cd $(DESTDIR)$(PREFIX)/lib/     && rm -f libwiringPiDev.*
+       $Q ldconfig
+
+
+.PHONY:        depend
 depend:
        makedepend -Y $(SRC)
 
@@ -128,3 +132,4 @@ gertboard.o: gertboard.h
 piFace.o: piFace.h
 lcd128x64.o: font.h lcd128x64.h
 lcd.o: lcd.h
+piGlow.o: piGlow.h