blob: 5f1776d96117ddb3982de86a6b88773ee1181dff [file] [log] [blame]
# ING SDK
#
ifeq ("$(BOARD)", "wrx")
TARGET_DIR ?= systems/linux/user/wrx-3_7
else
TARGET_DIR ?= systems/sim
export CONFIG_SWITCH_RPC=y
endif
export BUILD_ING_AS_LIB=1
export SDK=$(ING_SDK_DIR)
ifeq ("$(BOARD)", "wrx")
CMD_PARMS=platform=wrx-3_7 bldroot_suffix=/wrx-3_7 kernel_version=3_7 LINUX_MAKE_SHARED_LIB=0 SHAREDLIBVER=1 WRX_64BIT=1
$(info evaluating $(CMD_PARMS))
$(foreach _cmd,$(CMD_PARMS),$(eval export $(_cmd)))
include $(ING_SDK_DIR)/systems/linux/user/common/Makefile
BCM_LIBS_DEPS = user_libs $(BLDDIR)/socdiag.o $(BLDDIR)/version.o $(PLATFORM_DEFINES_OBJ) $(KERNEL_BDE) $(USER_BDE)
MAIN_LIB := $(BLDDIR)/socdiag.o $(MAIN_LIB)
CGLAGS += $(ARCH_FLAGS)
$(BLDDIR)/socdiag.o:: $(ING_SDK_DIR)/systems/linux/user/common/socdiag.c
@mkdir -p $(BLDDIR)
$(CC) -c -o $@ $(CFLAGS) $<
else
include $(ING_SDK_DIR)/$(TARGET_DIR)/Makefile
ifdef DPP_CHIPS
$(LIBDIR)/libchipsim_sim.$(libext):
make -C $(ING_SDK_DIR)/$(TARGET_DIR)/dpp/ChipSim
endif
BCM_LIBS_DEPS = $(MAIN_LIB) _bde _bcm_libraries $(BLDDIR)/version.o $(PLATFORM_DEFINES_OBJ) $(BCM_LIBS_BLD)
endif
# ING SDK links very strange. Instead of using -l, all libraries are added to executable as objects
# it is better to convert to -l directives
BCM_LIB_PATH := $(dir $(firstword $(BCM_LIBS_BLD)))
BCM_LIB_LIST := $(patsubst lib%.a,-l%,$(notdir $(BCM_LIBS_BLD)))
EXTRA_CFLAGS += -Wno-error=unused-value -Wno-unused-but-set-variable -Wno-format-security
export EXTRA_CFLAGS
sdk: $(ING_SDK_DIR)/.bcm_libs
echo "done: `ls $(ING_SDK_DIR)/$(TARGET_DIR)/`"
$(ING_SDK_DIR)/.bcm_libs: $(BCM_LIBS_DEPS)
echo "Building BCM SDK ... $(TARGET_DIR)"
@echo $(MAIN_LIB) $(BLDDIR)/version.o $(PLATFORM_DEFINES_OBJ) > $(ING_SDK_DIR)/.bcm_objs
@echo -L$(BCM_LIB_PATH) $(BCM_LIB_LIST) > $(ING_SDK_DIR)/.bcm_libs
@echo $(LDFLAGS) > $(ING_SDK_DIR)/.bcm_ldflags
$(BLDDIR)/%.o:: $(ING_SDK_DIR)/$(TARGET_DIR)/%.c
@mkdir -p $(BLDDIR)
$(CC) -c -o $@ $(CFLAGS) $<