8 # need to tell libpam about the default directory for PAMs
9 MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(SECUREDIR)/\""
11 ifeq ($(WITH_LIBDEBUG),yes)
17 MODIFICATION=.$(MINOR_REL)
19 # ---------------------------------------------
21 dummy: ../Make.Rules all
23 # ---------------------------------------------
25 CFLAGS += $(DYNAMIC) $(STATIC) $(MOREFLAGS)
27 # dynamic library names
29 LIBPAM = $(LIBNAME).$(DYNTYPE)
30 LIBPAMNAME = $(LIBPAM)$(VERSION)
31 LIBPAMFULL = $(LIBPAMNAME)$(MODIFICATION)
35 LIBPAMSTATIC = $(LIBNAME).a
38 @echo Did you mean to set STATIC\?
39 MODULES = $(shell cat ../modules/_static_module_objects)
40 STATICOBJ = pam_static.o
44 EXTRAS += pam_malloc.o
47 LIBOBJECTS = pam_item.o pam_strerror.o pam_end.o pam_start.o pam_data.o \
48 pam_delay.o pam_dispatch.o pam_handlers.o pam_misc.o \
49 pam_account.o pam_auth.o pam_session.o pam_password.o \
50 pam_env.o pam_log.o $(EXTRAS)
52 ifeq ($(DYNAMIC_LIBPAM),yes)
53 # libpam.so needs -ldl, too.
54 DLIBOBJECTS = $(addprefix dynamic/,$(LIBOBJECTS) $(STATICOBJ))
55 ifeq ($(STATICOBJ),yes)
56 dynamic/pam_static.o: pam_static.c ../modules/_static_module_objects
57 $(CC) $(CFLAGS) -c pam_static.c -o $@
61 ifeq ($(STATIC_LIBPAM),yes)
62 SLIBOBJECTS = $(addprefix static/,$(LIBOBJECTS) $(STATICOBJ))
64 static/pam_static.o: pam_static.c ../modules/_static_module_objects
65 $(CC) $(CFLAGS) -c pam_static.c -o $@
69 # ---------------------------------------------
72 all: dirs $(LIBPAM) $(LIBPAMSTATIC) ../Make.Rules
75 ifeq ($(DYNAMIC_LIBPAM),yes)
78 ifeq ($(STATIC_LIBPAM),yes)
83 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
86 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
88 $(LIBPAM): $(DLIBOBJECTS)
89 ifeq ($(DYNAMIC_LIBPAM),yes)
90 ifeq ($(USESONAME),yes)
91 $(LD_L) $(SOSWITCH) $(LIBPAMNAME) -o $@ $(DLIBOBJECTS) \
92 $(MODULES) $(LINKLIBS)
94 $(LD_L) -o $@ $(DLIBOBJECTS) $(MODULES) $(LINKLIBS)
96 ifeq ($(NEEDSONAME),yes)
98 ln -s $(LIBPAM) $(LIBPAMFULL)
100 ln -s $(LIBPAM) $(LIBPAMNAME)
104 $(LIBPAMSTATIC): $(SLIBOBJECTS)
105 ifeq ($(STATIC_LIBPAM),yes)
106 $(AR) $@ $(SLIBOBJECTS) $(MODULES)
111 $(MKDIR) $(FAKEROOT)$(INCLUDED) $(FAKEROOT)$(libdir)
112 $(INSTALL) -m 644 include/security/pam_appl.h $(FAKEROOT)$(INCLUDED)
113 $(INSTALL) -m 644 include/security/pam_modules.h $(FAKEROOT)$(INCLUDED)
114 $(INSTALL) -m 644 include/security/_pam_macros.h $(FAKEROOT)$(INCLUDED)
115 $(INSTALL) -m 644 include/security/_pam_types.h $(FAKEROOT)$(INCLUDED)
116 $(INSTALL) -m 644 include/security/_pam_compat.h $(FAKEROOT)$(INCLUDED)
118 $(INSTALL) -m 644 include/security/pam_malloc.h $(FAKEROOT)$(INCLUDED)
120 ifeq ($(DYNAMIC_LIBPAM),yes)
121 $(INSTALL) -m $(SHLIBMODE) $(LIBPAM) $(FAKEROOT)$(libdir)/$(LIBPAMFULL)
123 ifneq ($(DYNTYPE),"sl")
124 ( cd $(FAKEROOT)$(libdir) ; rm -f $(LIBPAM) ; \
125 ln -s $(LIBPAMNAME) $(LIBPAM) )
128 ifeq ($(STATIC_LIBPAM),yes)
129 $(INSTALL) -m 644 $(LIBPAMSTATIC) $(FAKEROOT)$(libdir)
133 rm -f $(FAKEROOT)$(INCLUDED)/_pam_types.h
134 rm -f $(FAKEROOT)$(INCLUDED)/_pam_macros.h
135 rm -f $(FAKEROOT)$(INCLUDED)/pam_appl.h
136 rm -f $(FAKEROOT)$(INCLUDED)/pam_modules.h
137 rm -f $(FAKEROOT)$(INCLUDED)/pam_malloc.h
138 rm -f $(FAKEROOT)$(libdir)/$(LIBPAM).*
139 rm -f $(FAKEROOT)$(libdir)/$(LIBPAM)
141 rm -f $(FAKEROOT)$(libdir)/$(LIBPAMSTATIC)
144 rm -f a.out core *~ static/*.o dynamic/*.o
145 rm -f *.a *.o *.so ./include/security/*~
146 if [ -d dynamic ]; then rmdir dynamic ; fi
147 if [ -d static ]; then rmdir static ; fi