]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libpam/static_libpam/Makefile
MFV: xz 5.6.0.
[FreeBSD/FreeBSD.git] / lib / libpam / static_libpam / Makefile
1 #-
2 # Copyright (c) 1998-2015 Juniper Networks, Inc.
3 # All rights reserved.
4 # Copyright (c) 2002 Networks Associates Technology, Inc.
5 # All rights reserved.
6 #
7 # Portions of this software was developed for the FreeBSD Project by
8 # ThinkSec AS and NAI Labs, the Security Research Division of Network
9 # Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
10 # ("CBOSS"), as part of the DARPA CHATS research program.
11 #
12 # Redistribution and use in source and binary forms, with or without
13 # modification, are permitted provided that the following conditions
14 # are met:
15 # 1. Redistributions of source code must retain the above copyright
16 #    notice, this list of conditions and the following disclaimer.
17 # 2. Redistributions in binary form must reproduce the above copyright
18 #    notice, this list of conditions and the following disclaimer in the
19 #    documentation and/or other materials provided with the distribution.
20 # 3. The name of the author may not be used to endorse or promote
21 #    products derived from this software without specific prior written
22 #    permission.
23 #
24 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
25 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
28 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 # SUCH DAMAGE.
35 #
36
37 .PATH: ${SRCTOP}/lib/libpam
38
39 # Only build the static library.
40 LIB=    pam
41 NO_PIC=
42
43 # Avoid redundancy with the master Makefile.
44 MAN=
45 INCS=
46 MLINKS=
47 MK_TESTS=       no
48
49 #
50 # Static modules
51 #
52 # We build static versions of all modules and of openpam_static.o,
53 # then link them all together into openpam_static_modules.o.  None of
54 # the modules export any symbols, but they store structures with
55 # pointers to their service functions in a linker set which the code
56 # in openpam_static.c traverses to locate the individual modules.
57 #
58 MODULE_DIR=     ../modules
59 .include "${.CURDIR}/${MODULE_DIR}/modules.inc"
60 STATIC_MODULES= ${MODULES:C/.*/${MODULE_DIR}\/&\/lib&.a/}
61 STATICOBJS+=    openpam_static_modules.o
62 CLEANFILES+=    openpam_static.o \
63                 openpam_static_modules.o
64
65 openpam_static_modules.o: openpam_static.o ${STATIC_MODULES}
66         ${CC:N${CCACHE_BIN}} -nostdlib ${LDFLAGS} -o ${.TARGET} \
67             -r -Wl,--whole-archive ${.ALLSRC}
68
69 .include "${.CURDIR:H}/libpam/Makefile"