13585b293SGarrett Wollman# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 27f3dea24SPeter Wemm# $FreeBSD$ 33585b293SGarrett Wollman# 4afe61c15SRodney W. Grimes 5e0301e5dSPeter Wemm.if !target(__initialized__) 6e0301e5dSPeter Wemm__initialized__: 7afe61c15SRodney W. Grimes.if exists(${.CURDIR}/../Makefile.inc) 8afe61c15SRodney W. Grimes.include "${.CURDIR}/../Makefile.inc" 9afe61c15SRodney W. Grimes.endif 10e0301e5dSPeter Wemm.endif 11afe61c15SRodney W. Grimes 123585b293SGarrett Wollman.if exists(${.CURDIR}/shlib_version) 133585b293SGarrett WollmanSHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major 14cdaa52cfSJohn Birrell.if ${OBJFORMAT} == aout 153585b293SGarrett WollmanSHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor 163585b293SGarrett Wollman.endif 178c05a446SPeter Wemm.endif 183585b293SGarrett Wollman 19f67eb0dcSJohn Polstra# Set up the variables controlling shared libraries. After this section, 20f67eb0dcSJohn Polstra# SHLIB_NAME will be defined only if we are to create a shared library. 21f67eb0dcSJohn Polstra# SHLIB_LINK will be defined only if we are to create a link to it. 22f67eb0dcSJohn Polstra# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive. 23f67eb0dcSJohn Polstra.if defined(NOPIC) 24f67eb0dcSJohn Polstra.undef SHLIB_NAME 25f67eb0dcSJohn Polstra.undef INSTALL_PIC_ARCHIVE 26f67eb0dcSJohn Polstra.else 27f67eb0dcSJohn Polstra.if ${OBJFORMAT} == elf 28f67eb0dcSJohn Polstra.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR) 29f67eb0dcSJohn PolstraSHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR} 30f67eb0dcSJohn PolstraSHLIB_LINK?= lib${LIB}.so 31f67eb0dcSJohn Polstra.endif 32f67eb0dcSJohn PolstraSONAME?= ${SHLIB_NAME} 33f67eb0dcSJohn Polstra.else 34f67eb0dcSJohn Polstra.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 35f67eb0dcSJohn PolstraSHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 36f67eb0dcSJohn Polstra.endif 37f67eb0dcSJohn Polstra.endif 38e782d0b5SPeter Wemm.endif 39e782d0b5SPeter Wemm 403585b293SGarrett Wollman.if defined(DESTDIR) 413585b293SGarrett WollmanCFLAGS+= -I${DESTDIR}/usr/include 4215db27b8SSatoshi AsamiCXXINCLUDES+= -I${DESTDIR}/usr/include/g++ 433585b293SGarrett Wollman.endif 4480c02d59SBruce Evans 45e82b0b99SJordan K. Hubbard.if defined(DEBUG_FLAGS) 46e82b0b99SJordan K. HubbardCFLAGS+= ${DEBUG_FLAGS} 47e82b0b99SJordan K. Hubbard.endif 48e82b0b99SJordan K. Hubbard 49e82b0b99SJordan K. Hubbard.if !defined(DEBUG_FLAGS) 50afe61c15SRodney W. GrimesSTRIP?= -s 51e82b0b99SJordan K. Hubbard.endif 52afe61c15SRodney W. Grimes 53368c8de4SJohn Polstra.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES) 541a5ed802SBruce Evans.include <bsd.libnames.mk> 55e3ace70eSBruce Evans.endif 561a5ed802SBruce Evans 57afe61c15SRodney W. Grimes.MAIN: all 58afe61c15SRodney W. Grimes 59afe61c15SRodney W. Grimes# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 60f92bdbd0SJohn Polstra# .So used for PIC object files 61afe61c15SRodney W. Grimes.SUFFIXES: 62a8e97da0SBruce Evans.SUFFIXES: .out .o .po .So .S .s .c .cc .cpp .cxx .m .C .f .y .l 63afe61c15SRodney W. Grimes 64afe61c15SRodney W. Grimes.c.o: 653585b293SGarrett Wollman ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 66d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 67d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 68afe61c15SRodney W. Grimes 69afe61c15SRodney W. Grimes.c.po: 709c8ff5b5SJohn Polstra ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 71d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 72d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 73afe61c15SRodney W. Grimes 74f92bdbd0SJohn Polstra.c.So: 753585b293SGarrett Wollman ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 76d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 77d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 783585b293SGarrett Wollman 79c7cbe79eSDmitrij Tejblum.cc.o .C.o .cpp.o .cxx.o: 803585b293SGarrett Wollman ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 81d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 82d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 833585b293SGarrett Wollman 84c7cbe79eSDmitrij Tejblum.cc.po .C.po .cpp.po .cxx.po: 859c8ff5b5SJohn Polstra ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 86d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 87d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 883585b293SGarrett Wollman 89f92bdbd0SJohn Polstra.cc.So .C.So .cpp.So .cxx.So: 903585b293SGarrett Wollman ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 91d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 92d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 933585b293SGarrett Wollman 943585b293SGarrett Wollman.f.o: 953585b293SGarrett Wollman ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 96d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 97d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 983585b293SGarrett Wollman 993585b293SGarrett Wollman.f.po: 1009c8ff5b5SJohn Polstra ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 101d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 102d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 1033585b293SGarrett Wollman 104f92bdbd0SJohn Polstra.f.So: 1053585b293SGarrett Wollman ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 106d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 107d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 1083585b293SGarrett Wollman 10970a6e331SBruce Evans.m.o: 11070a6e331SBruce Evans ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 111d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 112d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 11370a6e331SBruce Evans 11470a6e331SBruce Evans.m.po: 11570a6e331SBruce Evans ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} 116d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 117d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 11870a6e331SBruce Evans 119f92bdbd0SJohn Polstra.m.So: 12070a6e331SBruce Evans ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 121d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 122d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 12370a6e331SBruce Evans 124afe61c15SRodney W. Grimes.s.o: 125e1eecc08SSatoshi Asami ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \ 1266ba7f9ffSPeter Wemm ${.IMPSRC} -o ${.TARGET} 127d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 128d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 129afe61c15SRodney W. Grimes 130afe61c15SRodney W. Grimes.s.po: 131e1eecc08SSatoshi Asami ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \ 1326ba7f9ffSPeter Wemm ${.IMPSRC} -o ${.TARGET} 133d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 134d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 135afe61c15SRodney W. Grimes 136f92bdbd0SJohn Polstra.s.So: 137e1eecc08SSatoshi Asami ${CC} -x assembler-with-cpp -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c \ 1386ba7f9ffSPeter Wemm ${.IMPSRC} -o ${.TARGET} 139d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 140d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 1413585b293SGarrett Wollman 1423585b293SGarrett Wollman.S.o: 143e1eecc08SSatoshi Asami ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 144d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 145d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 1463585b293SGarrett Wollman 1473585b293SGarrett Wollman.S.po: 148e1eecc08SSatoshi Asami ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 149d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 150d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 1513585b293SGarrett Wollman 152f92bdbd0SJohn Polstra.S.So: 153e1eecc08SSatoshi Asami ${CC} -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 154d9eb0d4dSPeter Wemm @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 155d9eb0d4dSPeter Wemm @mv ${.TARGET}.tmp ${.TARGET} 1563585b293SGarrett Wollman 157ac1a8b47SGarrett Wollman.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB) 15866415998SGarrett Wollman.if !defined(NOPROFILE) && !defined(INTERNALLIB) 159afe61c15SRodney W. Grimes_LIBS=lib${LIB}.a lib${LIB}_p.a 160afe61c15SRodney W. Grimes.else 161afe61c15SRodney W. Grimes_LIBS=lib${LIB}.a 162afe61c15SRodney W. Grimes.endif 163ac1a8b47SGarrett Wollman.endif 164afe61c15SRodney W. Grimes 165f67eb0dcSJohn Polstra.if defined(SHLIB_NAME) 166f67eb0dcSJohn Polstra_LIBS+=${SHLIB_NAME} 1678c05a446SPeter Wemm.endif 1683585b293SGarrett Wollman.if defined(INSTALL_PIC_ARCHIVE) 1693585b293SGarrett Wollman_LIBS+=lib${LIB}_pic.a 1703585b293SGarrett Wollman.endif 171afe61c15SRodney W. Grimes 1723585b293SGarrett Wollman.if !defined(PICFLAG) 1733585b293SGarrett WollmanPICFLAG=-fpic 1743585b293SGarrett Wollman.endif 1753585b293SGarrett Wollman 176b139be25SRuslan Ermilov.if !defined(NOMAN) 177b3618bcfSSteven Wallaceall: objwarn ${_LIBS} all-man _SUBDIR # llib-l${LIB}.ln 178b139be25SRuslan Ermilov.else 179b139be25SRuslan Ermilovall: objwarn ${_LIBS} _SUBDIR # llib-l${LIB}.ln 180b139be25SRuslan Ermilov.endif 1813585b293SGarrett Wollman 1823585b293SGarrett WollmanOBJS+= ${SRCS:N*.h:R:S/$/.o/g} 183afe61c15SRodney W. Grimes 184f67eb0dcSJohn Polstralib${LIB}.a:: ${OBJS} ${STATICOBJS} 185f45b036fSPeter Wemm @${ECHO} building static ${LIB} library 186afe61c15SRodney W. Grimes @rm -f lib${LIB}.a 187f67eb0dcSJohn Polstra @${AR} cq lib${LIB}.a `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 1883585b293SGarrett Wollman ${RANLIB} lib${LIB}.a 189afe61c15SRodney W. Grimes 190f67eb0dcSJohn PolstraPOBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po} 1911cfd4a8bSPeter Wemm.if !defined(NOPROFILE) 192afe61c15SRodney W. Grimeslib${LIB}_p.a:: ${POBJS} 19380c02d59SBruce Evans @${ECHO} building profiled ${LIB} library 194afe61c15SRodney W. Grimes @rm -f lib${LIB}_p.a 19562eba876SJordan K. Hubbard @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD} 1963585b293SGarrett Wollman ${RANLIB} lib${LIB}_p.a 19786af0db9SBruce Evans.endif 1983585b293SGarrett Wollman 1993585b293SGarrett Wollman.if defined(DESTDIR) 20031d33723SPeter WemmLDDESTDIRENV?= LIBRARY_PATH=${DESTDIR}${SHLIBDIR}:${DESTDIR}${LIBDIR} 2013585b293SGarrett Wollman.endif 2023585b293SGarrett Wollman 203f92bdbd0SJohn PolstraSOBJS+= ${OBJS:.o=.So} 2048c05a446SPeter Wemm 205f67eb0dcSJohn Polstra.if defined(SHLIB_NAME) 206f67eb0dcSJohn Polstra${SHLIB_NAME}: ${SOBJS} 207f67eb0dcSJohn Polstra @${ECHO} building shared library ${SHLIB_NAME} 208f67eb0dcSJohn Polstra @rm -f ${SHLIB_NAME} ${SHLIB_LINK} 209f67eb0dcSJohn Polstra.if defined(SHLIB_LINK) 210f67eb0dcSJohn Polstra @ln -sf ${SHLIB_NAME} ${SHLIB_LINK} 211f67eb0dcSJohn Polstra.endif 212cdaa52cfSJohn Birrell.if ${OBJFORMAT} == aout 213f67eb0dcSJohn Polstra @${LDDESTDIRENV} ${CC} -shared -Wl,-x,-assert,pure-text \ 214f67eb0dcSJohn Polstra -o ${SHLIB_NAME} \ 21562eba876SJordan K. Hubbard `lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD} 2168c05a446SPeter Wemm.else 2178c05a446SPeter Wemm @${LDDESTDIRENV} ${CC} -shared -Wl,-x \ 218f67eb0dcSJohn Polstra -o ${SHLIB_NAME} -Wl,-soname,${SONAME} \ 2198c05a446SPeter Wemm `lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD} 2208c05a446SPeter Wemm.endif 221f67eb0dcSJohn Polstra.endif 2223585b293SGarrett Wollman 223f67eb0dcSJohn Polstra.if defined(INSTALL_PIC_ARCHIVE) 2243585b293SGarrett Wollmanlib${LIB}_pic.a:: ${SOBJS} 22580c02d59SBruce Evans @${ECHO} building special pic ${LIB} library 2263585b293SGarrett Wollman @rm -f lib${LIB}_pic.a 2270cd12228SAndrey A. Chernov @${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD} 2283585b293SGarrett Wollman ${RANLIB} lib${LIB}_pic.a 22986af0db9SBruce Evans.endif 230afe61c15SRodney W. Grimes 231afe61c15SRodney W. Grimesllib-l${LIB}.ln: ${SRCS} 232afe61c15SRodney W. Grimes ${LINT} -C${LIB} ${CFLAGS} ${.ALLSRC:M*.c} 233afe61c15SRodney W. Grimes 234afe61c15SRodney W. Grimes.if !target(clean) 235cd9a2f5cSJordan K. Hubbardclean: _SUBDIR 236f67eb0dcSJohn Polstra rm -f a.out ${OBJS} ${STATICOBJS} ${OBJS:S/$/.tmp/} ${CLEANFILES} 237e3ace70eSBruce Evans rm -f lib${LIB}.a # llib-l${LIB}.ln 2381cfd4a8bSPeter Wemm rm -f ${POBJS} ${POBJS:S/$/.tmp/} lib${LIB}_p.a 239f92bdbd0SJohn Polstra rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} \ 240f67eb0dcSJohn Polstra ${SHLIB_NAME} ${SHLIB_LINK} \ 241f92bdbd0SJohn Polstra lib${LIB}.so.* lib${LIB}.so lib${LIB}_pic.a 242209396dfSPoul-Henning Kamp.if defined(CLEANDIRS) && !empty(CLEANDIRS) 2432b9cd238SPoul-Henning Kamp rm -rf ${CLEANDIRS} 2442b9cd238SPoul-Henning Kamp.endif 245afe61c15SRodney W. Grimes.endif 246afe61c15SRodney W. Grimes 247fcccc50bSBruce Evans_EXTRADEPEND: 248663e9677SBruce Evans @TMP=_depend$$$$; \ 249f92bdbd0SJohn Polstra sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \ 250663e9677SBruce Evans > $$TMP; \ 251663e9677SBruce Evans mv $$TMP ${DEPENDFILE} 252f67eb0dcSJohn Polstra.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME) 253cdaa52cfSJohn Birrell.if ${OBJFORMAT} == aout 254f67eb0dcSJohn Polstra echo ${SHLIB_NAME}: \ 255ef431e2eSJohn Polstra `${LDDESTDIRENV} ${CC} -shared -Wl,-f ${LDDESTDIR} ${LDADD}` \ 256ef431e2eSJohn Polstra >> ${DEPENDFILE} 2578c05a446SPeter Wemm.else 258e3ace70eSBruce Evans.if defined(DPADD) && !empty(DPADD) 259f67eb0dcSJohn Polstra echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE} 2608c05a446SPeter Wemm.endif 2618c05a446SPeter Wemm.endif 2622799473bSSatoshi Asami.endif 263afe61c15SRodney W. Grimes 264afe61c15SRodney W. Grimes.if !target(install) 265afe61c15SRodney W. Grimes.if !target(beforeinstall) 266fccf86c1SRodney W. Grimesbeforeinstall: _includeinstall 267fccf86c1SRodney W. Grimes.endif 268fccf86c1SRodney W. Grimes 269fccf86c1SRodney W. Grimes_includeinstall: 270fccf86c1SRodney W. Grimes.if defined(INCS) 271fccf86c1SRodney W. Grimes.for header in ${INCS} 272fccf86c1SRodney W. Grimes cd ${.CURDIR} && \ 273fccf86c1SRodney W. Grimes ${INSTALL} -C -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} \ 274fccf86c1SRodney W. Grimes ${header} ${DESTDIR}${INCDIR} 275fccf86c1SRodney W. Grimes 276fccf86c1SRodney W. Grimes.endfor 277afe61c15SRodney W. Grimes.endif 278afe61c15SRodney W. Grimes 2790099533aSJohn-Mark Gurney.if defined(PRECIOUSLIB) && !defined(NOFSCHG) 280c59ae063SGarrett WollmanSHLINSTALLFLAGS+= -fschg 281c59ae063SGarrett Wollman.endif 282c59ae063SGarrett Wollman 283e902c1bbSTim Vanderhoek_INSTALLFLAGS:= ${INSTALLFLAGS} 284e902c1bbSTim Vanderhoek.for ie in ${INSTALLFLAGS_EDIT} 285e902c1bbSTim Vanderhoek_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} 286e902c1bbSTim Vanderhoek.endfor 2871a66233dSRuslan Ermilov_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS} 288e902c1bbSTim Vanderhoek.for ie in ${INSTALLFLAGS_EDIT} 289e902c1bbSTim Vanderhoek_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}} 290e902c1bbSTim Vanderhoek.endfor 291e902c1bbSTim Vanderhoek 292afe61c15SRodney W. Grimesrealinstall: beforeinstall 293c59ae063SGarrett Wollman.if !defined(INTERNALLIB) 29445f7f888SGarrett Wollman ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 295e902c1bbSTim Vanderhoek ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR} 296afe61c15SRodney W. Grimes.if !defined(NOPROFILE) 2973585b293SGarrett Wollman ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 298e902c1bbSTim Vanderhoek ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 299afe61c15SRodney W. Grimes.endif 300c59ae063SGarrett Wollman.endif 301f67eb0dcSJohn Polstra.if defined(SHLIB_NAME) 3020099533aSJohn-Mark Gurney ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 303e902c1bbSTim Vanderhoek ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ 304f67eb0dcSJohn Polstra ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} 305f67eb0dcSJohn Polstra.if defined(SHLIB_LINK) 3062336a7eaSBruce Evans ln -sf ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK} 3078c05a446SPeter Wemm.endif 3088c05a446SPeter Wemm.endif 3093585b293SGarrett Wollman.if defined(INSTALL_PIC_ARCHIVE) 3103585b293SGarrett Wollman ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 311e902c1bbSTim Vanderhoek ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 3123585b293SGarrett Wollman.endif 313afe61c15SRodney W. Grimes.if defined(LINKS) && !empty(LINKS) 314afe61c15SRodney W. Grimes @set ${LINKS}; \ 315afe61c15SRodney W. Grimes while test $$# -ge 2; do \ 316afe61c15SRodney W. Grimes l=${DESTDIR}$$1; \ 317afe61c15SRodney W. Grimes shift; \ 318afe61c15SRodney W. Grimes t=${DESTDIR}$$1; \ 319afe61c15SRodney W. Grimes shift; \ 32080c02d59SBruce Evans ${ECHO} $$t -\> $$l; \ 3212336a7eaSBruce Evans ln -f $$l $$t; \ 3222336a7eaSBruce Evans done; true 3232336a7eaSBruce Evans.endif 3242336a7eaSBruce Evans.if defined(SYMLINKS) && !empty(SYMLINKS) 3252336a7eaSBruce Evans @set ${SYMLINKS}; \ 3262336a7eaSBruce Evans while test $$# -ge 2; do \ 3272336a7eaSBruce Evans l=$$1; \ 3282336a7eaSBruce Evans shift; \ 3292336a7eaSBruce Evans t=${DESTDIR}$$1; \ 3302336a7eaSBruce Evans shift; \ 3312336a7eaSBruce Evans ${ECHO} $$t -\> $$l; \ 3322336a7eaSBruce Evans ln -fs $$l $$t; \ 333afe61c15SRodney W. Grimes done; true 334afe61c15SRodney W. Grimes.endif 335afe61c15SRodney W. Grimes 336cd9a2f5cSJordan K. Hubbardinstall: afterinstall _SUBDIR 337afe61c15SRodney W. Grimes.if !defined(NOMAN) 3383585b293SGarrett Wollmanafterinstall: realinstall maninstall 3393585b293SGarrett Wollman.else 3403585b293SGarrett Wollmanafterinstall: realinstall 341afe61c15SRodney W. Grimes.endif 342afe61c15SRodney W. Grimes.endif 343afe61c15SRodney W. Grimes 34469b87d3eSEivind Eklund.if !target(regress) 34569b87d3eSEivind Eklundregress: 34669b87d3eSEivind Eklund.endif 34769b87d3eSEivind Eklund 348d9584d76SJordan K. HubbardDISTRIBUTION?= bin 34955ff8fb1SPoul-Henning Kamp.if !target(distribute) 350cd9a2f5cSJordan K. Hubbarddistribute: _SUBDIR 351398ac038SJordan K. Hubbard.for dist in ${DISTRIBUTION} 352398ac038SJordan K. Hubbard cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies 353398ac038SJordan K. Hubbard.endfor 35455ff8fb1SPoul-Henning Kamp.endif 35555ff8fb1SPoul-Henning Kamp 356afe61c15SRodney W. Grimes.if !target(lint) 357afe61c15SRodney W. Grimeslint: 358afe61c15SRodney W. Grimes.endif 359afe61c15SRodney W. Grimes 3603585b293SGarrett Wollman.if !defined(NOMAN) 361afe61c15SRodney W. Grimes.include <bsd.man.mk> 362918fb560SRuslan Ermilov.else 363918fb560SRuslan Ermilov.if !target(all-man) 364918fb560SRuslan Ermilovall-man: 365918fb560SRuslan Ermilov.endif 366918fb560SRuslan Ermilov.if !target(maninstall) 3673585b293SGarrett Wollmanmaninstall: 3683585b293SGarrett Wollman.endif 369918fb560SRuslan Ermilov.endif 3703585b293SGarrett Wollman 3713585b293SGarrett Wollman.include <bsd.dep.mk> 37214172e46SBruce Evans 37314172e46SBruce Evans.if !exists(${DEPENDFILE}) 374f67eb0dcSJohn Polstra${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h} 37514172e46SBruce Evans.endif 37614172e46SBruce Evans 377cd9a2f5cSJordan K. Hubbard.include <bsd.obj.mk> 378