While we have an LDFLAGS variable in kvmtool's Makefile, it's not
really used when both doing the feature tests and when finally linking
the lkvm executable.
Add that variable to all the linking steps to allow the user to
specify custom library directories or linker options on the command
line.

Signed-off-by: Andre Przywara <andre.przyw...@arm.com>
---
 Makefile | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/Makefile b/Makefile
index 77a7c9f..eac1220 100644
--- a/Makefile
+++ b/Makefile
@@ -196,12 +196,12 @@ endif
 # On a given system, some libs may link statically, some may not; so, check
 # both and only build those that link!
 
-ifeq ($(call try-build,$(SOURCE_STRLCPY),$(CFLAGS),),y)
+ifeq ($(call try-build,$(SOURCE_STRLCPY),$(CFLAGS),$(LDFLAGS)),y)
        CFLAGS_DYNOPT   += -DHAVE_STRLCPY
        CFLAGS_STATOPT  += -DHAVE_STRLCPY
 endif
 
-ifeq ($(call try-build,$(SOURCE_BFD),$(CFLAGS),-lbfd -static),y)
+ifeq ($(call try-build,$(SOURCE_BFD),$(CFLAGS),$(LDFLAGS) -lbfd -static),y)
        CFLAGS_STATOPT  += -DCONFIG_HAS_BFD
        OBJS_STATOPT    += symbol.o
        LIBS_STATOPT    += -lbfd
@@ -212,7 +212,7 @@ endif
 ifeq (y,$(ARCH_HAS_FRAMEBUFFER))
        CFLAGS_GTK3 := $(shell pkg-config --cflags gtk+-3.0 2>/dev/null)
        LDFLAGS_GTK3 := $(shell pkg-config --libs gtk+-3.0 2>/dev/null)
-       ifeq ($(call try-build,$(SOURCE_GTK3),$(CFLAGS) 
$(CFLAGS_GTK3),$(LDFLAGS_GTK3)),y)
+       ifeq ($(call try-build,$(SOURCE_GTK3),$(CFLAGS) 
$(CFLAGS_GTK3),$(LDFLAGS) $(LDFLAGS_GTK3)),y)
                OBJS_DYNOPT     += ui/gtk3.o
                CFLAGS_DYNOPT   += -DCONFIG_HAS_GTK3 $(CFLAGS_GTK3)
                LIBS_DYNOPT     += $(LDFLAGS_GTK3)
@@ -220,63 +220,63 @@ ifeq (y,$(ARCH_HAS_FRAMEBUFFER))
                NOTFOUND        += GTK3
        endif
 
-       ifeq ($(call try-build,$(SOURCE_VNCSERVER),$(CFLAGS),-lvncserver),y)
+       ifeq ($(call try-build,$(SOURCE_VNCSERVER),$(CFLAGS),$(LDFLAGS) 
-lvncserver),y)
                OBJS_DYNOPT     += ui/vnc.o
                CFLAGS_DYNOPT   += -DCONFIG_HAS_VNCSERVER
                LIBS_DYNOPT     += -lvncserver
        else
                NOTFOUND        += vncserver
        endif
-       ifeq ($(call try-build,$(SOURCE_VNCSERVER),$(CFLAGS),-lvncserver 
-static),y)
+       ifeq ($(call try-build,$(SOURCE_VNCSERVER),$(CFLAGS),$(LDFLAGS) 
-lvncserver -static),y)
                OBJS_STATOPT    += ui/vnc.o
                CFLAGS_STATOPT  += -DCONFIG_HAS_VNCSERVER
                LIBS_STATOPT    += -lvncserver
        endif
 
-       ifeq ($(call try-build,$(SOURCE_SDL),$(CFLAGS),-lSDL),y)
+       ifeq ($(call try-build,$(SOURCE_SDL),$(CFLAGS),$(LDFLAGS) -lSDL),y)
                OBJS_DYNOPT     += ui/sdl.o
                CFLAGS_DYNOPT   += -DCONFIG_HAS_SDL
                LIBS_DYNOPT     += -lSDL
        else
                NOTFOUND        += SDL
        endif
-       ifeq ($(call try-build,$(SOURCE_SDL),$(CFLAGS),-lSDL -static), y)
+       ifeq ($(call try-build,$(SOURCE_SDL),$(CFLAGS),$(LDFLAGS) -lSDL 
-static), y)
                OBJS_STATOPT    += ui/sdl.o
                CFLAGS_STATOPT  += -DCONFIG_HAS_SDL
                LIBS_STATOPT    += -lSDL
        endif
 endif
 
-ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),-lz),y)
+ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),$(LDFLAGS) -lz),y)
        CFLAGS_DYNOPT   += -DCONFIG_HAS_ZLIB
        LIBS_DYNOPT     += -lz
 else
        NOTFOUND        += zlib
 endif
-ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),-lz -static),y)
+ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),$(LDFLAGS) -lz -static),y)
        CFLAGS_STATOPT  += -DCONFIG_HAS_ZLIB
        LIBS_STATOPT    += -lz
 endif
 
-ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),-laio),y)
+ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),$(LDFLAGS) -laio),y)
        CFLAGS_DYNOPT   += -DCONFIG_HAS_AIO
        LIBS_DYNOPT     += -laio
 else
        NOTFOUND        += aio
 endif
-ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),-laio -static),y)
+ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),$(LDFLAGS) -laio -static),y)
        CFLAGS_STATOPT  += -DCONFIG_HAS_AIO
        LIBS_STATOPT    += -laio
 endif
 
 ifeq ($(LTO),1)
        FLAGS_LTO := -flto
-       ifeq ($(call try-build,$(SOURCE_HELLO),$(CFLAGS),$(FLAGS_LTO)),y)
+       ifeq ($(call try-build,$(SOURCE_HELLO),$(CFLAGS),$(LDFLAGS) 
$(FLAGS_LTO)),y)
                override CFLAGS += $(FLAGS_LTO)
        endif
 endif
 
-ifeq ($(call try-build,$(SOURCE_STATIC),,-static),y)
+ifeq ($(call try-build,$(SOURCE_STATIC),$(CFLAGS),$(LDFLAGS) -static),y)
        override CFLAGS += -DCONFIG_GUEST_INIT
        GUEST_INIT      := guest/init
        GUEST_OBJS      = guest/guest_init.o
@@ -370,11 +370,11 @@ STATIC_OBJS = $(patsubst %.o,%.static.o,$(OBJS) 
$(OBJS_STATOPT))
 
 $(PROGRAM)-static:  $(STATIC_OBJS) $(OTHEROBJS) $(GUEST_INIT) $(GUEST_PRE_INIT)
        $(E) "  LINK    " $@
-       $(Q) $(CC) -static $(CFLAGS) $(STATIC_OBJS) $(OTHEROBJS) $(GUEST_OBJS) 
$(LIBS) $(LIBS_STATOPT) -o $@
+       $(Q) $(CC) -static $(CFLAGS) $(STATIC_OBJS) $(OTHEROBJS) $(GUEST_OBJS) 
$(LDFLAGS) $(LIBS) $(LIBS_STATOPT) -o $@
 
 $(PROGRAM): $(OBJS) $(OBJS_DYNOPT) $(OTHEROBJS) $(GUEST_INIT) $(GUEST_PRE_INIT)
        $(E) "  LINK    " $@
-       $(Q) $(CC) $(CFLAGS) $(OBJS) $(OBJS_DYNOPT) $(OTHEROBJS) $(GUEST_OBJS) 
$(LIBS) $(LIBS_DYNOPT) -o $@
+       $(Q) $(CC) $(CFLAGS) $(OBJS) $(OBJS_DYNOPT) $(OTHEROBJS) $(GUEST_OBJS) 
$(LDFLAGS) $(LIBS) $(LIBS_DYNOPT) -o $@
 
 $(PROGRAM_ALIAS): $(PROGRAM)
        $(E) "  LN      " $@
-- 
2.5.1

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to