152 lines
4.2 KiB
Text
152 lines
4.2 KiB
Text
$NetBSD: patch-ad,v 1.7 2010/02/02 17:09:28 tnn Exp $
|
|
|
|
--- libpam/Makefile.orig 2001-12-09 21:44:58.000000000 +0000
|
|
+++ libpam/Makefile
|
|
@@ -6,7 +6,7 @@
|
|
include ../Make.Rules
|
|
|
|
# need to tell libpam about the default directory for PAMs
|
|
-MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(SECUREDIR)/\""
|
|
+MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(PAM_MODULEDIR)/\""
|
|
|
|
ifeq ($(WITH_LIBDEBUG),yes)
|
|
LIBNAME=libpamd
|
|
@@ -22,7 +22,7 @@ dummy: ../Make.Rules all
|
|
|
|
# ---------------------------------------------
|
|
|
|
-CFLAGS += $(DYNAMIC) $(STATIC) $(MOREFLAGS) \
|
|
+CFLAGS += $(DYNAMIC) $(STATIC) $(LTCFLAGS) $(MOREFLAGS) \
|
|
-DLIBPAM_VERSION_MAJOR=$(MAJOR_REL) \
|
|
-DLIBPAM_VERSION_MINOR=$(MINOR_REL)
|
|
|
|
@@ -36,6 +36,10 @@ LIBPAMFULL = $(LIBPAMNAME)$(MODIFICATION
|
|
|
|
LIBPAMSTATIC = $(LIBNAME).a
|
|
|
|
+# libtool library name
|
|
+
|
|
+LIBPAMLIBTOOL = $(LIBNAME).la
|
|
+
|
|
ifdef STATIC
|
|
@echo Did you mean to set STATIC\?
|
|
MODULES = $(shell cat ../modules/_static_module_objects)
|
|
@@ -56,7 +60,7 @@ LIBOBJECTS = pam_item.o pam_strerror.o p
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
# libpam.so needs -ldl, too.
|
|
DLIBOBJECTS = $(addprefix dynamic/,$(LIBOBJECTS) $(STATICOBJ))
|
|
-ifeq ($(STATICOBJ),yes)
|
|
+ifdef STATICOBJ
|
|
dynamic/pam_static.o: pam_static.c ../modules/_static_module_objects
|
|
$(CC) $(CFLAGS) -c pam_static.c -o $@
|
|
endif
|
|
@@ -70,10 +74,28 @@ static/pam_static.o: pam_static.c ../mod
|
|
endif
|
|
endif
|
|
|
|
+ifeq ($(LIBTOOL_LIBPAM),yes)
|
|
+LALIBOBJECTS = $(LIBOBJECTS:.o=.lo) $(STATICOBJ:.o=.lo)
|
|
+ifdef STATICOBJ
|
|
+pam_static.lo: pam_static.c ../modules/_static_module_objects
|
|
+ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) -c pam_static.c
|
|
+endif
|
|
+endif
|
|
+
|
|
# ---------------------------------------------
|
|
## rules
|
|
|
|
-all: dirs $(LIBPAM) $(LIBPAMSTATIC) ../Make.Rules
|
|
+ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
+LIBS_TO_BUILD+= $(LIBPAM)
|
|
+endif
|
|
+ifeq ($(STATIC_LIBPAM),yes)
|
|
+LIBS_TO_BUILD+= $(LIBPAMSTATIC)
|
|
+endif
|
|
+ifeq ($(LIBTOOL_LIBPAM),yes)
|
|
+LIBS_TO_BUILD+= $(LIBPAMLIBTOOL)
|
|
+endif
|
|
+
|
|
+all: dirs $(LIBS_TO_BUILD) ../Make.Rules
|
|
|
|
dirs:
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
@@ -89,6 +111,9 @@ dynamic/%.o : %.c
|
|
static/%.o : %.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
|
|
|
|
+%.lo : %.c
|
|
+ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $<
|
|
+
|
|
$(LIBPAM): $(DLIBOBJECTS)
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
ifeq ($(USESONAME),yes)
|
|
@@ -111,7 +136,26 @@ ifeq ($(STATIC_LIBPAM),yes)
|
|
$(RANLIB) $@
|
|
endif
|
|
|
|
-install: all
|
|
+$(LIBPAMLIBTOOL): $(LALIBOBJECTS)
|
|
+ifeq ($(LIBTOOL_LIBPAM),yes)
|
|
+ $(LIBTOOL) --tag=CC --mode=link $(CC) $(LDFLAGS) $(LALIBOBJECTS) -o $@ \
|
|
+ $(MODULES) $(LINKLIBS) \
|
|
+ -rpath $(libdir) -version-info $(MAJOR_REL):$(MINOR_REL)
|
|
+endif
|
|
+
|
|
+install: all install-headers
|
|
+
|
|
+ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
+install: install-dynamic
|
|
+endif
|
|
+ifeq ($(STATIC_LIBPAM),yes)
|
|
+install: install-static
|
|
+endif
|
|
+ifeq ($(LIBTOOL_LIBPAM),yes)
|
|
+install: install-libtool
|
|
+endif
|
|
+
|
|
+install-headers:
|
|
$(MKDIR) $(FAKEROOT)$(INCLUDED) $(FAKEROOT)$(libdir)
|
|
$(INSTALL) -m 644 include/security/pam_appl.h $(FAKEROOT)$(INCLUDED)
|
|
$(INSTALL) -m 644 include/security/pam_modules.h $(FAKEROOT)$(INCLUDED)
|
|
@@ -121,6 +165,8 @@ install: all
|
|
ifdef MEMORY_DEBUG
|
|
$(INSTALL) -m 644 include/security/pam_malloc.h $(FAKEROOT)$(INCLUDED)
|
|
endif
|
|
+
|
|
+install-dynamic:
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
$(INSTALL) -m $(SHLIBMODE) $(LIBPAM) $(FAKEROOT)$(libdir)/$(LIBPAMFULL)
|
|
$(LDCONFIG)
|
|
@@ -129,10 +175,17 @@ ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
ln -sf $(LIBPAMNAME) $(LIBPAM) )
|
|
endif
|
|
endif
|
|
+
|
|
+install-static:
|
|
ifeq ($(STATIC_LIBPAM),yes)
|
|
$(INSTALL) -m 644 $(LIBPAMSTATIC) $(FAKEROOT)$(libdir)
|
|
endif
|
|
|
|
+install-libtool:
|
|
+ifeq ($(LIBTOOL_LIBPAM),yes)
|
|
+ $(LIBTOOL) --mode=install $(INSTALL) -c $(LIBPAMLIBTOOL) $(FAKEROOT)$(libdir)
|
|
+endif
|
|
+
|
|
remove:
|
|
rm -f $(FAKEROOT)$(INCLUDED)/_pam_types.h
|
|
rm -f $(FAKEROOT)$(INCLUDED)/_pam_macros.h
|
|
@@ -143,9 +196,13 @@ remove:
|
|
rm -f $(FAKEROOT)$(libdir)/$(LIBPAM)
|
|
$(LDCONFIG)
|
|
rm -f $(FAKEROOT)$(libdir)/$(LIBPAMSTATIC)
|
|
+ifeq ($(LIBTOOL_LIBPAM),yes)
|
|
+ $(LIBTOOL) --mode=uninstall rm $(FAKEROOT)$(libdir)$(LIBPAMLIBTOOL)
|
|
+endif
|
|
|
|
clean:
|
|
rm -f a.out core *~ static/*.o dynamic/*.o
|
|
- rm -f *.a *.o *.so ./include/security/*~
|
|
+ rm -f *.a *.la *.lo *.o *.so .libs/* ./include/security/*~
|
|
if [ -d dynamic ]; then rmdir dynamic ; fi
|
|
if [ -d static ]; then rmdir static ; fi
|
|
+ if [ -d .libs ]; then rmdir .libs ; fi
|