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

Diff for /src/share/mk/bsd.lib.mk between version 1.69 and 1.70

version 1.69, 2013/03/18 10:51:35 version 1.70, 2013/10/13 23:30:12
Line 23 
Line 23 
   
 # prefer .S to a .c, add .po, remove stuff not used in the BSD libraries.  # prefer .S to a .c, add .po, remove stuff not used in the BSD libraries.
 # .so used for PIC object files.  # .so used for PIC object files.
   # .do used for distrib "crunchgen" object files
 # .m for objective c files.  # .m for objective c files.
 .SUFFIXES:  .SUFFIXES:
 .SUFFIXES: .out .o .go .po .so .S .s .c .cc .cpp .C .cxx .f .y .l .m4 .m  .SUFFIXES: .out .o .go .po .so .do .S .s .c .cc .cpp .C .cxx .f .y .l .m4 .m
   
 .if defined(NOPIE)  .if defined(NOPIE)
 CFLAGS+=        ${NOPIE_FLAGS}  CFLAGS+=        ${NOPIE_FLAGS}
 AFLAGS+=        ${NOPIE_FLAGS}  AFLAGS+=        ${NOPIE_FLAGS}
 .endif  .endif
   
   DIST_CFLAGS+=   -Os
   
 .c.o:  .c.o:
         @echo "${COMPILE.c} ${.IMPSRC} -o ${.TARGET}"          @echo "${COMPILE.c} ${.IMPSRC} -o ${.TARGET}"
         @${COMPILE.c} ${.IMPSRC}  -o ${.TARGET}.o          @${COMPILE.c} ${.IMPSRC}  -o ${.TARGET}.o
Line 56 
Line 59 
         @${LD} -X -r ${.TARGET}.o -o ${.TARGET}          @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
         @rm -f ${.TARGET}.o          @rm -f ${.TARGET}.o
   
   .c.do:
           @echo "${COMPILE.c} ${DIST_CFLAGS} ${.IMPSRC} -o ${.TARGET}"
           @${COMPILE.c} ${DIST_CFLAGS} ${.IMPSRC}  -o ${.TARGET}.o
           @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
           @rm -f ${.TARGET}.o
   
 .cc.o .cpp.o .C.o .cxx.o:  .cc.o .cpp.o .C.o .cxx.o:
         @echo "${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}"          @echo "${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}"
         @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o          @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o
Line 133 
Line 142 
         @${LD} -X -r ${.TARGET}.o -o ${.TARGET}          @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
         @rm -f ${.TARGET}.o          @rm -f ${.TARGET}.o
   
   .S.do .s.do:
           @echo "${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${DIST_CFLAGS} \
               ${.IMPSRC} -o ${.TARGET}"
           @${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${DIST_CFLAGS} ${.IMPSRC} \
               -o ${.TARGET}.o
           @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
           @rm -f ${.TARGET}.o
   
 .if ${WARNINGS:L} == "yes"  .if ${WARNINGS:L} == "yes"
 CFLAGS+=        ${CDIAGFLAGS}  CFLAGS+=        ${CDIAGFLAGS}
 CXXFLAGS+=      ${CXXDIAGFLAGS}  CXXFLAGS+=      ${CXXDIAGFLAGS}
Line 188 
Line 205 
             -o lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \              -o lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
             `${LORDER} ${SOBJS}|tsort -q` ${LDADD}              `${LORDER} ${SOBJS}|tsort -q` ${LDADD}
   
   # all .do files...
   DOBJS+= ${OBJS:.o=.do}
   
   # .do files that we actually need for where this dist lib will be used
   .if defined(DIST_OBJS)
   SELECTED_DOBJS=${DIST_OBJS:.o=.do}
   .else
   SELECTED_DOBJS?=${DOBJS}
   .endif
   
   DIST_LIB?=lib${LIB}_d.a
   ${DIST_LIB}: ${SELECTED_DOBJS}
           @echo building distrib ${DIST_LIB} library from ${SELECTED_DOBJS}
           @rm -f ${DIST_LIB}
   .if !empty(SELECTED_DOBJS)
           @${AR} cq ${DIST_LIB} `${LORDER} ${SELECTED_DOBJS} | tsort -q`
   .else
           @${AR} cq ${DIST_LIB}
   .endif
           ${RANLIB} ${DIST_LIB}
   
 .if !target(clean)  .if !target(clean)
 clean: _SUBDIRUSE  clean: _SUBDIRUSE
         rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}          rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}
Line 195 
Line 233 
         rm -f lib${LIB}_g.a ${GOBJS}          rm -f lib${LIB}_g.a ${GOBJS}
         rm -f lib${LIB}_p.a ${POBJS}          rm -f lib${LIB}_p.a ${POBJS}
         rm -f lib${LIB}.so.*.* ${SOBJS}          rm -f lib${LIB}.so.*.* ${SOBJS}
           rm -f ${DIST_LIB} ${DOBJS}
 .endif  .endif
   
 cleandir: _SUBDIRUSE clean  cleandir: _SUBDIRUSE clean
Line 206 
Line 245 
                 echo "$$0: cannot create temp file, exiting..."; \                  echo "$$0: cannot create temp file, exiting..."; \
                 exit 1; \                  exit 1; \
         fi; \          fi; \
         sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so:/' \          sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.go \1.po \1.so \1.do:/' \
               < .depend > $$TMP; \                < .depend > $$TMP; \
         mv $$TMP .depend)          mv $$TMP .depend)
 .endif  .endif

Legend:
Removed from v.1.69  
changed lines
  Added in v.1.70