Deleted Added
full compact
bsd.lib.mk (301079) bsd.lib.mk (301284)
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 301079 2016-05-31 21:22:19Z bdrewery $
2# $FreeBSD: head/share/mk/bsd.lib.mk 301284 2016-06-03 19:25:36Z bdrewery $
3#
4
5.include <bsd.init.mk>
6
7.if defined(LIB_CXX) || defined(SHLIB_CXX)
8_LD= ${CXX}
9.else
10_LD= ${CC}

--- 75 unchanged lines hidden (view full) ---

86PICFLAG=-fPIC
87.else
88PICFLAG=-fpic
89.endif
90.endif
91
92PO_FLAG=-pg
93
3#
4
5.include <bsd.init.mk>
6
7.if defined(LIB_CXX) || defined(SHLIB_CXX)
8_LD= ${CXX}
9.else
10_LD= ${CC}

--- 75 unchanged lines hidden (view full) ---

86PICFLAG=-fPIC
87.else
88PICFLAG=-fpic
89.endif
90.endif
91
92PO_FLAG=-pg
93
94.c.o: ${OP_META}
94.c.o:
95 ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
96 ${CTFCONVERT_CMD}
97
95 ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
96 ${CTFCONVERT_CMD}
97
98.c.po: ${OP_META}
98.c.po:
99 ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
100 ${CTFCONVERT_CMD}
101
99 ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
100 ${CTFCONVERT_CMD}
101
102.c.So: ${OP_META}
102.c.So:
103 ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
104 ${CTFCONVERT_CMD}
105
103 ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
104 ${CTFCONVERT_CMD}
105
106.cc.o .C.o .cpp.o .cxx.o: ${OP_META}
106.cc.o .C.o .cpp.o .cxx.o:
107 ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
108
107 ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
108
109.cc.po .C.po .cpp.po .cxx.po: ${OP_META}
109.cc.po .C.po .cpp.po .cxx.po:
110 ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
111
110 ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
111
112.cc.So .C.So .cpp.So .cxx.So: ${OP_META}
112.cc.So .C.So .cpp.So .cxx.So:
113 ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
114
113 ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
114
115.f.po: ${OP_META}
115.f.po:
116 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
117 ${CTFCONVERT_CMD}
118
116 ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
117 ${CTFCONVERT_CMD}
118
119.f.So: ${OP_META}
119.f.So:
120 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
121 ${CTFCONVERT_CMD}
122
120 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
121 ${CTFCONVERT_CMD}
122
123.s.po .s.So: ${OP_META}
123.s.po .s.So:
124 ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
125 ${CTFCONVERT_CMD}
126
124 ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
125 ${CTFCONVERT_CMD}
126
127.asm.po: ${OP_META}
127.asm.po:
128 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \
129 ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
130 ${CTFCONVERT_CMD}
131
128 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \
129 ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
130 ${CTFCONVERT_CMD}
131
132.asm.So: ${OP_META}
132.asm.So:
133 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \
134 ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
135 ${CTFCONVERT_CMD}
136
133 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \
134 ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
135 ${CTFCONVERT_CMD}
136
137.S.po: ${OP_META}
137.S.po:
138 ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
139 -o ${.TARGET}
140 ${CTFCONVERT_CMD}
141
138 ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
139 -o ${.TARGET}
140 ${CTFCONVERT_CMD}
141
142.S.So: ${OP_META}
142.S.So:
143 ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \
144 -c ${.IMPSRC} -o ${.TARGET}
145 ${CTFCONVERT_CMD}
146
147_LIBDIR:=${LIBDIR}
148_SHLIBDIR:=${SHLIBDIR}
149
150.if defined(SHLIB_NAME)

--- 27 unchanged lines hidden (view full) ---

178.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME)
179OBJS+= ${SRCS:N*.h:R:S/$/.o/}
180CLEANFILES+= ${OBJS} ${STATICOBJS}
181.endif
182
183.if defined(LIB) && !empty(LIB)
184_LIBS= lib${LIB_PRIVATE}${LIB}.a
185
143 ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \
144 -c ${.IMPSRC} -o ${.TARGET}
145 ${CTFCONVERT_CMD}
146
147_LIBDIR:=${LIBDIR}
148_SHLIBDIR:=${SHLIBDIR}
149
150.if defined(SHLIB_NAME)

--- 27 unchanged lines hidden (view full) ---

178.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME)
179OBJS+= ${SRCS:N*.h:R:S/$/.o/}
180CLEANFILES+= ${OBJS} ${STATICOBJS}
181.endif
182
183.if defined(LIB) && !empty(LIB)
184_LIBS= lib${LIB_PRIVATE}${LIB}.a
185
186lib${LIB_PRIVATE}${LIB}.a: ${OBJS} ${STATICOBJS} ${OP_META}
186lib${LIB_PRIVATE}${LIB}.a: ${OBJS} ${STATICOBJS}
187 @${ECHO} building static ${LIB} library
188 @rm -f ${.TARGET}
189 ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
190 ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
191.endif
192
193.if !defined(INTERNALLIB)
194
195.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
196_LIBS+= lib${LIB_PRIVATE}${LIB}_p.a
197POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
198DEPENDOBJS+= ${POBJS}
199CLEANFILES+= ${POBJS}
200
187 @${ECHO} building static ${LIB} library
188 @rm -f ${.TARGET}
189 ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
190 ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
191.endif
192
193.if !defined(INTERNALLIB)
194
195.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
196_LIBS+= lib${LIB_PRIVATE}${LIB}_p.a
197POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
198DEPENDOBJS+= ${POBJS}
199CLEANFILES+= ${POBJS}
200
201lib${LIB_PRIVATE}${LIB}_p.a: ${POBJS} ${OP_META}
201lib${LIB_PRIVATE}${LIB}_p.a: ${POBJS}
202 @${ECHO} building profiled ${LIB} library
203 @rm -f ${.TARGET}
204 ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${POBJS} | tsort -q` ${ARADD}
205 ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
206.endif
207
208.if defined(SHLIB_NAME) || \
209 defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)

--- 15 unchanged lines hidden (view full) ---

225
226.if target(beforelinking)
227beforelinking: ${SOBJS}
228${SHLIB_NAME_FULL}: beforelinking
229.endif
230
231.if defined(SHLIB_LINK)
232.if defined(SHLIB_LDSCRIPT) && !empty(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT})
202 @${ECHO} building profiled ${LIB} library
203 @rm -f ${.TARGET}
204 ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${POBJS} | tsort -q` ${ARADD}
205 ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
206.endif
207
208.if defined(SHLIB_NAME) || \
209 defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)

--- 15 unchanged lines hidden (view full) ---

225
226.if target(beforelinking)
227beforelinking: ${SOBJS}
228${SHLIB_NAME_FULL}: beforelinking
229.endif
230
231.if defined(SHLIB_LINK)
232.if defined(SHLIB_LDSCRIPT) && !empty(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT})
233${SHLIB_LINK:R}.ld: ${.CURDIR}/${SHLIB_LDSCRIPT} ${OP_META}
233${SHLIB_LINK:R}.ld: ${.CURDIR}/${SHLIB_LDSCRIPT}
234 sed -e 's,@@SHLIB@@,${_SHLIBDIR}/${SHLIB_NAME},g' \
235 -e 's,@@LIBDIR@@,${_LIBDIR},g' \
236 ${.ALLSRC} > ${.TARGET}
237
238${SHLIB_NAME_FULL}: ${SHLIB_LINK:R}.ld
239CLEANFILES+= ${SHLIB_LINK:R}.ld
240.endif
241CLEANFILES+= ${SHLIB_LINK}
242.endif
243
234 sed -e 's,@@SHLIB@@,${_SHLIBDIR}/${SHLIB_NAME},g' \
235 -e 's,@@LIBDIR@@,${_LIBDIR},g' \
236 ${.ALLSRC} > ${.TARGET}
237
238${SHLIB_NAME_FULL}: ${SHLIB_LINK:R}.ld
239CLEANFILES+= ${SHLIB_LINK:R}.ld
240.endif
241CLEANFILES+= ${SHLIB_LINK}
242.endif
243
244${SHLIB_NAME_FULL}: ${SOBJS} ${OP_META}
244${SHLIB_NAME_FULL}: ${SOBJS}
245 @${ECHO} building shared library ${SHLIB_NAME}
246 @rm -f ${SHLIB_NAME} ${SHLIB_LINK}
247.if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld)
248 @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK}
249.endif
250 ${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
251 -o ${.TARGET} -Wl,-soname,${SONAME} \
252 `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${SOBJS} | tsort -q` ${LDADD}
253.if ${MK_CTF} != "no"
254 ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
255.endif
256
257.if ${MK_DEBUG_FILES} != "no"
258CLEANFILES+= ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug
245 @${ECHO} building shared library ${SHLIB_NAME}
246 @rm -f ${SHLIB_NAME} ${SHLIB_LINK}
247.if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld)
248 @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK}
249.endif
250 ${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
251 -o ${.TARGET} -Wl,-soname,${SONAME} \
252 `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${SOBJS} | tsort -q` ${LDADD}
253.if ${MK_CTF} != "no"
254 ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
255.endif
256
257.if ${MK_DEBUG_FILES} != "no"
258CLEANFILES+= ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug
259${SHLIB_NAME}: ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug ${OP_META}
259${SHLIB_NAME}: ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug
260 ${OBJCOPY} --strip-debug --add-gnu-debuglink=${SHLIB_NAME}.debug \
261 ${SHLIB_NAME_FULL} ${.TARGET}
262
260 ${OBJCOPY} --strip-debug --add-gnu-debuglink=${SHLIB_NAME}.debug \
261 ${SHLIB_NAME_FULL} ${.TARGET}
262
263${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} ${OP_META}
263${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL}
264 ${OBJCOPY} --only-keep-debug ${SHLIB_NAME_FULL} ${.TARGET}
265.endif
266.endif #defined(SHLIB_NAME)
267
268.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
269_LIBS+= lib${LIB_PRIVATE}${LIB}_pic.a
270
264 ${OBJCOPY} --only-keep-debug ${SHLIB_NAME_FULL} ${.TARGET}
265.endif
266.endif #defined(SHLIB_NAME)
267
268.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
269_LIBS+= lib${LIB_PRIVATE}${LIB}_pic.a
270
271lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS} ${OP_META}
271lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS}
272 @${ECHO} building special pic ${LIB} library
273 @rm -f ${.TARGET}
274 ${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD}
275 ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
276.endif
277
278.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
279LINTLIB= llib-l${LIB}.ln
280_LIBS+= ${LINTLIB}
281LINTOBJS+= ${SRCS:M*.c:.c=.ln}
282CLEANFILES+= ${LINTOBJS}
283
272 @${ECHO} building special pic ${LIB} library
273 @rm -f ${.TARGET}
274 ${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD}
275 ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
276.endif
277
278.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
279LINTLIB= llib-l${LIB}.ln
280_LIBS+= ${LINTLIB}
281LINTOBJS+= ${SRCS:M*.c:.c=.ln}
282CLEANFILES+= ${LINTOBJS}
283
284${LINTLIB}: ${LINTOBJS} ${OP_META}
284${LINTLIB}: ${LINTOBJS}
285 @${ECHO} building lint library ${.TARGET}
286 @rm -f ${.TARGET}
287 ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
288.endif
289
290.endif # !defined(INTERNALLIB)
291
292.if defined(_SKIP_BUILD)

--- 145 unchanged lines hidden ---
285 @${ECHO} building lint library ${.TARGET}
286 @rm -f ${.TARGET}
287 ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
288.endif
289
290.endif # !defined(INTERNALLIB)
291
292.if defined(_SKIP_BUILD)

--- 145 unchanged lines hidden ---