mirror of
https://github.com/clockworkpi/WiringPi.git
synced 2025-12-12 16:08:49 +01:00
for kernels 4.8 onwards. Some very old stuff might break. Additional fixes for the ISR code and some tweaks here and there. I've removed the checks for some operations that might fail when using the gpiomem interface - which is now the default way of doing things - if your program segfaults, then you may need to use sudo on it.
141 lines
4.1 KiB
Makefile
141 lines
4.1 KiB
Makefile
#
|
|
# Makefile:
|
|
# wiringPi device - A "wiring" library for the Raspberry Pi
|
|
#
|
|
# Copyright (c) 2012-2016 Gordon Henderson
|
|
#################################################################################
|
|
# This file is part of wiringPi:
|
|
# https://projects.drogon.net/raspberry-pi/wiringpi/
|
|
#
|
|
# 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
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# wiringPi is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
|
|
#################################################################################
|
|
|
|
VERSION=$(shell cat ../VERSION)
|
|
DESTDIR?=/usr
|
|
PREFIX?=/local
|
|
|
|
LDCONFIG?=ldconfig
|
|
|
|
ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
STATIC=libwiringPiDev.a
|
|
DYNAMIC=libwiringPiDev.so.$(VERSION)
|
|
|
|
#DEBUG = -g -O0
|
|
DEBUG = -O2
|
|
CC = gcc
|
|
INCLUDE = -I.
|
|
DEFS = -D_GNU_SOURCE
|
|
CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
|
|
|
|
LIBS =
|
|
|
|
###############################################################################
|
|
|
|
SRC = ds1302.c maxdetect.c piNes.c \
|
|
gertboard.c piFace.c \
|
|
lcd128x64.c lcd.c \
|
|
scrollPhat.c \
|
|
piGlow.c
|
|
|
|
OBJ = $(SRC:.c=.o)
|
|
|
|
HEADERS = ds1302.h gertboard.h lcd128x64.h lcd.h maxdetect.h piFace.h piGlow.h piNes.h\
|
|
scrollPhat.h
|
|
|
|
all: $(DYNAMIC)
|
|
|
|
static: $(STATIC)
|
|
|
|
$(STATIC): $(OBJ)
|
|
$Q echo "[Link (Static)]"
|
|
$Q ar rcs $(STATIC) $(OBJ)
|
|
$Q ranlib $(STATIC)
|
|
# @size $(STATIC)
|
|
|
|
$(DYNAMIC): $(OBJ)
|
|
$Q echo "[Link (Dynamic)]"
|
|
$Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
|
|
|
|
.c.o:
|
|
$Q echo [Compile] $<
|
|
$Q $(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
$Q echo "[Clean]"
|
|
$Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
|
|
|
|
.PHONY: tags
|
|
tags: $(SRC)
|
|
$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:
|
|
$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)
|
|
|
|
# DO NOT DELETE
|
|
|
|
ds1302.o: ds1302.h
|
|
maxdetect.o: maxdetect.h
|
|
piNes.o: piNes.h
|
|
gertboard.o: gertboard.h
|
|
piFace.o: piFace.h
|
|
lcd128x64.o: font.h lcd128x64.h
|
|
lcd.o: lcd.h
|
|
scrollPhat.o: scrollPhatFont.h scrollPhat.h
|
|
piGlow.o: piGlow.h
|