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