Add dynamic linking support
The original static linking works on distributions like Ubuntu that provide static libraries, but it would fail on some distributions like Arch Linux that primarily provide dynamic libraries. This commit adds dynamic linking support to accommodate these distributions. Usage: ``` make LINK_TYPE=dynamic build ```
This commit is contained in:
@@ -141,7 +141,12 @@ INC_DIRS += $(DEP_INC_DIRS) $(EXTRA_INC)
|
||||
|
||||
DEFINES += _FILE_OFFSET_BITS=64
|
||||
|
||||
ifndef LINK_TYPE
|
||||
LINK_TYPE=static
|
||||
endif
|
||||
|
||||
# $(if ("$(SYSTEM)","cygwin"), $(1), :lib$(strip $(1)).a)
|
||||
ifeq ($(LINK_TYPE),static)
|
||||
define static_lib
|
||||
:lib$(strip $(1)).a
|
||||
endef
|
||||
@@ -155,6 +160,13 @@ define static_lib
|
||||
:lib$(strip $(1))-mt.a
|
||||
endef
|
||||
endif
|
||||
else ifeq ($(LINK_TYPE),dynamic)
|
||||
define static_lib
|
||||
$(1)
|
||||
endef
|
||||
else
|
||||
$(error LINK_TYPE must be either 'static' or 'dynamic', not '$(LINK_TYPE)')
|
||||
endif
|
||||
|
||||
#################################################################################
|
||||
### Setting up some common libraries
|
||||
@@ -181,9 +193,11 @@ COMMON_LIBS += Bcrypt
|
||||
endif
|
||||
ifeq ($(SYSTEM),linux)
|
||||
NCURSES_LIBS += $(call static_lib, ncurses)
|
||||
NCURSES_LIBS += $(call static_lib, panel)
|
||||
ifeq ($(LINK_TYPE),static)
|
||||
NCURSES_LIBS += $(call static_lib, termcap)
|
||||
NCURSES_LIBS += $(call static_lib, gpm)
|
||||
NCURSES_LIBS += $(call static_lib, panel)
|
||||
endif
|
||||
BOOST_LIBS += $(call static_lib, rt)
|
||||
COMMON_LIBS += pthread
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user