Gordons Projects

--> Projects Top-Level GIT

Updating for various stuff and bugs. CM3+ and PiA3+
[wiringPi] / gpio / Makefile
index 8fa12d5..1873bbb 100644 (file)
@@ -4,10 +4,10 @@
 #        A swiss-army knige of GPIO shenanigans.
 #      https://projects.drogon.net/wiring-pi
 #
-#      Copyright (c) 2012-2013 Gordon Henderson
+#      Copyright (c) 2012-2016 Gordon Henderson
 #################################################################################
 # This file is part of wiringPi:
-#      Wiring Compatable library for the Raspberry Pi
+#      A "wiring" 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
 #    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>.
 #################################################################################
 
-DESTDIR=/usr
-PREFIX=/local
+DESTDIR?=/usr
+PREFIX?=/local
+
+ifneq ($V,1)
+Q ?= @
+endif
 
 #DEBUG = -g -O0
 DEBUG  = -O2
-CC     = gcc
 INCLUDE        = -I$(DESTDIR)$(PREFIX)/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
 
 LDFLAGS        = -L$(DESTDIR)$(PREFIX)/lib
-LIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
+LIBS    = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
 
 # May not need to  alter anything below this line
 ###############################################################################
 
-SRC    =       gpio.c extensions.c readall.c
+SRC    =       gpio.c readall.c
 
 OBJ    =       $(SRC:.c=.o)
 
 all:           gpio
 
+version.h:     ../VERSION
+       $Q echo Need to run newVersion above.
+
 gpio:  $(OBJ)
-       @echo [Link]
-       @$(CC) -o $@ $(OBJ) $(LDFLAGS) $(LIBS)
-       
+       $Q echo [Link]
+       $Q $(CC) -o $@ $(OBJ) $(LDFLAGS) $(LIBS)
+
 .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) gpio *~ core tags *.bak
+       $Q echo "[Clean]"
+       $Q rm -f $(OBJ) gpio *~ core tags *.bak
 
-.PHONEY:       tags
+.PHONY:        tags
 tags:  $(SRC)
-       @echo [ctags]
-       @ctags $(SRC)
-
-.PHONEY:       install
-install:
-       @echo "[Install]"
-       @cp gpio                $(DESTDIR)$(PREFIX)/bin
-       @chown root.root        $(DESTDIR)$(PREFIX)/bin/gpio
-       @chmod 4755             $(DESTDIR)$(PREFIX)/bin/gpio
-       @mkdir -p               $(DESTDIR)$(PREFIX)/man/man1
-       @cp gpio.1              $(DESTDIR)$(PREFIX)/man/man1
-
-.PHONEY:       uninstall
+       $Q echo [ctags]
+       $Q ctags $(SRC)
+
+.PHONY:        install
+install: gpio
+       $Q echo "[Install]"
+       $Q cp gpio              $(DESTDIR)$(PREFIX)/bin
+ifneq ($(WIRINGPI_SUID),0)
+       $Q chown root.root      $(DESTDIR)$(PREFIX)/bin/gpio
+       $Q chmod 4755           $(DESTDIR)$(PREFIX)/bin/gpio
+endif
+       $Q mkdir -p             $(DESTDIR)$(PREFIX)/share/man/man1
+       $Q cp gpio.1            $(DESTDIR)$(PREFIX)/share/man/man1
+
+.PHONY:        install-deb
+install-deb:   gpio
+       $Q echo "[Install: deb]"
+       $Q install -m 0755 -d                                                   ~/wiringPi/debian-template/wiringPi/usr/bin
+       $Q install -m 0755 gpio                                                 ~/wiringPi/debian-template/wiringPi/usr/bin
+       $Q install -m 0755 -d                                                   ~/wiringPi/debian-template/wiringPi/usr/share/man/man1
+       $Q install -m 0644 gpio.1                                               ~/wiringPi/debian-template/wiringPi/usr/share/man/man1
+
+.PHONY:        uninstall
 uninstall:
-       @echo "[UnInstall]"
-       @rm -f $(DESTDIR)$(PREFIX)/bin/gpio
-       @rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
+       $Q echo "[UnInstall]"
+       $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+       $Q rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
 
-.PHONEY:       depend
+.PHONY:        depend
 depend:
        makedepend -Y $(SRC)
 
 # DO NOT DELETE
 
-gpio.o: extensions.h
-extensions.o: extensions.h
+gpio.o: ../version.h