| version 1.159, 1999/09/14 01:31:11 |
version 1.159.4.1, 1999/12/27 18:31:11 |
|
|
| .elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" |
.elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" |
| # mips-specific shared library flags |
# mips-specific shared library flags |
| |
|
| # On mips, all libs need to be compiled with ABIcalls, not just sharedlibs. |
# On mips, all libs are compiled with ABIcalls, not just sharedlibs. |
| CPICFLAGS?= |
MKPICLIB= no |
| APICFLAGS?= |
|
| #CPICFLAGS?= -fpic -DPIC |
# so turn shlib PIC flags on for ${AS}. |
| #APICFLAGS?= -DPIC |
AINC+=-DABICALLS |
| |
|
| # so turn shlib PIC flags on for ${CPP}, ${CC}, and ${AS} as follows: |
|
| AINC+=-DPIC -DABICALLS |
|
| COPTS+= -fPIC ${AINC} |
|
| AFLAGS+= -fPIC |
AFLAGS+= -fPIC |
| AS+= -KPIC |
AS+= -KPIC |
| |
|
|
|
| |
|
| .endif |
.endif |
| |
|
| |
MKPICLIB?= yes |
| |
|
| # Platform-independent linker flags for ELF shared libraries |
# Platform-independent linker flags for ELF shared libraries |
| .if ${OBJECT_FMT} == "ELF" |
.if ${OBJECT_FMT} == "ELF" |
| SHLIB_SOVERSION=${SHLIB_MAJOR} |
SHLIB_SOVERSION=${SHLIB_MAJOR} |
| Line 238 POBJS+=${OBJS:.o=.po} |
|
| Line 236 POBJS+=${OBJS:.o=.po} |
|
| .endif |
.endif |
| |
|
| .if ${MKPIC} != "no" |
.if ${MKPIC} != "no" |
| _LIBS+=lib${LIB}_pic.a |
.if ${MKPICLIB} == "no" |
| |
SOLIB=lib${LIB}.a |
| |
.else |
| |
SOLIB=lib${LIB}_pic.a |
| |
_LIBS+=${SOLIB} |
| SOBJS+=${OBJS:.o=.so} |
SOBJS+=${OBJS:.o=.so} |
| |
.endif |
| .if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) |
.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) |
| _LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} |
_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} |
| .endif |
.endif |
| Line 281 lib${LIB}_p.a:: ${POBJS} __archivebuild |
|
| Line 284 lib${LIB}_p.a:: ${POBJS} __archivebuild |
|
| lib${LIB}_pic.a:: ${SOBJS} __archivebuild |
lib${LIB}_pic.a:: ${SOBJS} __archivebuild |
| @echo building shared object ${LIB} library |
@echo building shared object ${LIB} library |
| |
|
| lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}_pic.a ${DPADD} \ |
lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: ${SOLIB} ${DPADD} \ |
| ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE} |
${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE} |
| @echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) |
@echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) |
| @rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} |
@rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} |
| .if defined(DESTDIR) |
.if defined(DESTDIR) |
| $(LD) -nostdlib -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ |
$(LD) -nostdlib -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ |
| ${SHLIB_LDSTARTFILE} \ |
${SHLIB_LDSTARTFILE} \ |
| --whole-archive lib${LIB}_pic.a \ |
--whole-archive ${SOLIB} \ |
| -L${DESTDIR}${LIBDIR} -R${LIBDIR} \ |
-L${DESTDIR}${LIBDIR} -R${LIBDIR} \ |
| --no-whole-archive ${LDADD} \ |
--no-whole-archive ${LDADD} \ |
| ${SHLIB_LDENDFILE} |
${SHLIB_LDENDFILE} |
| .else |
.else |
| $(LD) -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ |
$(LD) -x -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ |
| ${SHLIB_LDSTARTFILE} \ |
${SHLIB_LDSTARTFILE} \ |
| --whole-archive lib${LIB}_pic.a --no-whole-archive ${LDADD} \ |
--whole-archive ${SOLIB} --no-whole-archive ${LDADD} \ |
| ${SHLIB_LDENDFILE} |
${SHLIB_LDENDFILE} |
| .endif |
.endif |
| .if ${OBJECT_FMT} == "ELF" |
.if ${OBJECT_FMT} == "ELF" |
| Line 359 ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${ |
|
| Line 362 ${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${ |
|
| .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 |
| .if !defined(UPDATE) |
.if !defined(UPDATE) |
| .PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a |
.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a |
| Line 366 libinstall:: ${DESTDIR}${LIBDIR}/lib${LI |
|
| Line 370 libinstall:: ${DESTDIR}${LIBDIR}/lib${LI |
|
| .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 ${MKPICLIB} == "no" |
| .PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a |
${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: |
| |
rm -f ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a |
| |
ln -s lib${LIB}.a ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a |
| |
.else |
| ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall |
${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall |
| .endif |
.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} |