87 lines
4.2 KiB
Plaintext
87 lines
4.2 KiB
Plaintext
# defs.comps - makefile definitions related to component builds
|
|
#
|
|
# Copyright (c) 2007 Wind River Systems, Inc.
|
|
#
|
|
# The right to copy, distribute, modify or otherwise make use
|
|
# of this software may be licensed only pursuant to the terms
|
|
# of an applicable Wind River license agreement.
|
|
#
|
|
#
|
|
# modification history
|
|
# --------------------
|
|
# 01f,12nov08,mze returning the LIBPATH and LINK_PATH macros to where they
|
|
# belong.
|
|
# 01e,29sep08,mze remove WS_ROOT_DIR_LIBPATH
|
|
# 01d,02aug07,pee WIND00100300
|
|
# 01c,19jul07,tkf Fix WIND00098105: consider VXBUILD=SMP option for source
|
|
# builds. Also correct code that assumed
|
|
# WIND_COMPONENTS_LIBPATHS contains only one lib path.
|
|
# 01b,10may07,tkf Fix link problem due to multiple inclusion when building BSPs from
|
|
# target/config.
|
|
# 01a,02may07,tkf Written.
|
|
#
|
|
# DESCRIPTION
|
|
#
|
|
# This file is included in Makefiles to establish information related
|
|
# to component builds,
|
|
#
|
|
|
|
# Protect against multiple inclusion.
|
|
ifeq ($(DEFS_COMPS),)
|
|
DEFS_COMPS = TRUE
|
|
|
|
include $(TGT_DIR)/h/make/defs.options
|
|
|
|
# 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$(MAJOR_OPTION_SUFFIX)
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL)$(MINOR_OPTION_SUFFIX)
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(MINOR_OPTION_SUFFIX)
|
|
else
|
|
ifneq ($(WS_ROOT_DIR),)
|
|
WS_ROOT_DIR_LIBPATH = $(WS_ROOT_DIR)/obj/$(WIND_PLATFORM)/krnl/lib$(MAJOR_OPTION_SUFFIX)
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL)$(MINOR_OPTION_SUFFIX)
|
|
COMP_LD_LINK_PATH += -L$(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(MINOR_OPTION_SUFFIX)
|
|
COMP_LIBS_PRESENT += $(notdir $(wildcard $(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL)$(MINOR_OPTION_SUFFIX)/lib*.a))
|
|
COMP_LIBS_PRESENT += $(notdir $(wildcard $(WS_ROOT_DIR_LIBPATH)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(MINOR_OPTION_SUFFIX)/lib*.a))
|
|
endif
|
|
endif
|
|
|
|
# Add component libpaths and modules defined in WIND_COMPONENTS_LIBPATHS and
|
|
# WIND_COMPONENTS_MODULES
|
|
|
|
WIND_COMPONENTS_MODULES := $(subst \,/,$(WIND_COMPONENTS_MODULES))
|
|
|
|
ifeq ($(WIND_HOST_TYPE),x86-win32)
|
|
PATH_SEPARATOR = ;
|
|
else
|
|
PATH_SEPARATOR = :
|
|
endif
|
|
|
|
WIND_COMPONENTS_LIBPATHS := $(subst \,/,$(WIND_COMPONENTS_LIBPATHS))
|
|
|
|
WIND_COMPONENTS_LIBPATHS_LIST := $(subst $(PATH_SEPARATOR), ,$(WIND_COMPONENTS_LIBPATHS))
|
|
|
|
COMP_LD_LINK_PATH += $(foreach dir,$(WIND_COMPONENTS_LIBPATHS_LIST), \
|
|
-L$(dir)$(MAJOR_OPTION_SUFFIX)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL)$(MINOR_OPTION_SUFFIX))
|
|
COMP_LD_LINK_PATH += $(foreach dir,$(WIND_COMPONENTS_LIBPATHS_LIST), \
|
|
-L$(dir)$(MAJOR_OPTION_SUFFIX)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(MINOR_OPTION_SUFFIX))
|
|
|
|
COMP_LIBS_PRESENT += $(notdir $(foreach dir,$(WIND_COMPONENTS_LIBPATHS_LIST),\
|
|
$(wildcard $(dir)$(MAJOR_OPTION_SUFFIX)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL)$(MINOR_OPTION_SUFFIX)/lib*.a)))
|
|
COMP_LIBS_PRESENT += $(notdir $(foreach dir,$(WIND_COMPONENTS_LIBPATHS_LIST),\
|
|
$(wildcard $(dir)$(MAJOR_OPTION_SUFFIX)/$(VX_CPU_FAMILY)$(ARCH_OPTION_SUFFIX)/$(CPU_CLASS)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(MINOR_OPTION_SUFFIX)/lib*.a)))
|
|
|
|
COMP_LIBNAMES = $(foreach name,$(subst $(PATH_SEPARATOR), ,$(WIND_COMPONENTS_LIBNAMES)),lib$(name).a)
|
|
COMP_MODULES = $(subst $(PATH_SEPARATOR), ,$(WIND_COMPONENTS_MODULES))
|
|
|
|
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)
|
|
|
|
endif # ifeq ($(DEFS_COMPS),)
|