From: Antonio Ospite <ospite@studenti.unina.it>
Date: Sat, 26 Nov 2011 23:34:57 +0000 (+0100)
Subject: kinect_upload_fw: specify libraries after objects in the linking command
X-Git-Tag: v0.2~7
X-Git-Url: https://git.ao2.it/kinect-audio-setup.git/commitdiff_plain/863d1b3bdc8ce5dd9d85db85165fdd08eb46170a

kinect_upload_fw: specify libraries after objects in the linking command

When some options, like -Wl,--as-needed, are passed to the compiler (and
then to the liker) the order of linking options becomes important:
libraries must be specified after the objects in the linking command.

The implicit rule used was more or less:
  kinect_upload_fw: kinect_upload_fw.o
      $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@

with LDFLAGS expanded before $^ (the objects); use LDLIBS to specify the
libraries instead, which is expanded after $^.

More details in
http://ao2.it/it/blog/2011/11/27/dont-mix-ldflags-and-ldlibs
---

diff --git a/kinect_upload_fw/Makefile b/kinect_upload_fw/Makefile
index 22074c9..2cca6fd 100644
--- a/kinect_upload_fw/Makefile
+++ b/kinect_upload_fw/Makefile
@@ -34,7 +34,7 @@ CFLAGS += -fno-common \
   -Wwrite-strings
 
 CFLAGS  += $(shell pkg-config --cflags libusb-1.0)
-LDFLAGS += $(shell pkg-config --libs libusb-1.0)
+LDLIBS += $(shell pkg-config --libs libusb-1.0)
 
 PREFIX ?= /usr/local
 bindir := $(PREFIX)/sbin