summaryrefslogtreecommitdiff
path: root/dynamic/Makefile
diff options
context:
space:
mode:
authorAndrew G. Morgan <morgan@kernel.org>2001-12-09 22:51:12 +0000
committerAndrew G. Morgan <morgan@kernel.org>2001-12-09 22:51:12 +0000
commit2acda542874f720091f6bfcb7aad09e35a8b2375 (patch)
tree6d9a5e3342ed86a65033576131096b867c214e9b /dynamic/Makefile
parent97c9cd159d080814e56508fcc4ad0032f5f8023c (diff)
Relevant BUGIDs: 232194
Purpose of commit: new feature Commit summary: --------------- If you are looking for an object that you can blindly dlopen() and use to bind to pam w/ modules, this commit is for you. Its not fully integrated into the build tree, but I'd like some feedback before wiring it in as a regular feature.
Diffstat (limited to 'dynamic/Makefile')
-rw-r--r--dynamic/Makefile70
1 files changed, 70 insertions, 0 deletions
diff --git a/dynamic/Makefile b/dynamic/Makefile
new file mode 100644
index 00000000..09102af0
--- /dev/null
+++ b/dynamic/Makefile
@@ -0,0 +1,70 @@
+#
+# $Id$
+#
+#
+
+include ../Make.Rules
+
+ifeq ($(WITH_LIBDEBUG),yes)
+ LIBNAME=pamd
+else
+ LIBNAME=pam
+endif
+VERSION=.$(MAJOR_REL)
+MODIFICATION=.$(MINOR_REL)
+
+# ---------------------------------------------
+
+dummy: ../Make.Rules all
+
+# ---------------------------------------------
+
+# dynamic library names
+
+PAMSHOBJ = pam.so
+PAMSHOBJMAJ = $(PAMSHOBJ)$(VERSION)
+
+DLIBOBJECTS = pam.o
+
+# ---------------------------------------------
+## rules
+
+all: dirs $(PAMSHOBJ) ../Make.Rules
+
+dirs:
+ifeq ($(DYNAMIC_LIBPAM),yes)
+ $(MKDIR) dynamic
+endif
+ifeq ($(STATIC_LIBPAM),yes)
+ $(MKDIR) static
+endif
+
+dynamic/%.o : %.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
+
+static/%.o : %.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
+
+$(PAMSHOBJ): $(DLIBOBJECTS)
+ifeq ($(USESONAME),yes)
+ $(LD_L) $(SOSWITCH) $(PAMSHOBJMAJ) -o $@ $+ $(LINKLIBS)
+else
+ $(LD_L) -o $@ $(DLIBOBJECTS) $(LINKLIBS)
+endif
+
+install: all
+ $(MKDIR) $(FAKEROOT)$(libdir)
+ifeq ($(DYNAMIC_LIBPAM),yes)
+ $(INSTALL) -m $(SHLIBMODE) $(PAMSHOBJ) $(FAKEROOT)$(libdir)/$(PAMSHOBJ)
+ $(LDCONFIG)
+endif
+
+remove:
+ rm -f $(FAKEROOT)$(libdir)/$(LIBPAM)
+ $(LDCONFIG)
+
+clean:
+ rm -f a.out core *~ static/*.o dynamic/*.o
+ rm -f *.a *.o *.so ./include/security/*~
+ if [ -d dynamic ]; then rmdir dynamic ; fi
+ if [ -d static ]; then rmdir static ; fi