bsd.lib.mk revision 236114
11844Swollman# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 250476Speter# $FreeBSD: stable/9/share/mk/bsd.lib.mk 236114 2012-05-26 17:53:35Z des $ 31844Swollman# 41638Srgrimes 594940Sru.include <bsd.init.mk> 61638Srgrimes 742915Sjdp# Set up the variables controlling shared libraries. After this section, 842915Sjdp# SHLIB_NAME will be defined only if we are to create a shared library. 942915Sjdp# SHLIB_LINK will be defined only if we are to create a link to it. 1042915Sjdp# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive. 11139106Sru.if defined(NO_PIC) 1242915Sjdp.undef SHLIB_NAME 1342915Sjdp.undef INSTALL_PIC_ARCHIVE 1442915Sjdp.else 15129024Sdes.if !defined(SHLIB) && defined(LIB) 16129024SdesSHLIB= ${LIB} 1729141Speter.endif 18129024Sdes.if !defined(SHLIB_NAME) && defined(SHLIB) && defined(SHLIB_MAJOR) 19129024SdesSHLIB_NAME= lib${SHLIB}.so.${SHLIB_MAJOR} 20129024Sdes.endif 21125119Sru.if defined(SHLIB_NAME) && !empty(SHLIB_NAME:M*.so.*) 22100332SruSHLIB_LINK?= ${SHLIB_NAME:R} 23100332Sru.endif 2442915SjdpSONAME?= ${SHLIB_NAME} 2542915Sjdp.endif 2629141Speter 27119607Sru.if defined(CRUNCH_CFLAGS) 28117034SgordonCFLAGS+= ${CRUNCH_CFLAGS} 29119607Sru.endif 30117034Sgordon 31162210Simp.if ${MK_ASSERT_DEBUG} == "no" 32162210SimpCFLAGS+= -DNDEBUG 33162293SobrienNO_WERROR= 34162210Simp.endif 35162210Simp 36206082Snetchild# Enable CTF conversion on request. 37206082Snetchild.if defined(WITH_CTF) 38206082Snetchild.undef NO_CTF 39206082Snetchild.endif 40206082Snetchild 412827Sjkh.if defined(DEBUG_FLAGS) 422827SjkhCFLAGS+= ${DEBUG_FLAGS} 43179184Sjb 44179184Sjb.if !defined(NO_CTF) && (${DEBUG_FLAGS:M-g} != "") 45179184SjbCTFFLAGS+= -g 462827Sjkh.endif 47179184Sjb.endif 482827Sjkh 492827Sjkh.if !defined(DEBUG_FLAGS) 501638SrgrimesSTRIP?= -s 512827Sjkh.endif 521638Srgrimes 5318529Sbde.include <bsd.libnames.mk> 5418529Sbde 551638Srgrimes# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 5642450Sjdp# .So used for PIC object files 571638Srgrimes.SUFFIXES: 58220755Sdim.SUFFIXES: .out .o .po .So .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln 591638Srgrimes 6096512Sru.if !defined(PICFLAG) 61211725Simp.if ${MACHINE_CPUARCH} == "sparc64" 6296512SruPICFLAG=-fPIC 6396512Sru.else 6496512SruPICFLAG=-fpic 6596512Sru.endif 6696512Sru.endif 6796512Sru 68126890StrhodesPO_FLAG=-pg 69126890Strhodes 70236114Sdes.c.o: 71236114Sdes ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 72236114Sdes @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 73236114Sdes (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 74236114Sdes ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 75236114Sdes 761638Srgrimes.c.po: 77236114Sdes ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 78210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 79210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 80210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 811638Srgrimes 8242450Sjdp.c.So: 83236114Sdes ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 84210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 85210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 86210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 871844Swollman 88236114Sdes.cc.o: 89236114Sdes ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 90236114Sdes 9136673Sdt.cc.po .C.po .cpp.po .cxx.po: 92236114Sdes ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 931844Swollman 9442450Sjdp.cc.So .C.So .cpp.So .cxx.So: 95236114Sdes ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 961844Swollman 971844Swollman.f.po: 98127027Strhodes ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 99210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 100210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 101210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 1021844Swollman 10342450Sjdp.f.So: 1041844Swollman ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 105210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 106210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 107210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 1081844Swollman 109117173Sru.s.po .s.So: 110117159Sru ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC} 111210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 112210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 113210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 1141638Srgrimes 115117173Sru.asm.po: 116217100Skib ${CC} -x assembler-with-cpp -DPROF ${PO_CFLAGS} ${ACFLAGS} \ 117217100Skib -c ${.IMPSRC} -o ${.TARGET} 118210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 119210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 120210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 121117173Sru 122117173Sru.asm.So: 123217100Skib ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ 124117173Sru -c ${.IMPSRC} -o ${.TARGET} 125210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 126210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 127210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 128117173Sru 1291844Swollman.S.po: 130217100Skib ${CC} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 131210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 132210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 133210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 1341844Swollman 13542450Sjdp.S.So: 136217100Skib ${CC} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 137210612Srpaulo @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \ 138210636Srpaulo (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \ 139210636Srpaulo ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}) 1401844Swollman 14196512Sruall: objwarn 1421638Srgrimes 143168317Skan.include <bsd.symver.mk> 144156772Sdeischen 145178047Skan# Allow libraries to specify their own version map or have it 146168317Skan# automatically generated (see bsd.symver.mk above). 147169822Sru.if ${MK_SYMVER} == "yes" && !empty(VERSION_MAP) 148156772Sdeischen${SHLIB_NAME}: ${VERSION_MAP} 149156772SdeischenLDFLAGS+= -Wl,--version-script=${VERSION_MAP} 150156772Sdeischen.endif 151156772Sdeischen 15299362Sru.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME) 15399362SruOBJS+= ${SRCS:N*.h:R:S/$/.o/} 15499362Sru.endif 15599362Sru 15696512Sru.if defined(LIB) && !empty(LIB) 15796512Sru_LIBS= lib${LIB}.a 1581638Srgrimes 15996512Srulib${LIB}.a: ${OBJS} ${STATICOBJS} 16096512Sru @${ECHO} building static ${LIB} library 16196512Sru @rm -f ${.TARGET} 162163683Sru.if !defined(NM) 163163683Sru @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 164163683Sru.else 165163683Sru @${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 166163683Sru.endif 16796512Sru ${RANLIB} ${.TARGET} 16899362Sru.endif 1691638Srgrimes 17096512Sru.if !defined(INTERNALLIB) 17195114Sobrien 172156854Sru.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB) 17396512Sru_LIBS+= lib${LIB}_p.a 17496512SruPOBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po} 17595306Sru 17696512Srulib${LIB}_p.a: ${POBJS} 17796512Sru @${ECHO} building profiled ${LIB} library 17896512Sru @rm -f ${.TARGET} 179163683Sru.if !defined(NM) 180163683Sru @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD} 181163683Sru.else 182163683Sru @${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD} 183163683Sru.endif 18496512Sru ${RANLIB} ${.TARGET} 18574805Sru.endif 1861844Swollman 18799362Sru.if defined(SHLIB_NAME) || \ 18899362Sru defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) 18996512SruSOBJS+= ${OBJS:.o=.So} 19099362Sru.endif 1911844Swollman 19296512Sru.if defined(SHLIB_NAME) 19396512Sru_LIBS+= ${SHLIB_NAME} 1941638Srgrimes 195229380SkibSOLINKOPTS= -shared -Wl,-x 196229380Skib.if !defined(ALLOW_SHARED_TEXTREL) 197229380SkibSOLINKOPTS+= -Wl,--fatal-warnings -Wl,--warn-shared-textrel 198229380Skib.endif 199229380Skib 200212423Srpaulo.if target(beforelinking) 201212423Srpaulo${SHLIB_NAME}: ${SOBJS} beforelinking 202212423Srpaulo.else 20342915Sjdp${SHLIB_NAME}: ${SOBJS} 204212423Srpaulo.endif 20542915Sjdp @${ECHO} building shared library ${SHLIB_NAME} 20696512Sru @rm -f ${.TARGET} ${SHLIB_LINK} 20742915Sjdp.if defined(SHLIB_LINK) 20896512Sru @ln -fs ${.TARGET} ${SHLIB_LINK} 20942915Sjdp.endif 210163683Sru.if !defined(NM) 211229380Skib @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ 21296512Sru -o ${.TARGET} -Wl,-soname,${SONAME} \ 213163683Sru `lorder ${SOBJS} | tsort -q` ${LDADD} 214163683Sru.else 215229380Skib @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ 216163683Sru -o ${.TARGET} -Wl,-soname,${SONAME} \ 217163683Sru `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD} 21828945Speter.endif 219210612Srpaulo @[ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || \ 220210656Srpaulo (${ECHO} ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS} && \ 221210636Srpaulo ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}) 222163683Sru.endif 2231844Swollman 224156813Sru.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no" 22596512Sru_LIBS+= lib${LIB}_pic.a 22696512Sru 22796512Srulib${LIB}_pic.a: ${SOBJS} 2282353Sbde @${ECHO} building special pic ${LIB} library 22996512Sru @rm -f ${.TARGET} 23096512Sru @${AR} cq ${.TARGET} ${SOBJS} ${ARADD} 23196512Sru ${RANLIB} ${.TARGET} 2323859Sbde.endif 2331844Swollman 234139106Sru.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB) 23596512SruLINTLIB= llib-l${LIB}.ln 23696512Sru_LIBS+= ${LINTLIB} 23796512SruLINTOBJS+= ${SRCS:M*.c:.c=.ln} 23896512Sru 23992491Smarkm${LINTLIB}: ${LINTOBJS} 24096512Sru @${ECHO} building lint library ${.TARGET} 24196512Sru @rm -f ${.TARGET} 24292491Smarkm ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} 24392491Smarkm.endif 2441638Srgrimes 245144893Sharti.endif # !defined(INTERNALLIB) 24696512Sru 24796512Sruall: ${_LIBS} 24896512Sru 249156813Sru.if ${MK_MAN} != "no" 25096512Sruall: _manpages 2511638Srgrimes.endif 2521638Srgrimes 25334179Sbde_EXTRADEPEND: 25424750Sbde @TMP=_depend$$$$; \ 25542450Sjdp sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \ 25624750Sbde > $$TMP; \ 25724750Sbde mv $$TMP ${DEPENDFILE} 258139107Sru.if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME) 25931809Sbde.if defined(DPADD) && !empty(DPADD) 26042915Sjdp echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE} 26127910Sasami.endif 26228945Speter.endif 2631638Srgrimes 2641638Srgrimes.if !target(install) 2651638Srgrimes 266136019Sru.if defined(PRECIOUSLIB) 267139111Sru.if !defined(NO_FSCHG) 2682298SwollmanSHLINSTALLFLAGS+= -fschg 2692298Swollman.endif 270136019SruSHLINSTALLFLAGS+= -S 271136019Sru.endif 2722298Swollman 27349328Shoek_INSTALLFLAGS:= ${INSTALLFLAGS} 27449328Shoek.for ie in ${INSTALLFLAGS_EDIT} 27549328Shoek_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} 27649328Shoek.endfor 27756971Sru_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS} 27849328Shoek.for ie in ${INSTALLFLAGS_EDIT} 27949328Shoek_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}} 28049328Shoek.endfor 28149328Shoek 28299362Sru.if !defined(INTERNALLIB) 28395306Srurealinstall: _libinstall 28499343Sru.ORDER: beforeinstall _libinstall 28595306Sru_libinstall: 286172832Sru.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no" 28792980Sdes ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 28849328Shoek ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR} 28996512Sru.endif 290156854Sru.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB) 29192980Sdes ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 29249328Shoek ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 2931638Srgrimes.endif 294116144Sobrien.if defined(SHLIB_NAME) 295100872Sru ${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 29649328Shoek ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ 29742915Sjdp ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} 29842915Sjdp.if defined(SHLIB_LINK) 299235534Sjlh# ${_SHLIBDIRPREFIX} and ${_LDSCRIPTROOT} are both needed when cross-building 300235534Sjlh# and when building 32 bits library shims. ${_SHLIBDIRPREFIX} is the directory 301235534Sjlh# prefix where shared objects will be installed. ${_LDSCRIPTROOT} is the 302235534Sjlh# directory prefix that will be used in generated ld(1) scripts. They cannot 303235534Sjlh# be coalesced because of the way ld(1) handles the sysroot prefix (used in the 304235534Sjlh# cross-toolchain): 305235534Sjlh# - 64 bits libs are located under sysroot, so ${_LDSCRIPTROOT} must be empty. 306235534Sjlh# - 32 bits shims are not, so ${_LDSCRIPTROOT} is used to specify their full 307235534Sjlh# path. Note that ld(1) scripts are generated both during buildworld and 308235534Sjlh# installworld; in the later case ${_LDSCRIPTROOT} must be obviously empty. 309235534Sjlh# On the other hand, the use of ${_SHLIBDIRPREFIX} is more consistent since it 310235534Sjlh# does not involve the logic of a tool we do not own. 311235534Sjlh.if defined(SHLIB_LDSCRIPT) && !empty(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT}) 312235534Sjlh sed -e 's,@@SHLIB@@,${_LDSCRIPTROOT}${SHLIBDIR}/${SHLIB_NAME},g' \ 313235534Sjlh -e 's,@@LIBDIR@@,${_LDSCRIPTROOT}${LIBDIR},g' \ 314235534Sjlh ${.CURDIR}/${SHLIB_LDSCRIPT} > lib${LIB}.ld 315235534Sjlh ${INSTALL} -S -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 316235534Sjlh ${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK} 317235534Sjlh.else 318119846Sru.if ${SHLIBDIR} == ${LIBDIR} 319119846Sru ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} 320119846Sru.else 321119846Sru ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ 322119730Speter ${DESTDIR}${LIBDIR}/${SHLIB_LINK} 323119846Sru.if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME}) 324119846Sru -chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME} 325119846Sru rm -f ${DESTDIR}${LIBDIR}/${SHLIB_NAME} 3261844Swollman.endif 32728945Speter.endif 328235534Sjlh.endif # SHLIB_LDSCRIPT 329235534Sjlh.endif # SHLIB_LINK 330235534Sjlh.endif # SHIB_NAME 331156813Sru.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no" 332100872Sru ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 33349328Shoek ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 3341844Swollman.endif 335139106Sru.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB) 336100872Sru ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 33796462Sru ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR} 33896462Sru.endif 339144893Sharti.endif # !defined(INTERNALLIB) 34096462Sru 341141503Sphantom.include <bsd.nls.mk> 34297769Sru.include <bsd.files.mk> 34396668Sru.include <bsd.incs.mk> 34499256Sru.include <bsd.links.mk> 34596462Sru 346156813Sru.if ${MK_MAN} != "no" 34796164Srurealinstall: _maninstall 34899343Sru.ORDER: beforeinstall _maninstall 34996162Sru.endif 35096162Sru 3511638Srgrimes.endif 3521638Srgrimes 3531638Srgrimes.if !target(lint) 35495306Srulint: ${SRCS:M*.c} 355103713Smarkm ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} 3561638Srgrimes.endif 3571638Srgrimes 358156813Sru.if ${MK_MAN} != "no" 3591638Srgrimes.include <bsd.man.mk> 36074842Sru.endif 3611844Swollman 3621844Swollman.include <bsd.dep.mk> 36334092Sbde 36499362Sru.if !exists(${.OBJDIR}/${DEPENDFILE}) 36596512Sru.if defined(LIB) && !empty(LIB) 36699362Sru${OBJS} ${STATICOBJS} ${POBJS}: ${SRCS:M*.h} 367124637Sru.for _S in ${SRCS:N*.[hly]} 368124637Sru${_S:R}.po: ${_S} 369124637Sru.endfor 37034092Sbde.endif 37199362Sru.if defined(SHLIB_NAME) || \ 37299362Sru defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) 37399362Sru${SOBJS}: ${SRCS:M*.h} 374124637Sru.for _S in ${SRCS:N*.[hly]} 375124637Sru${_S:R}.So: ${_S} 376124637Sru.endfor 37796512Sru.endif 37899362Sru.endif 37934092Sbde 380100457Sru.if !target(clean) 381100457Sruclean: 382100457Sru.if defined(CLEANFILES) && !empty(CLEANFILES) 383100457Sru rm -f ${CLEANFILES} 384100457Sru.endif 385100457Sru.if defined(LIB) && !empty(LIB) 386100457Sru rm -f a.out ${OBJS} ${OBJS:S/$/.tmp/} ${STATICOBJS} 387100457Sru.endif 388100457Sru.if !defined(INTERNALLIB) 389156854Sru.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB) 390100457Sru rm -f ${POBJS} ${POBJS:S/$/.tmp/} 391100457Sru.endif 392100457Sru.if defined(SHLIB_NAME) || \ 393100457Sru defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) 394100457Sru rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} 395100457Sru.endif 396100457Sru.if defined(SHLIB_NAME) 397100457Sru.if defined(SHLIB_LINK) 398235534Sjlh.if defined(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT}) 399235534Sjlh rm -f lib${LIB}.ld 400235534Sjlh.endif 401100457Sru rm -f ${SHLIB_LINK} 402100457Sru.endif 403100457Sru.if defined(LIB) && !empty(LIB) 404100457Sru rm -f lib${LIB}.so.* lib${LIB}.so 405100457Sru.endif 406100457Sru.endif 407100457Sru.if defined(WANT_LINT) && defined(LIB) && !empty(LIB) 408100457Sru rm -f ${LINTOBJS} 409100457Sru.endif 410144893Sharti.endif # !defined(INTERNALLIB) 411100457Sru.if defined(_LIBS) && !empty(_LIBS) 412100457Sru rm -f ${_LIBS} 413100457Sru.endif 414100457Sru.if defined(CLEANDIRS) && !empty(CLEANDIRS) 415100457Sru rm -rf ${CLEANDIRS} 416100457Sru.endif 417157054Sdes.if !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) 418157054Sdes rm -f ${VERSION_MAP} 419100457Sru.endif 420157054Sdes.endif 421100457Sru 42216663Sjkh.include <bsd.obj.mk> 42376861Skris 42476861Skris.include <bsd.sys.mk> 425