1
# $Id: Makefile,v 1.12 2004/05/05 02:56:51 hartmans Exp $
3
# This Makefile controls a build process of the pam_unix modules
4
# for Linux-PAM. You should not modify this Makefile.
7
include ../../Make.Rules
9
########################################################################
10
# some options... uncomment to take effect
11
########################################################################
13
# Unless someone wants to work out how to make this work with the new
14
# autoconf stuff, you should use a separate module for this type of thing
15
# pam_cracklib perhaps..?
16
# do you want cracklib?
17
#ifeq ($(HAVE_CRACKLIB),yes)
18
#USE_CRACKLIB=-D"USE_CRACKLIB"
21
# do you want to use lckpwdf?
22
ifeq ($(WITH_LCKPWDF),yes)
23
USE_LCKPWDF=-D"USE_LCKPWDF"
24
# do you need to include the locking functions in the source?
25
ifeq ($(HAVE_LCKPWDF),no)
26
NEED_LCKPWDF=-D"NEED_LCKPWDF"
30
ifeq ($(HAVE_LIBNSL),yes)
34
ifeq ($(HAVE_LIBCRYPT),yes)
40
EXTRAS += -DCHKPWD_HELPER=\"$(SUPLEMENTED)/$(CHKPWD)\"
41
EXTRAS += -I../pammodutil/include
43
########################################################################
45
CFLAGS += $(USE_CRACKLIB) $(USE_LCKPWDF) $(NEED_LCKPWDF) $(EXTRAS)
46
LDLIBS = $(EXTRALS) -L../pammodutil -lpammodutil
53
LIBOBJ = pam_unix_auth.o pam_unix_acct.o pam_unix_sess.o pam_unix_passwd.o \
55
LIBSRC = pam_unix_auth.c pam_unix_acct.c pam_unix_sess.c pam_unix_passwd.c \
57
LIBOBJD = $(addprefix dynamic/,$(LIBOBJ))
58
LIBOBJS = $(addprefix static/,$(LIBOBJ))
60
PLUS = md5_good.o md5_broken.o md5_crypt_good.o md5_crypt_broken.o \
61
yppasswd_xdr.o bigcrypt.o obscure.o
64
LIBSHARED = pam_unix.so
67
LIBSTATIC = libpam_unix.o
71
########################### don't edit below #######################
73
all: dirs info $(PLUS) $(LIBSHARED) $(LIBSTATIC) $(CHKPWD) register
76
$(CC) $(CFLAGS) $(DYNAMIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
79
$(CC) $(CFLAGS) $(STATIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
82
@echo "**** This is not a top-level Makefile "
87
@echo "*** Building pam-unix module of the framework..."
100
( cd .. ; ./register_static pam_unix_auth pam_unix/$(LIBSTATIC) ; \
101
./register_static pam_unix_acct "" ; \
102
./register_static pam_unix_session "" ; \
103
./register_static pam_unix_passwd "" ; \
108
$(LIBOBJD): $(LIBSRC)
110
$(LIBSHARED): $(LIBOBJD)
111
$(LD_D) -o $@ $(LIBOBJD) $(PLUS) $(CRACKLIB) $(LDLIBS) $(LIBNSL) $(LIBCRYPT) $(NEED_LINK_LIB_C) -L../../libpam -lpam
115
$(LIBOBJS): $(LIBSRC)
117
$(LIBSTATIC): $(LIBOBJS)
118
$(LD) -r -o $@ $(LIBOBJS) $(PLUS) $(CRACKLIB) $(LDLIBS) $(LIBNSL) $(LIBCRYPT)
121
$(CHKPWD): unix_chkpwd.o md5_good.o md5_broken.o \
122
md5_crypt_good.o md5_crypt_broken.o \
124
$(CC) -o $(CHKPWD) $^ $(LDLIBS) $(LIBCRYPT)
126
unix_chkpwd.o: unix_chkpwd.c
127
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
130
$(CC) $(CFLAGS) $(CPPFLAGS) -DHIGHFIRST -D'MD5Name(x)=Good##x' \
131
$(TARGET_ARCH) -c $< -o $@
134
$(CC) $(CFLAGS) $(CPPFLAGS) -D'MD5Name(x)=Broken##x' \
135
$(TARGET_ARCH) -c $< -o $@
137
md5_crypt_good.o: md5_crypt.c
138
$(CC) $(CFLAGS) $(CPPFLAGS) -D'MD5Name(x)=Good##x' \
139
$(TARGET_ARCH) -c $< -o $@
141
md5_crypt_broken.o: md5_crypt.c
142
$(CC) $(CFLAGS) $(CPPFLAGS) -D'MD5Name(x)=Broken##x' \
143
$(TARGET_ARCH) -c $< -o $@
146
mkdir -p $(FAKEROOT)$(SECUREDIR)
148
install -m $(SHLIBMODE) $(LIBSHARED) $(FAKEROOT)$(SECUREDIR)
149
for x in pam_unix_auth pam_unix_acct pam_unix_passwd pam_unix_session;\
150
do ln -sf $(LIBSHARED) $(FAKEROOT)$(SECUREDIR)/$$x.so ; done
152
$(MKDIR) $(FAKEROOT)$(SUPLEMENTED)
153
install -m 4555 $(CHKPWD) $(FAKEROOT)$(SUPLEMENTED)
156
rm -f $(FAKEROOT)$(SECUREDIR)/$(LIBSHARED)
157
for x in pam_unix_auth pam_unix_acct pam_unix_passwd pam_unix_session;\
158
do rm -f $(FAKEROOT)$(SECUREDIR)/$$x.so ; done
159
rm -f $(FAKEROOT)$(SUPLEMENTED)/$(CHKPWD)
162
rm -f $(LIBOBJD) $(LIBOBJS) $(CHKPWD) *.o *.so core
163
rm -f *~ *.a *.out *.bak
164
rm -rf dynamic static
167
$(CC) -c $(CFLAGS) $<