Return to bsd.lib.mk CVS log | Up to [cvs.NetBSD.org] / src / share / mk |
Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. |
version 1.164, 2000/04/24 14:22:05 | version 1.169.2.1, 2000/06/29 23:35:08 | ||
---|---|---|---|
|
|
||
.else | .else | ||
checkver: | checkver: | ||
.endif | .endif | ||
print-shlib-major: | |||
@echo ${SHLIB_MAJOR} | |||
print-shlib-minor: | |||
@echo ${SHLIB_MINOR} | |||
.else | .else | ||
checkver: | checkver: | ||
print-shlib-major: | |||
@false | |||
print-shlib-minor: | |||
@false | |||
.endif | .endif | ||
# add additional suffixes not exported. | # add additional suffixes not exported. | ||
|
|
||
.if ${MACHINE_ARCH} == "alpha" | .if ${MACHINE_ARCH} == "alpha" | ||
# Alpha-specific shared library flags | # Alpha-specific shared library flags | ||
CPICFLAGS ?= -fpic -DPIC | CPICFLAGS ?= -fPIC -DPIC | ||
CPPPICFLAGS?= -DPIC | CPPPICFLAGS?= -DPIC | ||
CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} | CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} | ||
APICFLAGS ?= | APICFLAGS ?= | ||
|
|
||
.elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF" | .elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF" | ||
CPICFLAGS ?= -fpic -DPIC | CPICFLAGS ?= -fPIC -DPIC | ||
CPPPICFLAGS?= -DPIC | CPPPICFLAGS?= -DPIC | ||
CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} | CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} | ||
APICFLAGS ?= -KPIC | APICFLAGS ?= -KPIC | ||
|
|
||
SHLIB_LDENDFILE= | SHLIB_LDENDFILE= | ||
SHLIB_SHFLAGS= | SHLIB_SHFLAGS= | ||
SHLIB_SOVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} | SHLIB_SOVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} | ||
CPICFLAGS?= -fpic -DPIC | CPICFLAGS?= -fPIC -DPIC | ||
CPPPICFLAGS?= -DPIC | CPPPICFLAGS?= -DPIC | ||
CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} | CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} | ||
APICFLAGS?= -k | APICFLAGS?= -k | ||
|
|
||
LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} | LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} | ||
.endif | .endif | ||
.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \ | |||
|| ${MKLINKLIB} != "no" | |||
ALLOBJS=${OBJS} ${POBJS} ${SOBJS} ${LOBJS} | ALLOBJS=${OBJS} ${POBJS} ${SOBJS} ${LOBJS} | ||
.else | |||
ALLOBJS=${POBJS} ${SOBJS} ${LOBJS} | |||
.endif | |||
.NOPATH: ${ALLOBJS} ${_LIBS} | .NOPATH: ${ALLOBJS} ${_LIBS} | ||
realall: ${SRCS} ${ALLOBJS:O} ${_LIBS} | realall: ${SRCS} ${ALLOBJS:O} ${_LIBS} | ||
|
|
||
$(LD) -nostdlib -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ | $(LD) -nostdlib -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ | ||
${SHLIB_LDSTARTFILE} \ | ${SHLIB_LDSTARTFILE} \ | ||
--whole-archive ${SOLIB} \ | --whole-archive ${SOLIB} \ | ||
-L${DESTDIR}${LIBDIR} -R${LIBDIR} \ | |||
--no-whole-archive ${LDADD} \ | --no-whole-archive ${LDADD} \ | ||
-L${DESTDIR}${LIBDIR} -R${LIBDIR} \ | |||
${SHLIB_LDENDFILE} | ${SHLIB_LDENDFILE} | ||
.else | .else | ||
$(LD) -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ | $(LD) -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ | ||
|
|
||
.if ${MKLINKLIB} != "no" | .if ${MKLINKLIB} != "no" | ||
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a | libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a | |||
.if !defined(UPDATE) | .if !defined(UPDATE) | ||
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a | .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a | ||
.endif | .endif | ||
.if !defined(BUILD) && !make(all) && !make(lib${LIB}.a) | .if !defined(BUILD) && !make(all) && !make(lib${LIB}.a) | ||
${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE | ${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE | ||
.endif | .endif | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a | |||
${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall | ${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall | ||
.endif | .endif | ||
.if ${MKPROFILE} != "no" | .if ${MKPROFILE} != "no" | ||
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a | libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a | |||
.if !defined(UPDATE) | .if !defined(UPDATE) | ||
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a | .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a | ||
.endif | .endif | ||
.if !defined(BUILD) && !make(all) && !make(lib${LIB}_p.a) | .if !defined(BUILD) && !make(all) && !make(lib${LIB}_p.a) | ||
${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE | ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE | ||
.endif | .endif | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a | |||
${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall | ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall | ||
.endif | .endif | ||
.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no" | .if ${MKPIC} != "no" && ${MKPICINSTALL} != "no" | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a | |||
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a | libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a | |||
.if !defined(UPDATE) | .if !defined(UPDATE) | ||
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a | .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a | ||
.endif | .endif | ||
.if !defined(BUILD) && !make(all) && !make(lib${LIB}_pic.a) | .if !defined(BUILD) && !make(all) && !make(lib${LIB}_pic.a) | ||
${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE | ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE | ||
.endif | .endif | ||
|
|
||
.if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) | .if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) | ||
libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | |||
.if !defined(UPDATE) | .if !defined(UPDATE) | ||
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | ||
.endif | .endif | ||
.if !defined(BUILD) && !make(all) && !make(lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}) | .if !defined(BUILD) && !make(all) && !make(lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}) | ||
${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: .MADE | ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: .MADE | ||
.endif | .endif | ||
.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | |||
${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} | ||
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \ | ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \ | ||
-g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${.TARGET} | -g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${.TARGET} | ||
|
|
||
.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" | .if ${MKLINT} != "no" && ${MKLINKLIB} != "no" | ||
libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln | libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln | ||
.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln | |||
.if !defined(UPDATE) | .if !defined(UPDATE) | ||
.PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln | .PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln | ||
.endif | .endif | ||
.if !defined(BUILD) && !make(all) && !make(llib-l${LIB}.ln) | .if !defined(BUILD) && !make(all) && !make(llib-l${LIB}.ln) | ||
${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE | ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE | ||
.endif | .endif | ||
.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln | |||
${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln | ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln | ||
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \ | ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \ | ||
-g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${DESTDIR}${LINTLIBDIR} | -g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${DESTDIR}${LINTLIBDIR} |