bsd.lib.mk revision 94940
1210284Sjmallett# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 2232812Sjmallett# $FreeBSD: head/share/mk/bsd.lib.mk 94940 2002-04-17 13:49:29Z ru $ 3215990Sjmallett# 4210284Sjmallett 5210284Sjmallett.include <bsd.init.mk> 6215990Sjmallett 7215990Sjmallett.if exists(${.CURDIR}/shlib_version) 8215990SjmallettSHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major 9210284Sjmallett.if ${OBJFORMAT} == aout 10215990SjmallettSHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor 11215990Sjmallett.endif 12210284Sjmallett.endif 13215990Sjmallett 14215990Sjmallett# Set up the variables controlling shared libraries. After this section, 15215990Sjmallett# SHLIB_NAME will be defined only if we are to create a shared library. 16215990Sjmallett# SHLIB_LINK will be defined only if we are to create a link to it. 17215990Sjmallett# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive. 18232812Sjmallett.if defined(NOPIC) 19215990Sjmallett.undef SHLIB_NAME 20215990Sjmallett.undef INSTALL_PIC_ARCHIVE 21215990Sjmallett.else 22215990Sjmallett.if ${OBJFORMAT} == elf 23215990Sjmallett.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR) 24215990SjmallettSHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR} 25215990SjmallettSHLIB_LINK?= lib${LIB}.so 26215990Sjmallett.endif 27215990SjmallettSONAME?= ${SHLIB_NAME} 28215990Sjmallett.else 29232812Sjmallett.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) 30215990SjmallettSHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 31215990Sjmallett.endif 32215990Sjmallett.endif 33215990Sjmallett.endif 34215990Sjmallett 35215990Sjmallett.if defined(DEBUG_FLAGS) 36215990SjmallettCFLAGS+= ${DEBUG_FLAGS} 37215990Sjmallett.endif 38210284Sjmallett 39210284Sjmallett.if !defined(DEBUG_FLAGS) 40210284SjmallettSTRIP?= -s 41210284Sjmallett.endif 42210284Sjmallett 43210284Sjmallett.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES) 44210284Sjmallett.include <bsd.libnames.mk> 45215990Sjmallett.endif 46210284Sjmallett 47210284Sjmallett# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 48210284Sjmallett# .So used for PIC object files 49210284Sjmallett.SUFFIXES: 50210284Sjmallett.SUFFIXES: .out .o .po .So .S .s .c .cc .cpp .cxx .m .C .f .y .l .ln 51232812Sjmallett 52210284Sjmallett.c.ln: 53210284Sjmallett ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \ 54210284Sjmallett touch ${.TARGET} 55210284Sjmallett 56210284Sjmallett.cc.ln .C.ln .cpp.ln .cxx.ln: 57232812Sjmallett ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \ 58232812Sjmallett touch ${.TARGET} 59210284Sjmallett 60210284Sjmallett.c.o: 61210284Sjmallett ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 62232812Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 63232812Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 64232812Sjmallett 65232812Sjmallett.c.po: 66232812Sjmallett ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 67232812Sjmallett @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 68232812Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 69232812Sjmallett 70232812Sjmallett.c.So: 71232812Sjmallett ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 72210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 73210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 74210284Sjmallett 75210284Sjmallett.cc.o .C.o .cpp.o .cxx.o: 76210284Sjmallett ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 77210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 78210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 79210284Sjmallett 80210284Sjmallett.cc.po .C.po .cpp.po .cxx.po: 81210284Sjmallett ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 82210284Sjmallett @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 83210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 84210284Sjmallett 85210284Sjmallett.cc.So .C.So .cpp.So .cxx.So: 86210284Sjmallett ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 87210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 88210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 89210284Sjmallett 90210284Sjmallett.f.o: 91210284Sjmallett ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 92210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 93210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 94210284Sjmallett 95210284Sjmallett.f.po: 96210284Sjmallett ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 97210284Sjmallett @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 98210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 99210284Sjmallett 100210284Sjmallett.f.So: 101210284Sjmallett ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 102210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 103210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 104210284Sjmallett 105210284Sjmallett.m.o: 106210284Sjmallett ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 107210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 108210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 109210284Sjmallett 110210284Sjmallett.m.po: 111210284Sjmallett ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET} 112210284Sjmallett @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 113210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 114210284Sjmallett 115210284Sjmallett.m.So: 116210284Sjmallett ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET} 117210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 118210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 119210284Sjmallett 120210284Sjmallett.s.o: 121210284Sjmallett ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \ 122210284Sjmallett ${.IMPSRC} -o ${.TARGET} 123210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 124210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 125210284Sjmallett 126210284Sjmallett.s.po: 127210284Sjmallett ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \ 128210284Sjmallett ${.IMPSRC} -o ${.TARGET} 129210284Sjmallett @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 130210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 131210284Sjmallett 132210284Sjmallett.s.So: 133210284Sjmallett ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c \ 134210284Sjmallett ${.IMPSRC} -o ${.TARGET} 135210284Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 136210284Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 137210284Sjmallett 138210284Sjmallett.S.o: 139210284Sjmallett ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 140232812Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 141232812Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 142232812Sjmallett 143232812Sjmallett.S.po: 144232812Sjmallett ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 145232812Sjmallett @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET} 146232812Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 147232812Sjmallett 148232812Sjmallett.S.So: 149232812Sjmallett ${CC} ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET} 150232812Sjmallett @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET} 151232812Sjmallett @mv ${.TARGET}.tmp ${.TARGET} 152232812Sjmallett 153232812Sjmallett.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB) 154232812Sjmallett.if !defined(NOPROFILE) && !defined(INTERNALLIB) 155232812Sjmallett_LIBS=lib${LIB}.a lib${LIB}_p.a 156232812Sjmallett.else 157232812Sjmallett_LIBS=lib${LIB}.a 158232812Sjmallett.endif 159232812Sjmallett.endif 160232812Sjmallett 161232812SjmallettLINTOBJS+= ${SRCS:M*.c:C/\..+$/.ln/} 162232812Sjmallett 163232812Sjmallett.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS) 164232812SjmallettLINTLIB=llib-l${LIB}.ln 165232812Sjmallett_LIBS+=${LINTLIB} 166232812Sjmallett.endif 167232812Sjmallett 168232812Sjmallett.if defined(SHLIB_NAME) 169232812Sjmallett_LIBS+=${SHLIB_NAME} 170232812Sjmallett.endif 171232812Sjmallett.if defined(INSTALL_PIC_ARCHIVE) 172232812Sjmallett_LIBS+=lib${LIB}_pic.a 173232812Sjmallett.endif 174232812Sjmallett 175232812Sjmallett.if !defined(PICFLAG) 176232812Sjmallett.if ${MACHINE_ARCH} == "sparc64" 177232812SjmallettPICFLAG=-fPIC 178232812Sjmallett.else 179232812SjmallettPICFLAG=-fpic 180232812Sjmallett.endif 181232812Sjmallett.endif 182232812Sjmallett 183232812Sjmallett.if !defined(NOMAN) 184232812Sjmallettall: objwarn ${_LIBS} all-man _SUBDIR 185232812Sjmallett.else 186232812Sjmallettall: objwarn ${_LIBS} _SUBDIR 187232812Sjmallett.endif 188232812Sjmallett 189232812SjmallettOBJS+= ${SRCS:N*.h:R:S/$/.o/g} 190232812Sjmallett 191232812Sjmallettlib${LIB}.a:: ${OBJS} ${STATICOBJS} 192232812Sjmallett @${ECHO} building static ${LIB} library 193232812Sjmallett @rm -f lib${LIB}.a 194210284Sjmallett @${AR} cq lib${LIB}.a `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 195210284Sjmallett ${RANLIB} lib${LIB}.a 196232812Sjmallett 197232812SjmallettPOBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po} 198232812Sjmallett.if !defined(NOPROFILE) 199232812Sjmallettlib${LIB}_p.a:: ${POBJS} 200232812Sjmallett @${ECHO} building profiled ${LIB} library 201232812Sjmallett @rm -f lib${LIB}_p.a 202232812Sjmallett @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD} 203232812Sjmallett ${RANLIB} lib${LIB}_p.a 204232812Sjmallett.endif 205232812Sjmallett 206232812SjmallettSOBJS+= ${OBJS:.o=.So} 207232812Sjmallett 208232812Sjmallett.if defined(SHLIB_NAME) 209232812Sjmallett${SHLIB_NAME}: ${SOBJS} 210232812Sjmallett @${ECHO} building shared library ${SHLIB_NAME} 211232812Sjmallett @rm -f ${SHLIB_NAME} ${SHLIB_LINK} 212232812Sjmallett.if defined(SHLIB_LINK) 213232812Sjmallett @ln -sf ${SHLIB_NAME} ${SHLIB_LINK} 214232812Sjmallett.endif 215232812Sjmallett.if ${OBJFORMAT} == aout 216210284Sjmallett @${CC} -shared -Wl,-x,-assert,pure-text \ 217210284Sjmallett -o ${SHLIB_NAME} \ 218210284Sjmallett `lorder ${SOBJS} | tsort -q` ${LDADD} 219232812Sjmallett.else 220210284Sjmallett @${CC} -shared -Wl,-x \ 221210284Sjmallett -o ${SHLIB_NAME} -Wl,-soname,${SONAME} \ 222210284Sjmallett `lorder ${SOBJS} | tsort -q` ${LDADD} 223232812Sjmallett.endif 224232812Sjmallett.endif 225232812Sjmallett 226232812Sjmallett.if defined(INSTALL_PIC_ARCHIVE) 227232812Sjmallettlib${LIB}_pic.a:: ${SOBJS} 228232812Sjmallett @${ECHO} building special pic ${LIB} library 229232812Sjmallett @rm -f lib${LIB}_pic.a 230232812Sjmallett @${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD} 231232812Sjmallett ${RANLIB} lib${LIB}_pic.a 232232812Sjmallett.endif 233210284Sjmallett 234210284Sjmallett.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS) 235210284Sjmallett${LINTLIB}: ${LINTOBJS} 236210284Sjmallett @${ECHO} building lint library ${LINTLIB} 237210284Sjmallett @rm -f ${LINTLIB} 238210284Sjmallett ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} 239210284Sjmallett.endif 240210284Sjmallett 241210284Sjmallett.if !target(clean) 242210284Sjmallettclean: _SUBDIR 243210284Sjmallett rm -f a.out ${OBJS} ${STATICOBJS} ${OBJS:S/$/.tmp/} ${CLEANFILES} 244210284Sjmallett rm -f lib${LIB}.a 245210284Sjmallett rm -f ${POBJS} ${POBJS:S/$/.tmp/} lib${LIB}_p.a 246210284Sjmallett rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} \ 247210284Sjmallett ${SHLIB_NAME} ${SHLIB_LINK} \ 248210284Sjmallett lib${LIB}.so.* lib${LIB}.so lib${LIB}_pic.a 249210284Sjmallett rm -f ${LINTOBJS} ${LINTLIB} 250210284Sjmallett.if defined(CLEANDIRS) && !empty(CLEANDIRS) 251210284Sjmallett rm -rf ${CLEANDIRS} 252210284Sjmallett.endif 253210284Sjmallett.endif 254210284Sjmallett 255210284Sjmallett_EXTRADEPEND: 256210284Sjmallett @TMP=_depend$$$$; \ 257210284Sjmallett sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \ 258210284Sjmallett > $$TMP; \ 259210284Sjmallett mv $$TMP ${DEPENDFILE} 260210284Sjmallett.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME) 261210284Sjmallett.if ${OBJFORMAT} == aout 262210284Sjmallett echo ${SHLIB_NAME}: \ 263210284Sjmallett `${CC} -shared -Wl,-f ${LDADD}` \ 264210284Sjmallett >> ${DEPENDFILE} 265210284Sjmallett.else 266210284Sjmallett.if defined(DPADD) && !empty(DPADD) 267210284Sjmallett echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE} 268210284Sjmallett.endif 269210284Sjmallett.endif 270210284Sjmallett.endif 271210284Sjmallett 272210284Sjmallett.if !target(install) 273210284Sjmallett.if !target(beforeinstall) 274210284Sjmallettbeforeinstall: _includeinstall 275210284Sjmallett.endif 276210284Sjmallett 277210284Sjmallett_includeinstall: 278210284Sjmallett.if defined(INCS) 279210284Sjmallett.for header in ${INCS} 280210284Sjmallett cd ${.CURDIR} && \ 281210284Sjmallett ${INSTALL} -C -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} \ 282210284Sjmallett ${header} ${DESTDIR}${INCDIR} 283210284Sjmallett 284210284Sjmallett.endfor 285210284Sjmallett.endif 286210284Sjmallett 287210284Sjmallett.if defined(PRECIOUSLIB) && !defined(NOFSCHG) 288210284SjmallettSHLINSTALLFLAGS+= -fschg 289210284Sjmallett.endif 290210284Sjmallett 291210284Sjmallett_INSTALLFLAGS:= ${INSTALLFLAGS} 292210284Sjmallett.for ie in ${INSTALLFLAGS_EDIT} 293210284Sjmallett_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} 294210284Sjmallett.endfor 295210284Sjmallett_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS} 296210284Sjmallett.for ie in ${INSTALLFLAGS_EDIT} 297210284Sjmallett_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}} 298210284Sjmallett.endfor 299210284Sjmallett 300210284Sjmallettrealinstall: beforeinstall 301210284Sjmallett.if !defined(INTERNALLIB) 302210284Sjmallett ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 303210284Sjmallett ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR} 304210284Sjmallett.if !defined(NOPROFILE) 305210284Sjmallett ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 306210284Sjmallett ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR} 307210284Sjmallett.endif 308210284Sjmallett.endif 309210284Sjmallett.if defined(SHLIB_NAME) 310210284Sjmallett ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 311210284Sjmallett ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ 312210284Sjmallett ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} 313210284Sjmallett.if defined(SHLIB_LINK) 314210284Sjmallett ln -sf ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK} 315210284Sjmallett.endif 316210284Sjmallett.endif 317210284Sjmallett.if defined(INSTALL_PIC_ARCHIVE) 318210284Sjmallett ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 319210284Sjmallett ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR} 320210284Sjmallett.endif 321210284Sjmallett.if defined(LINKS) && !empty(LINKS) 322210284Sjmallett @set ${LINKS}; \ 323210284Sjmallett while test $$# -ge 2; do \ 324210284Sjmallett l=${DESTDIR}$$1; \ 325232812Sjmallett shift; \ 326232812Sjmallett t=${DESTDIR}$$1; \ 327232812Sjmallett shift; \ 328232812Sjmallett ${ECHO} $$t -\> $$l; \ 329232812Sjmallett ln -f $$l $$t; \ 330232812Sjmallett done; true 331232812Sjmallett.endif 332232812Sjmallett.if defined(SYMLINKS) && !empty(SYMLINKS) 333232812Sjmallett @set ${SYMLINKS}; \ 334232812Sjmallett while test $$# -ge 2; do \ 335232812Sjmallett l=$$1; \ 336232812Sjmallett shift; \ 337232812Sjmallett t=${DESTDIR}$$1; \ 338232812Sjmallett shift; \ 339232812Sjmallett ${ECHO} $$t -\> $$l; \ 340232812Sjmallett ln -fs $$l $$t; \ 341232812Sjmallett done; true 342232812Sjmallett.endif 343232812Sjmallett.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS) 344232812Sjmallett ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 345232812Sjmallett ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR} 346232812Sjmallett.endif 347232812Sjmallett 348232812Sjmallettinstall: afterinstall _SUBDIR 349232812Sjmallett.if !defined(NOMAN) 350232812Sjmallettafterinstall: realinstall maninstall 351232812Sjmallett.else 352232812Sjmallettafterinstall: realinstall 353232812Sjmallett.endif 354210284Sjmallett.endif 355 356.if !target(regress) 357regress: 358.endif 359 360DISTRIBUTION?= bin 361.if !target(distribute) 362distribute: _SUBDIR 363.for dist in ${DISTRIBUTION} 364 cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies 365.endfor 366.endif 367 368.if !target(lint) 369lint: ${SRCS:M*.c} _SUBDIR 370 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} 371.endif 372 373.if !defined(NOMAN) 374.include <bsd.man.mk> 375.else 376.if !target(all-man) 377all-man: 378.endif 379.if !target(maninstall) 380maninstall: 381.endif 382.endif 383 384.include <bsd.dep.mk> 385 386.if !exists(${.OBJDIR}/${DEPENDFILE}) 387${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h} 388.endif 389 390.include <bsd.obj.mk> 391 392.include <bsd.sys.mk> 393