bsd.lib.mk revision 211725
1141104Sharti#	from: @(#)bsd.lib.mk	5.26 (Berkeley) 5/2/91
21590Srgrimes# $FreeBSD: head/share/mk/bsd.lib.mk 211725 2010-08-23 22:24:11Z imp $
31590Srgrimes#
41590Srgrimes
51590Srgrimes.include <bsd.init.mk>
61590Srgrimes
71590Srgrimes# Set up the variables controlling shared libraries.  After this section,
81590Srgrimes# SHLIB_NAME will be defined only if we are to create a shared library.
91590Srgrimes# SHLIB_LINK will be defined only if we are to create a link to it.
101590Srgrimes# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive.
111590Srgrimes.if defined(NO_PIC)
121590Srgrimes.undef SHLIB_NAME
131590Srgrimes.undef INSTALL_PIC_ARCHIVE
141590Srgrimes.else
151590Srgrimes.if !defined(SHLIB) && defined(LIB)
161590SrgrimesSHLIB=		${LIB}
171590Srgrimes.endif
181590Srgrimes.if !defined(SHLIB_NAME) && defined(SHLIB) && defined(SHLIB_MAJOR)
191590SrgrimesSHLIB_NAME=	lib${SHLIB}.so.${SHLIB_MAJOR}
201590Srgrimes.endif
211590Srgrimes.if defined(SHLIB_NAME) && !empty(SHLIB_NAME:M*.so.*)
221590SrgrimesSHLIB_LINK?=	${SHLIB_NAME:R}
231590Srgrimes.endif
241590SrgrimesSONAME?=	${SHLIB_NAME}
251590Srgrimes.endif
261590Srgrimes
271590Srgrimes.if defined(CRUNCH_CFLAGS)
281590SrgrimesCFLAGS+=	${CRUNCH_CFLAGS}
291590Srgrimes.endif
301590Srgrimes
311590Srgrimes.if ${MK_ASSERT_DEBUG} == "no"
321590SrgrimesCFLAGS+= -DNDEBUG
331590SrgrimesNO_WERROR=
341590Srgrimes.endif
351590Srgrimes
361590Srgrimes# Enable CTF conversion on request.
3762833Swsanchez.if defined(WITH_CTF)
3862833Swsanchez.undef NO_CTF
391590Srgrimes.endif
401590Srgrimes
4162833Swsanchez.if defined(DEBUG_FLAGS)
4294587SobrienCFLAGS+= ${DEBUG_FLAGS}
431590Srgrimes
441590Srgrimes.if !defined(NO_CTF) && (${DEBUG_FLAGS:M-g} != "")
451590SrgrimesCTFFLAGS+= -g
461590Srgrimes.endif
471590Srgrimes.endif
481590Srgrimes
491590Srgrimes.if !defined(DEBUG_FLAGS)
501590SrgrimesSTRIP?=	-s
511590Srgrimes.endif
521590Srgrimes
531590Srgrimes.include <bsd.libnames.mk>
541590Srgrimes
55144026Sharti# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
56144026Sharti# .So used for PIC object files
57144026Sharti.SUFFIXES:
58144026Sharti.SUFFIXES: .out .o .po .So .S .asm .s .c .cc .cpp .cxx .m .C .f .y .l .ln
591590Srgrimes
60144026Sharti.if !defined(PICFLAG)
61144026Sharti.if ${MACHINE_CPUARCH} == "sparc64"
62144026ShartiPICFLAG=-fPIC
63144026Sharti.else
64144026ShartiPICFLAG=-fpic
651590Srgrimes.endif
66144026Sharti.endif
67144026Sharti
68144026Sharti.if ${CC:T:Micc} == "icc"
69144026ShartiPO_FLAG=-p
70144026Sharti.else
711590SrgrimesPO_FLAG=-pg
721590Srgrimes.endif
73144341Sharti
74141104Sharti.c.po:
751590Srgrimes	${CC} ${PO_FLAG} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
76141104Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
77141104Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
7827644Scharnier		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
79141104Sharti
80141104Sharti.c.So:
81141104Sharti	${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
82141104Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
83141104Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
841590Srgrimes		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
85141104Sharti
86141104Sharti.cc.po .C.po .cpp.po .cxx.po:
87141104Sharti	${CXX} ${PO_FLAG} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
88145683Sharti
891590Srgrimes.cc.So .C.So .cpp.So .cxx.So:
90141104Sharti	${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
91141104Sharti
921590Srgrimes.f.po:
93141104Sharti	${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
94141104Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
95141104Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
96141104Sharti		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
97141104Sharti
981590Srgrimes.f.So:
991590Srgrimes	${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
100144341Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
1011590Srgrimes		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
1021590Srgrimes		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
1031590Srgrimes
1041590Srgrimes.m.po:
1051590Srgrimes	${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET}
106138916Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
107138916Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
108138916Sharti		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
109138916Sharti
110144026Sharti.m.So:
111144026Sharti	${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
1121590Srgrimes	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
113144026Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
1141590Srgrimes		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
115144026Sharti
116144026Sharti.s.po .s.So:
117144026Sharti	${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
118144026Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
119144026Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
120126824Sru		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
121144341Sharti
122144341Sharti.asm.po:
123144341Sharti	${CC} -x assembler-with-cpp -DPROF ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
124144341Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
125144341Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
126144341Sharti		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
127144341Sharti
128144341Sharti.asm.So:
129144341Sharti	${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS} \
130144341Sharti	    -c ${.IMPSRC} -o ${.TARGET}
131144341Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
132144026Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
133138916Sharti		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
134144341Sharti
1351590Srgrimes.S.po:
136144341Sharti	${CC} -DPROF ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
137144341Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
138144341Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
139138916Sharti		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
140144020Sharti
141138916Sharti.S.So:
142138916Sharti	${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
143144020Sharti	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
144138916Sharti		(${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
145144026Sharti		${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
1461590Srgrimes
1471590Srgrimesall: objwarn
1481590Srgrimes
1491590Srgrimes.include <bsd.symver.mk>
1501590Srgrimes
1511590Srgrimes# Allow libraries to specify their own version map or have it
152144026Sharti# automatically generated (see bsd.symver.mk above).
153144026Sharti.if ${MK_SYMVER} == "yes" && !empty(VERSION_MAP)
154144026Sharti${SHLIB_NAME}:	${VERSION_MAP}
155145971ShartiLDFLAGS+=	-Wl,--version-script=${VERSION_MAP}
156144026Sharti.endif
157144026Sharti
158144026Sharti.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME)
159144026ShartiOBJS+=		${SRCS:N*.h:R:S/$/.o/}
160144026Sharti.endif
161144026Sharti
162144026Sharti.if defined(LIB) && !empty(LIB)
163144026Sharti_LIBS=		lib${LIB}.a
164144026Sharti
165144026Shartilib${LIB}.a: ${OBJS} ${STATICOBJS}
166144026Sharti	@${ECHO} building static ${LIB} library
167144026Sharti	@rm -f ${.TARGET}
168144026Sharti.if !defined(NM)
169144026Sharti	@${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
170144026Sharti.else
171144026Sharti	@${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
172144026Sharti.endif
173144026Sharti	${RANLIB} ${.TARGET}
174144026Sharti.endif
175144026Sharti
176145679Sharti.if !defined(INTERNALLIB)
177144026Sharti
1781590Srgrimes.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
1791590Srgrimes_LIBS+=		lib${LIB}_p.a
1801590SrgrimesPOBJS+=		${OBJS:.o=.po} ${STATICOBJS:.o=.po}
18118730Ssteve
1821590Srgrimeslib${LIB}_p.a: ${POBJS}
1831590Srgrimes	@${ECHO} building profiled ${LIB} library
18469527Swill	@rm -f ${.TARGET}
1851590Srgrimes.if !defined(NM)
1861590Srgrimes	@${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
187144026Sharti.else
1881590Srgrimes	@${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
1891590Srgrimes.endif
1901590Srgrimes	${RANLIB} ${.TARGET}
1911590Srgrimes.endif
1921590Srgrimes
1931590Srgrimes.if defined(SHLIB_NAME) || \
1941590Srgrimes    defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)
1951590SrgrimesSOBJS+=		${OBJS:.o=.So}
196145616Sharti.endif
197144026Sharti
198144026Sharti.if defined(SHLIB_NAME)
199144026Sharti_LIBS+=		${SHLIB_NAME}
2001590Srgrimes
201145616Sharti${SHLIB_NAME}: ${SOBJS}
202144026Sharti	@${ECHO} building shared library ${SHLIB_NAME}
203144026Sharti	@rm -f ${.TARGET} ${SHLIB_LINK}
204144026Sharti.if defined(SHLIB_LINK)
205144026Sharti	@ln -fs ${.TARGET} ${SHLIB_LINK}
206145971Sharti.endif
207144026Sharti.if !defined(NM)
208144026Sharti	@${CC} ${LDFLAGS} ${SSP_CFLAGS} -shared -Wl,-x \
209144026Sharti	    -o ${.TARGET} -Wl,-soname,${SONAME} \
210144026Sharti	    `lorder ${SOBJS} | tsort -q` ${LDADD}
211144026Sharti.else
212144026Sharti	@${CC} ${LDFLAGS} ${SSP_CFLAGS} -shared -Wl,-x \
213144026Sharti	    -o ${.TARGET} -Wl,-soname,${SONAME} \
214144026Sharti	    `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
215144026Sharti.endif
216144026Sharti	@[ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || \
217144026Sharti		(${ECHO} ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS} && \
218144026Sharti		${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS})
219144026Sharti.endif
220144026Sharti
221144026Sharti.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
222144026Sharti_LIBS+=		lib${LIB}_pic.a
223144026Sharti
224144026Shartilib${LIB}_pic.a: ${SOBJS}
225144026Sharti	@${ECHO} building special pic ${LIB} library
226144026Sharti	@rm -f ${.TARGET}
227144026Sharti	@${AR} cq ${.TARGET} ${SOBJS} ${ARADD}
228144026Sharti	${RANLIB} ${.TARGET}
229144026Sharti.endif
230144026Sharti
231144026Sharti.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
232144026ShartiLINTLIB=	llib-l${LIB}.ln
233144026Sharti_LIBS+=		${LINTLIB}
234144026ShartiLINTOBJS+=	${SRCS:M*.c:.c=.ln}
235145679Sharti
236145616Sharti${LINTLIB}: ${LINTOBJS}
2371590Srgrimes	@${ECHO} building lint library ${.TARGET}
238145616Sharti	@rm -f ${.TARGET}
2391590Srgrimes	${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
240144894Sharti.endif
241144894Sharti
242144894Sharti.endif # !defined(INTERNALLIB)
243144894Sharti
244144894Shartiall: ${_LIBS}
245144894Sharti
246144894Sharti.if ${MK_MAN} != "no"
247144894Shartiall: _manpages
248144894Sharti.endif
249144894Sharti
250144894Sharti_EXTRADEPEND:
251144894Sharti	@TMP=_depend$$$$; \
252145612Sharti	sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \
253144894Sharti	    > $$TMP; \
254144894Sharti	mv $$TMP ${DEPENDFILE}
255144894Sharti.if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME)
256144894Sharti.if defined(DPADD) && !empty(DPADD)
257144894Sharti	echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE}
258144894Sharti.endif
259144894Sharti.endif
260144894Sharti
261144894Sharti.if !target(install)
262144894Sharti
263144894Sharti.if defined(PRECIOUSLIB)
264144894Sharti.if !defined(NO_FSCHG)
265144894ShartiSHLINSTALLFLAGS+= -fschg
266144894Sharti.endif
267144894ShartiSHLINSTALLFLAGS+= -S
268144894Sharti.endif
269144894Sharti
270144894Sharti_INSTALLFLAGS:=	${INSTALLFLAGS}
271145612Sharti.for ie in ${INSTALLFLAGS_EDIT}
272144894Sharti_INSTALLFLAGS:=	${_INSTALLFLAGS${ie}}
273144894Sharti.endfor
274144894Sharti_SHLINSTALLFLAGS:=	${SHLINSTALLFLAGS}
2751590Srgrimes.for ie in ${INSTALLFLAGS_EDIT}
276145616Sharti_SHLINSTALLFLAGS:=	${_SHLINSTALLFLAGS${ie}}
2771590Srgrimes.endfor
2781590Srgrimes
2791590Srgrimes.if !defined(INTERNALLIB)
280145616Shartirealinstall: _libinstall
2811590Srgrimes.ORDER: beforeinstall _libinstall
282145616Sharti_libinstall:
283145616Sharti.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
2841590Srgrimes	${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
285145616Sharti	    ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
2868874Srgrimes.endif
287145616Sharti.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
288145616Sharti	${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
289145616Sharti	    ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
290145616Sharti.endif
291145616Sharti.if defined(SHLIB_NAME)
2921590Srgrimes	${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
2931590Srgrimes	    ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
2941590Srgrimes	    ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
2951590Srgrimes.if defined(SHLIB_LINK)
2961590Srgrimes.if ${SHLIBDIR} == ${LIBDIR}
2971590Srgrimes	ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
2981590Srgrimes.else
2991590Srgrimes	ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \
3001590Srgrimes	    ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
3011590Srgrimes.if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME})
3021590Srgrimes	-chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME}
3031590Srgrimes	rm -f ${DESTDIR}${LIBDIR}/${SHLIB_NAME}
3041590Srgrimes.endif
3051590Srgrimes.endif
3061590Srgrimes.endif
3071590Srgrimes.endif
30898136Sjmallett.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
3091590Srgrimes	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
3101590Srgrimes	    ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
31193056Simp.endif
3121590Srgrimes.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
313144745Sharti	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
314144745Sharti	    ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}
315144745Sharti.endif
3161590Srgrimes.endif # !defined(INTERNALLIB)
317138232Sharti
318138232Sharti.include <bsd.nls.mk>
3191590Srgrimes.include <bsd.files.mk>
320138232Sharti.include <bsd.incs.mk>
321138232Sharti.include <bsd.links.mk>
3221590Srgrimes
3231590Srgrimes.if ${MK_MAN} != "no"
3241590Srgrimesrealinstall: _maninstall
3251590Srgrimes.ORDER: beforeinstall _maninstall
326144341Sharti.endif
327144341Sharti
328144341Sharti.endif
329144341Sharti
330144341Sharti.if !target(lint)
331144341Shartilint: ${SRCS:M*.c}
332144341Sharti	${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
333144341Sharti.endif
334144341Sharti
335144341Sharti.if ${MK_MAN} != "no"
336144341Sharti.include <bsd.man.mk>
337144341Sharti.endif
338144341Sharti
339144341Sharti.include <bsd.dep.mk>
340144341Sharti
341144341Sharti.if !exists(${.OBJDIR}/${DEPENDFILE})
342144341Sharti.if defined(LIB) && !empty(LIB)
343144341Sharti${OBJS} ${STATICOBJS} ${POBJS}: ${SRCS:M*.h}
344144341Sharti.for _S in ${SRCS:N*.[hly]}
345144341Sharti${_S:R}.po: ${_S}
346144341Sharti.endfor
347144341Sharti.endif
348144341Sharti.if defined(SHLIB_NAME) || \
349144341Sharti    defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)
350144341Sharti${SOBJS}: ${SRCS:M*.h}
351144341Sharti.for _S in ${SRCS:N*.[hly]}
352144341Sharti${_S:R}.So: ${_S}
353144341Sharti.endfor
354144341Sharti.endif
355144341Sharti.endif
356144341Sharti
357144341Sharti.if !target(clean)
358144341Sharticlean:
359144341Sharti.if defined(CLEANFILES) && !empty(CLEANFILES)
360144341Sharti	rm -f ${CLEANFILES}
361144341Sharti.endif
362144341Sharti.if defined(LIB) && !empty(LIB)
363144341Sharti	rm -f a.out ${OBJS} ${OBJS:S/$/.tmp/} ${STATICOBJS}
364144341Sharti.endif
365144341Sharti.if !defined(INTERNALLIB)
366144341Sharti.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
367144341Sharti	rm -f ${POBJS} ${POBJS:S/$/.tmp/}
368144341Sharti.endif
369144341Sharti.if defined(SHLIB_NAME) || \
370144341Sharti    defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)
371144341Sharti	rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/}
372144341Sharti.endif
373144341Sharti.if defined(SHLIB_NAME)
374144341Sharti.if defined(SHLIB_LINK)
375144341Sharti	rm -f ${SHLIB_LINK}
376144341Sharti.endif
377144341Sharti.if defined(LIB) && !empty(LIB)
378144341Sharti	rm -f lib${LIB}.so.* lib${LIB}.so
379144341Sharti.endif
380144341Sharti.endif
381144341Sharti.if defined(WANT_LINT) && defined(LIB) && !empty(LIB)
382144341Sharti	rm -f ${LINTOBJS}
383144341Sharti.endif
384144341Sharti.endif # !defined(INTERNALLIB)
385144341Sharti.if defined(_LIBS) && !empty(_LIBS)
386144341Sharti	rm -f ${_LIBS}
387144341Sharti.endif
388144341Sharti.if defined(CLEANDIRS) && !empty(CLEANDIRS)
389144341Sharti	rm -rf ${CLEANDIRS}
390144341Sharti.endif
391144341Sharti.if !empty(VERSION_DEF) && !empty(SYMBOL_MAPS)
392144341Sharti	rm -f ${VERSION_MAP}
393144341Sharti.endif
394144341Sharti.endif
395144341Sharti
396144341Sharti.include <bsd.obj.mk>
397144341Sharti
398144341Sharti.include <bsd.sys.mk>
399144341Sharti