summaryrefslogtreecommitdiffstats
path: root/lib/libpam
diff options
context:
space:
mode:
authorjdp <jdp@FreeBSD.org>1999-01-22 12:43:42 +0000
committerjdp <jdp@FreeBSD.org>1999-01-22 12:43:42 +0000
commit97c5848571a9a6dce8b515691076fce2ed428faf (patch)
treef0a08b2d6e75c6ee61ce92d5bd72802f4da2dccf /lib/libpam
parentd149f7d8f98c787fe98a73bfb80e4f47195ed035 (diff)
downloadFreeBSD-src-97c5848571a9a6dce8b515691076fce2ed428faf.zip
FreeBSD-src-97c5848571a9a6dce8b515691076fce2ed428faf.tar.gz
Fix breakage for the static a.out case. The a.out linker doesn't
consider a linker set definition to be sufficient reason to pull an object module from an archive library. This caused undefined symbols when linking with libpam.a using a.out. I solved it by linking in the object that references the linker set in the "ld -r" step.
Diffstat (limited to 'lib/libpam')
-rw-r--r--lib/libpam/libpam/Makefile14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/libpam/libpam/Makefile b/lib/libpam/libpam/Makefile
index 9b6cd7e..7603a65 100644
--- a/lib/libpam/libpam/Makefile
+++ b/lib/libpam/libpam/Makefile
@@ -32,14 +32,14 @@ MODOBJDIR= ../modules
LIB= pam
CFLAGS+= -I${PAMDIR}/libpam/include -I.
CFLAGS+= -DDEFAULT_MODULE_PATH=\"${SHLIBDIR}/\"
-NOPROFILE= true
+NOPROFILE= yes
CLEANFILES+= security
# Files from ${PAMDIR}/libpam:
SRCS= pam_account.c pam_auth.c pam_data.c pam_delay.c \
pam_dispatch.c pam_end.c pam_env.c pam_handlers.c \
pam_item.c pam_log.c pam_misc.c pam_password.c \
- pam_second.c pam_session.c pam_start.c pam_static.c \
+ pam_second.c pam_session.c pam_start.c \
pam_strerror.c
HDRS1= _pam_compat.h _pam_macros.h _pam_types.h \
pam_appl.h pam_malloc.h pam_modules.h
@@ -70,12 +70,18 @@ STATIC_MODULES+= ${MODOBJDIR}/pam_tacplus/libpam_tacplus.a
STATIC_MODULES+= ${MODOBJDIR}/pam_unix/libpam_unix.a
STATICOBJS+= pam_static_modules.o
+CLEANFILES+= pam_static.o
+
+_EXTRADEPEND: pam_static.c
+ ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
+ ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BID]*} \
+ ${.ALLSRC}
.if ${OBJFORMAT} == elf
CLEANFILES+= setdef0.o _pam_static_modules.o setdef1.o \
setdef0.c setdef1.c setdefs.h
-pam_static_modules.o: setdef0.o _pam_static_modules.o setdef1.o
+pam_static_modules.o: setdef0.o pam_static.o _pam_static_modules.o setdef1.o
${LD} -o ${.TARGET} -r ${.ALLSRC}
setdef0.o: setdef0.c setdefs.h
@@ -87,7 +93,7 @@ setdef0.c setdef1.c setdefs.h: _pam_static_modules.o
_pam_static_modules.o: ${STATIC_MODULES}
${LD} -o ${.TARGET} -r --whole-archive ${.ALLSRC}
.else
-pam_static_modules.o: ${STATIC_MODULES}
+pam_static_modules.o: pam_static.o ${STATIC_MODULES}
${LD} -o ${.TARGET} -r -Bforcearchive ${.ALLSRC}
.endif
OpenPOWER on IntegriCloud