Makefile.am
上传用户:s81996212
上传日期:2007-01-04
资源大小:722k
文件大小:13k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. # $Id: Makefile.am,v 1.40 2000/07/04 00:08:56 mrsam Exp $
  2. #
  3. # Copyright 1998 - 1999 Double Precision, Inc.  See COPYING for
  4. # distribution information.
  5. EXTRA_PROGRAMS=authcram authpam authpwd authshadow authuserdb authvchkpw 
  6. authldap authmysql authdaemon authdaemond authdaemontest authmksock
  7. #
  8. # AUTHMODULES should be listed in the best authentication order
  9. #
  10. AUTHMODULES=@AUTHMODULES@
  11. noinst_PROGRAMS= $(AUTHMODULES) authinfo authtest @authdaemondprog@
  12. noinst_SCRIPTS=libauth.dep
  13. noinst_DATA=authldaprc authmysqlrc
  14. if HAVE_MD5
  15. checkpasswordmd5c=checkpasswordmd5.c
  16. else
  17. checkpasswordmd5c=
  18. endif
  19. if HAVE_PAM
  20. authpamc=authpam.c preauthpam.c authwait.h authpwd.c
  21. authpamlibsdep=authpam.libsdep
  22. else
  23. authpamc=
  24. authpamlibsdep=
  25. endif
  26. if HAVE_PWD
  27. authpwdc=authpwd.c preauthpwd.c
  28. authpwdlibsdep=authpwd.libsdep
  29. else
  30. authpwdc=
  31. authpwdlibsdep=
  32. endif
  33. if HAVE_SHADOW
  34. authshadowc=authshadow.c preauthshadow.c
  35. authshadowlibsdep=authshadow.libsdep
  36. else
  37. authshadowc=
  38. authshadowlibsdep=
  39. endif
  40. if HAVE_AUTHUSERDB
  41. authuserdbc=authuserdb.c preauthuserdb.c preauthuserdbcommon.c
  42. authuserdblibsdep=authuserdb.libsdep
  43. else
  44. authuserdbc=
  45. authuserdblibsdep=
  46. endif
  47. if HAVE_AUTHMYSQL
  48. authmysqlc=authmysql.c preauthmysql.c authmysqllib.c authmysql.h
  49. authmysqllibsdep=authmysql.libsdep
  50. install-authmysqlrc:
  51. $(mkinstalldirs) $(DESTDIR)`dirname @authmysqlrc@`
  52. $(INSTALL_DATA) -m $(rcperms) $(srcdir)/authmysqlrc 
  53. $(DESTDIR)@authmysqlrc@
  54. uninstall-authmysqlrc:
  55. rm -f $(DESTDIR)@authmysqlrc@
  56. else
  57. authmysqlc=
  58. authmysqllibsdep=
  59. install-authmysqlrc:
  60. @:
  61. uninstall-authmysqlrc:
  62. @:
  63. endif
  64. if HAVE_AUTHCRAM
  65. authcramc=authcram.c preauthcram.c preauthuserdbcommon.c
  66. authcramlibsdep=authcram.libsdep
  67. authsaslcramc=authsaslcram.c
  68. else
  69. authcramc=
  70. authcramlibsdep=
  71. authsaslcramc=
  72. endif
  73. if HAVE_VCHKPW
  74. authvchkpwc=authvchkpw.c authvchkpwlib.c preauthvchkpw.c
  75. authvchkpwlibsdep=authvchkpw.libsdep
  76. else
  77. authvchkpwc=
  78. authvchkpwlibsdep=
  79. endif
  80. if HAVE_LDAP
  81. authldapc=authldap.c preauthldap.c authldaplib.c authldap.h
  82. authldaplibsdep=authldap.libsdep
  83. install-authldaprc:
  84. $(mkinstalldirs) $(DESTDIR)`dirname @authldaprc@` 
  85. $(INSTALL_DATA) -m $(rcperms) $(srcdir)/authldaprc 
  86. $(DESTDIR)@authldaprc@
  87. uninstall-authldaprc:
  88. rm -f $(DESTDIR)@authldaprc@
  89. else
  90. authldapc=
  91. authldaplibsdep=
  92. install-authldaprc:
  93. @:
  94. uninstall-authldaprc:
  95. @:
  96. endif
  97. if HAVE_AUTHDAEMON
  98. authdaemonc=authdaemon.c authdaemonlib.c preauthdaemon.c
  99. authdaemonlibsdep=authdaemon.libsdep
  100. install-authdaemonrc:
  101. $(mkinstalldirs) $(DESTDIR)`dirname @authdaemonrc@` 
  102. $(INSTALL_DATA) -m $(rcperms) authdaemonrc $(DESTDIR)@authdaemonrc@
  103. uninstall-authdaemonrc:
  104. rm -f $(DESTDIR)@authdaemonrc@
  105. else
  106. authdaemonc=
  107. authdaemonlibsdep=
  108. install-authdaemonrc:
  109. @:
  110. uninstall-authdaemonrc:
  111. @:
  112. endif
  113. rcperms=`test -d ../courier && echo "660" && exit 0; echo 600`
  114. user=`test -d ../courier && . ../courier/uidgid && echo $$mailuser && exit 0; echo root`
  115. group=`test -d ../courier && . ../courier/uidgid && echo $$mailgroup && exit 0; echo root`
  116. authldaprc.h:
  117. echo "#define AUTHLDAPRC "@authldaprc@"" >authldaprc.h
  118. authmysqlrc.h:
  119. echo "#define AUTHMYSQLRC "@authmysqlrc@"" >authmysqlrc.h
  120. authdaemonrc.h:
  121. echo "#define AUTHDAEMONRC "@authdaemonrc@"" >authdaemonrc.h
  122. echo "#define AUTHDAEMONVAR "@authdaemonvar@"" >>authdaemonrc.h
  123. echo "#define AUTHDAEMONPID AUTHDAEMONVAR "/pid"" >>authdaemonrc.h
  124. echo "#define AUTHDAEMONSOCK AUTHDAEMONVAR "/socket"" >>authdaemonrc.h
  125. echo "#define AUTHDAEMONLOCK AUTHDAEMONVAR "/lock"" >>authdaemonrc.h
  126. vpopmail_config.h:
  127. echo '#include "@vpopmail_home@/include/config.h"' >vpopmail_config.h
  128. EXTRA_DIST=authwait.h authpam.c preauthpam.c authpwd.c preauthpwd.c 
  129. authshadow.c preauthshadow.c 
  130. authdaemon.c authdaemonlib.c preauthdaemon.c 
  131. authuserdb.c preauthuserdb.c preauthuserdbcommon.c 
  132. authmysql.c preauthmysql.c authmysqllib.c authmysql.h 
  133. authcram.c preauthcram.c 
  134. authvchkpw.c authvchkpwlib.c preauthvchkpw.c 
  135. authldap.c preauthldap.c authldaplib.c authldap.h 
  136. checkpasswordmd5.c libauth.sh libauth2.sh 
  137. authsaslcram.c 
  138. authldaprc authmysqlrc README.ldap README.authmysql.html
  139. ##
  140. ##  NOTE - we want to insert authpamc, authpwdc, et al, into libauth.a
  141. ##  HOWEVER, due to Makefile conditional, the resulting Makefile.in was
  142. ##  almost a megabyte long!!!!
  143. ##
  144. ##  So...  Here's plan B:
  145. ##
  146. ##  Put each authentication code in its own library.
  147. ##
  148. ##  First, let's define our temporary libraries.  Don't forget to change
  149. ##  configure.in to initialize @AUTHLIB@!
  150. EXTRA_LIBRARIES=libauth-authpam.a 
  151. libauth-authpwd.a 
  152. libauth-authshadow.a 
  153. libauth-authuserdb.a 
  154. libauth-authcram.a 
  155. libauth-authvchkpw.a 
  156. libauth-authldap.a 
  157. libauth-authdaemon.a 
  158. libauth-authmysql.a
  159. libauth_authpam_a_SOURCES=$(authpamc)
  160. libauth_authpwd_a_SOURCES=$(authpwdc)
  161. libauth_authshadow_a_SOURCES=$(authshadowc)
  162. libauth_authuserdb_a_SOURCES=$(authuserdbc)
  163. libauth_authcram_a_SOURCES=$(authcramc)
  164. libauth_authvchkpw_a_SOURCES=$(authvchkpwc)
  165. libauth_authldap_a_SOURCES=$(authldapc)
  166. libauth_authmysql_a_SOURCES=$(authmysqlc)
  167. libauth_authdaemon_a_SOURCES=$(authdaemonc)
  168. #
  169. #  Then, let's make sure that they're built together with libauth.a
  170. #  and libauthmod.a
  171. #
  172. noinst_LIBRARIES=libauth.a libauthmod.a @LIBAUTH@
  173. libauth_a_SOURCES=auth.h authexit.c chain.c changeuidgid.c checkpassword.c 
  174. authstaticlist.c authstaticlist.h authstaticlistsearch.c
  175. copyargv.c success.c 
  176. $(checkpasswordmd5c) 
  177. $(authmysqlc) 
  178. authsasl.c authsasl.h authsaslcram.c authsasllogin.c 
  179. authsaslfrombase64.c authsasltobase64.c $(authsaslcramc) 
  180. cramlib.c cramlib.h
  181. # Now, let's add an additional dependency to libauth.a:
  182. libauth_a_DEPENDENCIES=libauth-modules
  183. #
  184. # What we're going to do is to extract the contents of @LIBAUTH@
  185. # into a temporary directory, and initialize the contents of this file
  186. # with the directory's contents!
  187. libauth_a_LIBADD=`cat libauth-modules`
  188. #
  189. # Now, here's how we're going to create this sucker
  190. #
  191. libauth-modules: @LIBAUTH@
  192. rm -rf libauth-modules.dir
  193. mkdir libauth-modules.dir
  194. cd libauth-modules.dir ; for f in @LIBAUTH@ ; do 
  195. test ! -f ../$$f || ar x ../$$f ; done
  196. ls libauth-modules.dir/* >libauth-modules
  197. libauthmod_a_SOURCES=authmod.c authmod.h authmodclient.c authmodfail.c 
  198. authmoduser.c authmoduser2.c authmoduser3.c
  199. libauth.dep: libauth1.dep
  200. cp libauth1.dep libauth.dep
  201. . ./authdaemonrc ; 
  202. test "$$authdaemonvar" = "" || cp /dev/null libauth.dep
  203. libauth1.dep: $(authpamlibsdep) $(authpwdlibsdep) $(authshadowlibsdep) 
  204. $(authuserdblibsdep) $(authvchkpwlibsdep) $(authcramlibsdep) 
  205. $(authldaplibsdep) $(authmysqllibsdep) $(authdaemonlibsdep)
  206. cat $(authpamlibsdep) $(authpwdlibsdep) $(authshadowlibsdep) 
  207. $(authvchkpwlibsdep) $(authuserdblibsdep) $(authcramlibsdep) 
  208. $(authldaplibsdep) $(authmysqllibsdep) $(authdaemonlibsdep) 
  209. /dev/null 
  210. | tr ' ' '12' | sh $(srcdir)/libauth.sh | sh $(srcdir)/libauth2.sh 
  211. | sh $(srcdir)/libauth.sh >libauth1.dep
  212. authpam_SOURCES=mod.h modauthpam.c
  213. authpam_DEPENDENCIES=libauthmod.a libauth.a
  214. authpam_LDADD=libauthmod.a libauth.a -lpam @SHADOWLIBS@ @AUTHPAMCRYPT@ @LIBDL@
  215. authpam.libsdep: authpam
  216. echo -lpam @SHADOWLIBS@ @AUTHPAMCRYPT@ @LIBDL@ >authpam.libsdep
  217. authpwd_SOURCES=mod.h modauthpwd.c
  218. authpwd_DEPENDENCIES=libauthmod.a libauth.a @MD5LIB@
  219. authpwd_LDADD=libauthmod.a libauth.a @MD5LIB@ $(CRYPTLIBS)
  220. authpwd.libsdep: authpwd
  221. echo @MD5LIB@ $(CRYPTLIBS) >authpwd.libsdep
  222. authshadow_SOURCES=mod.h modauthshadow.c
  223. authshadow_DEPENDENCIES=libauthmod.a libauth.a @MD5LIB@
  224. authshadow_LDADD=libauthmod.a libauth.a @MD5LIB@ @SHADOWLIBS@ $(CRYPTLIBS)
  225. authshadow.libsdep: authshadow
  226. echo @MD5LIB@ @SHADOWLIBS@ $(CRYPTLIBS) >authshadow.libsdep
  227. authuserdb_SOURCES=mod.h modauthuserdb.c
  228. authuserdb_DEPENDENCIES=libauthmod.a libauth.a ../userdb/libuserdb.a
  229. authuserdb_LDADD=libauthmod.a libauth.a ../userdb/libuserdb.a @dblibrary@ @LIBGDBM@ @LIBDB@ @MD5LIB@ $(CRYPTLIBS)
  230. authuserdb.libsdep: authuserdb
  231. echo ../userdb/libuserdb.a @dblibrary@ @LIBGDBM@ @LIBDB@ @MD5LIB@ $(CRYPTLIBS) >authuserdb.libsdep
  232. authmysql_SOURCES=mod.h modauthmysql.c
  233. authmysql_DEPENDENCIES=libauthmod.a libauth.a
  234. authmysql_LDADD=libauthmod.a libauth.a @HMACLIB@ @MD5LIB@ @SHA1LIB@ $(CRYPTLIBS) $(MYSQLLIB) 
  235. @NETLIBS@
  236. authmysql.libsdep: authmysql
  237. echo @HMACLIB@ @MD5LIB@ @SHA1LIB@ $(CRYPTLIBS) $(MYSQLLIB) @NETLIBS@ > authmysql.libsdep
  238. authvchkpw_SOURCES=mod.h modauthvchkpw.c
  239. authvchkpw_DEPENDENCIES=libauthmod.a libauth.a @MD5LIB@
  240. authvchkpw_LDADD=libauthmod.a libauth.a @MD5LIB@ -lvpopmail @LIBM@ $(CRYPTLIBS)
  241. authvchkpw.libsdep: authvchkpw
  242. echo @MD5LIB@ @LIBM@ -L@vpopmail_home@/lib -lvpopmail $(CRYPTLIBS) >authvchkpw.libsdep
  243. authcram_SOURCES=mod.h modauthcram.c
  244. authcram_DEPENDENCIES=libauthmod.a libauth.a @HMACLIB@ ../userdb/libuserdb.a 
  245. @dblibrary@ @MD5LIB@ @SHA1LIB@
  246. authcram_LDADD=libauthmod.a libauth.a @HMACLIB@ ../userdb/libuserdb.a 
  247. @dblibrary@ @MD5LIB@ @SHA1LIB@ @LIBGDBM@ @LIBDB@
  248. authcram.libsdep: authcram
  249. echo @HMACLIB@ ../userdb/libuserdb.a @dblibrary@ @MD5LIB@ 
  250. @SHA1LIB@ @LIBGDBM@ @LIBDB@ >authcram.libsdep
  251. authldap_SOURCES=mod.h modauthldap.c
  252. authldap_DEPENDENCIES=libauthmod.a libauth.a @MD5LIB@
  253. authldap_LDADD=libauthmod.a libauth.a @HMACLIB@ @MD5LIB@ @SHA1LIB@ 
  254. @LDAPLIBS@ $(CRYPTLIBS) @NETLIBS@
  255. authldap.libsdep: authldap
  256. echo @HMACLIB@ @MD5LIB@ @SHA1LIB@ @LDAPLIBS@ $(CRYPTLIBS) @NETLIBS@
  257. >authldap.libsdep
  258. authdaemon_SOURCES=mod.h modauthdaemon.c
  259. authdaemon_DEPENDENCIES=libauthmod.a libauth.a ../numlib/libnumlib.a
  260. authdaemon_LDADD=libauthmod.a libauth.a ../numlib/libnumlib.a @NETLIBS@
  261. authdaemon.libsdep: authdaemon
  262. echo ../numlib/libnumlib.a @NETLIBS@ >authdaemon.libsdep
  263. authinfo_SOURCES=authinfo.c
  264. authinfo_DEPENDENCIES=libauth.a libauth.dep
  265. ../rfc2045/librfc2045.a ../random128/librandom128.a
  266. authinfo_LDADD=libauth.a ../rfc2045/librfc2045.a
  267. ../random128/librandom128.a `cat libauth1.dep`
  268. authtest_SOURCES=authtest.c
  269. authtest_DEPENDENCIES=libauth.a libauth1.dep
  270. ../rfc2045/librfc2045.a ../random128/librandom128.a
  271. authtest_LDADD=libauth.a
  272. ../rfc2045/librfc2045.a ../random128/librandom128.a `cat libauth1.dep`
  273. authdaemond_SOURCES=authdaemond.c
  274. authdaemond_DEPENDENCIES=libauth.a libauth1.dep
  275. ../rfc2045/librfc2045.a ../random128/librandom128.a
  276. ../liblock/liblock.a ../numlib/libnumlib.a
  277. authdaemond_LDADD=libauth.a ../rfc2045/librfc2045.a 
  278. ../random128/librandom128.a 
  279. ../liblock/liblock.a ../numlib/libnumlib.a `cat libauth1.dep`
  280. authdaemontest_SOURCES=authdaemontest.c
  281. authdaemontest_DEPENDENCIES=libauth.a libauthmod.a ../numlib/libnumlib.a
  282. authdaemontest_LDADD=libauth.a libauthmod.a ../numlib/libnumlib.a @NETLIBS@
  283. authmksock_SOURCES=authmksock.c
  284. authmksock_LDADD=@NETLIBS@
  285. man8=authlib.8
  286. manlinks=authpwd.8 authshadow.8 authuserdb.8 authpam.8 authvchkpw.8 authcram.8 
  287. authldap.8 authmysql.8 authdaemon.8 authdaemond.8
  288. man8dir=$(mandir)/man8
  289. man_MANS=@manFILES@
  290. man_LINKS=@manLINKS@
  291. BUILT_SOURCES=$(man8) authldaprc.h authmysqlrc.h authdaemonrc.h 
  292. vpopmail_config.h
  293. noinst_DATA=$(BUILT_SOURCES)
  294. # automake still a bit stupid...
  295. install-data-local: install-authldaprc install-authdaemonrc install-authmysqlrc
  296. test "$(man_LINKS)" = "" && exit 0; 
  297. $(mkinstalldirs) $(DESTDIR)$(man8dir) ; 
  298. for f in $(man_MANS) "" ; do 
  299. test "$$f" = "" && continue ; 
  300. $(INSTALL_DATA) $$f $(DESTDIR)$(man8dir) ; done ; 
  301. cd $(DESTDIR)$(man8dir) || exit 1 ; 
  302. for f in $(man_LINKS) "" ; do 
  303. test "$$f" = "" && continue ; 
  304. rm -f $$f; $(LN_S) authlib.8 $$f ; 
  305. test -w /etc && chown bin $$f && chgrp bin $$f ; 
  306. done ; exit 0
  307. uninstall-local: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc
  308. cd $(DESTDIR)$(man8dir) 2>/dev/null || exit 0 ; 
  309. test "$(man_LINKS)" = "" && exit 0; 
  310. rm -f $(man_LINKS) $(man_MANS)
  311. for f in `cat modulelist` ; do 
  312. test "$$f" = "authldap" || continue ; 
  313. rm -f $(DESTDIR)@authldaprc@; 
  314. done
  315. for f in `cat modulelist` ; do 
  316. test "$$f" = "authmysqlrc" || continue ; 
  317. rm -f $(DESTDIR)@authmysqlrc@; 
  318. done
  319. SUFFIXES=.html .8
  320. .html.8:
  321. @chmod +x ./html2man.pl
  322. ./html2man.pl <$< >$*.8
  323. install-perms:
  324. @$(MAKE) -$(MAKEFLAGS) install-perms-recursive
  325. @$(MAKE) -$(MAKEFLAGS) install-perms-local
  326. install-perms-recursive:
  327. @>permissions.dat
  328. @SUBDIRS="$(SUBDIRS)" ; for f in $$SUBDIRS ; do ( cd $$f && $(MAKE) $(AM_MAKEFLAGS) install-perms ) ; cat /dev/null >>$$f/permissions.dat ; cat $$f/permissions.dat >>permissions.dat ; done
  329. install-perms-local:
  330. @test "$(man_MANS)" = "" && exit 0 ; 
  331. for f in $(man_MANS) $(man_LINKS) ; do 
  332. echo $(man8dir)/$$f 644 bin bin man >>permissions.dat ; done
  333. @for f in `cat modulelist` ; do 
  334. test "$$f" = "authldap" || continue ; 
  335. echo $(sysconfdir)/authldaprc $(rcperms) $(user) $(group) config >>permissions.dat; 
  336. done
  337. @for f in `cat modulelist` ; do 
  338. test "$$f" = "authmysql" || continue ; 
  339. echo $(sysconfdir)/authmysqlrc $(rcperms) $(user) $(group) config >>permissions.dat; 
  340. done
  341. CLEANFILES=libauth.dep libauth1.dep *.libsdep @LIBAUTH@
  342. authvchkpw.o: authvchkpw.c vpopmail_config.h
  343. authmysqllib.o: authmysqllib.c authmysqlrc.h
  344. preauthvchkpw.o: preauthvchkpw.c vpopmail_config.h
  345. authldaplib.o: authldaplib.c authldaprc.h
  346. authdaemond.o: authdaemonrc.h authdaemond.c
  347. authdaemonlib.o: authdaemonrc.h authdaemonlib.c