# # 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