[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.173 and 1.181

version 1.173, 2000/07/14 19:53:04 version 1.181, 2001/06/07 15:28:55
Line 14  __initialized__:
Line 14  __initialized__:
   
 .PHONY:         checkver cleanlib libinstall  .PHONY:         checkver cleanlib libinstall
 realinstall:    checkver libinstall  realinstall:    checkver libinstall
 clean cleandir distclean: cleanlib  clean cleandir: cleanlib
   
 .if exists(${SHLIB_VERSION_FILE})  .if exists(${SHLIB_VERSION_FILE})
 SHLIB_MAJOR != . ${SHLIB_VERSION_FILE} ; echo $$major  SHLIB_MAJOR != . ${SHLIB_VERSION_FILE} ; echo $$major
Line 26  SHLIB_TEENY != . ${SHLIB_VERSION_FILE} ;
Line 26  SHLIB_TEENY != . ${SHLIB_VERSION_FILE} ;
         exists(${BSDSRCDIR}/lib/checkver)          exists(${BSDSRCDIR}/lib/checkver)
 checkver:  checkver:
         @(cd ${.CURDIR} && \          @(cd ${.CURDIR} && \
                 ${BSDSRCDIR}/lib/checkver -v ${SHLIB_VERSION_FILE} \                  sh ${BSDSRCDIR}/lib/checkver -v ${SHLIB_VERSION_FILE} \
                     -d ${DESTDIR}${LIBDIR} ${LIB})                      -d ${DESTDIR}${LIBDIR} ${LIB})
 .endif  .endif
 .endif  .endif
Line 89  SHLIB_FULLVERSION=${SHLIB_MAJOR}
Line 89  SHLIB_FULLVERSION=${SHLIB_MAJOR}
 #                       with ELF, also set shared-lib version for ld.so.  #                       with ELF, also set shared-lib version for ld.so.
 # 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.
 # CPPICFLAGS:           flags for ${CPP} to preprocess .[sS] files for ${AS}  # CPPICFLAGS:           flags for ${CPP} to preprocess .[sS] files for ${AS}
 # CPICFLAGS:            flags for ${CC} to compile .[cC] files to .so objects.  # CPICFLAGS:            flags for ${CC} to compile .[cC] files to .so objects.
 # CAPICFLAGS            flags for {$CC} to compiling .[Ss] files  # CAPICFLAGS            flags for {$CC} to compiling .[Ss] files
Line 97  SHLIB_FULLVERSION=${SHLIB_MAJOR}
Line 98  SHLIB_FULLVERSION=${SHLIB_MAJOR}
   
 .if ${MACHINE_ARCH} == "alpha"  .if ${MACHINE_ARCH} == "alpha"
                 # Alpha-specific shared library flags                  # Alpha-specific shared library flags
   FPICFLAGS ?= -fPIC
 CPICFLAGS ?= -fPIC -DPIC  CPICFLAGS ?= -fPIC -DPIC
 CPPPICFLAGS?= -DPIC  CPPPICFLAGS?= -DPIC
 CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}  CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
Line 116  AS+= -KPIC
Line 118  AS+= -KPIC
 # On the VAX, all object are PIC by default, not just sharedlibs.  # On the VAX, all object are PIC by default, not just sharedlibs.
 MKPICLIB= no  MKPICLIB= no
   
 .elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF"  .elif (${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64") && \
          ${OBJECT_FMT} == "ELF"
   
   FPICFLAGS ?= -fPIC
 CPICFLAGS ?= -fPIC -DPIC  CPICFLAGS ?= -fPIC -DPIC
 CPPPICFLAGS?= -DPIC  CPPPICFLAGS?= -DPIC
 CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}  CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
Line 130  SHLIB_LDSTARTFILE=
Line 134  SHLIB_LDSTARTFILE=
 SHLIB_LDENDFILE=  SHLIB_LDENDFILE=
 SHLIB_SOVERSION=${SHLIB_FULLVERSION}  SHLIB_SOVERSION=${SHLIB_FULLVERSION}
 SHLIB_SHFLAGS=  SHLIB_SHFLAGS=
   FPICFLAGS ?= -fPIC
 CPICFLAGS?= -fPIC -DPIC  CPICFLAGS?= -fPIC -DPIC
 CPPPICFLAGS?= -DPIC  CPPPICFLAGS?= -DPIC
 CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}  CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
Line 143  MKPICLIB?= yes
Line 148  MKPICLIB?= yes
 .if ${OBJECT_FMT} == "ELF"  .if ${OBJECT_FMT} == "ELF"
 SHLIB_SOVERSION=${SHLIB_MAJOR}  SHLIB_SOVERSION=${SHLIB_MAJOR}
 SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION}  SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION}
 SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o  SHLIB_LDSTARTFILE= ${DESTDIR}${LIBDIR}/crtbeginS.o
 SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o  SHLIB_LDENDFILE= ${DESTDIR}${LIBDIR}/crtendS.o
 .endif  .endif
   
 CFLAGS+=        ${COPTS}  CFLAGS+=        ${COPTS}
   FFLAGS+=        ${FOPTS}
   
 .c.o:  .c.o:
 .if defined(COPTS) && !empty(COPTS:M*-g*)  .if defined(COPTS) && !empty(COPTS:M*-g*)
Line 212  CFLAGS+= ${COPTS}
Line 218  CFLAGS+= ${COPTS}
         @rm -f ${.TARGET}.o          @rm -f ${.TARGET}.o
 .endif  .endif
   
   .f.o:
   .if defined(FOPTS) && !empty(FOPTS:M*-g*)
           ${COMPILE.f} ${.IMPSRC}
   .else
           @echo ${COMPILE.f:Q} ${.IMPSRC}
           @${COMPILE.f} ${.IMPSRC} -o ${.TARGET}.o
           @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
           @rm -f ${.TARGET}.o
   .endif
   
   .f.po:
   .if defined(FOPTS) && !empty(FOPTS:M*-g*)
           ${COMPILE.f} -pg ${.IMPSRC} -o ${.TARGET}
   .else
           @echo ${COMPILE.f:Q} -pg ${.IMPSRC} -o ${.TARGET}
           @${COMPILE.f} -pg ${.IMPSRC} -o ${.TARGET}.o
           @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
           @rm -f ${.TARGET}.o
   .endif
   
   .f.so:
   .if defined(FOPTS) && !empty(FOPTS:M*-g*)
           ${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}
   .else
           @echo ${COMPILE.f:Q} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}
           @${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
           @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
           @rm -f ${.TARGET}.o
   .endif
   
   .f.ln:
           ${ECHO} Skipping lint for Fortran libraries.
   
 .m.o:  .m.o:
 .if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*)  .if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*)
         ${COMPILE.m} ${.IMPSRC}          ${COMPILE.m} ${.IMPSRC}
Line 287  _LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION}
Line 326  _LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION}
 .endif  .endif
 .endif  .endif
   
 .if ${MKLINT} != "no" && ${MKLINKLIB} != "no"  
 _LIBS+=llib-l${LIB}.ln  
 LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}  LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
   .if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS)
   _LIBS+=llib-l${LIB}.ln
 .endif  .endif
   
 .if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \  .if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
         || ${MKLINKLIB} != "no"          || ${MKLINKLIB} != "no"
 ALLOBJS=${OBJS} ${POBJS} ${SOBJS} ${LOBJS}  ALLOBJS=${OBJS} ${POBJS} ${SOBJS}
 .else  .else
 ALLOBJS=${POBJS} ${SOBJS} ${LOBJS}  ALLOBJS=${POBJS} ${SOBJS}
   .endif
   .if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS)
   ALLOBJS+=${LOBJS}
 .endif  .endif
 .NOPATH: ${ALLOBJS} ${_LIBS}  .NOPATH: ${ALLOBJS} ${_LIBS}
   
Line 346  lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOL
Line 388  lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOL
             ${SHLIB_LDENDFILE}              ${SHLIB_LDENDFILE}
 .endif  .endif
 .if ${OBJECT_FMT} == "ELF"  .if ${OBJECT_FMT} == "ELF"
         rm -f lib${LIB}.so.${SHLIB_MAJOR}          ln -sf lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.${SHLIB_MAJOR}.tmp
         ln -s lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.${SHLIB_MAJOR}          mv -f lib${LIB}.so.${SHLIB_MAJOR}.tmp lib${LIB}.so.${SHLIB_MAJOR}
         rm -f lib${LIB}.so          ln -sf lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.tmp
         ln -s lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so          mv -f lib${LIB}.so.tmp lib${LIB}.so
 .endif  .endif
   
   .if !empty(LOBJS)
 LLIBS?=         -lc  LLIBS?=         -lc
 llib-l${LIB}.ln: ${LOBJS}  llib-l${LIB}.ln: ${LOBJS}
         @echo building llib-l${LIB}.ln          @echo building llib-l${LIB}.ln
         @rm -f llib-l${LIB}.ln          @rm -f llib-l${LIB}.ln
         @${LINT} -C${LIB} ${.ALLSRC} ${LLIBS}          @${LINT} -C${LIB} ${.ALLSRC} ${LLIBS}
   .endif
   
 cleanlib:  cleanlib:
         rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}          rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}
Line 439  ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB
Line 483  ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB
         /sbin/ldconfig -m ${LIBDIR}          /sbin/ldconfig -m ${LIBDIR}
 .endif  .endif
 .if ${OBJECT_FMT} == "ELF"  .if ${OBJECT_FMT} == "ELF"
         rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}          ln -sf lib${LIB}.so.${SHLIB_FULLVERSION}\
         ln -s lib${LIB}.so.${SHLIB_FULLVERSION} \              ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.tmp
           mv -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.tmp\
             ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}              ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
         rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so  
 .if ${MKLINKLIB} != "no"  .if ${MKLINKLIB} != "no"
         ln -s lib${LIB}.so.${SHLIB_FULLVERSION} \          ln -sf lib${LIB}.so.${SHLIB_FULLVERSION}\
               ${DESTDIR}${LIBDIR}/lib${LIB}.so.tmp
           mv -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.tmp\
             ${DESTDIR}${LIBDIR}/lib${LIB}.so              ${DESTDIR}${LIBDIR}/lib${LIB}.so
 .endif  .endif
 .endif  .endif
 .endif  .endif
   
 .if ${MKLINT} != "no" && ${MKLINKLIB} != "no"  .if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS)
 libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln  libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
 .PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln  .PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
 .if !defined(UPDATE)  .if !defined(UPDATE)

Legend:
Removed from v.1.173  
changed lines
  Added in v.1.181

CVSweb <webmaster@jp.NetBSD.org>