1# $FreeBSD: head/lib/libpam/static_libpam/Makefile 314901 2017-03-08 08:25:26Z brooks $ 2 3# Build only the static library here. 4LIB= pam 5NOPIC= yes 6 7# Already handled by libpam shared version. 8NOMAN= noman 9INCS= 10 11# 12# Static modules support 13# 14# We build static versions of all modules and of openpam_static.o, 15# then link them all together into openpam_static_modules.o. None of 16# the modules export any symbols, but they store structures with 17# pointers to their service functions in a linker set which the code 18# in openpam_static.c traverses to locate the individual modules. 19# 20MODULESDIR= ../modules 21MODULES= pam_chroot \ 22 pam_deny \ 23 pam_echo \ 24 pam_exec \ 25 pam_ftpusers \ 26 pam_group \ 27 pam_guest \ 28 pam_lastlog \ 29 pam_login_access \ 30 pam_nologin \ 31 pam_opie \ 32 pam_opieaccess \ 33 pam_passwdqc \ 34 pam_permit \ 35 pam_radius \ 36 pam_rhosts \ 37 pam_rootok \ 38 pam_securetty \ 39 pam_self \ 40 pam_ssh \ 41 pam_tacplus \ 42 pam_unix 43 44STATIC_MODULES= ${MODULES:C/.*/${MODULESDIR}\/&\/lib&.a/} 45STATICOBJS+= openpam_static_modules.o 46CLEANFILES+= openpam_static.o openpam_static.po \ 47 openpam_static_modules.o 48 49openpam_static_modules.o: openpam_static.o ${STATIC_MODULES} 50 ${CC} -nostdlib ${LDFLAGS} -o ${.TARGET} -r -Wl,--whole-archive ${.ALLSRC} 51 52openpam_static_modules.po: openpam_static.po ${STATIC_MODULES} 53 ${CC} -nostdlib ${LDFLAGS} -o ${.TARGET} -r -Wl,--whole-archive ${.ALLSRC} 54 55.PATH: ${.CURDIR}/../libpam 56 57.include "${.CURDIR}/../libpam/Makefile" 58