dyne / dowse

The Awareness Hub for the Internet of Things
http://dowse.eu
159 stars 17 forks source link

src/Makefile LIBS path assignment under Debian 9 and Fedora 30 #59

Open adam-burns opened 5 years ago

adam-burns commented 5 years ago

When running make in the top directory in Fedora 30

make

Unlike Debian 9, the compile environment under Fedora 30 is not forgiving enough to allow the top Makefile to build source with

sources:
        THREADS=${THREADS} make -C src

with src/Makefile LIBS defined with path prefix beginning with src/ as well.

Removal of src/ $LIB path prefix still allows sucessful compilation under Debian 9(!) but also stops Fedora 30 from burping with

gcc -Wall -fPIE -fPIC -pie -O3 -I. -Iredis/deps/hiredis -Iredis/deps/jemalloc -o modprobe modprobe.o kmod_log.o -L src/redis/deps/hiredis -l:libhiredis.a -Llibdowse -l:libdowse.a -lkmod
/usr/bin/ld: cannot find -l:libhiredis.a
collect2: error: ld returned 1 exit status

This patch allows compilation under both OS environments:

$ git diff src/Makefile 
diff --git a/src/Makefile b/src/Makefile
index 0ea199f..d05711c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -4,7 +4,7 @@ THREADS ?= 1

 CC = gcc
 CFLAGS = -Wall -fPIE -fPIC -pie -O3 -I. -Iredis/deps/hiredis -Iredis/deps/jemalloc
-LIBS = -L src/redis/deps/hiredis -l:libhiredis.a -Llibdowse -l:libdowse.a
+LIBS = -L redis/deps/hiredis -l:libhiredis.a -Llibdowse -l:libdowse.a

 all: base springs
        ./import.sh nmap-macs