mirror of
https://github.com/linux-pam/linux-pam.git
synced 2024-12-03 22:53:42 +08:00
73346dba77
Purpose of commit: autoconf support for Linux-PAM Commit summary: --------------- This is a merge of the autoconf support that was developed against a 0-72 branch. [Note, because CVS has some issues, this is actually only 95% of the actual commit. The other files were actually committed when the preparation branch Linux-PAM-0-73pre-autoconf was updated. Hopefully, this will complete the merge.]
148 lines
3.7 KiB
Makefile
148 lines
3.7 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
#
|
|
|
|
include ../Make.Rules
|
|
|
|
# need to tell libpam about the default directory for PAMs
|
|
MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(SECUREDIR)/\""
|
|
|
|
ifeq ($(WITH_LIBDEBUG),yes)
|
|
LIBNAME=libpamd
|
|
else
|
|
LIBNAME=libpam
|
|
endif
|
|
VERSION=.$(MAJOR_REL)
|
|
MODIFICATION=.$(MINOR_REL)
|
|
|
|
# ---------------------------------------------
|
|
|
|
dummy: ../Make.Rules all
|
|
|
|
# ---------------------------------------------
|
|
|
|
CFLAGS += $(DYNAMIC) $(STATIC) $(MOREFLAGS)
|
|
|
|
# dynamic library names
|
|
|
|
LIBPAM = $(LIBNAME).$(DYNTYPE)
|
|
LIBPAMNAME = $(LIBPAM)$(VERSION)
|
|
LIBPAMFULL = $(LIBPAMNAME)$(MODIFICATION)
|
|
|
|
# static library name
|
|
|
|
LIBPAMSTATIC = $(LIBNAME).a
|
|
|
|
ifdef STATIC
|
|
@echo Did you mean to set STATIC\?
|
|
MODULES = $(shell cat ../modules/_static_module_objects)
|
|
STATICOBJ = pam_static.o
|
|
endif
|
|
|
|
ifdef MEMORY_DEBUG
|
|
EXTRAS += pam_malloc.o
|
|
endif
|
|
|
|
LIBOBJECTS = pam_item.o pam_strerror.o pam_end.o pam_start.o pam_data.o \
|
|
pam_delay.o pam_dispatch.o pam_handlers.o pam_misc.o \
|
|
pam_account.o pam_auth.o pam_session.o pam_password.o \
|
|
pam_env.o pam_log.o $(EXTRAS)
|
|
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
# libpam.so needs -ldl, too.
|
|
DLIBOBJECTS = $(addprefix dynamic/,$(LIBOBJECTS) $(STATICOBJ))
|
|
ifeq ($(STATICOBJ),yes)
|
|
dynamic/pam_static.o: pam_static.c ../modules/_static_module_objects
|
|
$(CC) $(CFLAGS) -c pam_static.c -o $@
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(STATIC_LIBPAM),yes)
|
|
SLIBOBJECTS = $(addprefix static/,$(LIBOBJECTS) $(STATICOBJ))
|
|
ifdef STATICOBJ
|
|
static/pam_static.o: pam_static.c ../modules/_static_module_objects
|
|
$(CC) $(CFLAGS) -c pam_static.c -o $@
|
|
endif
|
|
endif
|
|
|
|
# ---------------------------------------------
|
|
## rules
|
|
|
|
all: dirs $(LIBPAM) $(LIBPAMSTATIC) ../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 $@
|
|
|
|
$(LIBPAM): $(DLIBOBJECTS)
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
ifeq ($(USESONAME),yes)
|
|
$(LD_L) $(SOSWITCH) $(LIBPAMNAME) -o $@ $(DLIBOBJECTS) \
|
|
$(MODULES) $(LINKLIBS)
|
|
else
|
|
$(LD_L) -o $@ $(DLIBOBJECTS) $(MODULES) $(LINKLIBS)
|
|
endif
|
|
ifeq ($(NEEDSONAME),yes)
|
|
rm -f $(LIBPAMFULL)
|
|
ln -s $(LIBPAM) $(LIBPAMFULL)
|
|
rm -f $(LIBPAMNAME)
|
|
ln -s $(LIBPAM) $(LIBPAMNAME)
|
|
endif
|
|
endif
|
|
|
|
$(LIBPAMSTATIC): $(SLIBOBJECTS)
|
|
ifeq ($(STATIC_LIBPAM),yes)
|
|
$(AR) $@ $(SLIBOBJECTS) $(MODULES)
|
|
$(RANLIB) $@
|
|
endif
|
|
|
|
install: all
|
|
$(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)
|
|
$(INSTALL) -m 644 include/security/_pam_macros.h $(FAKEROOT)$(INCLUDED)
|
|
$(INSTALL) -m 644 include/security/_pam_types.h $(FAKEROOT)$(INCLUDED)
|
|
$(INSTALL) -m 644 include/security/_pam_compat.h $(FAKEROOT)$(INCLUDED)
|
|
ifdef MEMORY_DEBUG
|
|
$(INSTALL) -m 644 include/security/pam_malloc.h $(FAKEROOT)$(INCLUDED)
|
|
endif
|
|
ifeq ($(DYNAMIC_LIBPAM),yes)
|
|
$(INSTALL) -m $(SHLIBMODE) $(LIBPAM) $(FAKEROOT)$(libdir)/$(LIBPAMFULL)
|
|
$(LDCONFIG)
|
|
ifneq ($(DYNTYPE),"sl")
|
|
( cd $(FAKEROOT)$(libdir) ; rm -f $(LIBPAM) ; \
|
|
ln -s $(LIBPAMNAME) $(LIBPAM) )
|
|
endif
|
|
endif
|
|
ifeq ($(STATIC_LIBPAM),yes)
|
|
$(INSTALL) -m 644 $(LIBPAMSTATIC) $(FAKEROOT)$(libdir)
|
|
endif
|
|
|
|
remove:
|
|
rm -f $(FAKEROOT)$(INCLUDED)/_pam_types.h
|
|
rm -f $(FAKEROOT)$(INCLUDED)/_pam_macros.h
|
|
rm -f $(FAKEROOT)$(INCLUDED)/pam_appl.h
|
|
rm -f $(FAKEROOT)$(INCLUDED)/pam_modules.h
|
|
rm -f $(FAKEROOT)$(INCLUDED)/pam_malloc.h
|
|
rm -f $(FAKEROOT)$(libdir)/$(LIBPAM).*
|
|
rm -f $(FAKEROOT)$(libdir)/$(LIBPAM)
|
|
$(LDCONFIG)
|
|
rm -f $(FAKEROOT)$(libdir)/$(LIBPAMSTATIC)
|
|
|
|
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
|