de-errno
[dragonfly.git] / contrib / libpam / libpam / Makefile
1 #
2 # $Id: Makefile,v 1.19 1997/04/05 06:58:43 morgan Exp morgan $
3 # $FreeBSD: src/contrib/libpam/libpam/Makefile,v 1.1.1.1.6.2 2001/06/11 15:28:12 markm Exp $
4 # $DragonFly: src/contrib/libpam/libpam/Attic/Makefile,v 1.2 2003/06/17 04:24:03 dillon Exp $
5 #
6 # $Log: Makefile,v $
7 # Revision 1.19  1997/04/05 06:58:43  morgan
8 # fakeroot
9 #
10 # Revision 1.18  1997/02/15 15:56:09  morgan
11 # inherit major and minor numbers
12 #
13 # Revision 1.17  1997/01/04 20:03:09  morgan
14 # update for .55
15 #
16 # Revision 1.16  1996/12/01 03:14:13  morgan
17 # update for .54
18 #
19 # Revision 1.15  1996/11/10 20:07:51  morgan
20 # updated for .53
21 #
22 # Revision 1.14  1996/09/05 06:06:53  morgan
23 # added local flag for locking, slight reorganization too.
24 #
25
26 # need to tell libpam about the default directory for PAMs
27 MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(SECUREDIR)/\""
28
29 # you may uncomment the following to build libpam in modified ways
30
31 # lots of debugging information goes to /tmp/pam-debug.log
32 #MOREFLAGS += -D"DEBUG"
33
34 # pay attention to locked /etc/pam.conf or /etc/pam.d/* files
35 #MOREFLAGS += -D"PAM_LOCKING"
36
37 # read both the /etc/pam.d/ and pam.conf files specific to the deisred service
38 #MOREFLAGS += -D"PAM_READ_BOTH_CONFS"
39
40 # make a kludge attempt to be compatible with the old pam_strerror
41 # calling convention
42 #MOREFLAGS += -D"UGLY_HACK_FOR_PRIOR_BEHAVIOR_SUPPORT"
43
44 ifeq ($(DEBUG_REL),yes)
45  LIBNAME=libpamd
46 else
47  LIBNAME=libpam
48 endif
49 VERSION=.$(MAJOR_REL)
50 MODIFICATION=.$(MINOR_REL)
51
52 # ---------------------------------------------
53
54 dummy:
55         @echo "*** This is not a top-level Makefile!"
56
57 # ---------------------------------------------
58
59 CFLAGS += $(DYNAMIC) $(STATIC) $(MOREFLAGS)
60
61 # dynamic library names
62
63 LIBPAM = $(LIBNAME).$(DYNTYPE)
64 LIBPAMNAME = $(LIBPAM)$(VERSION)
65 LIBPAMFULL = $(LIBPAMNAME)$(MODIFICATION)
66
67 # static library name
68
69 LIBPAMSTATIC = $(LIBNAME).a
70
71 ifdef STATIC
72 MODULES = $(shell cat ../modules/_static_module_objects)
73 STATICOBJ = pam_static.o
74 endif
75
76 ifdef MEMORY_DEBUG
77 EXTRAS += pam_malloc.o
78 endif
79
80 LIBOBJECTS = pam_item.o pam_strerror.o pam_end.o pam_start.o pam_data.o \
81                 pam_delay.o pam_dispatch.o pam_handlers.o pam_misc.o \
82                 pam_account.o pam_auth.o pam_session.o pam_password.o \
83                 pam_env.o pam_log.o $(EXTRAS)
84
85 ifdef DYNAMIC_LIBPAM
86 DLIBOBJECTS = $(addprefix dynamic/,$(LIBOBJECTS) $(STATICOBJ))
87 ifdef STATICOBJ
88 dynamic/pam_static.o: pam_static.c ../modules/_static_module_objects
89         $(CC) $(CFLAGS) -c pam_static.c -o $@
90 endif
91 endif
92
93 ifdef STATIC_LIBPAM
94 SLIBOBJECTS = $(addprefix static/,$(LIBOBJECTS) $(STATICOBJ))
95 ifdef STATICOBJ
96 static/pam_static.o: pam_static.c ../modules/_static_module_objects
97         $(CC) $(CFLAGS) -c pam_static.c -o $@
98 endif
99 endif
100
101 # ---------------------------------------------
102 ## rules
103
104 all: dirs $(LIBPAM) $(LIBPAMSTATIC)
105
106 dirs:
107 ifdef DYNAMIC_LIBPAM
108         mkdir -p dynamic
109 endif
110 ifdef STATIC_LIBPAM
111         mkdir -p static
112 endif
113
114 dynamic/%.o : %.c
115         $(CC) $(CFLAGS) $(DYNAMIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
116
117 static/%.o : %.c
118         $(CC) $(CFLAGS) $(STATIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
119
120 $(LIBPAM): $(DLIBOBJECTS)
121 ifdef DYNAMIC_LIBPAM
122     ifeq ($(USESONAME),yes)
123         $(LD_L) $(SOSWITCH) $(LIBPAMNAME) -o $@ $(DLIBOBJECTS) $(MODULES)
124     else
125         $(LD_L) -o $@ $(DLIBOBJECTS) $(MODULES)
126     endif
127     ifeq ($(NEEDSONAME),yes)
128         rm -f $(LIBPAMFULL)
129         ln -s $(LIBPAM) $(LIBPAMFULL)
130         rm -f $(LIBPAMNAME)
131         ln -s $(LIBPAM) $(LIBPAMNAME)
132     endif
133 endif
134
135 $(LIBPAMSTATIC): $(SLIBOBJECTS)
136 ifdef STATIC_LIBPAM
137         $(AR) $@ $(SLIBOBJECTS) $(MODULES)
138         $(RANLIB) $@
139 endif
140
141 install: all
142         $(MKDIR) $(FAKEROOT)$(INCLUDED)
143         $(INSTALL) -m 644 include/security/pam_appl.h $(FAKEROOT)$(INCLUDED)
144         $(INSTALL) -m 644 include/security/pam_modules.h $(FAKEROOT)$(INCLUDED)
145         $(INSTALL) -m 644 include/security/_pam_macros.h $(FAKEROOT)$(INCLUDED)
146         $(INSTALL) -m 644 include/security/_pam_types.h $(FAKEROOT)$(INCLUDED)
147         $(INSTALL) -m 644 include/security/_pam_compat.h $(FAKEROOT)$(INCLUDED)
148 ifdef MEMORY_DEBUG
149         $(INSTALL) -m 644 include/security/pam_malloc.h $(FAKEROOT)$(INCLUDED)
150 endif
151 ifdef DYNAMIC_LIBPAM
152         $(INSTALL) -m $(SHLIBMODE) $(LIBPAM) $(FAKEROOT)$(LIBDIR)/$(LIBPAMFULL)
153         $(LDCONFIG)
154   ifneq ($(DYNTYPE),"sl")
155         ( cd $(FAKEROOT)$(LIBDIR) ; rm -f $(LIBPAM) ; ln -s $(LIBPAMNAME) $(LIBPAM) )
156   endif
157 endif
158 ifdef STATIC_LIBPAM
159         $(INSTALL) -m 644 $(LIBPAMSTATIC) $(FAKEROOT)$(LIBDIR)
160 endif
161
162 remove:
163         rm -f $(FAKEROOT)$(INCLUDED)/_pam_types.h
164         rm -f $(FAKEROOT)$(INCLUDED)/_pam_macros.h
165         rm -f $(FAKEROOT)$(INCLUDED)/pam_appl.h
166         rm -f $(FAKEROOT)$(INCLUDED)/pam_modules.h
167         rm -f $(FAKEROOT)$(INCLUDED)/pam_malloc.h
168         rm -f $(FAKEROOT)$(LIBDIR)/$(LIBPAM).*
169         rm -f $(FAKEROOT)$(LIBDIR)/$(LIBPAM)
170         $(LDCONFIG)
171         rm -f $(FAKEROOT)$(LIBDIR)/$(LIBPAMSTATIC)
172
173 clean:
174         rm -f a.out core *~ static/*.o dynamic/*.o
175
176 extraclean: clean
177         rm -f *.a *.out *.o *.so ./include/security/*~
178         if [ -d dynamic ]; then rmdir dynamic ; fi
179         if [ -d static ]; then rmdir static ; fi