136 lines
5.7 KiB
SYSTEMD
136 lines
5.7 KiB
SYSTEMD
# defs.link - libraries and libraries search path definitions
|
|
#
|
|
# Copyright 1984-2005, Wind River Systems, Inc.
|
|
#
|
|
# modification history
|
|
# --------------------
|
|
# 04l,15sep05,jlb Use CPU_CLASS to access middleware component archives
|
|
# 04k,28apr05,edc Fixed component libpaths from WS_ROOT_DIR such that it
|
|
# propagates the macro when WS_ROOT_DIR is defined as UNKNOWN
|
|
# during VIP create time.
|
|
# 04j,22apr05,edc Did not (could not) break up lines 82-89.
|
|
# 04i,22apr05,edc Added component libpaths from the workspace directory,
|
|
# broke long lines, and added comments.
|
|
# 04h,19may04,dlk Include defs.option from this file.
|
|
# 04g,03feb04,dlk support option builds.
|
|
# 04f,30jan03,pch add LD_LINK_PATH_ATEND
|
|
# 04e,12nov01,j_s written
|
|
#
|
|
# DESCRIPTION
|
|
# This file defines OS libraries VX_OS_LIBS and the library search paths
|
|
# LD_LINK_PATH. LIBS is also defined here which includes LIB_EXTRA and
|
|
# VX_OS_LIBS by default. It can be overwitten by project. This file is
|
|
# included by both defs.bsp and defs.project
|
|
|
|
include $(TGT_DIR)/h/make/defs.option
|
|
|
|
## libraries
|
|
#
|
|
# LD_LINK_PATH: list of paths that ld search for archive libraries.
|
|
# It includes the tool independant and dependant directories, as
|
|
# well as any additional directory specified via
|
|
# LD_LINK_PATH_EXTRA.
|
|
# LD_LINK_LIBS: list of libraries searched by ld in the paths defined by
|
|
# LD_LINK_PATH. This list is automatically generated and
|
|
# corresponds to all of the libraries located in the directories
|
|
# specified in LD_LINK_PATH whose name is of the form libXXX.a.
|
|
#
|
|
|
|
LD_LINK_PATH = $(LD_LINK_PATH_EXTRA) \
|
|
-L$(TGT_DIR)/lib/$(VX_CPU_FAMILY)/$(CPU)/$(TOOL)
|
|
LD_LINK_PATH += -L$(TGT_DIR)/lib/$(VX_CPU_FAMILY)/$(CPU)/$(TOOL_COMMON_DIR)
|
|
|
|
# ifneq ($(LD_LINK_PATH_ATEND),)
|
|
LD_LINK_PATH += $(LD_LINK_PATH_ATEND)
|
|
# endif
|
|
|
|
LIBS_PRESENT = $(notdir $(foreach dir, $(subst -L,, $(LD_LINK_PATH)), \
|
|
$(wildcard $(dir)/lib*.a)))
|
|
|
|
# The option libraries are those containing a dash '-' in their name.
|
|
# No non-option library may contain a dash.
|
|
|
|
OPT_LIBS_PRESENT = $(notdir $(foreach dir, $(subst -L,, $(LD_LINK_PATH)), \
|
|
$(wildcard $(dir)/lib*-*.a)))
|
|
|
|
ifneq ($(OPT),)
|
|
OPT_LIBS = $(filter %$(OPT).a, $(LIBS_PRESENT))
|
|
THIS_OPT_LIBS = $(patsubst %,lib%.a,$(LIB_BASE_NAMES$(OPT)))
|
|
else
|
|
OPT_LIBS =
|
|
THIS_OPT_LIBS =
|
|
endif
|
|
|
|
# Remove any option libraries, and also any libraries replaced
|
|
# by option libraries for the present $(OPT) value.
|
|
|
|
NONOPT_LIBS = $(filter-out $(OPT_LIBS_PRESENT) $(THIS_OPT_LIBS), \
|
|
$(LIBS_PRESENT))
|
|
|
|
LD_LINK_LIBS = $(patsubst lib%.a,-l%, $(OPT_LIBS) $(NONOPT_LIBS))
|
|
|
|
ifeq ($(CPU_CLASS),)
|
|
CPU_CLASS = $(CPU)
|
|
endif
|
|
|
|
#
|
|
# VX_OS_LIBS: libraries present in LD_LINK_PATH and
|
|
# $(TGT_DIR)/lib/lib$(CPU)$(TOOL)vx.a. Supposedly, only OS libraries
|
|
# should be there.
|
|
# LIBS: customer's libraries and VX_OS_LIBS
|
|
#
|
|
|
|
VX_OS_LIBS = $(LD_LINK_LIBS) $(TGT_DIR)/lib/lib$(CPU)$(TOOL)vx.a
|
|
LIBS = $(LIB_EXTRA) $(VX_OS_LIBS)
|
|
|
|
# Add component libpaths from the workspace directory WS_ROOT_DIR
|
|
|
|
ifeq ($(WS_ROOT_DIR),UNKNOWN)
|
|
WS_ROOT_DIR_LIBPATH = $$(WS_ROOT_DIR)/obj/$(WIND_PLATFORM)/krnl/lib
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL)
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL_COMMON_DIR)
|
|
else
|
|
ifneq ($(WS_ROOT_DIR),)
|
|
WS_ROOT_DIR_LIBPATH = $(WS_ROOT_DIR)/obj/$(WIND_PLATFORM)/krnl/lib
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL)
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL_COMMON_DIR)
|
|
COMP_LIBS_PRESENT += $(notdir $(wildcard $(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL)/lib*.a))
|
|
COMP_LIBS_PRESENT += $(notdir $(wildcard $(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL_COMMON_DIR)/lib*.a))
|
|
endif
|
|
endif
|
|
|
|
# Add component libpaths and modules defined in WIND_COMPONENT_LIBPATHS and
|
|
# WIND_COMPONENT_MODULES
|
|
|
|
WIND_COMPONENTS_LIBPATHS := $(subst \,/,$(WIND_COMPONENTS_LIBPATHS))
|
|
WIND_COMPONENTS_MODULES := $(subst \,/,$(WIND_COMPONENTS_MODULES))
|
|
|
|
ifeq ($(WIND_HOST_TYPE),x86-win32)
|
|
COMP_LD_LINK_PATH += $(foreach dir,$(subst ;, ,$(WIND_COMPONENTS_LIBPATHS)), \
|
|
-L$(dir)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL))
|
|
COMP_LD_LINK_PATH += $(foreach dir,$(subst ;, ,$(WIND_COMPONENTS_LIBPATHS)), \
|
|
-L$(dir)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL_COMMON_DIR))
|
|
COMP_LIBNAMES = $(foreach name,$(subst ;, ,$(WIND_COMPONENTS_LIBNAMES)),lib$(name).a)
|
|
COMP_MODULES = $(foreach file,$(subst ;, ,$(WIND_COMPONENTS_MODULES)), $(file))
|
|
else
|
|
COMP_LD_LINK_PATH += $(foreach dir,$(subst :, ,$(WIND_COMPONENTS_LIBPATHS)), \
|
|
-L$(dir)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL))
|
|
COMP_LD_LINK_PATH += $(foreach dir,$(subst :, ,$(WIND_COMPONENTS_LIBPATHS)), \
|
|
-L$(dir)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL_COMMON_DIR))
|
|
COMP_LIBNAMES = $(foreach name,$(subst :, ,$(WIND_COMPONENTS_LIBNAMES)),lib$(name).a)
|
|
COMP_MODULES = $(foreach file,$(subst :, ,$(WIND_COMPONENTS_MODULES)), $(file))
|
|
endif
|
|
|
|
COMP_LIBS_PRESENT += $(notdir $(foreach dir,$(WIND_COMPONENTS_LIBPATHS),\
|
|
$(wildcard $(dir)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL)/lib*.a)))
|
|
COMP_LIBS_PRESENT += $(notdir $(foreach dir,$(WIND_COMPONENTS_LIBPATHS),\
|
|
$(wildcard $(dir)/$(VX_CPU_FAMILY)/$(CPU_CLASS)/$(TOOL_COMMON_DIR)/lib*.a)))
|
|
|
|
COMP_LD_LINK_LIBS = $(patsubst lib%.a,-l%,$(filter $(COMP_LIBNAMES),$(COMP_LIBS_PRESENT)))
|
|
|
|
COMP_LIBS = $(COMPONENT_MODULES) $(COMP_MODULES) $(COMPONENT_LIBRARIES) \
|
|
$(COMP_LD_LINK_LIBS)
|
|
|
|
LD_LINK_PATH += $(COMP_LD_LINK_PATH)
|
|
|