Annotation of src/share/mk/bsd.lib.mk, Revision 1.152.2.4
1.152.2.4! he 1: # $NetBSD: bsd.lib.mk,v 1.152.2.3 2000/07/06 16:54:37 he Exp $
1.92 mikel 2: # @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
1.1 cgd 3:
1.117 mycroft 4: .if !target(__initialized__)
5: __initialized__:
1.1 cgd 6: .if exists(${.CURDIR}/../Makefile.inc)
7: .include "${.CURDIR}/../Makefile.inc"
8: .endif
1.97 mycroft 9: .include <bsd.own.mk>
1.117 mycroft 10: .include <bsd.obj.mk>
11: .MAIN: all
12: .endif
1.97 mycroft 13:
1.143 erh 14: .PHONY: checkver cleanlib libinstall
15: realinstall: checkver libinstall
1.137 lukem 16: clean cleandir distclean: cleanlib
1.1 cgd 17:
1.35 pk 18: .if exists(${.CURDIR}/shlib_version)
1.37 cgd 19: SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major
20: SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor
1.152.2.2 he 21: SHLIB_TEENY != . ${.CURDIR}/shlib_version ; echo $$teeny
1.143 erh 22:
23: # Check for higher installed library versions.
1.145 erh 24: .if !defined(NOCHECKVER) && !defined(NOCHECKVER_${LIB}) && \
25: exists(${BSDSRCDIR}/lib/checkver)
1.143 erh 26: checkver:
1.144 erh 27: @(cd ${.CURDIR} && \
28: ${BSDSRCDIR}/lib/checkver -d ${DESTDIR}${LIBDIR} ${LIB})
1.152.2.4! he 29: .endif
! 30: .endif
! 31:
! 32: .if !target(checkver)
1.143 erh 33: checkver:
34: .endif
1.152.2.4! he 35:
! 36: .if defined(SHLIB_MAJOR) && !empty(SHLIB_MAJOR)
! 37: .if defined(SHLIB_MINOR) && !empty(SHLIB_MINOR)
! 38: .if defined(SHLIB_TEENY) && !empty(SHLIB_TEENY)
! 39: SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.${SHLIB_TEENY}
1.143 erh 40: .else
1.152.2.4! he 41: SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}
! 42: .endif
! 43: .else
! 44: SHLIB_FULLVERSION=${SHLIB_MAJOR}
! 45: .endif
1.35 pk 46: .endif
1.1 cgd 47:
1.101 mycroft 48: # add additional suffixes not exported.
49: # .po is used for profiling object files.
50: # .so is used for PIC object files.
1.118 lukem 51: .SUFFIXES: .out .a .ln .so .po .o .s .S .c .cc .C .m .F .f .r .y .l .cl .p .h
52: .SUFFIXES: .sh .m4 .m
1.82 mikel 53:
1.86 jonathan 54:
55: # Set PICFLAGS to cc flags for producing position-independent code,
56: # if not already set. Includes -DPIC, if required.
57:
58: # Data-driven table using make variables to control how shared libraries
59: # are built for different platforms and object formats.
1.125 jonathan 60: # OBJECT_FMT: currently either "ELF" or "a.out", from <bsd.own.mk>
1.86 jonathan 61: # SHLIB_SOVERSION: version number to be compiled into a shared library
62: # via -soname. Usualy ${SHLIB_MAJOR} on ELF.
1.152.2.2 he 63: # NetBSD/pmax used to use ${SHLIB_MAJOR}.${SHLIB-MINOR}.
1.123 jonathan 64: # SHLIB_SHFLAGS: Flags to tell ${LD} to emit shared library.
65: # with ELF, also set shared-lib version for ld.so.
66: # SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors
67: # SHLIB_LDENDFILE: support .o file, call C++ file-level destructors
1.107 jonathan 68: # CPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS}
69: # CPICFLAGS: flags for ${CC} to compile .[cC] files to .so objects.
70: # CAPICFLAGS flags for {$CC} to compiling .[Ss] files
71: # (usually just ${CPPPICFLAGS} ${CPICFLAGS})
72: # APICFLAGS: flags for ${AS} to assemble .[sS] to .so objects.
1.86 jonathan 73:
1.148 lukem 74: .if ${MACHINE_ARCH} == "alpha"
1.123 jonathan 75: # Alpha-specific shared library flags
1.86 jonathan 76: CPICFLAGS ?= -fpic -DPIC
1.107 jonathan 77: CPPPICFLAGS?= -DPIC
78: CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
79: APICFLAGS ?=
1.151 drochner 80: .elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb"
1.123 jonathan 81: # mips-specific shared library flags
1.86 jonathan 82:
83: # On mips, all libs need to be compiled with ABIcalls, not just sharedlibs.
84: CPICFLAGS?=
85: APICFLAGS?=
86: #CPICFLAGS?= -fpic -DPIC
87: #APICFLAGS?= -DPIC
88:
89: # so turn shlib PIC flags on for ${CPP}, ${CC}, and ${AS} as follows:
90: AINC+=-DPIC -DABICALLS
91: COPTS+= -fPIC ${AINC}
92: AFLAGS+= -fPIC
93: AS+= -KPIC
1.150 christos 94:
95: .elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF"
96:
97: CPICFLAGS ?= -fpic -DPIC
98: CPPPICFLAGS?= -DPIC
99: CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
100: APICFLAGS ?= -KPIC
1.86 jonathan 101:
102: .else
103:
1.125 jonathan 104: # Platform-independent flags for NetBSD a.out shared libraries (and PowerPC)
1.88 cgd 105: SHLIB_LDSTARTFILE=
106: SHLIB_LDENDFILE=
1.125 jonathan 107: SHLIB_SHFLAGS=
1.152.2.2 he 108: SHLIB_SOVERSION=${SHLIB_FULLVERSION}
1.116 pk 109: CPICFLAGS?= -fpic -DPIC
1.107 jonathan 110: CPPPICFLAGS?= -DPIC
111: CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
112: APICFLAGS?= -k
1.86 jonathan 113:
114: .endif
115:
1.123 jonathan 116: # Platform-independent linker flags for ELF shared libraries
1.148 lukem 117: .if ${OBJECT_FMT} == "ELF"
1.123 jonathan 118: SHLIB_SOVERSION=${SHLIB_MAJOR}
1.125 jonathan 119: SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION}
1.142 jonathan 120: SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o
121: SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o
1.123 jonathan 122: .endif
1.86 jonathan 123:
1.82 mikel 124: CFLAGS+= ${COPTS}
1.1 cgd 125:
126: .c.o:
1.80 christos 127: @echo ${COMPILE.c:Q} ${.IMPSRC}
1.122 cgd 128: @${COMPILE.c} ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 129: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
130: @rm -f ${.TARGET}.o
1.1 cgd 131:
132: .c.po:
1.80 christos 133: @echo ${COMPILE.c:Q} -pg ${.IMPSRC} -o ${.TARGET}
1.68 cgd 134: @${COMPILE.c} -pg ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 135: @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
136: @rm -f ${.TARGET}.o
1.17 mycroft 137:
1.27 pk 138: .c.so:
1.86 jonathan 139: @echo ${COMPILE.c:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
140: @${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 141: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
142: @rm -f ${.TARGET}.o
1.27 pk 143:
1.58 cgd 144: .c.ln:
1.121 thorpej 145: ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
1.58 cgd 146:
1.18 mycroft 147: .cc.o .C.o:
1.80 christos 148: @echo ${COMPILE.cc:Q} ${.IMPSRC}
1.62 christos 149: @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o
1.63 jtc 150: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
1.62 christos 151: @rm -f ${.TARGET}.o
1.17 mycroft 152:
1.18 mycroft 153: .cc.po .C.po:
1.80 christos 154: @echo ${COMPILE.cc:Q} -pg ${.IMPSRC} -o ${.TARGET}
1.68 cgd 155: @${COMPILE.cc} -pg ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 156: @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
157: @rm -f ${.TARGET}.o
1.28 cgd 158:
159: .cc.so .C.so:
1.86 jonathan 160: @echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
161: @${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 162: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
163: @rm -f ${.TARGET}.o
1.118 lukem 164:
165: .m.o:
166: @echo ${COMPILE.m:Q} ${.IMPSRC}
1.122 cgd 167: @${COMPILE.m} ${.IMPSRC} -o ${.TARGET}.o
1.118 lukem 168: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
169: @rm -f ${.TARGET}.o
170:
171: .m.po:
172: @echo ${COMPILE.m:Q} -pg ${.IMPSRC} -o ${.TARGET}
173: @${COMPILE.m} -pg ${.IMPSRC} -o ${.TARGET}.o
174: @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
175: @rm -f ${.TARGET}.o
176:
177: .m.so:
178: @echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
179: @${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
180: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
181: @rm -f ${.TARGET}.o
1.1 cgd 182:
1.40 cgd 183: .S.o .s.o:
1.80 christos 184: @echo ${COMPILE.S:Q} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC}
1.69 jtc 185: @${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 186: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
187: @rm -f ${.TARGET}.o
1.1 cgd 188:
1.40 cgd 189: .S.po .s.po:
1.80 christos 190: @echo ${COMPILE.S:Q} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}
1.75 jtc 191: @${COMPILE.S} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 192: @${LD} -X -r ${.TARGET}.o -o ${.TARGET}
193: @rm -f ${.TARGET}.o
1.1 cgd 194:
1.40 cgd 195: .S.so .s.so:
1.107 jonathan 196: @echo ${COMPILE.S:Q} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}
197: @${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
1.62 christos 198: @${LD} -x -r ${.TARGET}.o -o ${.TARGET}
199: @rm -f ${.TARGET}.o
1.27 pk 200:
1.148 lukem 201: .if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
202: || ${MKLINKLIB} != "no"
1.130 tv 203: _LIBS=lib${LIB}.a
204: .else
205: _LIBS=
206: .endif
1.58 cgd 207:
1.149 lukem 208: .if ${MKPROFILE} != "no"
1.130 tv 209: _LIBS+=lib${LIB}_p.a
1.1 cgd 210: .endif
211:
1.148 lukem 212: .if ${MKPIC} != "no"
1.27 pk 213: _LIBS+=lib${LIB}_pic.a
1.37 cgd 214: .if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
1.152.2.2 he 215: _LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION}
1.27 pk 216: .endif
1.35 pk 217: .endif
1.27 pk 218:
1.148 lukem 219: .if ${MKLINT} != "no" && ${MKLINKLIB} != "no"
1.58 cgd 220: _LIBS+=llib-l${LIB}.ln
1.27 pk 221: .endif
222:
1.102 mycroft 223: all: ${SRCS} ${_LIBS}
1.1 cgd 224:
1.90 christos 225: __archivebuild: .USE
1.89 christos 226: @rm -f ${.TARGET}
1.138 tv 227: @${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
1.89 christos 228: ${RANLIB} ${.TARGET}
229:
230: __archiveinstall: .USE
1.147 christos 231: ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
232: -m 600 ${.ALLSRC} ${.TARGET}
1.89 christos 233: ${RANLIB} -t ${.TARGET}
234: chmod ${LIBMODE} ${.TARGET}
235:
1.104 mycroft 236: DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
1.128 tv 237: CLEANFILES+= ${DPSRCS}
1.129 tv 238: .if defined(YHEADER)
239: CLEANFILES+= ${SRCS:M*.y:.y=.h}
240: .endif
1.103 mycroft 241:
242: OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g}
1.89 christos 243: lib${LIB}.a:: ${OBJS} __archivebuild
1.1 cgd 244: @echo building standard ${LIB} library
245:
1.103 mycroft 246: POBJS+= ${OBJS:.o=.po}
1.89 christos 247: lib${LIB}_p.a:: ${POBJS} __archivebuild
1.1 cgd 248: @echo building profiled ${LIB} library
249:
1.103 mycroft 250: SOBJS+= ${OBJS:.o=.so}
1.89 christos 251: lib${LIB}_pic.a:: ${SOBJS} __archivebuild
1.27 pk 252: @echo building shared object ${LIB} library
253:
1.152.2.2 he 254: lib${LIB}.so.${SHLIB_FULLVERSION}: lib${LIB}_pic.a ${DPADD} \
1.88 cgd 255: ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}
1.152.2.3 he 256: @echo building shared ${LIB} library \(version ${SHLIB_FULLVERSION}\)
1.152.2.2 he 257: @rm -f lib${LIB}.so.${SHLIB_FULLVERSION}
1.152 fair 258: .if defined(DESTDIR)
259: $(LD) -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \
260: ${SHLIB_LDSTARTFILE} \
261: --whole-archive lib${LIB}_pic.a \
262: -nostdlib -L${DESTDIR}${LIBDIR} -R${LIBDIR} \
263: --no-whole-archive ${LDADD} \
264: ${SHLIB_LDENDFILE}
265: .else
1.126 jonathan 266: $(LD) -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \
1.123 jonathan 267: ${SHLIB_LDSTARTFILE} \
1.126 jonathan 268: --whole-archive lib${LIB}_pic.a --no-whole-archive ${LDADD} \
1.115 cjs 269: ${SHLIB_LDENDFILE}
1.152 fair 270: .endif
1.148 lukem 271: .if ${OBJECT_FMT} == "ELF"
1.135 tv 272: rm -f lib${LIB}.so.${SHLIB_MAJOR}
1.152.2.2 he 273: ln -s lib${LIB}.so.${SHLIB_FULLVERSION} \
1.135 tv 274: lib${LIB}.so.${SHLIB_MAJOR}
275: rm -f lib${LIB}.so
1.152.2.2 he 276: ln -s lib${LIB}.so.${SHLIB_FULLVERSION} \
1.135 tv 277: lib${LIB}.so
1.133 tv 278: .endif
1.35 pk 279:
1.103 mycroft 280: LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
281: LLIBS?= -lc
1.58 cgd 282: llib-l${LIB}.ln: ${LOBJS}
283: @echo building llib-l${LIB}.ln
284: @rm -f llib-l${LIB}.ln
1.141 wrstuden 285: @${LINT} -C${LIB} ${.ALLSRC} ${LLIBS}
1.1 cgd 286:
1.81 cgd 287: cleanlib:
1.48 mycroft 288: rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}
1.59 cgd 289: rm -f lib${LIB}.a ${OBJS}
290: rm -f lib${LIB}_p.a ${POBJS}
1.133 tv 291: rm -f lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${SOBJS}
1.59 cgd 292: rm -f llib-l${LIB}.ln ${LOBJS}
1.1 cgd 293:
1.26 mycroft 294: .if defined(SRCS)
1.64 christos 295: afterdepend: .depend
1.1 cgd 296: @(TMP=/tmp/_depend$$$$; \
1.79 cgd 297: sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.ln:/' \
1.58 cgd 298: < .depend > $$TMP; \
1.1 cgd 299: mv $$TMP .depend)
1.26 mycroft 300: .endif
1.1 cgd 301:
1.97 mycroft 302: .if !target(libinstall)
1.148 lukem 303: # Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no
1.139 tv 304: libinstall::
305:
1.148 lukem 306: .if ${MKLINKLIB} != "no"
1.89 christos 307: libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a
308: .if !defined(UPDATE)
309: .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a
310: .endif
1.152.2.1 he 311: .if !defined(BUILD) && !make(all) && !make(lib${LIB}.a)
1.89 christos 312: ${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE
313: .endif
314:
1.95 mycroft 315: .PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a
1.89 christos 316: ${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall
1.130 tv 317: .endif
1.89 christos 318:
1.149 lukem 319: .if ${MKPROFILE} != "no"
1.89 christos 320: libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
321: .if !defined(UPDATE)
322: .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
1.32 pk 323: .endif
1.152.2.1 he 324: .if !defined(BUILD) && !make(all) && !make(lib${LIB}_p.a)
1.89 christos 325: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE
326: .endif
327:
1.95 mycroft 328: .PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
1.89 christos 329: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall
330: .endif
331:
1.149 lukem 332: .if ${MKPIC} != "no" && ${MKPICINSTALL} != "no"
1.89 christos 333: libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
334: .if !defined(UPDATE)
335: .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
336: .endif
1.152.2.1 he 337: .if !defined(BUILD) && !make(all) && !make(lib${LIB}_pic.a)
1.89 christos 338: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE
1.33 pk 339: .endif
1.89 christos 340:
1.95 mycroft 341: .PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
1.89 christos 342: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall
343: .endif
344:
1.148 lukem 345: .if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
1.152.2.2 he 346: libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}
1.89 christos 347: .if !defined(UPDATE)
1.152.2.2 he 348: .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}
1.89 christos 349: .endif
1.152.2.2 he 350: .if !defined(BUILD) && !make(all) && !make(lib${LIB}.so.${SHLIB_FULLVERSION})
351: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}: .MADE
1.89 christos 352: .endif
1.92 mikel 353:
1.152.2.2 he 354: .PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}
355: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}: lib${LIB}.so.${SHLIB_FULLVERSION}
1.147 christos 356: ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
357: -m ${LIBMODE} ${.ALLSRC} ${.TARGET}
1.148 lukem 358: .if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR)
1.146 thorpej 359: /sbin/ldconfig -m ${LIBDIR}
360: .endif
1.148 lukem 361: .if ${OBJECT_FMT} == "ELF"
1.83 cgd 362: rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
1.152.2.2 he 363: ln -s lib${LIB}.so.${SHLIB_FULLVERSION} \
1.83 cgd 364: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
365: rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so
1.148 lukem 366: .if ${MKLINKLIB} != "no"
1.152.2.2 he 367: ln -s lib${LIB}.so.${SHLIB_FULLVERSION} \
1.83 cgd 368: ${DESTDIR}${LIBDIR}/lib${LIB}.so
369: .endif
1.12 cgd 370: .endif
1.139 tv 371: .endif
1.89 christos 372:
1.148 lukem 373: .if ${MKLINT} != "no" && ${MKLINKLIB} != "no"
1.89 christos 374: libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
375: .if !defined(UPDATE)
376: .PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
377: .endif
1.152.2.1 he 378: .if !defined(BUILD) && !make(all) && !make(llib-l${LIB}.ln)
1.89 christos 379: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE
380: .endif
381:
1.95 mycroft 382: .PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
383: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln
1.147 christos 384: ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
385: -m ${LIBMODE} ${.ALLSRC} ${DESTDIR}${LINTLIBDIR}
1.58 cgd 386: .endif
1.1 cgd 387: .endif
388:
389: .include <bsd.man.mk>
1.57 jtc 390: .include <bsd.nls.mk>
1.91 christos 391: .include <bsd.files.mk>
1.89 christos 392: .include <bsd.inc.mk>
1.109 cjs 393: .include <bsd.links.mk>
1.24 mycroft 394: .include <bsd.dep.mk>
1.66 christos 395: .include <bsd.sys.mk>
1.117 mycroft 396:
397: # Make sure all of the standard targets are defined, even if they do nothing.
398: lint regress:
CVSweb <webmaster@jp.NetBSD.org>