--- pmake-1.45/mk/bsd.lib.mk.orig 2001-09-08 18:52:32 +0400 +++ pmake-1.45/mk/bsd.lib.mk 2003-05-17 15:53:36 +0400 @@ -86,7 +86,7 @@ CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} APICFLAGS ?= -KPIC -.elif (${MACHINE} == "debian") +.elif ${MACHINE} == "debian" || ${MACHINE} == "alt" SHLIB_TYPE=ELF SHLIB_LDSTARTFILE= @@ -114,9 +114,9 @@ # Platform-independent linker flags for ELF shared libraries .if ${OBJECT_FMT} == "ELF" SHLIB_SOVERSION=${SHLIB_MAJOR} -SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION} -SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o -SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o +SHLIB_SHFLAGS=-Wl,-soname,lib${LIB}.so.${SHLIB_SOVERSION} +SHLIB_LDSTARTFILE= +SHLIB_LDENDFILE= .endif CFLAGS+= ${COPTS} @@ -222,13 +222,13 @@ __archivebuild: .USE @rm -f ${.TARGET} - @${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}` + ${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}` ${RANLIB} ${.TARGET} __archiveinstall: .USE ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \ -m 600 ${.ALLSRC} ${.TARGET} - ${RANLIB} -t ${.TARGET} + ${AR} t ${.TARGET} chmod ${LIBMODE} ${.TARGET} DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} @@ -256,14 +256,14 @@ .if defined(DESTDIR) $(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ ${SHLIB_LDSTARTFILE} \ - --whole-archive lib${LIB}_pic.a \ - -nostdlib -L${DESTDIR}${LIBDIR} -R${LIBDIR} \ - --no-whole-archive ${LDADD} \ + -Wl,-whole-archive lib${LIB}_pic.a \ + -L${DESTDIR}${LIBDIR} -Wl,-rpath,${LIBDIR} \ + -Wl,-no-whole-archive ${LDADD} \ ${SHLIB_LDENDFILE} .else $(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ ${SHLIB_LDSTARTFILE} \ - --whole-archive lib${LIB}_pic.a --no-whole-archive ${LDADD} \ + -Wl,-whole-archive lib${LIB}_pic.a -Wl,-no-whole-archive ${LDADD} \ ${SHLIB_LDENDFILE} .endif .if ${OBJECT_FMT} == "ELF"