1# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
| 1# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
|
2# $FreeBSD: head/share/mk/bsd.lib.mk 96462 2002-05-12 16:01:00Z ru $
| 2# $FreeBSD: head/share/mk/bsd.lib.mk 96512 2002-05-13 10:53:24Z ru $
|
3# 4 5.include <bsd.init.mk> 6
| 3# 4 5.include <bsd.init.mk> 6
|
7.if exists(${.CURDIR}/shlib_version) 8SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major 9.if ${OBJFORMAT} == aout 10SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor 11.endif 12.endif 13
| |
14# Set up the variables controlling shared libraries. After this section, 15# SHLIB_NAME will be defined only if we are to create a shared library. 16# SHLIB_LINK will be defined only if we are to create a link to it. 17# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive. 18.if defined(NOPIC) 19.undef SHLIB_NAME 20.undef INSTALL_PIC_ARCHIVE 21.else 22.if ${OBJFORMAT} == elf 23.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR) 24SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR} 25SHLIB_LINK?= lib${LIB}.so 26.endif 27SONAME?= ${SHLIB_NAME} 28.else 29.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 30SHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 31.endif 32.endif 33.endif 34 35.if defined(DEBUG_FLAGS) 36CFLAGS+= ${DEBUG_FLAGS} 37.endif 38 39.if !defined(DEBUG_FLAGS) 40STRIP?= -s 41.endif 42 43.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES) 44.include <bsd.libnames.mk> 45.endif 46 47# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 48# .So used for PIC object files 49.SUFFIXES: 50.SUFFIXES: .out .o .po .So .S .s .asm .c .cc .cpp .cxx .m .C .f .y .l .ln 51
| 7# Set up the variables controlling shared libraries. After this section, 8# SHLIB_NAME will be defined only if we are to create a shared library. 9# SHLIB_LINK will be defined only if we are to create a link to it. 10# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive. 11.if defined(NOPIC) 12.undef SHLIB_NAME 13.undef INSTALL_PIC_ARCHIVE 14.else 15.if ${OBJFORMAT} == elf 16.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR) 17SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR} 18SHLIB_LINK?= lib${LIB}.so 19.endif 20SONAME?= ${SHLIB_NAME} 21.else 22.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 23SHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 24.endif 25.endif 26.endif 27 28.if defined(DEBUG_FLAGS) 29CFLAGS+= ${DEBUG_FLAGS} 30.endif 31 32.if !defined(DEBUG_FLAGS) 33STRIP?= -s 34.endif 35 36.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES) 37.include <bsd.libnames.mk> 38.endif 39 40# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 41# .So used for PIC object files 42.SUFFIXES: 43.SUFFIXES: .out .o .po .So .S .s .asm .c .cc .cpp .cxx .m .C .f .y .l .ln 44
|
| 45.if !defined(PICFLAG) 46.if ${MACHINE_ARCH} == "sparc64" 47PICFLAG=-fPIC 48.else 49PICFLAG=-fpic 50.endif 51.endif 52
|
52.c.ln: 53 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \ 54 touch ${.TARGET} 55 56.cc.ln .C.ln .cpp.ln .cxx.ln: 57 ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \ 58 touch ${.TARGET} 59 60.c.o: 61 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 62 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 63 @mv ${.TARGET}.tmp ${.TARGET} 64 65.c.po: 66 ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 67 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 68 @mv ${.TARGET}.tmp ${.TARGET} 69 70.c.So: 71 ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 72 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 73 @mv ${.TARGET}.tmp ${.TARGET} 74 75.cc.o .C.o .cpp.o .cxx.o: 76 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 77 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 78 @mv ${.TARGET}.tmp ${.TARGET} 79 80.cc.po .C.po .cpp.po .cxx.po: 81 ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 82 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 83 @mv ${.TARGET}.tmp ${.TARGET} 84 85.cc.So .C.So .cpp.So .cxx.So: 86 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 87 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 88 @mv ${.TARGET}.tmp ${.TARGET} 89 90.f.o: 91 ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 92 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 93 @mv ${.TARGET}.tmp ${.TARGET} 94 95.f.po: 96 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 97 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 98 @mv ${.TARGET}.tmp ${.TARGET} 99 100.f.So: 101 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 102 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 103 @mv ${.TARGET}.tmp ${.TARGET} 104 105.m.o: 106 ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 107 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 108 @mv ${.TARGET}.tmp ${.TARGET} 109 110.m.po: 111 ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} 112 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 113 @mv ${.TARGET}.tmp ${.TARGET} 114 115.m.So: 116 ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 117 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 118 @mv ${.TARGET}.tmp ${.TARGET} 119 120.s.o .asm.o: 121 ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \ 122 ${.IMPSRC} -o ${.TARGET} 123 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 124 @mv ${.TARGET}.tmp ${.TARGET} 125 126.s.po .asm.po: 127 ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \ 128 ${.IMPSRC} -o ${.TARGET} 129 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} 130 @mv ${.TARGET}.tmp ${.TARGET} 131 132.s.So .asm.So: 133 ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} \ 134 ${AINC} -c ${.IMPSRC} -o ${.TARGET} 135 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 136 @mv ${.TARGET}.tmp ${.TARGET} 137 138.S.o: 139 ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 140 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 141 @mv ${.TARGET}.tmp ${.TARGET} 142 143.S.po: 144 ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 145 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} 146 @mv ${.TARGET}.tmp ${.TARGET} 147 148.S.So: 149 ${CC} ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} \ 150 -o ${.TARGET} 151 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 152 @mv ${.TARGET}.tmp ${.TARGET} 153
| 53.c.ln: 54 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \ 55 touch ${.TARGET} 56 57.cc.ln .C.ln .cpp.ln .cxx.ln: 58 ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \ 59 touch ${.TARGET} 60 61.c.o: 62 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 63 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 64 @mv ${.TARGET}.tmp ${.TARGET} 65 66.c.po: 67 ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 68 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 69 @mv ${.TARGET}.tmp ${.TARGET} 70 71.c.So: 72 ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 73 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 74 @mv ${.TARGET}.tmp ${.TARGET} 75 76.cc.o .C.o .cpp.o .cxx.o: 77 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 78 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 79 @mv ${.TARGET}.tmp ${.TARGET} 80 81.cc.po .C.po .cpp.po .cxx.po: 82 ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 83 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 84 @mv ${.TARGET}.tmp ${.TARGET} 85 86.cc.So .C.So .cpp.So .cxx.So: 87 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 88 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 89 @mv ${.TARGET}.tmp ${.TARGET} 90 91.f.o: 92 ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 93 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 94 @mv ${.TARGET}.tmp ${.TARGET} 95 96.f.po: 97 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 98 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 99 @mv ${.TARGET}.tmp ${.TARGET} 100 101.f.So: 102 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 103 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 104 @mv ${.TARGET}.tmp ${.TARGET} 105 106.m.o: 107 ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 108 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 109 @mv ${.TARGET}.tmp ${.TARGET} 110 111.m.po: 112 ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} 113 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 114 @mv ${.TARGET}.tmp ${.TARGET} 115 116.m.So: 117 ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 118 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 119 @mv ${.TARGET}.tmp ${.TARGET} 120 121.s.o .asm.o: 122 ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \ 123 ${.IMPSRC} -o ${.TARGET} 124 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 125 @mv ${.TARGET}.tmp ${.TARGET} 126 127.s.po .asm.po: 128 ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \ 129 ${.IMPSRC} -o ${.TARGET} 130 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} 131 @mv ${.TARGET}.tmp ${.TARGET} 132 133.s.So .asm.So: 134 ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} \ 135 ${AINC} -c ${.IMPSRC} -o ${.TARGET} 136 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 137 @mv ${.TARGET}.tmp ${.TARGET} 138 139.S.o: 140 ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 141 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} 142 @mv ${.TARGET}.tmp ${.TARGET} 143 144.S.po: 145 ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 146 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} 147 @mv ${.TARGET}.tmp ${.TARGET} 148 149.S.So: 150 ${CC} ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} \ 151 -o ${.TARGET} 152 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 153 @mv ${.TARGET}.tmp ${.TARGET} 154
|
154.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB) 155.if !defined(NOPROFILE) && !defined(INTERNALLIB) 156_LIBS=lib${LIB}.a lib${LIB}_p.a 157.else 158_LIBS=lib${LIB}.a 159.endif 160.endif
| 155all: objwarn
|
161
| 156
|
162.if defined(SHLIB_NAME) 163_LIBS+=${SHLIB_NAME} 164.endif 165.if defined(INSTALL_PIC_ARCHIVE) 166_LIBS+=lib${LIB}_pic.a 167.endif
| 157.if defined(LIB) && !empty(LIB) 158_LIBS= lib${LIB}.a 159OBJS+= ${SRCS:N*.h:R:S/$/.o/}
|
168
| 160
|
169.if !defined(PICFLAG) 170.if ${MACHINE_ARCH} == "sparc64" 171PICFLAG=-fPIC 172.else 173PICFLAG=-fpic 174.endif 175.endif
| 161lib${LIB}.a: ${OBJS} ${STATICOBJS} 162 @${ECHO} building static ${LIB} library 163 @rm -f ${.TARGET} 164 @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 165 ${RANLIB} ${.TARGET}
|
176
| 166
|
177LINTOBJS+= ${SRCS:M*.c:C/\..+$/.ln/}
| 167CLEANFILES+= a.out ${OBJS} ${OBJS:S/$/.tmp/} ${STATICOBJS}
|
178
| 168
|
179.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS) 180LINTLIB=llib-l${LIB}.ln 181_LIBS+=${LINTLIB} 182.endif
| 169.if !defined(INTERNALLIB)
|
183
| 170
|
184all: objwarn ${_LIBS} 185 186.if !defined(NOMAN) 187all: _manpages 188.endif 189 190OBJS+= ${SRCS:N*.h:R:S/$/.o/g} 191 192lib${LIB}.a:: ${OBJS} ${STATICOBJS} 193 @${ECHO} building static ${LIB} library 194 @rm -f lib${LIB}.a 195 @${AR} cq lib${LIB}.a `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 196 ${RANLIB} lib${LIB}.a 197 198POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
| |
199.if !defined(NOPROFILE)
| 171.if !defined(NOPROFILE)
|
200lib${LIB}_p.a:: ${POBJS}
| 172_LIBS+= lib${LIB}_p.a 173POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po} 174 175lib${LIB}_p.a: ${POBJS}
|
201 @${ECHO} building profiled ${LIB} library
| 176 @${ECHO} building profiled ${LIB} library
|
202 @rm -f lib${LIB}_p.a 203 @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD} 204 ${RANLIB} lib${LIB}_p.a
| 177 @rm -f ${.TARGET} 178 @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD} 179 ${RANLIB} ${.TARGET} 180 181CLEANFILES+= ${POBJS} ${POBJS:S/$/.tmp/}
|
205.endif 206
| 182.endif 183
|
207SOBJS+= ${OBJS:.o=.So}
| 184SOBJS+= ${OBJS:.o=.So}
|
208
| 185
|
| 186CLEANFILES+= ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} 187
|
209.if defined(SHLIB_NAME)
| 188.if defined(SHLIB_NAME)
|
| 189_LIBS+= ${SHLIB_NAME} 190
|
210${SHLIB_NAME}: ${SOBJS} 211 @${ECHO} building shared library ${SHLIB_NAME}
| 191${SHLIB_NAME}: ${SOBJS} 192 @${ECHO} building shared library ${SHLIB_NAME}
|
212 @rm -f ${SHLIB_NAME} ${SHLIB_LINK}
| 193 @rm -f ${.TARGET} ${SHLIB_LINK}
|
213.if defined(SHLIB_LINK)
| 194.if defined(SHLIB_LINK)
|
214 @ln -sf ${SHLIB_NAME} ${SHLIB_LINK}
| 195 @ln -fs ${.TARGET} ${SHLIB_LINK}
|
215.endif 216.if ${OBJFORMAT} == aout 217 @${CC} -shared -Wl,-x,-assert,pure-text \
| 196.endif 197.if ${OBJFORMAT} == aout 198 @${CC} -shared -Wl,-x,-assert,pure-text \
|
218 -o ${SHLIB_NAME} \
| 199 -o ${.TARGET} \
|
219 `lorder ${SOBJS} | tsort -q` ${LDADD} 220.else 221 @${CC} ${LDFLAGS} -shared -Wl,-x \
| 200 `lorder ${SOBJS} | tsort -q` ${LDADD} 201.else 202 @${CC} ${LDFLAGS} -shared -Wl,-x \
|
222 -o ${SHLIB_NAME} -Wl,-soname,${SONAME} \
| 203 -o ${.TARGET} -Wl,-soname,${SONAME} \
|
223 `lorder ${SOBJS} | tsort -q` ${LDADD} 224.endif
| 204 `lorder ${SOBJS} | tsort -q` ${LDADD} 205.endif
|
| 206 207CLEANFILES+= ${SHLIB_LINK} lib${LIB}.so.* lib${LIB}.so
|
225.endif 226 227.if defined(INSTALL_PIC_ARCHIVE)
| 208.endif 209 210.if defined(INSTALL_PIC_ARCHIVE)
|
228lib${LIB}_pic.a:: ${SOBJS}
| 211_LIBS+= lib${LIB}_pic.a 212 213lib${LIB}_pic.a: ${SOBJS}
|
229 @${ECHO} building special pic ${LIB} library
| 214 @${ECHO} building special pic ${LIB} library
|
230 @rm -f lib${LIB}_pic.a 231 @${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD} 232 ${RANLIB} lib${LIB}_pic.a
| 215 @rm -f ${.TARGET} 216 @${AR} cq ${.TARGET} ${SOBJS} ${ARADD} 217 ${RANLIB} ${.TARGET}
|
233.endif 234
| 218.endif 219
|
235.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS)
| 220.if defined(WANT_LINT) 221LINTLIB= llib-l${LIB}.ln 222_LIBS+= ${LINTLIB} 223LINTOBJS+= ${SRCS:M*.c:.c=.ln} 224
|
236${LINTLIB}: ${LINTOBJS}
| 225${LINTLIB}: ${LINTOBJS}
|
237 @${ECHO} building lint library ${LINTLIB} 238 @rm -f ${LINTLIB}
| 226 @${ECHO} building lint library ${.TARGET} 227 @rm -f ${.TARGET}
|
239 ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
| 228 ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
|
| 229 230CLEANFILES+= ${LINTOBJS}
|
240.endif 241
| 231.endif 232
|
242.if !target(clean) 243clean: 244 rm -f a.out ${OBJS} ${STATICOBJS} ${OBJS:S/$/.tmp/} ${CLEANFILES} 245 rm -f lib${LIB}.a 246 rm -f ${POBJS} ${POBJS:S/$/.tmp/} lib${LIB}_p.a 247 rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} \ 248 ${SHLIB_NAME} ${SHLIB_LINK} \ 249 lib${LIB}.so.* lib${LIB}.so lib${LIB}_pic.a 250 rm -f ${LINTOBJS} ${LINTLIB} 251.if defined(CLEANDIRS) && !empty(CLEANDIRS) 252 rm -rf ${CLEANDIRS}
| 233.endif !defined(INTERNALLIB) 234 235all: ${_LIBS} 236 237CLEANFILES+= ${_LIBS} 238.endif defined(LIB) && !empty(LIB) 239 240.if !defined(NOMAN) 241all: _manpages
|
253.endif
| 242.endif
|
254.endif
| |
255 256_EXTRADEPEND: 257 @TMP=_depend$$$$; \ 258 sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \ 259 > $$TMP; \ 260 mv $$TMP ${DEPENDFILE} 261.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME) 262.if ${OBJFORMAT} == aout 263 echo ${SHLIB_NAME}: \ 264 `${CC} -shared -Wl,-f ${LDADD}` \ 265 >> ${DEPENDFILE} 266.else 267.if defined(DPADD) && !empty(DPADD) 268 echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE} 269.endif 270.endif 271.endif 272 273.if !target(install) 274 275.if defined(PRECIOUSLIB) && !defined(NOFSCHG) 276SHLINSTALLFLAGS+= -fschg 277.endif 278 279_INSTALLFLAGS:= ${INSTALLFLAGS} 280.for ie in ${INSTALLFLAGS_EDIT} 281_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} 282.endfor 283_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS} 284.for ie in ${INSTALLFLAGS_EDIT} 285_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}} 286.endfor 287
| 243 244_EXTRADEPEND: 245 @TMP=_depend$$$$; \ 246 sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \ 247 > $$TMP; \ 248 mv $$TMP ${DEPENDFILE} 249.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME) 250.if ${OBJFORMAT} == aout 251 echo ${SHLIB_NAME}: \ 252 `${CC} -shared -Wl,-f ${LDADD}` \ 253 >> ${DEPENDFILE} 254.else 255.if defined(DPADD) && !empty(DPADD) 256 echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE} 257.endif 258.endif 259.endif 260 261.if !target(install) 262 263.if defined(PRECIOUSLIB) && !defined(NOFSCHG) 264SHLINSTALLFLAGS+= -fschg 265.endif 266 267_INSTALLFLAGS:= ${INSTALLFLAGS} 268.for ie in ${INSTALLFLAGS_EDIT} 269_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} 270.endfor 271_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS} 272.for ie in ${INSTALLFLAGS_EDIT} 273_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}} 274.endfor 275
|
| 276.if defined(LIB) && !empty(LIB) && !defined(INTERNALLIB)
|
288realinstall: _libinstall 289_libinstall:
| 277realinstall: _libinstall 278_libinstall:
|
290.if !defined(INTERNALLIB)
| 279.if !defined(NOINSTALLLIB)
|
291 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 292 ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
| 280 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 281 ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
|
| 282.endif
|
293.if !defined(NOPROFILE) 294 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 295 ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 296.endif
| 283.if !defined(NOPROFILE) 284 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 285 ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 286.endif
|
297.endif
| |
298.if defined(SHLIB_NAME) 299 ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 300 ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ 301 ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} 302.if defined(SHLIB_LINK)
| 287.if defined(SHLIB_NAME) 288 ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 289 ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ 290 ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} 291.if defined(SHLIB_LINK)
|
303 ln -sf ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
| 292 ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
|
304.endif 305.endif 306.if defined(INSTALL_PIC_ARCHIVE) 307 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 308 ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 309.endif
| 293.endif 294.endif 295.if defined(INSTALL_PIC_ARCHIVE) 296 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 297 ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 298.endif
|
310.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS)
| 299.if defined(WANT_LINT)
|
311 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 312 ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR} 313.endif
| 300 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 301 ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR} 302.endif
|
| 303.endif defined(LIB) && !empty(LIB) && !defined(INTERNALLIB)
|
314 315realinstall: 316.if defined(LINKS) && !empty(LINKS) 317 @set ${LINKS}; \ 318 while test $$# -ge 2; do \ 319 l=${DESTDIR}$$1; \ 320 shift; \ 321 t=${DESTDIR}$$1; \ 322 shift; \ 323 ${ECHO} $$t -\> $$l; \ 324 ln -f $$l $$t; \ 325 done; true 326.endif 327.if defined(SYMLINKS) && !empty(SYMLINKS) 328 @set ${SYMLINKS}; \ 329 while test $$# -ge 2; do \ 330 l=$$1; \ 331 shift; \ 332 t=${DESTDIR}$$1; \ 333 shift; \ 334 ${ECHO} $$t -\> $$l; \ 335 ln -fs $$l $$t; \ 336 done; true 337.endif 338 339realinstall: _incsinstall 340 341.if !defined(NOMAN) 342realinstall: _maninstall 343.endif 344 345.endif 346 347.if !target(lint) 348lint: ${SRCS:M*.c} 349 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} 350.endif 351 352.include <bsd.incs.mk> 353 354.if !defined(NOMAN) 355.include <bsd.man.mk> 356.endif 357 358.include <bsd.dep.mk> 359
| 304 305realinstall: 306.if defined(LINKS) && !empty(LINKS) 307 @set ${LINKS}; \ 308 while test $$# -ge 2; do \ 309 l=${DESTDIR}$$1; \ 310 shift; \ 311 t=${DESTDIR}$$1; \ 312 shift; \ 313 ${ECHO} $$t -\> $$l; \ 314 ln -f $$l $$t; \ 315 done; true 316.endif 317.if defined(SYMLINKS) && !empty(SYMLINKS) 318 @set ${SYMLINKS}; \ 319 while test $$# -ge 2; do \ 320 l=$$1; \ 321 shift; \ 322 t=${DESTDIR}$$1; \ 323 shift; \ 324 ${ECHO} $$t -\> $$l; \ 325 ln -fs $$l $$t; \ 326 done; true 327.endif 328 329realinstall: _incsinstall 330 331.if !defined(NOMAN) 332realinstall: _maninstall 333.endif 334 335.endif 336 337.if !target(lint) 338lint: ${SRCS:M*.c} 339 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} 340.endif 341 342.include <bsd.incs.mk> 343 344.if !defined(NOMAN) 345.include <bsd.man.mk> 346.endif 347 348.include <bsd.dep.mk> 349
|
| 350.if defined(LIB) && !empty(LIB)
|
360.if !exists(${.OBJDIR}/${DEPENDFILE}) 361${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h} 362.endif
| 351.if !exists(${.OBJDIR}/${DEPENDFILE}) 352${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h} 353.endif
|
| 354.endif
|
363 364.include <bsd.obj.mk> 365 366.include <bsd.sys.mk>
| 355 356.include <bsd.obj.mk> 357 358.include <bsd.sys.mk>
|