Makefile.bsd
上传用户:woshihumen
上传日期:2013-07-18
资源大小:484k
文件大小:5k
源码类别:

Email服务器

开发平台:

Visual C++

  1. #
  2. #  XMail by Davide Libenzi ( Intranet and Internet mail server )
  3. #  Copyright (C) 1999,..,2004  Davide Libenzi
  4. #
  5. #  This program is free software; you can redistribute it and/or modify
  6. #  it under the terms of the GNU General Public License as published by
  7. #  the Free Software Foundation; either version 2 of the License, or
  8. #  (at your option) any later version.
  9. #
  10. #  This program is distributed in the hope that it will be useful,
  11. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. #  GNU General Public License for more details.
  14. #
  15. #  You should have received a copy of the GNU General Public License
  16. #  along with this program; if not, write to the Free Software
  17. #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18. #
  19. #  Davide Libenzi <davidel@xmailserver.org>
  20. #
  21. O = o
  22. A = a
  23. CPP = cpp
  24. CC = g++
  25. LD = g++
  26. ifeq ($(XMAIL_DEBUG), 1)
  27. STRIP = touch
  28. CFLAGS = -g
  29. else
  30. STRIP = strip
  31. CFLAGS = -O2
  32. endif
  33. ifeq ($(OSTYPE),OpenBSD)
  34. SYSTYPE = openbsd
  35. CFLAGS := $(CFLAGS) -I. -D__UNIX__ -D__BSD__ -D__OPENBSD__ -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAS_SYSMACHINE
  36. LDFLAGS = -lkvm -pthread
  37. else
  38. ifeq ($(OSTYPE),NetBSD)
  39. SYSTYPE = netbsd
  40. CFLAGS := $(CFLAGS) -I. -D__UNIX__ -D__BSD__ -D__NETBSD__ -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAS_SYSMACHINE
  41. LDFLAGS = -lkvm -pthread
  42. else
  43. ifeq ($(OSTYPE),Darwin)
  44. SYSTYPE = darwin
  45. CFLAGS := $(CFLAGS) -I. -D__UNIX__ -D__BSD__ -D__DARWIN__ -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAS_SYSMACHINE
  46. LDFLAGS = -lkvm -lpthread
  47. else
  48. SYSTYPE = freebsd
  49. CFLAGS := $(CFLAGS) -I. -D__UNIX__ -D__BSD__ -D__FREEBSD__ -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAS_SYSMACHINE
  50. LDFLAGS = -lkvm -lcrypt -pthread -lc_r
  51. endif
  52. endif
  53. endif
  54. ifeq ($(NEED_LCR),1)
  55. LDFLAGS := -lc_r
  56. endif
  57. OUTDIR = bin
  58. MKMACHDEPINC = SysMachine.h
  59. MKMACHDEP = ${OUTDIR}/MkMachDep
  60. MAILSVR = ${OUTDIR}/XMail
  61. CRTLCLNT = ${OUTDIR}/CtrlClnt
  62. XMCRYPT = ${OUTDIR}/XMCrypt
  63. MKUSERS = ${OUTDIR}/MkUsers
  64. SENDMAIL = ${OUTDIR}/sendmail
  65. MKMACHDEPSRCS = MkMachDep.${CPP}
  66. MKMACHDEPOBJS = MkMachDep.${O}
  67. SVRSRCS = BuffSock.${CPP} CTRLSvr.${CPP} DynDNS.${CPP} DNS.${CPP} DNSCache.${CPP} Errors.${CPP} ExtAliases.${CPP} FINGSvr.${CPP} 
  68. MailConfig.${CPP} MailSvr.${CPP} Maildir.${CPP} MailDomains.${CPP} MD5.${CPP} MiscUtils.${CPP} LMAILSvr.${CPP} 
  69. AliasDomain.${CPP} POP3GwLink.${CPP} POP3Svr.${CPP} POP3Utils.${CPP} PSYNCSvr.${CPP} ResLocks.${CPP} SList.${CPP} SMAILSvr.${CPP} 
  70. TabIndex.${CPP} SMAILUtils.${CPP} SMTPSvr.${CPP} SMTPUtils.${CPP} ShBlocks.${CPP} StrUtils.${CPP} MessQueue.${CPP} 
  71. QueueUtils.${CPP} SvrUtils.${CPP} SysDep.${CPP} UsrMailList.${CPP} UsrAuth.${CPP} UsrUtils.${CPP} Main.${CPP} Base64Enc.${CPP} 
  72. Filter.${CPP}
  73. SVROBJS = BuffSock.${O} CTRLSvr.${O} DynDNS.${O} DNS.${O} DNSCache.${O} Errors.${O} ExtAliases.${O} FINGSvr.${O} 
  74. MailConfig.${O} MailSvr.${O} Maildir.${O} MailDomains.${O} MD5.${O} MiscUtils.${O} LMAILSvr.${O} 
  75. AliasDomain.${O} POP3GwLink.${O} POP3Svr.${O} POP3Utils.${O} PSYNCSvr.${O} ResLocks.${O} SList.${O} SMAILSvr.${O} 
  76. TabIndex.${O} SMAILUtils.${O} SMTPSvr.${O} SMTPUtils.${O} ShBlocks.${O} StrUtils.${O} MessQueue.${O} 
  77. QueueUtils.${O} SvrUtils.${O} SysDep.${O} UsrMailList.${O} UsrAuth.${O} UsrUtils.${O} Main.${O} Base64Enc.${O} 
  78. Filter.${O}
  79. CCLNSRCS = Base64Enc.${CPP} BuffSock.${CPP} SysDep.${CPP} StrUtils.${CPP} MD5.${CPP} MiscUtils.${CPP} CTRLClient.${CPP} Errors.${CPP}
  80. CCLNOBJS = Base64Enc.${O} BuffSock.${O} SysDep.${O} StrUtils.${O} MD5.${O} MiscUtils.${O} CTRLClient.${O} Errors.${O}
  81. XMCSRCS = XMCrypt.${CPP}
  82. XMCOBJS = XMCrypt.${O}
  83. MKUSRCS = MkUsers.${CPP}
  84. MKUOBJS = MkUsers.${O}
  85. SENDMAILSRC = SendMail.${CPP}
  86. SENDMAILOBJS = SendMail.${O}
  87. %.${O} : %.${CPP}
  88. ${CC} ${CPPFLAGS} ${CFLAGS} -c $*.${CPP}
  89. all: ${OUTDIR} ${MKMACHDEPINC} ${MAILSVR} ${CRTLCLNT} ${XMCRYPT} ${MKUSERS} ${SENDMAIL}
  90. ${OUTDIR}:
  91. @mkdir ${OUTDIR}
  92. ${MKMACHDEPINC}: ${MKMACHDEP}
  93. ./${MKMACHDEP} > ${MKMACHDEPINC}
  94. ${MKMACHDEP}: ${MKMACHDEPOBJS}
  95. ${LD} -o ${MKMACHDEP} ${MKMACHDEPOBJS} ${LDFLAGS}
  96. ${STRIP} ${MKMACHDEP}
  97. ${MAILSVR}: ${SVROBJS}
  98. ${LD} -o ${MAILSVR} ${SVROBJS} ${LDFLAGS}
  99. ${STRIP} ${MAILSVR}
  100. ${CRTLCLNT}: ${CCLNOBJS}
  101. ${LD} -o ${CRTLCLNT} ${CCLNOBJS} ${LDFLAGS}
  102. ${STRIP} ${CRTLCLNT}
  103. ${XMCRYPT}: ${XMCOBJS}
  104. ${LD} -o ${XMCRYPT} ${XMCOBJS} ${LDFLAGS}
  105. ${STRIP} ${XMCRYPT}
  106. ${MKUSERS}: ${MKUOBJS}
  107. ${LD} -o ${MKUSERS} ${MKUOBJS} ${LDFLAGS}
  108. ${STRIP} ${MKUSERS}
  109. ${SENDMAIL}: ${SENDMAILOBJS}
  110. ${LD} -o ${SENDMAIL} ${SENDMAILOBJS} ${LDFLAGS}
  111. ${STRIP} ${SENDMAIL}
  112. distclean: clean
  113. clean:
  114. rm -f .depend a.out core ${MAILSVR} ${CRTLCLNT} ${XMCRYPT} ${MKUSERS} ${SENDMAIL}
  115. rm -f *.${O} *~ ${MKMACHDEPINC} ${MKMACHDEP}
  116. rm -rf ${OUTDIR}