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