This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/platform/broadcom/saibcm-modules/make/Make.lib
Guohan Lu aa2e340f5a [broadcom]: build broadcom kernel modules from gpl source codes
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-08-11 09:09:03 +00:00

82 lines
2.1 KiB
Plaintext

#
# Unless you and Broadcom execute a separate written software license
# agreement governing use of this software, this software is licensed to
# you under the terms of the GNU General Public License version 2 (the
# "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php,
# with the following added to such license:
#
# As a special exception, the copyright holders of this software give
# you permission to link this software with independent modules, and to
# copy and distribute the resulting executable under terms of your
# choice, provided that you also meet, for each linked independent
# module, the terms and conditions of the license of that module. An
# independent module is a module which is not derived from this
# software. The special exception does not apply to any modifications
# of the software.
#
# $Id: Make.lib,v 1.14 Broadcom SDK $
# $Copyright: (c) 2005 Broadcom Corp.
# All Rights Reserved.$
#
# Make rules/targets for handling libraries
.SECONDARY:: ${BOBJS}
BOBJS_FAST = ${BOBJS}
BOBJS_MAKE_CMD =
ifeq ($(FAST),1)
ifneq ($(strip $(BOBJS)),)
BOBJS_FAST =
BOBJS_ARGS = -j9
BOBJS_MAKE_CMD = pwd && make LSRUN=$(SDK)/tools/lsrun.pl $(BOBJS_ARGS) ${BOBJS}
endif
endif
ifeq ($(TOOLS),Borland)
LIBSUFFIX=lib
${LIBDIR}/%.lib: ${BORLAND_BOBJS}
$(RM) $@
$(FOREACH) -subdir "$(LIBDIR)" \
"tlib $@ $(foreach obj, $(BORLAND_LOBJS), +-$(obj))"
else # !Borland
ifeq ($(LINUX_MAKE_SHARED_LIB),1)
LIBSUFFIX=so.${SHAREDLIBVER}
else
LIBSUFFIX=a
endif
targetlib = ${LIBDIR}/${lib}.${LIBSUFFIX}
all:: ${BLDDIR}/.tree ${targetlib}
${LIBDIR}/%.${LIBSUFFIX}: ${BOBJS_FAST}
$(BOBJS_MAKE_CMD)
ifdef QUIET
@$(ECHO) Building library $(notdir $@)
endif
$Q$(RM) $@
ifeq ($(LINUX_MAKE_SHARED_LIB),1)
$(CC) -shared -Wl,-soname,${lib}.${LIBSUFFIX}${EXTRA_LIB_LDFLAGS} -o ${targetlib} ${BOBJS} -lc
else
${Q}cd $(dir $(word 1,${BOBJS}));$(AR) ${ARFLAGS} $@ $(sort $(notdir ${BOBJS}))
endif
endif # !Borland
install:: all
clean::
ifdef QUIET
@$(ECHO) Cleaning objects for ${LOCALDIR} and ${lib}
endif
$Q$(RM) ${BOBJS}
$Q$(RM) ${targetlib}
distclean:: clean