Deleted Added
full compact
bsd.lib.mk (96462) bsd.lib.mk (96512)
1# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
1# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
2# $FreeBSD: head/share/mk/bsd.lib.mk 96462 2002-05-12 16:01:00Z ru $
2# $FreeBSD: head/share/mk/bsd.lib.mk 96512 2002-05-13 10:53:24Z ru $
3#
4
5.include <bsd.init.mk>
6
3#
4
5.include <bsd.init.mk>
6
7.if exists(${.CURDIR}/shlib_version)
8SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major
9.if ${OBJFORMAT} == aout
10SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor
11.endif
12.endif
13
14# Set up the variables controlling shared libraries. After this section,
15# SHLIB_NAME will be defined only if we are to create a shared library.
16# SHLIB_LINK will be defined only if we are to create a link to it.
17# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive.
18.if defined(NOPIC)
19.undef SHLIB_NAME
20.undef INSTALL_PIC_ARCHIVE
21.else
22.if ${OBJFORMAT} == elf
23.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR)
24SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR}
25SHLIB_LINK?= lib${LIB}.so
26.endif
27SONAME?= ${SHLIB_NAME}
28.else
29.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
30SHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
31.endif
32.endif
33.endif
34
35.if defined(DEBUG_FLAGS)
36CFLAGS+= ${DEBUG_FLAGS}
37.endif
38
39.if !defined(DEBUG_FLAGS)
40STRIP?= -s
41.endif
42
43.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES)
44.include <bsd.libnames.mk>
45.endif
46
47# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
48# .So used for PIC object files
49.SUFFIXES:
50.SUFFIXES: .out .o .po .So .S .s .asm .c .cc .cpp .cxx .m .C .f .y .l .ln
51
7# Set up the variables controlling shared libraries. After this section,
8# SHLIB_NAME will be defined only if we are to create a shared library.
9# SHLIB_LINK will be defined only if we are to create a link to it.
10# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive.
11.if defined(NOPIC)
12.undef SHLIB_NAME
13.undef INSTALL_PIC_ARCHIVE
14.else
15.if ${OBJFORMAT} == elf
16.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR)
17SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR}
18SHLIB_LINK?= lib${LIB}.so
19.endif
20SONAME?= ${SHLIB_NAME}
21.else
22.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
23SHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
24.endif
25.endif
26.endif
27
28.if defined(DEBUG_FLAGS)
29CFLAGS+= ${DEBUG_FLAGS}
30.endif
31
32.if !defined(DEBUG_FLAGS)
33STRIP?= -s
34.endif
35
36.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES)
37.include <bsd.libnames.mk>
38.endif
39
40# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
41# .So used for PIC object files
42.SUFFIXES:
43.SUFFIXES: .out .o .po .So .S .s .asm .c .cc .cpp .cxx .m .C .f .y .l .ln
44
45.if !defined(PICFLAG)
46.if ${MACHINE_ARCH} == "sparc64"
47PICFLAG=-fPIC
48.else
49PICFLAG=-fpic
50.endif
51.endif
52
52.c.ln:
53 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \
54 touch ${.TARGET}
55
56.cc.ln .C.ln .cpp.ln .cxx.ln:
57 ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \
58 touch ${.TARGET}
59
60.c.o:
61 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
62 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
63 @mv ${.TARGET}.tmp ${.TARGET}
64
65.c.po:
66 ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
67 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
68 @mv ${.TARGET}.tmp ${.TARGET}
69
70.c.So:
71 ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
72 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
73 @mv ${.TARGET}.tmp ${.TARGET}
74
75.cc.o .C.o .cpp.o .cxx.o:
76 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
77 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
78 @mv ${.TARGET}.tmp ${.TARGET}
79
80.cc.po .C.po .cpp.po .cxx.po:
81 ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
82 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
83 @mv ${.TARGET}.tmp ${.TARGET}
84
85.cc.So .C.So .cpp.So .cxx.So:
86 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
87 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
88 @mv ${.TARGET}.tmp ${.TARGET}
89
90.f.o:
91 ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
92 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
93 @mv ${.TARGET}.tmp ${.TARGET}
94
95.f.po:
96 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
97 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
98 @mv ${.TARGET}.tmp ${.TARGET}
99
100.f.So:
101 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
102 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
103 @mv ${.TARGET}.tmp ${.TARGET}
104
105.m.o:
106 ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
107 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
108 @mv ${.TARGET}.tmp ${.TARGET}
109
110.m.po:
111 ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET}
112 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
113 @mv ${.TARGET}.tmp ${.TARGET}
114
115.m.So:
116 ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
117 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
118 @mv ${.TARGET}.tmp ${.TARGET}
119
120.s.o .asm.o:
121 ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \
122 ${.IMPSRC} -o ${.TARGET}
123 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
124 @mv ${.TARGET}.tmp ${.TARGET}
125
126.s.po .asm.po:
127 ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \
128 ${.IMPSRC} -o ${.TARGET}
129 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET}
130 @mv ${.TARGET}.tmp ${.TARGET}
131
132.s.So .asm.So:
133 ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} \
134 ${AINC} -c ${.IMPSRC} -o ${.TARGET}
135 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
136 @mv ${.TARGET}.tmp ${.TARGET}
137
138.S.o:
139 ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
140 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
141 @mv ${.TARGET}.tmp ${.TARGET}
142
143.S.po:
144 ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
145 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET}
146 @mv ${.TARGET}.tmp ${.TARGET}
147
148.S.So:
149 ${CC} ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} \
150 -o ${.TARGET}
151 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
152 @mv ${.TARGET}.tmp ${.TARGET}
153
53.c.ln:
54 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \
55 touch ${.TARGET}
56
57.cc.ln .C.ln .cpp.ln .cxx.ln:
58 ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \
59 touch ${.TARGET}
60
61.c.o:
62 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
63 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
64 @mv ${.TARGET}.tmp ${.TARGET}
65
66.c.po:
67 ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
68 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
69 @mv ${.TARGET}.tmp ${.TARGET}
70
71.c.So:
72 ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
73 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
74 @mv ${.TARGET}.tmp ${.TARGET}
75
76.cc.o .C.o .cpp.o .cxx.o:
77 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
78 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
79 @mv ${.TARGET}.tmp ${.TARGET}
80
81.cc.po .C.po .cpp.po .cxx.po:
82 ${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
83 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
84 @mv ${.TARGET}.tmp ${.TARGET}
85
86.cc.So .C.So .cpp.So .cxx.So:
87 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
88 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
89 @mv ${.TARGET}.tmp ${.TARGET}
90
91.f.o:
92 ${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
93 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
94 @mv ${.TARGET}.tmp ${.TARGET}
95
96.f.po:
97 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
98 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
99 @mv ${.TARGET}.tmp ${.TARGET}
100
101.f.So:
102 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
103 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
104 @mv ${.TARGET}.tmp ${.TARGET}
105
106.m.o:
107 ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
108 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
109 @mv ${.TARGET}.tmp ${.TARGET}
110
111.m.po:
112 ${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET}
113 @${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
114 @mv ${.TARGET}.tmp ${.TARGET}
115
116.m.So:
117 ${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
118 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
119 @mv ${.TARGET}.tmp ${.TARGET}
120
121.s.o .asm.o:
122 ${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \
123 ${.IMPSRC} -o ${.TARGET}
124 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
125 @mv ${.TARGET}.tmp ${.TARGET}
126
127.s.po .asm.po:
128 ${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \
129 ${.IMPSRC} -o ${.TARGET}
130 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET}
131 @mv ${.TARGET}.tmp ${.TARGET}
132
133.s.So .asm.So:
134 ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} \
135 ${AINC} -c ${.IMPSRC} -o ${.TARGET}
136 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
137 @mv ${.TARGET}.tmp ${.TARGET}
138
139.S.o:
140 ${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
141 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET}
142 @mv ${.TARGET}.tmp ${.TARGET}
143
144.S.po:
145 ${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
146 @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET}
147 @mv ${.TARGET}.tmp ${.TARGET}
148
149.S.So:
150 ${CC} ${PICFLAG} -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} \
151 -o ${.TARGET}
152 @${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
153 @mv ${.TARGET}.tmp ${.TARGET}
154
154.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB)
155.if !defined(NOPROFILE) && !defined(INTERNALLIB)
156_LIBS=lib${LIB}.a lib${LIB}_p.a
157.else
158_LIBS=lib${LIB}.a
159.endif
160.endif
155all: objwarn
161
156
162.if defined(SHLIB_NAME)
163_LIBS+=${SHLIB_NAME}
164.endif
165.if defined(INSTALL_PIC_ARCHIVE)
166_LIBS+=lib${LIB}_pic.a
167.endif
157.if defined(LIB) && !empty(LIB)
158_LIBS= lib${LIB}.a
159OBJS+= ${SRCS:N*.h:R:S/$/.o/}
168
160
169.if !defined(PICFLAG)
170.if ${MACHINE_ARCH} == "sparc64"
171PICFLAG=-fPIC
172.else
173PICFLAG=-fpic
174.endif
175.endif
161lib${LIB}.a: ${OBJS} ${STATICOBJS}
162 @${ECHO} building static ${LIB} library
163 @rm -f ${.TARGET}
164 @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
165 ${RANLIB} ${.TARGET}
176
166
177LINTOBJS+= ${SRCS:M*.c:C/\..+$/.ln/}
167CLEANFILES+= a.out ${OBJS} ${OBJS:S/$/.tmp/} ${STATICOBJS}
178
168
179.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS)
180LINTLIB=llib-l${LIB}.ln
181_LIBS+=${LINTLIB}
182.endif
169.if !defined(INTERNALLIB)
183
170
184all: objwarn ${_LIBS}
185
186.if !defined(NOMAN)
187all: _manpages
188.endif
189
190OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
191
192lib${LIB}.a:: ${OBJS} ${STATICOBJS}
193 @${ECHO} building static ${LIB} library
194 @rm -f lib${LIB}.a
195 @${AR} cq lib${LIB}.a `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
196 ${RANLIB} lib${LIB}.a
197
198POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
199.if !defined(NOPROFILE)
171.if !defined(NOPROFILE)
200lib${LIB}_p.a:: ${POBJS}
172_LIBS+= lib${LIB}_p.a
173POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
174
175lib${LIB}_p.a: ${POBJS}
201 @${ECHO} building profiled ${LIB} library
176 @${ECHO} building profiled ${LIB} library
202 @rm -f lib${LIB}_p.a
203 @${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD}
204 ${RANLIB} lib${LIB}_p.a
177 @rm -f ${.TARGET}
178 @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
179 ${RANLIB} ${.TARGET}
180
181CLEANFILES+= ${POBJS} ${POBJS:S/$/.tmp/}
205.endif
206
182.endif
183
207SOBJS+= ${OBJS:.o=.So}
184SOBJS+= ${OBJS:.o=.So}
208
185
186CLEANFILES+= ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/}
187
209.if defined(SHLIB_NAME)
188.if defined(SHLIB_NAME)
189_LIBS+= ${SHLIB_NAME}
190
210${SHLIB_NAME}: ${SOBJS}
211 @${ECHO} building shared library ${SHLIB_NAME}
191${SHLIB_NAME}: ${SOBJS}
192 @${ECHO} building shared library ${SHLIB_NAME}
212 @rm -f ${SHLIB_NAME} ${SHLIB_LINK}
193 @rm -f ${.TARGET} ${SHLIB_LINK}
213.if defined(SHLIB_LINK)
194.if defined(SHLIB_LINK)
214 @ln -sf ${SHLIB_NAME} ${SHLIB_LINK}
195 @ln -fs ${.TARGET} ${SHLIB_LINK}
215.endif
216.if ${OBJFORMAT} == aout
217 @${CC} -shared -Wl,-x,-assert,pure-text \
196.endif
197.if ${OBJFORMAT} == aout
198 @${CC} -shared -Wl,-x,-assert,pure-text \
218 -o ${SHLIB_NAME} \
199 -o ${.TARGET} \
219 `lorder ${SOBJS} | tsort -q` ${LDADD}
220.else
221 @${CC} ${LDFLAGS} -shared -Wl,-x \
200 `lorder ${SOBJS} | tsort -q` ${LDADD}
201.else
202 @${CC} ${LDFLAGS} -shared -Wl,-x \
222 -o ${SHLIB_NAME} -Wl,-soname,${SONAME} \
203 -o ${.TARGET} -Wl,-soname,${SONAME} \
223 `lorder ${SOBJS} | tsort -q` ${LDADD}
224.endif
204 `lorder ${SOBJS} | tsort -q` ${LDADD}
205.endif
206
207CLEANFILES+= ${SHLIB_LINK} lib${LIB}.so.* lib${LIB}.so
225.endif
226
227.if defined(INSTALL_PIC_ARCHIVE)
208.endif
209
210.if defined(INSTALL_PIC_ARCHIVE)
228lib${LIB}_pic.a:: ${SOBJS}
211_LIBS+= lib${LIB}_pic.a
212
213lib${LIB}_pic.a: ${SOBJS}
229 @${ECHO} building special pic ${LIB} library
214 @${ECHO} building special pic ${LIB} library
230 @rm -f lib${LIB}_pic.a
231 @${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD}
232 ${RANLIB} lib${LIB}_pic.a
215 @rm -f ${.TARGET}
216 @${AR} cq ${.TARGET} ${SOBJS} ${ARADD}
217 ${RANLIB} ${.TARGET}
233.endif
234
218.endif
219
235.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS)
220.if defined(WANT_LINT)
221LINTLIB= llib-l${LIB}.ln
222_LIBS+= ${LINTLIB}
223LINTOBJS+= ${SRCS:M*.c:.c=.ln}
224
236${LINTLIB}: ${LINTOBJS}
225${LINTLIB}: ${LINTOBJS}
237 @${ECHO} building lint library ${LINTLIB}
238 @rm -f ${LINTLIB}
226 @${ECHO} building lint library ${.TARGET}
227 @rm -f ${.TARGET}
239 ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
228 ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
229
230CLEANFILES+= ${LINTOBJS}
240.endif
241
231.endif
232
242.if !target(clean)
243clean:
244 rm -f a.out ${OBJS} ${STATICOBJS} ${OBJS:S/$/.tmp/} ${CLEANFILES}
245 rm -f lib${LIB}.a
246 rm -f ${POBJS} ${POBJS:S/$/.tmp/} lib${LIB}_p.a
247 rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} \
248 ${SHLIB_NAME} ${SHLIB_LINK} \
249 lib${LIB}.so.* lib${LIB}.so lib${LIB}_pic.a
250 rm -f ${LINTOBJS} ${LINTLIB}
251.if defined(CLEANDIRS) && !empty(CLEANDIRS)
252 rm -rf ${CLEANDIRS}
233.endif !defined(INTERNALLIB)
234
235all: ${_LIBS}
236
237CLEANFILES+= ${_LIBS}
238.endif defined(LIB) && !empty(LIB)
239
240.if !defined(NOMAN)
241all: _manpages
253.endif
242.endif
254.endif
255
256_EXTRADEPEND:
257 @TMP=_depend$$$$; \
258 sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \
259 > $$TMP; \
260 mv $$TMP ${DEPENDFILE}
261.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME)
262.if ${OBJFORMAT} == aout
263 echo ${SHLIB_NAME}: \
264 `${CC} -shared -Wl,-f ${LDADD}` \
265 >> ${DEPENDFILE}
266.else
267.if defined(DPADD) && !empty(DPADD)
268 echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE}
269.endif
270.endif
271.endif
272
273.if !target(install)
274
275.if defined(PRECIOUSLIB) && !defined(NOFSCHG)
276SHLINSTALLFLAGS+= -fschg
277.endif
278
279_INSTALLFLAGS:= ${INSTALLFLAGS}
280.for ie in ${INSTALLFLAGS_EDIT}
281_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
282.endfor
283_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS}
284.for ie in ${INSTALLFLAGS_EDIT}
285_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}}
286.endfor
287
243
244_EXTRADEPEND:
245 @TMP=_depend$$$$; \
246 sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \
247 > $$TMP; \
248 mv $$TMP ${DEPENDFILE}
249.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME)
250.if ${OBJFORMAT} == aout
251 echo ${SHLIB_NAME}: \
252 `${CC} -shared -Wl,-f ${LDADD}` \
253 >> ${DEPENDFILE}
254.else
255.if defined(DPADD) && !empty(DPADD)
256 echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE}
257.endif
258.endif
259.endif
260
261.if !target(install)
262
263.if defined(PRECIOUSLIB) && !defined(NOFSCHG)
264SHLINSTALLFLAGS+= -fschg
265.endif
266
267_INSTALLFLAGS:= ${INSTALLFLAGS}
268.for ie in ${INSTALLFLAGS_EDIT}
269_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
270.endfor
271_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS}
272.for ie in ${INSTALLFLAGS_EDIT}
273_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}}
274.endfor
275
276.if defined(LIB) && !empty(LIB) && !defined(INTERNALLIB)
288realinstall: _libinstall
289_libinstall:
277realinstall: _libinstall
278_libinstall:
290.if !defined(INTERNALLIB)
279.if !defined(NOINSTALLLIB)
291 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
292 ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
280 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
281 ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
282.endif
293.if !defined(NOPROFILE)
294 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
295 ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
296.endif
283.if !defined(NOPROFILE)
284 ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
285 ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
286.endif
297.endif
298.if defined(SHLIB_NAME)
299 ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
300 ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
301 ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
302.if defined(SHLIB_LINK)
287.if defined(SHLIB_NAME)
288 ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
289 ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
290 ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
291.if defined(SHLIB_LINK)
303 ln -sf ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
292 ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
304.endif
305.endif
306.if defined(INSTALL_PIC_ARCHIVE)
307 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
308 ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
309.endif
293.endif
294.endif
295.if defined(INSTALL_PIC_ARCHIVE)
296 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
297 ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
298.endif
310.if defined(WANT_LINT) && defined(LIB) && defined(LINTOBJS) && !empty(LINTOBJS)
299.if defined(WANT_LINT)
311 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
312 ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}
313.endif
300 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
301 ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}
302.endif
303.endif defined(LIB) && !empty(LIB) && !defined(INTERNALLIB)
314
315realinstall:
316.if defined(LINKS) && !empty(LINKS)
317 @set ${LINKS}; \
318 while test $$# -ge 2; do \
319 l=${DESTDIR}$$1; \
320 shift; \
321 t=${DESTDIR}$$1; \
322 shift; \
323 ${ECHO} $$t -\> $$l; \
324 ln -f $$l $$t; \
325 done; true
326.endif
327.if defined(SYMLINKS) && !empty(SYMLINKS)
328 @set ${SYMLINKS}; \
329 while test $$# -ge 2; do \
330 l=$$1; \
331 shift; \
332 t=${DESTDIR}$$1; \
333 shift; \
334 ${ECHO} $$t -\> $$l; \
335 ln -fs $$l $$t; \
336 done; true
337.endif
338
339realinstall: _incsinstall
340
341.if !defined(NOMAN)
342realinstall: _maninstall
343.endif
344
345.endif
346
347.if !target(lint)
348lint: ${SRCS:M*.c}
349 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
350.endif
351
352.include <bsd.incs.mk>
353
354.if !defined(NOMAN)
355.include <bsd.man.mk>
356.endif
357
358.include <bsd.dep.mk>
359
304
305realinstall:
306.if defined(LINKS) && !empty(LINKS)
307 @set ${LINKS}; \
308 while test $$# -ge 2; do \
309 l=${DESTDIR}$$1; \
310 shift; \
311 t=${DESTDIR}$$1; \
312 shift; \
313 ${ECHO} $$t -\> $$l; \
314 ln -f $$l $$t; \
315 done; true
316.endif
317.if defined(SYMLINKS) && !empty(SYMLINKS)
318 @set ${SYMLINKS}; \
319 while test $$# -ge 2; do \
320 l=$$1; \
321 shift; \
322 t=${DESTDIR}$$1; \
323 shift; \
324 ${ECHO} $$t -\> $$l; \
325 ln -fs $$l $$t; \
326 done; true
327.endif
328
329realinstall: _incsinstall
330
331.if !defined(NOMAN)
332realinstall: _maninstall
333.endif
334
335.endif
336
337.if !target(lint)
338lint: ${SRCS:M*.c}
339 ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
340.endif
341
342.include <bsd.incs.mk>
343
344.if !defined(NOMAN)
345.include <bsd.man.mk>
346.endif
347
348.include <bsd.dep.mk>
349
350.if defined(LIB) && !empty(LIB)
360.if !exists(${.OBJDIR}/${DEPENDFILE})
361${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h}
362.endif
351.if !exists(${.OBJDIR}/${DEPENDFILE})
352${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h}
353.endif
354.endif
363
364.include <bsd.obj.mk>
365
366.include <bsd.sys.mk>
355
356.include <bsd.obj.mk>
357
358.include <bsd.sys.mk>