Make.kernlib (1185B)
1 # 2 # This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 3 # 4 # Copyright 2007-2019 Broadcom Inc. All rights reserved. 5 # 6 # Make rules/targets for handling libraries 7 8 .SECONDARY:: ${BOBJS} 9 10 targetlibsoname = ${lib}.so.${SHAREDLIBVER} 11 targetlibrealname = ${targetlibsoname} 12 targetlibso = ${LIBDIR}/${targetlibrealname} 13 14 ifeq ($(TOOLS),Borland) 15 16 LIBSUFFIX=lib 17 18 ${LIBDIR}/%.lib: ${BORLAND_BOBJS} 19 $(RM) $@ 20 $(FOREACH) -subdir "$(LIBDIR)" \ 21 "tlib $@ $(foreach obj, $(BORLAND_LOBJS), +-$(obj))" 22 23 else # !Borland 24 25 LIBSUFFIX=a 26 27 ${LIBDIR}/%.a: ${BOBJS} 28 ifdef QUIET 29 @$(ECHO) Building library $(notdir $@) 30 endif 31 $Q$(RM) $@ 32 $Q$(AR) ${ARFLAGS} $@ $(sort ${BOBJS}) 33 ifeq ($(LINUX_MAKE_SHARED_LIB),1) 34 ifeq ($(targetbase),unix) 35 $(CC) -shared -Wl,-soname,${targetlibsoname} -o ${targetlibso} ${BOBJS} -lc 36 endif 37 endif # LINUX_MAKE_SHARED_LIB # 38 endif # !Borland 39 40 targetlib = ${LIBDIR}/${lib}.${LIBSUFFIX} 41 42 all:: ${BLDDIR}/.tree ${targetlib} 43 44 install:: all 45 46 clean:: 47 ifdef QUIET 48 @$(ECHO) Cleaning objects for ${LOCALDIR} and ${lib} 49 endif 50 $Q$(RM) ${BOBJS} 51 $Q$(RM) ${targetlib} 52 $Q$(RM) ${targetlibso} 53 54 distclean:: clean 55