$NetBSD: patch-af,v 1.5 2004/11/19 14:54:55 jlam Exp $ --- libpamc/Makefile.orig 2001-02-10 02:17:53.000000000 -0500 +++ libpamc/Makefile @@ -15,7 +15,7 @@ endif VERSION=.$(MAJOR_REL) MODIFICATION=.$(MINOR_REL) -CFLAGS += $(MOREFLAGS) $(DYNAMIC) $(STATIC) +CFLAGS += $(MOREFLAGS) $(DYNAMIC) $(STATIC) $(LTCFLAGS) # dynamic library names @@ -27,6 +27,10 @@ LIBNAMEDFULL = $(LIBNAMEDNAME)$(MODIFICA LIBNAMEDSTATIC = $(LIBNAME).a +# libtool library name + +LIBNAMEDLIBTOOL = $(LIBNAME).la + LIBOBJECTS = pamc_client.o pamc_converse.o pamc_load.o ifeq ($(DYNAMIC_LIBPAM),yes) @@ -37,10 +41,24 @@ ifeq ($(STATIC_LIBPAM),yes) SLIBOBJECTS = $(addprefix static/,$(LIBOBJECTS)) endif +ifeq ($(LIBTOOL_LIBPAM),yes) +LALIBOBJECTS = $(LIBOBJECTS:.o=.lo) +endif + # --------------------------------------------- ## rules -all: dirs $(LIBNAMED) $(LIBNAMEDSTATIC) +ifeq ($(DYNAMIC_LIBPAM),yes) +LIBS_TO_BUILD+= $(LIBNAMED) +endif +ifeq ($(STATIC_LIBPAM),yes) +LIBS_TO_BUILD+= $(LIBNAMEDSTATIC) +endif +ifeq ($(LIBTOOL_LIBPAM),yes) +LIBS_TO_BUILD+= $(LIBNAMEDLIBTOOL) +endif + +all: dirs $(LIBS_TO_BUILD) dirs: ifeq ($(DYNAMIC_LIBPAM),yes) @@ -56,6 +74,9 @@ dynamic/%.o : %.c static/%.o : %.c $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ +%.lo : %.c + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< + $(LIBNAMED): $(DLIBOBJECTS) ifeq ($(DYNAMIC_LIBPAM),yes) ifeq ($(USESONAME),yes) @@ -77,9 +98,30 @@ ifeq ($(STATIC_LIBPAM),yes) $(RANLIB) $@ endif -install: all +$(LIBNAMEDLIBTOOL): $(LALIBOBJECTS) +ifeq ($(LIBTOOL_LIBPAM),yes) + $(LIBTOOL) --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) $(INSTALL) -m 644 include/security/pam_client.h $(FAKEROOT)$(INCLUDED) + +install-dynamic: ifeq ($(DYNAMIC_LIBPAM),yes) $(MKDIR) $(FAKEROOT)$(libdir) $(INSTALL) -m $(SHLIBMODE) $(LIBNAMED) $(FAKEROOT)$(libdir)/$(LIBNAMEDFULL) @@ -88,20 +130,30 @@ ifeq ($(DYNAMIC_LIBPAM),yes) ( cd $(FAKEROOT)$(libdir) ; rm -f $(LIBNAMED) ; ln -s $(LIBNAMEDNAME) $(LIBNAMED) ) endif endif + +install-static: ifeq ($(STATIC_LIBPAM),yes) $(INSTALL) -m 644 $(LIBNAMEDSTATIC) $(FAKEROOT)$(libdir) endif +install-libtool: +ifeq ($(LIBTOOL_LIBPAM),yes) + $(LIBTOOL) --mode=install $(INSTALL) -c $(LIBNAMEDLIBTOOL) $(FAKEROOT)$(libdir) +endif + remove: rm -f $(FAKEROOT)$(INCLUDED)/pam_client.h rm -f $(FAKEROOT)$(libdir)/$(LIBNAMEDFULL) rm -f $(FAKEROOT)$(libdir)/$(LIBNAMED) $(LDCONFIG) rm -f $(FAKEROOT)$(libdir)/$(LIBNAMEDSTATIC) +ifeq ($(LIBTOOL_LIBPAM),yes) + $(LIBTOOL) --mode=uninstall rm $(FAKEROOT)$(libdir)/$(LIBNAMEDLIBTOOL) +endif clean: rm -f a.out core *~ static/*.o dynamic/*.o - rm -f *.a *.out *.o *.so ./include/security/*~ + rm -f *.a *.la *.lo *.out *.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