1# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
| 1# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
|
2# $Id: bsd.lib.mk,v 1.72 1998/05/15 09:34:48 bde Exp $
| 2# $Id: bsd.lib.mk,v 1.73 1998/06/04 15:15:38 peter Exp $
|
3# 4 5.if exists(${.CURDIR}/../Makefile.inc) 6.include "${.CURDIR}/../Makefile.inc" 7.endif 8 9# Default executable format 10.if ${MACHINE} == "alpha" 11BINFORMAT?= elf 12.else 13BINFORMAT?= aout 14.endif 15 16.if exists(${.CURDIR}/shlib_version) 17SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major 18.if ${BINFORMAT} == aout 19SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor 20.endif 21.endif 22 23.if !defined(NOPIC) && ${BINFORMAT} == elf 24SONAME?= lib${LIB}.so.${SHLIB_MAJOR} 25.endif 26 27.if defined(DESTDIR) 28CFLAGS+= -I${DESTDIR}/usr/include 29CXXINCLUDES+= -I${DESTDIR}/usr/include/g++ 30.endif 31 32.if defined(DEBUG_FLAGS) 33CFLAGS+= ${DEBUG_FLAGS} 34.endif 35 36.if !defined(DEBUG_FLAGS) 37STRIP?= -s 38.endif 39 40.if ${BINFORMAT} != aout || make(checkdpadd) 41.include <bsd.libnames.mk> 42.endif 43 44.MAIN: all 45 46# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 47# .so used for PIC object files 48.SUFFIXES:
| 3# 4 5.if exists(${.CURDIR}/../Makefile.inc) 6.include "${.CURDIR}/../Makefile.inc" 7.endif 8 9# Default executable format 10.if ${MACHINE} == "alpha" 11BINFORMAT?= elf 12.else 13BINFORMAT?= aout 14.endif 15 16.if exists(${.CURDIR}/shlib_version) 17SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major 18.if ${BINFORMAT} == aout 19SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor 20.endif 21.endif 22 23.if !defined(NOPIC) && ${BINFORMAT} == elf 24SONAME?= lib${LIB}.so.${SHLIB_MAJOR} 25.endif 26 27.if defined(DESTDIR) 28CFLAGS+= -I${DESTDIR}/usr/include 29CXXINCLUDES+= -I${DESTDIR}/usr/include/g++ 30.endif 31 32.if defined(DEBUG_FLAGS) 33CFLAGS+= ${DEBUG_FLAGS} 34.endif 35 36.if !defined(DEBUG_FLAGS) 37STRIP?= -s 38.endif 39 40.if ${BINFORMAT} != aout || make(checkdpadd) 41.include <bsd.libnames.mk> 42.endif 43 44.MAIN: all 45 46# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 47# .so used for PIC object files 48.SUFFIXES:
|
49.SUFFIXES: .out .o .po .so .s .S .c .cc .cxx .m .C .f .y .l
| 49.SUFFIXES: .out .o .po .so .s .S .c .cc .cpp .cxx .m .C .f .y .l
|
50 51.c.o: 52 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 53 @${LD} -O ${.TARGET} -x -r ${.TARGET} 54 55.c.po: 56 ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 57 @${LD} -O ${.TARGET} -X -r ${.TARGET} 58 59.c.so: 60 ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 61 @${LD} -O ${.TARGET} -x -r ${.TARGET} 62
| 50 51.c.o: 52 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 53 @${LD} -O ${.TARGET} -x -r ${.TARGET} 54 55.c.po: 56 ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 57 @${LD} -O ${.TARGET} -X -r ${.TARGET} 58 59.c.so: 60 ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 61 @${LD} -O ${.TARGET} -x -r ${.TARGET} 62
|
63.cc.o .C.o .cxx.o:
| 63.cc.o .C.o .cpp.o .cxx.o:
|
64 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 65 @${LD} -O ${.TARGET} -x -r ${.TARGET} 66
| 64 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 65 @${LD} -O ${.TARGET} -x -r ${.TARGET} 66
|
67.cc.po .C.po .cxx.po:
| 67.cc.po .C.po .cpp.po .cxx.po:
|
68 ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 69 @${LD} -O ${.TARGET} -X -r ${.TARGET} 70
| 68 ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 69 @${LD} -O ${.TARGET} -X -r ${.TARGET} 70
|
71.cc.so .C.so .cxx.so:
| 71.cc.so .C.so .cpp.so .cxx.so:
|
72 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 73 @${LD} -O ${.TARGET} -x -r ${.TARGET} 74 75.f.o: 76 ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 77 @${LD} -O ${.TARGET} -x -r ${.TARGET} 78 79.f.po: 80 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 81 @${LD} -O ${.TARGET} -X -r ${.TARGET} 82 83.f.so: 84 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 85 @${LD} -O ${.TARGET} -x -r ${.TARGET} 86 87.m.o: 88 ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 89 @${LD} -O ${.TARGET} -x -r ${.TARGET} 90 91.m.po: 92 ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} 93 @${LD} -O ${.TARGET} -X -r ${.TARGET} 94 95.m.so: 96 ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 97 @${LD} -O ${.TARGET} -x -r ${.TARGET} 98 99.s.o: 100 ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \ 101 ${.IMPSRC} -o ${.TARGET} 102 @${LD} -O ${.TARGET} -x -r ${.TARGET} 103 104.s.po: 105 ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \ 106 ${.IMPSRC} -o ${.TARGET} 107 @${LD} -O ${.TARGET} -X -r ${.TARGET} 108 109.s.so: 110 ${CC} -x assembler-with-cpp -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c \ 111 ${.IMPSRC} -o ${.TARGET} 112 @${LD} -O ${.TARGET} -x -r ${.TARGET} 113 114.S.o: 115 ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 116 @${LD} -O ${.TARGET} -x -r ${.TARGET} 117 118.S.po: 119 ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 120 @${LD} -O ${.TARGET} -X -r ${.TARGET} 121 122.S.so: 123 ${CC} -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 124 @${LD} -O ${.TARGET} -x -r ${.TARGET} 125 126.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB) 127.if !defined(NOPROFILE) && !defined(INTERNALLIB) 128_LIBS=lib${LIB}.a lib${LIB}_p.a 129.else 130_LIBS=lib${LIB}.a 131.endif 132.endif 133 134.if !defined(NOPIC) 135.if ${BINFORMAT} == aout 136.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 137_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 138.endif 139.else 140.if defined(SHLIB_MAJOR) 141_LIBS+=lib${LIB}.so.${SHLIB_MAJOR} 142.endif 143.endif 144.if defined(INSTALL_PIC_ARCHIVE) 145_LIBS+=lib${LIB}_pic.a 146.endif 147.endif 148 149.if !defined(PICFLAG) 150PICFLAG=-fpic 151.endif 152 153all: objwarn ${_LIBS} all-man _SUBDIR # llib-l${LIB}.ln 154 155OBJS+= ${SRCS:N*.h:R:S/$/.o/g} 156 157lib${LIB}.a:: ${OBJS} 158 @${ECHO} building standard ${LIB} library 159 @rm -f lib${LIB}.a 160 @${AR} cq lib${LIB}.a `lorder ${OBJS} | tsort -q` ${ARADD} 161 ${RANLIB} lib${LIB}.a 162 163.if !defined(NOPROFILE) 164POBJS+= ${OBJS:.o=.po} 165lib${LIB}_p.a:: ${POBJS} 166 @${ECHO} building profiled ${LIB} library 167 @rm -f lib${LIB}_p.a 168 @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD} 169 ${RANLIB} lib${LIB}_p.a 170.endif 171 172.if defined(DESTDIR) 173LDDESTDIRENV?= LIBRARY_PATH=${DESTDIR}${SHLIBDIR}:${DESTDIR}${LIBDIR} 174.endif 175 176.if !defined(NOPIC) 177SOBJS+= ${OBJS:.o=.so} 178 179.if ${BINFORMAT} == aout 180lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: ${SOBJS} 181 @${ECHO} building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) 182 @rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 183 @${LDDESTDIRENV} ${CC} -shared -Wl,-x -Wl,-assert -Wl,pure-text \ 184 -o lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 185 `lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD} 186.else 187lib${LIB}.so.${SHLIB_MAJOR}: ${SOBJS} 188 @${ECHO} building shared ${LIB} library \(version ${SHLIB_MAJOR}\) 189 @rm -f lib${LIB}.so.${SHLIB_MAJOR} 190 @${LDDESTDIRENV} ${CC} -shared -Wl,-x \ 191 -o lib${LIB}.so.${SHLIB_MAJOR} -Wl,-soname,${SONAME} \ 192 `lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD} 193.endif 194 195lib${LIB}_pic.a:: ${SOBJS} 196 @${ECHO} building special pic ${LIB} library 197 @rm -f lib${LIB}_pic.a 198 @${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD} 199 ${RANLIB} lib${LIB}_pic.a 200.endif 201 202llib-l${LIB}.ln: ${SRCS} 203 ${LINT} -C${LIB} ${CFLAGS} ${.ALLSRC:M*.c} 204 205.if !target(clean) 206clean: _SUBDIR 207 rm -f a.out ${OBJS} ${CLEANFILES} 208 rm -f lib${LIB}.a # llib-l${LIB}.ln 209 rm -f ${POBJS} lib${LIB}_p.a 210.if defined(SOBJS) && !empty(SOBJS) 211 rm -f ${SOBJS} 212.endif 213 rm -f lib${LIB}.so.*.* lib${LIB}_pic.a 214.if defined(CLEANDIRS) && !empty(CLEANDIRS) 215 rm -rf ${CLEANDIRS} 216.endif 217.endif 218 219_EXTRADEPEND: 220 @TMP=_depend$$$$; \ 221 sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so:/' < ${DEPENDFILE} \ 222 > $$TMP; \ 223 mv $$TMP ${DEPENDFILE} 224.if !defined(NOEXTRADEPEND) && !defined(NOPIC) 225.if ${BINFORMAT} == aout 226 echo lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: \ 227 `${LDDESTDIRENV} ${CC} -shared -Wl,-f ${LDDESTDIR} ${LDADD}` \ 228 >> ${DEPENDFILE} 229.else 230.if defined(DPADD) && !empty(DPADD) 231 echo lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: \ 232 ${DPADD} >> ${DEPENDFILE} 233.endif 234.endif 235.endif 236 237.if !target(install) 238.if !target(beforeinstall) 239beforeinstall: 240.endif 241 242.if defined(PRECIOUSLIB) 243SHLINSTALLFLAGS+= -fschg 244.endif 245 246realinstall: beforeinstall 247.if !defined(INTERNALLIB) 248 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 249 ${INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR} 250.if !defined(NOPROFILE) 251 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 252 ${INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 253.endif 254.endif 255.if !defined(NOPIC) 256.if ${BINFORMAT} == aout 257.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 258 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 259 ${INSTALLFLAGS} ${SHLINSTALLFLAGS} \ 260 lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 261 ${DESTDIR}${SHLIBDIR} 262.endif 263.else 264.if defined(SHLIB_MAJOR) 265 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 266 ${INSTALLFLAGS} ${SHLINSTALLFLAGS} \ 267 lib${LIB}.so.${SHLIB_MAJOR} \ 268 ${DESTDIR}${SHLIBDIR} 269 ln ${LN_FLAGS} -sf lib${LIB}.so.${SHLIB_MAJOR} \ 270 ${DESTDIR}${SHLIBDIR}/lib${LIB}.so 271.endif 272.endif 273.if defined(INSTALL_PIC_ARCHIVE) 274 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 275 ${INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 276.endif 277.endif 278.if defined(LINKS) && !empty(LINKS) 279 @set ${LINKS}; \ 280 while test $$# -ge 2; do \ 281 l=${DESTDIR}$$1; \ 282 shift; \ 283 t=${DESTDIR}$$1; \ 284 shift; \ 285 ${ECHO} $$t -\> $$l; \ 286 rm -f $$t; \ 287 ln ${LN_FLAGS} $$l $$t; \ 288 done; true 289.endif 290 291install: afterinstall _SUBDIR 292.if !defined(NOMAN) 293afterinstall: realinstall maninstall 294.else 295afterinstall: realinstall 296.endif 297.endif 298 299.if !target(regress) 300regress: 301.endif 302 303DISTRIBUTION?= bin 304.if !target(distribute) 305distribute: _SUBDIR 306.for dist in ${DISTRIBUTION} 307 cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies 308.endfor 309.endif 310 311.if !target(lint) 312lint: 313.endif 314 315.if !defined(NOMAN) 316.include <bsd.man.mk> 317.elif !target(maninstall) 318maninstall: 319all-man: 320.endif 321 322.include <bsd.dep.mk> 323 324.if !exists(${DEPENDFILE}) 325${OBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h} 326.endif 327 328.include <bsd.obj.mk>
| 72 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 73 @${LD} -O ${.TARGET} -x -r ${.TARGET} 74 75.f.o: 76 ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 77 @${LD} -O ${.TARGET} -x -r ${.TARGET} 78 79.f.po: 80 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 81 @${LD} -O ${.TARGET} -X -r ${.TARGET} 82 83.f.so: 84 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 85 @${LD} -O ${.TARGET} -x -r ${.TARGET} 86 87.m.o: 88 ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 89 @${LD} -O ${.TARGET} -x -r ${.TARGET} 90 91.m.po: 92 ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} 93 @${LD} -O ${.TARGET} -X -r ${.TARGET} 94 95.m.so: 96 ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 97 @${LD} -O ${.TARGET} -x -r ${.TARGET} 98 99.s.o: 100 ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \ 101 ${.IMPSRC} -o ${.TARGET} 102 @${LD} -O ${.TARGET} -x -r ${.TARGET} 103 104.s.po: 105 ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \ 106 ${.IMPSRC} -o ${.TARGET} 107 @${LD} -O ${.TARGET} -X -r ${.TARGET} 108 109.s.so: 110 ${CC} -x assembler-with-cpp -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c \ 111 ${.IMPSRC} -o ${.TARGET} 112 @${LD} -O ${.TARGET} -x -r ${.TARGET} 113 114.S.o: 115 ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 116 @${LD} -O ${.TARGET} -x -r ${.TARGET} 117 118.S.po: 119 ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 120 @${LD} -O ${.TARGET} -X -r ${.TARGET} 121 122.S.so: 123 ${CC} -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 124 @${LD} -O ${.TARGET} -x -r ${.TARGET} 125 126.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB) 127.if !defined(NOPROFILE) && !defined(INTERNALLIB) 128_LIBS=lib${LIB}.a lib${LIB}_p.a 129.else 130_LIBS=lib${LIB}.a 131.endif 132.endif 133 134.if !defined(NOPIC) 135.if ${BINFORMAT} == aout 136.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 137_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 138.endif 139.else 140.if defined(SHLIB_MAJOR) 141_LIBS+=lib${LIB}.so.${SHLIB_MAJOR} 142.endif 143.endif 144.if defined(INSTALL_PIC_ARCHIVE) 145_LIBS+=lib${LIB}_pic.a 146.endif 147.endif 148 149.if !defined(PICFLAG) 150PICFLAG=-fpic 151.endif 152 153all: objwarn ${_LIBS} all-man _SUBDIR # llib-l${LIB}.ln 154 155OBJS+= ${SRCS:N*.h:R:S/$/.o/g} 156 157lib${LIB}.a:: ${OBJS} 158 @${ECHO} building standard ${LIB} library 159 @rm -f lib${LIB}.a 160 @${AR} cq lib${LIB}.a `lorder ${OBJS} | tsort -q` ${ARADD} 161 ${RANLIB} lib${LIB}.a 162 163.if !defined(NOPROFILE) 164POBJS+= ${OBJS:.o=.po} 165lib${LIB}_p.a:: ${POBJS} 166 @${ECHO} building profiled ${LIB} library 167 @rm -f lib${LIB}_p.a 168 @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD} 169 ${RANLIB} lib${LIB}_p.a 170.endif 171 172.if defined(DESTDIR) 173LDDESTDIRENV?= LIBRARY_PATH=${DESTDIR}${SHLIBDIR}:${DESTDIR}${LIBDIR} 174.endif 175 176.if !defined(NOPIC) 177SOBJS+= ${OBJS:.o=.so} 178 179.if ${BINFORMAT} == aout 180lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: ${SOBJS} 181 @${ECHO} building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) 182 @rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 183 @${LDDESTDIRENV} ${CC} -shared -Wl,-x -Wl,-assert -Wl,pure-text \ 184 -o lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 185 `lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD} 186.else 187lib${LIB}.so.${SHLIB_MAJOR}: ${SOBJS} 188 @${ECHO} building shared ${LIB} library \(version ${SHLIB_MAJOR}\) 189 @rm -f lib${LIB}.so.${SHLIB_MAJOR} 190 @${LDDESTDIRENV} ${CC} -shared -Wl,-x \ 191 -o lib${LIB}.so.${SHLIB_MAJOR} -Wl,-soname,${SONAME} \ 192 `lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD} 193.endif 194 195lib${LIB}_pic.a:: ${SOBJS} 196 @${ECHO} building special pic ${LIB} library 197 @rm -f lib${LIB}_pic.a 198 @${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD} 199 ${RANLIB} lib${LIB}_pic.a 200.endif 201 202llib-l${LIB}.ln: ${SRCS} 203 ${LINT} -C${LIB} ${CFLAGS} ${.ALLSRC:M*.c} 204 205.if !target(clean) 206clean: _SUBDIR 207 rm -f a.out ${OBJS} ${CLEANFILES} 208 rm -f lib${LIB}.a # llib-l${LIB}.ln 209 rm -f ${POBJS} lib${LIB}_p.a 210.if defined(SOBJS) && !empty(SOBJS) 211 rm -f ${SOBJS} 212.endif 213 rm -f lib${LIB}.so.*.* lib${LIB}_pic.a 214.if defined(CLEANDIRS) && !empty(CLEANDIRS) 215 rm -rf ${CLEANDIRS} 216.endif 217.endif 218 219_EXTRADEPEND: 220 @TMP=_depend$$$$; \ 221 sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so:/' < ${DEPENDFILE} \ 222 > $$TMP; \ 223 mv $$TMP ${DEPENDFILE} 224.if !defined(NOEXTRADEPEND) && !defined(NOPIC) 225.if ${BINFORMAT} == aout 226 echo lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: \ 227 `${LDDESTDIRENV} ${CC} -shared -Wl,-f ${LDDESTDIR} ${LDADD}` \ 228 >> ${DEPENDFILE} 229.else 230.if defined(DPADD) && !empty(DPADD) 231 echo lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: \ 232 ${DPADD} >> ${DEPENDFILE} 233.endif 234.endif 235.endif 236 237.if !target(install) 238.if !target(beforeinstall) 239beforeinstall: 240.endif 241 242.if defined(PRECIOUSLIB) 243SHLINSTALLFLAGS+= -fschg 244.endif 245 246realinstall: beforeinstall 247.if !defined(INTERNALLIB) 248 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 249 ${INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR} 250.if !defined(NOPROFILE) 251 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 252 ${INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 253.endif 254.endif 255.if !defined(NOPIC) 256.if ${BINFORMAT} == aout 257.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 258 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 259 ${INSTALLFLAGS} ${SHLINSTALLFLAGS} \ 260 lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 261 ${DESTDIR}${SHLIBDIR} 262.endif 263.else 264.if defined(SHLIB_MAJOR) 265 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 266 ${INSTALLFLAGS} ${SHLINSTALLFLAGS} \ 267 lib${LIB}.so.${SHLIB_MAJOR} \ 268 ${DESTDIR}${SHLIBDIR} 269 ln ${LN_FLAGS} -sf lib${LIB}.so.${SHLIB_MAJOR} \ 270 ${DESTDIR}${SHLIBDIR}/lib${LIB}.so 271.endif 272.endif 273.if defined(INSTALL_PIC_ARCHIVE) 274 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 275 ${INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 276.endif 277.endif 278.if defined(LINKS) && !empty(LINKS) 279 @set ${LINKS}; \ 280 while test $$# -ge 2; do \ 281 l=${DESTDIR}$$1; \ 282 shift; \ 283 t=${DESTDIR}$$1; \ 284 shift; \ 285 ${ECHO} $$t -\> $$l; \ 286 rm -f $$t; \ 287 ln ${LN_FLAGS} $$l $$t; \ 288 done; true 289.endif 290 291install: afterinstall _SUBDIR 292.if !defined(NOMAN) 293afterinstall: realinstall maninstall 294.else 295afterinstall: realinstall 296.endif 297.endif 298 299.if !target(regress) 300regress: 301.endif 302 303DISTRIBUTION?= bin 304.if !target(distribute) 305distribute: _SUBDIR 306.for dist in ${DISTRIBUTION} 307 cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies 308.endfor 309.endif 310 311.if !target(lint) 312lint: 313.endif 314 315.if !defined(NOMAN) 316.include <bsd.man.mk> 317.elif !target(maninstall) 318maninstall: 319all-man: 320.endif 321 322.include <bsd.dep.mk> 323 324.if !exists(${DEPENDFILE}) 325${OBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h} 326.endif 327 328.include <bsd.obj.mk>
|