makefile for using Linux-PAM-0.99.6.2

PoWah Wong wong_powah at yahoo.ca
Tue Nov 20 16:30:54 UTC 2007


I downloaded the Linux-PAM-0.99.6.2 and configured and
compiled it successfully.
# ls Linux-PAM-0.99.6.2
ABOUT-NLS     config.h       Copyright    libtool     
   modules
acinclude.m4  config.h.in    depcomp      ltmain.sh   
   NEWS
aclocal.m4    config.log     doc          m4          
   pgp.keys.asc
AUTHORS       config.rpath   examples     Makefile    
   po
ChangeLog     config.status  INSTALL      Makefile.am 
   README
CHANGELOG     config.sub     install-sh   Makefile.in 
   stamp-h1
...

I want to develop my programs based on the examples
but I want to put those programs outside the
Linux-PAM-0.99.6.2 directory, so I copied the examples
directory to the same level as
Linux-PAM-0.99.6.2.
I am a newbie for the Linux-PAM and automake so please
help.  What is the best way to design my makefile
utside the Linux-PAM-0.99.6.2 directory?

$ ls
Linux-PAM-0.99.6.2 examples

I modified the Makefile for my programs.

$ cd examples
$ diff -u Makefile.ok Makefile
--- Makefile.ok 2007-11-20 11:20:27.000000000 -0500
+++ Makefile    2007-11-20 10:44:47.000000000 -0500
@@ -40,8 +40,8 @@
 POST_UNINSTALL = :
 build_triplet = i686-pc-linux-gnu
 host_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = xsh$(EXEEXT) vpass$(EXEEXT)
blank$(EXEEXT) \
-       check_user$(EXEEXT)
+noinst_PROGRAMS = xsh$(EXEEXT) vpass$(EXEEXT)
pam_unix_passwd$(EXEEXT) \
+       pam_local$(EXEEXT)
 subdir = examples
 DIST_COMMON = README $(srcdir)/Makefile.am
$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -60,12 +60,12 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
-blank_SOURCES = blank.c
-blank_OBJECTS = blank.$(OBJEXT)
-blank_LDADD = $(LDADD)
-check_user_SOURCES = check_user.c
-check_user_OBJECTS = check_user.$(OBJEXT)
-check_user_LDADD = $(LDADD)
+pam_unix_passwd_SOURCES = pam_unix_passwd.c
+pam_unix_passwd_OBJECTS = pam_unix_passwd.$(OBJEXT)
+pam_unix_passwd_LDADD = $(LDADD)
+pam_local_SOURCES = pam_local.c
+pam_local_OBJECTS = pam_local.$(OBJEXT)
+pam_local_LDADD = $(LDADD)
 vpass_SOURCES = vpass.c
 vpass_OBJECTS = vpass.$(OBJEXT)
 vpass_LDADD = $(LDADD)
@@ -83,8 +83,8 @@
 CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD)
$(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = blank.c check_user.c vpass.c xsh.c
-DIST_SOURCES = blank.c check_user.c vpass.c xsh.c
+SOURCES = pam_unix_passwd.c pam_local.c vpass.c xsh.c
+DIST_SOURCES = pam_unix_passwd.c pam_local.c vpass.c
xsh.c
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES)
$(TEXINFOS) $(EXTRA_DIST)
@@ -307,12 +307,12 @@
          echo " rm -f $$p $$f"; \
          rm -f $$p $$f ; \
        done
-blank$(EXEEXT): $(blank_OBJECTS)
$(blank_DEPENDENCIES)
-       @rm -f blank$(EXEEXT)
-       $(LINK) $(blank_LDFLAGS) $(blank_OBJECTS)
$(blank_LDADD) $(LIBS)
-check_user$(EXEEXT): $(check_user_OBJECTS)
$(check_user_DEPENDENCIES)
-       @rm -f check_user$(EXEEXT)
-       $(LINK) $(check_user_LDFLAGS)
$(check_user_OBJECTS) $(check_user_LDADD) $(LIBS)
+pam_unix_passwd$(EXEEXT): $(pam_unix_passwd_OBJECTS)
$(pam_unix_passwd_DEPENDENCIES)
+       @rm -f pam_unix_passwd$(EXEEXT)
+       $(LINK) $(pam_unix_passwd_LDFLAGS)
$(pam_unix_passwd_OBJECTS) $(pam_unix_passwd_LDADD)
$(LIBS)
+pam_local$(EXEEXT): $(pam_local_OBJECTS)
$(pam_local_DEPENDENCIES)
+       @rm -f pam_local$(EXEEXT)
+       $(LINK) $(pam_local_LDFLAGS)
$(pam_local_OBJECTS) $(pam_local_LDADD) $(LIBS)
 vpass$(EXEEXT): $(vpass_OBJECTS)
$(vpass_DEPENDENCIES)
        @rm -f vpass$(EXEEXT)
        $(LINK) $(vpass_LDFLAGS) $(vpass_OBJECTS)
$(vpass_LDADD) $(LIBS)
@@ -326,8 +326,8 @@
 distclean-compile:
        -rm -f *.tab.c

-include ./$(DEPDIR)/blank.Po
-include ./$(DEPDIR)/check_user.Po
+include ./$(DEPDIR)/pam_unix_passwd.Po
+include ./$(DEPDIR)/pam_local.Po
 include ./$(DEPDIR)/vpass.Po
 include ./$(DEPDIR)/xsh.Po

$ make
Makefile:329: .deps/pam_unix_passwd.Po: No such file
or directory
Makefile:330: .deps/pam_local.Po: No such file or
directory
make: *** No rule to make target `.deps/pam_local.Po'.
 Stop.
$ automake
automake: `configure.ac' or `configure.in' is required

$ mv .deps/blank.Po .deps/pam_unix_passwd.Po
$ mv .deps/check_user.Po .deps/pam_local.Po
$ make
make: *** No rule to make target `Makefile.am', needed
by `Makefile.in'.  Stop.



      ____________________________________________________ 
Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now at
http://ca.toolbar.yahoo.com.




More information about the Pam-list mailing list