Makefile revision 91714
1169689Skan#-
2169689Skan# Copyright (c) 1998 Juniper Networks, Inc.
3169689Skan# All rights reserved.
4169689Skan# Copyright (c) 2002 Networks Associates Technologies, Inc.
5169689Skan# All rights reserved.
6169689Skan#
7169689Skan# Portions of this software was developed for the FreeBSD Project by
8169689Skan# ThinkSec AS and NAI Labs, the Security Research Division of Network
9169689Skan# Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
10169689Skan# ("CBOSS"), as part of the DARPA CHATS research program.
11169689Skan#
12169689Skan# Redistribution and use in source and binary forms, with or without
13169689Skan# modification, are permitted provided that the following conditions
14169689Skan# are met:
15169689Skan# 1. Redistributions of source code must retain the above copyright
16169689Skan#    notice, this list of conditions and the following disclaimer.
17169689Skan# 2. Redistributions in binary form must reproduce the above copyright
18169689Skan#    notice, this list of conditions and the following disclaimer in the
19169689Skan#    documentation and/or other materials provided with the distribution.
20169689Skan# 3. The name of the author may not be used to endorse or promote
21169689Skan#    products derived from this software without specific prior written
22169689Skan#    permission.
23169689Skan#
24169689Skan# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
25169689Skan# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26169689Skan# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27169689Skan# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
28169689Skan# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29169689Skan# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30169689Skan# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31169689Skan# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32169689Skan# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33169689Skan# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34169689Skan# SUCH DAMAGE.
35169689Skan#
36169689Skan# $FreeBSD: head/lib/libpam/libpam/Makefile 91714 2002-03-05 21:56:25Z des $
37169689Skan#
38169689Skan
39169689SkanOPENPAM		 = ${.CURDIR}/../../../contrib/openpam
40169689Skan
41169689SkanLIB		 = pam
42169689Skan
43169689SkanCFLAGS		+= -I${.CURDIR} -I${OPENPAM}/include
44169689SkanCFLAGS		+= -DLIB_MAJ=${SHLIB_MAJOR}
45169689SkanWARNS		?= 4
46169689Skan
47169689SkanSRCS		 =
48169689SkanSRCS		+= openpam_dispatch.c
49169689SkanSRCS		+= openpam_dynamic.c
50169689SkanSRCS		+= openpam_findenv.c
51169689SkanSRCS		+= openpam_get_option.c
52169689SkanSRCS		+= openpam_load.c
53169689SkanSRCS		+= openpam_log.c
54169689SkanSRCS		+= openpam_set_option.c
55169689SkanSRCS		+= openpam_ttyconv.c
56169689SkanSRCS		+= pam_acct_mgmt.c
57169689SkanSRCS		+= pam_authenticate.c
58169689SkanSRCS		+= pam_chauthtok.c
59169689SkanSRCS		+= pam_close_session.c
60169689SkanSRCS		+= pam_end.c
61169689SkanSRCS		+= pam_error.c
62169689SkanSRCS		+= pam_get_authtok.c
63169689SkanSRCS		+= pam_get_data.c
64169689SkanSRCS		+= pam_get_item.c
65169689SkanSRCS		+= pam_get_user.c
66169689SkanSRCS		+= pam_getenv.c
67169689SkanSRCS		+= pam_getenvlist.c
68169689SkanSRCS		+= pam_info.c
69169689SkanSRCS		+= pam_open_session.c
70169689SkanSRCS		+= pam_prompt.c
71169689SkanSRCS		+= pam_putenv.c
72169689SkanSRCS		+= pam_set_data.c
73169689SkanSRCS		+= pam_set_item.c
74169689SkanSRCS		+= pam_setcred.c
75169689SkanSRCS		+= pam_setenv.c
76169689SkanSRCS		+= pam_start.c
77169689SkanSRCS		+= pam_strerror.c
78169689SkanSRCS		+= pam_verror.c
79169689SkanSRCS		+= pam_vinfo.c
80169689SkanSRCS		+= pam_vprompt.c
81169689Skan
82169689SkanMAN		 =
83169689SkanMAN		+= openpam_get_option.3
84169689SkanMAN		+= openpam_log.3
85169689SkanMAN		+= openpam_set_option.3
86169689SkanMAN		+= openpam_ttyconv.3
87169689SkanMAN		+= pam.3
88169689SkanMAN		+= pam_acct_mgmt.3
89169689SkanMAN		+= pam_authenticate.3
90169689SkanMAN		+= pam_chauthtok.3
91169689SkanMAN		+= pam_close_session.3
92169689SkanMAN		+= pam_end.3
93169689SkanMAN		+= pam_error.3
94169689SkanMAN		+= pam_get_authtok.3
95169689SkanMAN		+= pam_get_data.3
96169689SkanMAN		+= pam_get_item.3
97169689SkanMAN		+= pam_get_user.3
98169689SkanMAN		+= pam_getenv.3
99169689SkanMAN		+= pam_getenvlist.3
100169689SkanMAN		+= pam_info.3
101169689SkanMAN		+= pam_open_session.3
102169689SkanMAN		+= pam_prompt.3
103169689SkanMAN		+= pam_putenv.3
104169689SkanMAN		+= pam_set_data.3
105169689SkanMAN		+= pam_set_item.3
106169689SkanMAN		+= pam_setcred.3
107169689SkanMAN		+= pam_setenv.3
108169689SkanMAN		+= pam_sm_acct_mgmt.3
109169689SkanMAN		+= pam_sm_authenticate.3
110169689SkanMAN		+= pam_sm_chauthtok.3
111169689SkanMAN		+= pam_sm_close_session.3
112169689SkanMAN		+= pam_sm_open_session.3
113169689SkanMAN		+= pam_sm_setcred.3
114169689SkanMAN		+= pam_start.3
115169689SkanMAN		+= pam_strerror.3
116169689Skan
117169689Skan# Local additions
118169689SkanSRCS		+= pam_debug_log.c
119169689SkanSRCS		+= pam_std_option.c
120169689Skan
121169689SkanHEADERS		 =
122169689SkanHEADERS		+= security/openpam.h
123169689SkanHEADERS		+= security/pam_appl.h
124169689SkanHEADERS		+= security/pam_constants.h
125169689SkanHEADERS		+= security/pam_modules.h
126169689SkanHEADERS		+= security/pam_types.h
127169689Skan
128169689SkanADD_HEADERS	 = pam_mod_misc.h
129169689Skan
130169689Skan# Static modules
131169689SkanMODULE_DIR	 = ../modules
132169689Skan.include "${.CURDIR}/${MODULE_DIR}/modules.inc"
133169689SkanSTATIC_MODULES	 = ${MODULES:C/.*/${MODULE_DIR}\/&\/lib&.a/}
134169689SkanSTATICOBJS	+= openpam_static_modules.o
135169689SkanCLEANFILES	+= openpam_static.o
136169689Skan
137169689Skan_EXTRADEPEND: openpam_static.c
138169689Skan	${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
139169689Skan	    ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BID]*} \
140169689Skan	    ${.ALLSRC}
141169689Skan
142169689Skan.if ${OBJFORMAT} == elf
143169689SkanCLEANFILES+=	setdef0.o openpam_static_modules.o setdef1.o \
144169689Skan		setdef0.c setdef1.c setdefs.h
145169689Skan
146169689Skanopenpam_static_modules.o: openpam_static.o ${STATIC_MODULES}
147169689Skan	${LD} -o ${.TARGET} -r --whole-archive ${.ALLSRC}
148169689Skan.else
149169689Skanopenpam_static_modules.o: openpam_static.o ${STATIC_MODULES}
150169689Skan	${LD} -o ${.TARGET} -r -Bforcearchive ${.ALLSRC}
151169689Skan.endif
152169689Skan
153169689Skan# Headers
154169689Skanbeforeinstall:
155169689Skan.for HEADER in ${HEADERS}
156169689Skan	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
157169689Skan	    ${OPENPAM}/include/${HEADER} ${DESTDIR}/usr/include/${HEADER}
158169689Skan.endfor
159169689Skan.for HEADER in ${ADD_HEADERS}
160169689Skan	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
161169689Skan	    ${.CURDIR}/${HEADER} ${DESTDIR}/usr/include/security/${HEADER}
162169689Skan.endfor
163169689Skan
164169689Skan.include <bsd.lib.mk>
165169689Skan.PATH: ${OPENPAM}/include
166169689Skan.PATH: ${OPENPAM}/lib
167169689Skan.PATH: ${OPENPAM}/doc/man
168169689Skan