[BACK]Return to bsd.lib.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / share / mk

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/share/mk/bsd.lib.mk between version 1.269 and 1.278

version 1.269, 2006/09/18 05:15:35 version 1.278, 2008/04/29 07:48:31
Line 112  SHLIB_FULLVERSION=${SHLIB_MAJOR}
Line 112  SHLIB_FULLVERSION=${SHLIB_MAJOR}
 # SHLIB_LDSTARTFILE:    support .o file, call C++ file-level constructors  # SHLIB_LDSTARTFILE:    support .o file, call C++ file-level constructors
 # SHLIB_LDENDFILE:      support .o file, call C++ file-level destructors  # SHLIB_LDENDFILE:      support .o file, call C++ file-level destructors
 # FPICFLAGS:            flags for ${FC} to compile .[fF] files to .so objects.  # FPICFLAGS:            flags for ${FC} to compile .[fF] files to .so objects.
 # CPPICFLAGS:           flags for ${CPP} to preprocess .[sS] files for ${AS}  # CPPPICFLAGS:          flags for ${CPP} to preprocess .[sS] files for ${AS}
 # CPICFLAGS:            flags for ${CC} to compile .[cC] files to pic objects.  # CPICFLAGS:            flags for ${CC} to compile .[cC] files to pic objects.
 # CSHLIBFLAGS:          flags for ${CC} to compile .[cC] files to .so objects.  # CSHLIBFLAGS:          flags for ${CC} to compile .[cC] files to .so objects.
 #                       (usually includes ${CPICFLAGS})  #                       (usually includes ${CPICFLAGS})
Line 139  CPPPICFLAGS?= -DPIC -DBIGPIC
Line 139  CPPPICFLAGS?= -DPIC -DBIGPIC
 CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}  CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
 APICFLAGS ?= -KPIC  APICFLAGS ?= -KPIC
   
 .elif ${MACHINE_ARCH} == "ns32k"                                        # } {  
   
 # XXX no shared libraries yet on ns32k  
 FPICFLAGS?=  
 CPICFLAGS?=  
 CPPPICFLAGS?=  
 CAPICFLAGS?=  
 APICFLAGS?=  
   
 .else                                                                   # } {  .else                                                                   # } {
   
 # Platform-independent flags for NetBSD shared libraries  # Platform-independent flags for NetBSD shared libraries
Line 175  MKSHLIBOBJS= no
Line 166  MKSHLIBOBJS= no
 .if ${OBJECT_FMT} == "ELF"  .if ${OBJECT_FMT} == "ELF"
 SHLIB_SOVERSION=        ${SHLIB_MAJOR}  SHLIB_SOVERSION=        ${SHLIB_MAJOR}
 SHLIB_SHFLAGS=          -Wl,-soname,lib${LIB}.so.${SHLIB_SOVERSION}  SHLIB_SHFLAGS=          -Wl,-soname,lib${LIB}.so.${SHLIB_SOVERSION}
   SHLIB_SHFLAGS+=         -Wl,--warn-shared-textrel
 SHLIB_LDSTARTFILE?=     ${DESTDIR}/usr/lib/crti.o ${_GCC_CRTBEGINS}  SHLIB_LDSTARTFILE?=     ${DESTDIR}/usr/lib/crti.o ${_GCC_CRTBEGINS}
 SHLIB_LDENDFILE?=       ${_GCC_CRTENDS} ${DESTDIR}/usr/lib/crtn.o  SHLIB_LDENDFILE?=       ${_GCC_CRTENDS} ${DESTDIR}/usr/lib/crtn.o
 .endif  .endif
Line 187  FFLAGS+= ${FOPTS}
Line 179  FFLAGS+= ${FOPTS}
 .c.o:  .c.o:
         ${_MKTARGET_COMPILE}          ${_MKTARGET_COMPILE}
         ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}          ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
 .if !defined(COPTS) || empty(COPTS:M*-g*)  .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
         ${OBJCOPY} -x ${.TARGET}          ${OBJCOPY} -x ${.TARGET}
 .endif  .endif
   
 .c.po:  .c.po:
         ${_MKTARGET_COMPILE}          ${_MKTARGET_COMPILE}
         ${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}          ${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}
 .if !defined(COPTS) || empty(COPTS:M*-g*)  .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
         ${OBJCOPY} -X ${.TARGET}          ${OBJCOPY} -X ${.TARGET}
 .endif  .endif
   
Line 205  FFLAGS+= ${FOPTS}
Line 197  FFLAGS+= ${FOPTS}
 .c.so:  .c.so:
         ${_MKTARGET_COMPILE}          ${_MKTARGET_COMPILE}
         ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}          ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
 .if !defined(COPTS) || empty(COPTS:M*-g*)  .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
         ${OBJCOPY} -x ${.TARGET}          ${OBJCOPY} -x ${.TARGET}
 .endif  .endif
   
 .cc.o .cpp.o .cxx.o .C.o:  .cc.o .cpp.o .cxx.o .C.o:
         ${_MKTARGET_COMPILE}          ${_MKTARGET_COMPILE}
         ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}          ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
 .if !defined(COPTS) || empty(COPTS:M*-g*)  .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
         ${OBJCOPY} -x ${.TARGET}          ${OBJCOPY} -x ${.TARGET}
 .endif  .endif
   
 .cc.po .cpp.po .cxx.po .C.po:  .cc.po .cpp.po .cxx.po .C.po:
         ${_MKTARGET_COMPILE}          ${_MKTARGET_COMPILE}
         ${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}          ${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}
 .if !defined(COPTS) || empty(COPTS:M*-g*)  .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
         ${OBJCOPY} -X ${.TARGET}          ${OBJCOPY} -X ${.TARGET}
 .endif  .endif
   
Line 230  FFLAGS+= ${FOPTS}
Line 222  FFLAGS+= ${FOPTS}
 .cc.so .cpp.so .cxx.so .C.so:  .cc.so .cpp.so .cxx.so .C.so:
         ${_MKTARGET_COMPILE}          ${_MKTARGET_COMPILE}
         ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}          ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
 .if !defined(COPTS) || empty(COPTS:M*-g*)  .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
         ${OBJCOPY} -x ${.TARGET}          ${OBJCOPY} -x ${.TARGET}
 .endif  .endif
   
Line 449  _LIBLDOPTS+= -Wl,-rpath-link,${DESTDIR}$
Line 441  _LIBLDOPTS+= -Wl,-rpath-link,${DESTDIR}$
                 -L${DESTDIR}${SHLIBINSTALLDIR}                  -L${DESTDIR}${SHLIBINSTALLDIR}
 .endif  .endif
   
 lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOLIB} ${DPADD} \  # gcc -shared now adds -lc automatically. For libraries other than libc and
   # libgcc* we add as a dependency the installed shared libc. For libc and
   # libgcc* we avoid adding libc as a dependency by using -nostdlib. Note that
   # -Xl,-nostdlib is not enough because we want to tell the compiler-driver not
   # to add standard libraries, not the linker.
   .if !defined(LIB)
   DPLIBC ?= ${DESTDIR}${LIBC_SO}
   .else
   .if ${LIB} != "c" && ${LIB:Mgcc*} == ""
   DPLIBC ?= ${DESTDIR}${LIBC_SO}
   .else
   LDLIBC ?= -nodefaultlibs
   .if ${LIB} == "c"
   LDADD+= -lgcc_pic
   .endif
   .endif
   .endif
   
   lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOLIB} ${DPADD} ${DPLIBC} \
     ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}      ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}
         ${_MKTARGET_BUILD}          ${_MKTARGET_BUILD}
         rm -f lib${LIB}.so.${SHLIB_FULLVERSION}          rm -f lib${LIB}.so.${SHLIB_FULLVERSION}
 .if defined(DESTDIR)  .if defined(DESTDIR)
         ${CC} -Wl,-nostdlib -B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/ \          ${CC} ${LDLIBC} -Wl,-nostdlib -B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/ \
             ${_LIBLDOPTS} \              ${_LIBLDOPTS} \
             -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} -o ${.TARGET} \              -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} -o ${.TARGET} \
             -Wl,--whole-archive ${SOLIB} \              -Wl,--whole-archive ${SOLIB} \
             -Wl,--no-whole-archive ${LDADD} \              -Wl,--no-whole-archive ${LDADD} \
             -L${_GCC_LIBGCCDIR}              -L${_GCC_LIBGCCDIR}
 .else  .else
         ${CC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} -o ${.TARGET} \          ${CC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} \
             ${_LIBLDOPTS} \              -o ${.TARGET} ${_LIBLDOPTS} \
             -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${LDADD}              -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${LDADD}
 .endif  .endif
 .if ${OBJECT_FMT} == "ELF"  .if ${OBJECT_FMT} == "ELF"

Legend:
Removed from v.1.269  
changed lines
  Added in v.1.278

CVSweb <webmaster@jp.NetBSD.org>