414 lines
12 KiB
Diff
414 lines
12 KiB
Diff
From ca25788e2563bad0d554deb9f4300d1e7d062825 Mon Sep 17 00:00:00 2001
|
|
From: Aurelian Zanoschi <aurelian17@gmail.com>
|
|
Date: Mon, 31 Jul 2017 20:25:15 +0300
|
|
Subject: [PATCH] Add initial cross compile support
|
|
|
|
---
|
|
devLib/Makefile | 54 +++++++++++++++++++++++++--------------------
|
|
examples/Gertboard/Makefile | 22 +++++++++++-------
|
|
examples/Makefile | 22 +++++++++++-------
|
|
examples/PiFace/Makefile | 22 +++++++++++-------
|
|
examples/PiGlow/Makefile | 4 ++--
|
|
examples/q2w/Makefile | 4 ++--
|
|
gpio/Makefile | 29 ++++++++++++------------
|
|
wiringPi/Makefile | 52 ++++++++++++++++++++++++-------------------
|
|
8 files changed, 120 insertions(+), 89 deletions(-)
|
|
|
|
diff --git a/devLib/Makefile b/devLib/Makefile
|
|
index cf665d6..040c03a 100644
|
|
--- a/devLib/Makefile
|
|
+++ b/devLib/Makefile
|
|
@@ -31,15 +31,19 @@ ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
-STATIC=libwiringPiDev.a
|
|
-DYNAMIC=libwiringPiDev.so.$(VERSION)
|
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
|
|
|
-#DEBUG = -g -O0
|
|
-DEBUG = -O2
|
|
-CC = gcc
|
|
-INCLUDE = -I.
|
|
-DEFS = -D_GNU_SOURCE
|
|
-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
|
|
+BASE_NAME=libwiringPiDev
|
|
+STATIC=$(BASE_NAME).a
|
|
+DYNAMIC=$(BASE_NAME).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 =
|
|
|
|
@@ -68,16 +72,16 @@ $(STATIC): $(OBJ)
|
|
|
|
$(DYNAMIC): $(OBJ)
|
|
$Q echo "[Link (Dynamic)]"
|
|
- $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
|
|
+ $Q $(CC) -shared $(LDFLAGS) -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
|
|
|
|
.c.o:
|
|
$Q echo [Compile] $<
|
|
- $Q $(CC) -c $(CFLAGS) $< -o $@
|
|
+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
$Q echo "[Clean]"
|
|
- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
|
|
+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
|
|
|
|
.PHONY: tags
|
|
tags: $(SRC)
|
|
@@ -88,22 +92,22 @@ tags: $(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 install -m 0755 -d $(INCLUDE_DIR)
|
|
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
|
|
$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)
|
|
+ $Q install -m 0755 -d $(LIB_DIR)
|
|
+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
|
|
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
|
|
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
|
|
|
|
.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 install -m 0755 -d $(INCLUDE_DIR)
|
|
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
|
|
$Q echo "[Install Static Lib]"
|
|
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
|
|
- $Q install -m 0755 libwiringPiDev.a $(DESTDIR)$(PREFIX)/lib
|
|
+ $Q install -m 0755 -d $(LIB_DIR)
|
|
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
|
|
|
|
.PHONY: install-deb
|
|
install-deb: $(DYNAMIC)
|
|
@@ -118,9 +122,11 @@ install-deb: $(DYNAMIC)
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
$Q echo "[UnInstall]"
|
|
- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
|
|
- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPiDev.*
|
|
- $Q $(LDCONFIG)
|
|
+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
|
|
+ $Q rm -f $(LIB_DIR)/$(STATIC)
|
|
+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
|
|
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
|
|
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
|
|
|
|
|
|
.PHONY: depend
|
|
diff --git a/examples/Gertboard/Makefile b/examples/Gertboard/Makefile
|
|
index 1939ad6..98d1415 100644
|
|
--- a/examples/Gertboard/Makefile
|
|
+++ b/examples/Gertboard/Makefile
|
|
@@ -9,14 +9,20 @@ ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
-#DEBUG = -g -O0
|
|
-DEBUG = -O3
|
|
-CC = gcc
|
|
-INCLUDE = -I/usr/local/include
|
|
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
-
|
|
-LDFLAGS = -L/usr/local/lib
|
|
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
|
|
+DESTDIR?=/usr
|
|
+PREFIX?=/local
|
|
+
|
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
|
+
|
|
+#DEBUG ?= -g -O0
|
|
+DEBUG ?= -O3
|
|
+CC ?= gcc
|
|
+INCLUDE ?= -I$(INCLUDE_DIR)
|
|
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
+
|
|
+LDFLAGS ?= -L$(LIB_DIR)
|
|
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
|
|
|
|
# Should not alter anything below this line
|
|
###############################################################################
|
|
diff --git a/examples/Makefile b/examples/Makefile
|
|
index 6d87885..8623816 100644
|
|
--- a/examples/Makefile
|
|
+++ b/examples/Makefile
|
|
@@ -26,14 +26,20 @@ ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
-#DEBUG = -g -O0
|
|
-DEBUG = -O3
|
|
-CC = gcc
|
|
-INCLUDE = -I/usr/local/include
|
|
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
-
|
|
-LDFLAGS = -L/usr/local/lib
|
|
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
|
|
+DESTDIR?=/usr
|
|
+PREFIX?=/local
|
|
+
|
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
|
+
|
|
+#DEBUG ?= -g -O0
|
|
+DEBUG ?= -O3
|
|
+CC ?= gcc
|
|
+INCLUDE ?= -I$(INCLUDE_DIR)
|
|
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
+
|
|
+LDFLAGS ?= -L$(LIB_DIR)
|
|
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
|
|
|
|
# Should not alter anything below this line
|
|
###############################################################################
|
|
diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
|
|
index f937c14..ad030b3 100644
|
|
--- a/examples/PiFace/Makefile
|
|
+++ b/examples/PiFace/Makefile
|
|
@@ -26,14 +26,20 @@ ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
-#DEBUG = -g -O0
|
|
-DEBUG = -O3
|
|
-CC = gcc
|
|
-INCLUDE = -I/usr/local/include
|
|
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
-
|
|
-LDFLAGS = -L/usr/local/lib
|
|
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
|
|
+DESTDIR?=/usr
|
|
+PREFIX?=/local
|
|
+
|
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
|
+
|
|
+#DEBUG ?= -g -O0
|
|
+DEBUG ?= -O3
|
|
+CC ?= gcc
|
|
+INCLUDE ?= -I$(INCLUDE_DIR)
|
|
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
+
|
|
+LDFLAGS ?= -L$(LIB_DIR)
|
|
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
|
|
|
|
# Should not alter anything below this line
|
|
###############################################################################
|
|
diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
|
|
index f182db7..d1ea74f 100644
|
|
--- a/examples/PiGlow/Makefile
|
|
+++ b/examples/PiGlow/Makefile
|
|
@@ -29,10 +29,10 @@ endif
|
|
#DEBUG = -g -O0
|
|
DEBUG = -O3
|
|
CC = gcc
|
|
-INCLUDE = -I/usr/local/include
|
|
+INCLUDE = -I../wiringPi -I../wiringPiDev
|
|
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
|
|
-LDFLAGS = -L/usr/local/lib
|
|
+LDFLAGS = -L../wiringPi -L../wiringPiDev
|
|
LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
|
|
|
|
# Should not alter anything below this line
|
|
diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
|
|
index 8f773bf..14aa6e4 100644
|
|
--- a/examples/q2w/Makefile
|
|
+++ b/examples/q2w/Makefile
|
|
@@ -29,10 +29,10 @@ endif
|
|
#DEBUG = -g -O0
|
|
DEBUG = -O3
|
|
CC = gcc
|
|
-INCLUDE = -I/usr/local/include
|
|
+INCLUDE = -I../wiringPi -I../devLib
|
|
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
|
|
|
-LDFLAGS = -L/usr/local/lib
|
|
+LDFLAGS = -L../wiringPi -L../devLib
|
|
LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
|
|
|
|
###############################################################################
|
|
diff --git a/gpio/Makefile b/gpio/Makefile
|
|
index f41a005..22753ee 100644
|
|
--- a/gpio/Makefile
|
|
+++ b/gpio/Makefile
|
|
@@ -30,13 +30,17 @@ ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
-#DEBUG = -g -O0
|
|
-DEBUG = -O2
|
|
-CC = gcc
|
|
-INCLUDE = -I$(DESTDIR)$(PREFIX)/include
|
|
-CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
|
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
|
+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
|
|
|
|
-LDFLAGS = -L$(DESTDIR)$(PREFIX)/lib
|
|
+#DEBUG ?= -g -O0
|
|
+DEBUG ?= -O2
|
|
+CC ?= gcc
|
|
+INCLUDE ?= -I$(INCLUDE_DIR)
|
|
+CFLAGS ?= $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
|
|
+
|
|
+LDFLAGS ?= -L$(LIB_DIR)
|
|
LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
|
|
|
|
# May not need to alter anything below this line
|
|
@@ -72,13 +76,10 @@ tags: $(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)/man/man1
|
|
- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/man/man1
|
|
+ $Q install -d $(BIN_DIR)
|
|
+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
|
|
+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
|
|
+ $Q install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
|
|
|
|
.PHONY: install-deb
|
|
install-deb: gpio
|
|
@@ -91,7 +92,7 @@ install-deb: gpio
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
$Q echo "[UnInstall]"
|
|
- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
|
|
+ $Q rm -f $(BIN_DIR)/gpio
|
|
$Q rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
|
|
|
|
.PHONY: depend
|
|
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
|
|
index e1868b9..750d290 100644
|
|
--- a/wiringPi/Makefile
|
|
+++ b/wiringPi/Makefile
|
|
@@ -25,21 +25,25 @@ VERSION=$(shell cat ../VERSION)
|
|
DESTDIR?=/usr
|
|
PREFIX?=/local
|
|
|
|
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
|
|
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
|
|
+
|
|
LDCONFIG?=ldconfig
|
|
|
|
ifneq ($V,1)
|
|
Q ?= @
|
|
endif
|
|
|
|
-STATIC=libwiringPi.a
|
|
-DYNAMIC=libwiringPi.so.$(VERSION)
|
|
+BASE_NAME=libwiringPi
|
|
+STATIC=$(BASE_NAME).a
|
|
+DYNAMIC=$(BASE_NAME).so.$(VERSION)
|
|
|
|
-#DEBUG = -g -O0
|
|
-DEBUG = -O2
|
|
-CC = gcc
|
|
-INCLUDE = -I.
|
|
+#DEBUG ?= -g -O0
|
|
+DEBUG ?= -O2
|
|
+CC ?= gcc
|
|
+INCLUDE ?= -I.
|
|
DEFS = -D_GNU_SOURCE
|
|
-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC
|
|
+CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Winline -pipe -fPIC
|
|
|
|
LIBS = -lm -lpthread -lrt -lcrypt
|
|
|
|
@@ -78,17 +82,17 @@ $(STATIC): $(OBJ)
|
|
|
|
$(DYNAMIC): $(OBJ)
|
|
$Q echo "[Link (Dynamic)]"
|
|
- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ)
|
|
+ $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so $(OBJ) $(LIBS)
|
|
|
|
.c.o:
|
|
$Q echo [Compile] $<
|
|
- $Q $(CC) -c $(CFLAGS) $< -o $@
|
|
+ $Q $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
|
|
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
$Q echo "[Clean]"
|
|
- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
|
|
+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
|
|
|
|
.PHONY: tags
|
|
tags: $(SRC)
|
|
@@ -99,22 +103,22 @@ tags: $(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 install -m 0755 -d $(INCLUDE_DIR)
|
|
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
|
|
$Q echo "[Install Dynamic Lib]"
|
|
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
|
|
- $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
|
|
- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
|
|
- $Q $(LDCONFIG)
|
|
+ $Q install -m 0755 -d $(LIB_DIR)
|
|
+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
|
|
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
|
|
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
|
|
|
|
.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 install -m 0755 -d $(INCLUDE_DIR)
|
|
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
|
|
$Q echo "[Install Static Lib]"
|
|
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
|
|
- $Q install -m 0755 libwiringPi.a $(DESTDIR)$(PREFIX)/lib
|
|
+ $Q install -m 0755 -d $(LIB_DIR)
|
|
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
|
|
|
|
.PHONY: install-deb
|
|
install-deb: $(DYNAMIC)
|
|
@@ -129,9 +133,11 @@ install-deb: $(DYNAMIC)
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
$Q echo "[UnInstall]"
|
|
- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
|
|
- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPi.*
|
|
- $Q $(LDCONFIG)
|
|
+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
|
|
+ $Q rm -f $(LIB_DIR)/$(STATIC)
|
|
+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
|
|
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
|
|
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
|
|
|
|
|
|
.PHONY: depend
|
|
--
|
|
2.7.4
|
|
|