| @@ -1,212 +1,215 @@ | | | @@ -1,212 +1,215 @@ |
1 | # $NetBSD: Makefile,v 1.19 2017/05/21 15:28:41 riastradh Exp $ | | 1 | # $NetBSD: Makefile,v 1.20 2019/10/09 22:05:09 christos Exp $ |
2 | #- | | 2 | #- |
3 | # Copyright (c) 1998 Juniper Networks, Inc. | | 3 | # Copyright (c) 1998 Juniper Networks, Inc. |
4 | # All rights reserved. | | 4 | # All rights reserved. |
5 | # Copyright (c) 2002 Networks Associates Technology, Inc. | | 5 | # Copyright (c) 2002 Networks Associates Technology, Inc. |
6 | # All rights reserved. | | 6 | # All rights reserved. |
7 | # | | 7 | # |
8 | # Portions of this software was developed for the FreeBSD Project by | | 8 | # Portions of this software was developed for the FreeBSD Project by |
9 | # ThinkSec AS and NAI Labs, the Security Research Division of Network | | 9 | # ThinkSec AS and NAI Labs, the Security Research Division of Network |
10 | # Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 | | 10 | # Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 |
11 | # ("CBOSS"), as part of the DARPA CHATS research program. | | 11 | # ("CBOSS"), as part of the DARPA CHATS research program. |
12 | # | | 12 | # |
13 | # Redistribution and use in source and binary forms, with or without | | 13 | # Redistribution and use in source and binary forms, with or without |
14 | # modification, are permitted provided that the following conditions | | 14 | # modification, are permitted provided that the following conditions |
15 | # are met: | | 15 | # are met: |
16 | # 1. Redistributions of source code must retain the above copyright | | 16 | # 1. Redistributions of source code must retain the above copyright |
17 | # notice, this list of conditions and the following disclaimer. | | 17 | # notice, this list of conditions and the following disclaimer. |
18 | # 2. Redistributions in binary form must reproduce the above copyright | | 18 | # 2. Redistributions in binary form must reproduce the above copyright |
19 | # notice, this list of conditions and the following disclaimer in the | | 19 | # notice, this list of conditions and the following disclaimer in the |
20 | # documentation and/or other materials provided with the distribution. | | 20 | # documentation and/or other materials provided with the distribution. |
21 | # 3. The name of the author may not be used to endorse or promote | | 21 | # 3. The name of the author may not be used to endorse or promote |
22 | # products derived from this software without specific prior written | | 22 | # products derived from this software without specific prior written |
23 | # permission. | | 23 | # permission. |
24 | # | | 24 | # |
25 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | | 25 | # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
26 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | | 26 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
27 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | | 27 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
28 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | | 28 | # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
29 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | | 29 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
30 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | | 30 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
31 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | | 31 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
32 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | | 32 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
33 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | | 33 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
34 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | | 34 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
35 | # SUCH DAMAGE. | | 35 | # SUCH DAMAGE. |
36 | # | | 36 | # |
37 | # $FreeBSD: src/lib/libpam/libpam/Makefile,v 1.51 2004/10/24 15:32:32 ru Exp $ | | 37 | # $FreeBSD: src/lib/libpam/libpam/Makefile,v 1.51 2004/10/24 15:32:32 ru Exp $ |
38 | | | 38 | |
39 | NOPROFILE= # Don't build a profiling library | | 39 | NOPROFILE= # Don't build a profiling library |
40 | | | 40 | |
41 | .include <bsd.own.mk> | | 41 | .include <bsd.own.mk> |
42 | | | 42 | |
43 | DIST= ${NETBSDSRCDIR}/external/bsd/openpam/dist | | 43 | DIST= ${NETBSDSRCDIR}/external/bsd/openpam/dist |
44 | LIB= pam | | 44 | LIB= pam |
45 | NOPROFILE= | | 45 | NOPROFILE= |
46 | | | 46 | |
47 | WARNS= 6 | | 47 | WARNS= 6 |
48 | # 233: Struct/union never defined | | 48 | # 233: Struct/union never defined |
49 | LINTFLAGS+= -Sw -X 233 | | 49 | LINTFLAGS+= -Sw -X 233 |
50 | | | 50 | |
51 | CPPFLAGS+= -DLIB_MAJ=${SHLIB_MAJOR} -DHAVE_CONFIG_H -I${.CURDIR} | | 51 | CPPFLAGS+= -DLIB_MAJ=${SHLIB_MAJOR} -DHAVE_CONFIG_H -I${.CURDIR} |
52 | | | 52 | |
53 | SRCS= openpam_borrow_cred.c \ | | 53 | SRCS= openpam_borrow_cred.c \ |
54 | openpam_check_owner_perms.c \ | | 54 | openpam_check_owner_perms.c \ |
55 | openpam_configure.c \ | | 55 | openpam_configure.c \ |
56 | openpam_constants.c \ | | 56 | openpam_constants.c \ |
57 | openpam_dispatch.c \ | | 57 | openpam_dispatch.c \ |
58 | openpam_dynamic.c \ | | 58 | openpam_dynamic.c \ |
59 | openpam_features.c \ | | 59 | openpam_features.c \ |
60 | openpam_findenv.c \ | | 60 | openpam_findenv.c \ |
61 | openpam_free_data.c \ | | 61 | openpam_free_data.c \ |
62 | openpam_free_envlist.c \ | | 62 | openpam_free_envlist.c \ |
63 | openpam_get_feature.c \ | | 63 | openpam_get_feature.c \ |
64 | openpam_get_option.c \ | | 64 | openpam_get_option.c \ |
65 | openpam_load.c \ | | 65 | openpam_load.c \ |
66 | openpam_log.c \ | | 66 | openpam_log.c \ |
67 | openpam_nullconv.c \ | | 67 | openpam_nullconv.c \ |
68 | openpam_readline.c \ | | 68 | openpam_readline.c \ |
69 | openpam_readlinev.c \ | | 69 | openpam_readlinev.c \ |
70 | openpam_readword.c \ | | 70 | openpam_readword.c \ |
71 | openpam_restore_cred.c \ | | 71 | openpam_restore_cred.c \ |
72 | openpam_set_feature.c \ | | 72 | openpam_set_feature.c \ |
73 | openpam_set_option.c \ | | 73 | openpam_set_option.c \ |
74 | openpam_straddch.c \ | | 74 | openpam_straddch.c \ |
75 | openpam_strlset.c \ | | 75 | openpam_strlset.c \ |
76 | openpam_subst.c \ | | 76 | openpam_subst.c \ |
77 | openpam_ttyconv.c \ | | 77 | openpam_ttyconv.c \ |
78 | pam_acct_mgmt.c \ | | 78 | pam_acct_mgmt.c \ |
79 | pam_authenticate.c \ | | 79 | pam_authenticate.c \ |
80 | pam_chauthtok.c \ | | 80 | pam_chauthtok.c \ |
81 | pam_close_session.c \ | | 81 | pam_close_session.c \ |
82 | pam_end.c \ | | 82 | pam_end.c \ |
83 | pam_error.c \ | | 83 | pam_error.c \ |
84 | pam_get_authtok.c \ | | 84 | pam_get_authtok.c \ |
85 | pam_get_data.c \ | | 85 | pam_get_data.c \ |
86 | pam_get_item.c \ | | 86 | pam_get_item.c \ |
87 | pam_get_user.c \ | | 87 | pam_get_user.c \ |
88 | pam_getenv.c \ | | 88 | pam_getenv.c \ |
89 | pam_getenvlist.c \ | | 89 | pam_getenvlist.c \ |
90 | pam_info.c \ | | 90 | pam_info.c \ |
91 | pam_open_session.c \ | | 91 | pam_open_session.c \ |
92 | pam_prompt.c \ | | 92 | pam_prompt.c \ |
93 | pam_putenv.c \ | | 93 | pam_putenv.c \ |
94 | pam_set_data.c \ | | 94 | pam_set_data.c \ |
95 | pam_set_item.c \ | | 95 | pam_set_item.c \ |
96 | pam_setcred.c \ | | 96 | pam_setcred.c \ |
97 | pam_setenv.c \ | | 97 | pam_setenv.c \ |
98 | pam_start.c \ | | 98 | pam_start.c \ |
99 | pam_strerror.c \ | | 99 | pam_strerror.c \ |
100 | pam_verror.c \ | | 100 | pam_verror.c \ |
101 | pam_vinfo.c \ | | 101 | pam_vinfo.c \ |
102 | pam_vprompt.c | | 102 | pam_vprompt.c |
103 | # Local additions | | 103 | # Local additions |
104 | SRCS+= pam_debug_log.c | | 104 | SRCS+= pam_debug_log.c |
105 | | | 105 | |
106 | MAN= \ | | 106 | MAN= \ |
107 | openpam.3 \ | | 107 | openpam.3 \ |
108 | openpam_borrow_cred.3 \ | | 108 | openpam_borrow_cred.3 \ |
109 | openpam_free_data.3 \ | | 109 | openpam_free_data.3 \ |
110 | openpam_free_envlist.3 \ | | 110 | openpam_free_envlist.3 \ |
111 | openpam_get_feature.3 \ | | 111 | openpam_get_feature.3 \ |
112 | openpam_get_option.3 \ | | 112 | openpam_get_option.3 \ |
113 | openpam_log.3 \ | | 113 | openpam_log.3 \ |
114 | openpam_nullconv.3 \ | | 114 | openpam_nullconv.3 \ |
115 | openpam_readline.3 \ | | 115 | openpam_readline.3 \ |
116 | openpam_readlinev.3 \ | | 116 | openpam_readlinev.3 \ |
117 | openpam_readword.3 \ | | 117 | openpam_readword.3 \ |
118 | openpam_restore_cred.3 \ | | 118 | openpam_restore_cred.3 \ |
119 | openpam_set_feature.3 \ | | 119 | openpam_set_feature.3 \ |
120 | openpam_set_option.3 \ | | 120 | openpam_set_option.3 \ |
121 | openpam_straddch.3 \ | | 121 | openpam_straddch.3 \ |
122 | openpam_subst.3 \ | | 122 | openpam_subst.3 \ |
123 | openpam_ttyconv.3 \ | | 123 | openpam_ttyconv.3 \ |
124 | pam.3 \ | | 124 | pam.3 \ |
125 | pam.conf.5 \ | | 125 | pam.conf.5 \ |
126 | pam_acct_mgmt.3 \ | | 126 | pam_acct_mgmt.3 \ |
127 | pam_authenticate.3 \ | | 127 | pam_authenticate.3 \ |
128 | pam_chauthtok.3 \ | | 128 | pam_chauthtok.3 \ |
129 | pam_close_session.3 \ | | 129 | pam_close_session.3 \ |
130 | pam_conv.3 \ | | 130 | pam_conv.3 \ |
131 | pam_end.3 \ | | 131 | pam_end.3 \ |
132 | pam_error.3 \ | | 132 | pam_error.3 \ |
133 | pam_get_authtok.3 \ | | 133 | pam_get_authtok.3 \ |
134 | pam_get_data.3 \ | | 134 | pam_get_data.3 \ |
135 | pam_get_item.3 \ | | 135 | pam_get_item.3 \ |
136 | pam_get_user.3 \ | | 136 | pam_get_user.3 \ |
137 | pam_getenv.3 \ | | 137 | pam_getenv.3 \ |
138 | pam_getenvlist.3 \ | | 138 | pam_getenvlist.3 \ |
139 | pam_info.3 \ | | 139 | pam_info.3 \ |
140 | pam_open_session.3 \ | | 140 | pam_open_session.3 \ |
141 | pam_prompt.3 \ | | 141 | pam_prompt.3 \ |
142 | pam_putenv.3 \ | | 142 | pam_putenv.3 \ |
143 | pam_set_data.3 \ | | 143 | pam_set_data.3 \ |
144 | pam_set_item.3 \ | | 144 | pam_set_item.3 \ |
145 | pam_setcred.3 \ | | 145 | pam_setcred.3 \ |
146 | pam_setenv.3 \ | | 146 | pam_setenv.3 \ |
147 | pam_sm_acct_mgmt.3 \ | | 147 | pam_sm_acct_mgmt.3 \ |
148 | pam_sm_authenticate.3 \ | | 148 | pam_sm_authenticate.3 \ |
149 | pam_sm_chauthtok.3 \ | | 149 | pam_sm_chauthtok.3 \ |
150 | pam_sm_close_session.3 \ | | 150 | pam_sm_close_session.3 \ |
151 | pam_sm_open_session.3 \ | | 151 | pam_sm_open_session.3 \ |
152 | pam_sm_setcred.3 \ | | 152 | pam_sm_setcred.3 \ |
153 | pam_start.3 \ | | 153 | pam_start.3 \ |
154 | pam_strerror.3 \ | | 154 | pam_strerror.3 \ |
155 | pam_verror.3 \ | | 155 | pam_verror.3 \ |
156 | pam_vinfo.3 \ | | 156 | pam_vinfo.3 \ |
157 | pam_vprompt.3 | | 157 | pam_vprompt.3 |
158 | | | 158 | |
159 | INCS= security/openpam.h \ | | 159 | INCS= security/openpam.h \ |
160 | security/openpam_attr.h \ | | 160 | security/openpam_attr.h \ |
161 | security/openpam_version.h \ | | 161 | security/openpam_version.h \ |
162 | security/pam_appl.h \ | | 162 | security/pam_appl.h \ |
163 | security/pam_constants.h \ | | 163 | security/pam_constants.h \ |
164 | security/pam_modules.h \ | | 164 | security/pam_modules.h \ |
165 | security/pam_types.h \ | | 165 | security/pam_types.h \ |
166 | | | 166 | |
167 | INCS+= security/pam_mod_misc.h | | 167 | INCS+= security/pam_mod_misc.h |
168 | INCSDIR=/usr/include | | 168 | INCSDIR=/usr/include |
169 | | | 169 | |
170 | CLEANFILES+= openpam_static.o openpam_static_modules.o | | 170 | CLEANFILES+= openpam_static.o openpam_static_modules.o |
171 | STOBJS+= openpam_static_modules.o | | 171 | STOBJS+= openpam_static_modules.o |
172 | | | 172 | |
173 | # Static module support. These go ONLY in the static libpam.a | | 173 | # Static module support. These go ONLY in the static libpam.a |
174 | STATIC_MODULES= pam_chroot pam_deny pam_echo pam_exec pam_ftpusers pam_group \ | | 174 | STATIC_MODULES= pam_chroot pam_deny pam_echo pam_exec pam_ftpusers pam_group \ |
175 | pam_guest pam_lastlog pam_login_access pam_nologin pam_permit pam_radius \ | | 175 | pam_guest pam_lastlog pam_login_access pam_nologin pam_permit pam_radius \ |
176 | pam_rhosts pam_rootok pam_securetty pam_self pam_unix | | 176 | pam_rhosts pam_rootok pam_securetty pam_self pam_unix |
177 | | | 177 | |
178 | .if (${MKKERBEROS} != "no") | | 178 | .if (${MKKERBEROS} != "no") |
179 | STATIC_MODULES+= pam_afslog pam_krb5 pam_ksu | | 179 | STATIC_MODULES+= pam_afslog pam_krb5 pam_ksu |
180 | .endif | | 180 | .endif |
181 | | | 181 | |
182 | .if (${MKSKEY} != "no") | | 182 | .if (${MKSKEY} != "no") |
183 | STATIC_MODULES+= pam_skey | | 183 | STATIC_MODULES+= pam_skey |
184 | .endif | | 184 | .endif |
185 | | | 185 | |
186 | STATIC_MODULES+= pam_ssh | | 186 | STATIC_MODULES+= pam_ssh |
187 | | | 187 | |
188 | MODULE_DIR=../modules | | 188 | MODULE_DIR=../modules |
189 | # XXX | | 189 | # XXX |
190 | .ifdef _CURDIR | | 190 | .ifdef _CURDIR |
191 | PAM_DIR=${_CURDIR} | | 191 | PAM_DIR=${_CURDIR} |
192 | .else | | 192 | .else |
193 | PAM_DIR=${.CURDIR} | | 193 | PAM_DIR=${.CURDIR} |
194 | .endif | | 194 | .endif |
195 | .for MOD in ${STATIC_MODULES} | | 195 | .for MOD in ${STATIC_MODULES} |
196 | MODOBJDIR!= cd ${PAM_DIR}/${MODULE_DIR}/${MOD} && ${PRINTOBJDIR} | | 196 | MODOBJDIR!= cd ${PAM_DIR}/${MODULE_DIR}/${MOD} && ${PRINTOBJDIR} |
197 | STATIC_MODULE_LIBS:= ${STATIC_MODULE_LIBS} ${MODOBJDIR}/lib${MOD}.a | | 197 | STATIC_MODULE_LIBS:= ${STATIC_MODULE_LIBS} ${MODOBJDIR}/lib${MOD}.a |
198 | .endfor | | 198 | .endfor |
199 | | | 199 | |
200 | # XXX Using ${.ALLSRC} in the ld command causes openpam_static.c to be | | 200 | # XXX Using ${.ALLSRC} in the ld command causes openpam_static.c to be |
201 | # XXX used. Why??!! --thorpej | | 201 | # XXX used. Why??!! --thorpej |
202 | openpam_static_modules.o: openpam_static.o ${STATIC_MODULE_LIBS} | | 202 | openpam_static_modules.o: openpam_static.o ${STATIC_MODULE_LIBS} |
203 | ${CC} ${LDFLAGS} -nostdlib -o ${.TARGET} -r -Wl,--whole-archive \ | | 203 | ${CC} ${LDFLAGS} -nostdlib -o ${.TARGET} -r -Wl,--whole-archive \ |
204 | openpam_static.o ${STATIC_MODULE_LIBS} | | 204 | openpam_static.o ${STATIC_MODULE_LIBS} |
205 | | | 205 | |
206 | CWARNFLAGS.clang+= -Wno-error=tautological-pointer-compare | | 206 | CWARNFLAGS.clang+= -Wno-error=tautological-pointer-compare |
| | | 207 | .if ${ACTIVE_CC} == "gcc" |
| | | 208 | COPTS.openpam_dynamic.c += -Wno-error=cast-function-type |
| | | 209 | .endif |
207 | | | 210 | |
208 | .include <bsd.lib.mk> | | 211 | .include <bsd.lib.mk> |
209 | .PATH.h: ${DIST}/include | | 212 | .PATH.h: ${DIST}/include |
210 | .PATH.c: ${DIST}/lib/libpam | | 213 | .PATH.c: ${DIST}/lib/libpam |
211 | .PATH.3: ${DIST}/doc/man | | 214 | .PATH.3: ${DIST}/doc/man |
212 | .PATH.5: ${DIST}/doc/man | | 215 | .PATH.5: ${DIST}/doc/man |