Makefile
上传用户:ycwykj01
上传日期:2007-01-04
资源大小:1819k
文件大小:7k
源码类别:

网络编程

开发平台:

Unix_Linux

  1. # Program: C client makefile for Amiga
  2. #
  3. # Author: Mark Crispin
  4. # Networks and Distributed Computing
  5. # Computing & Communications
  6. # University of Washington
  7. # Administration Building, AG-44
  8. # Seattle, WA  98195
  9. # Internet: MRC@CAC.Washington.EDU
  10. #
  11. # Date: 11 May 1989
  12. # Last Edited: 17 March 1999
  13. #
  14. # Copyright 1999 by the University of Washington
  15. #
  16. #  Permission to use, copy, modify, and distribute this software and its
  17. # documentation for any purpose and without fee is hereby granted, provided
  18. # that the above copyright notice appears in all copies and that both the
  19. # above copyright notice and this permission notice appear in supporting
  20. # documentation, and that the name of the University of Washington not be
  21. # used in advertising or publicity pertaining to distribution of the software
  22. # without specific, written prior permission.  This software is made
  23. # available "as is", and
  24. # THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  25. # WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  26. # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  27. # NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  28. # INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  29. # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  30. # (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
  31. # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  32. # Command line build parameters
  33. EXTRAAUTHENTICATORS=
  34. EXTRADRIVERS=mbox
  35. PASSWDTYPE=std
  36. # Build parameters normally set by the individual port
  37. AMICFLAGS=-O -DNO_INLINE_STDARG -Dunix
  38. AMILDFLAGS=/pine/libc.a -lamiga -lauto
  39. CHECKPW=std
  40. LOGINPW=std
  41. ACTIVEFILE=/UULib/News/Active
  42. SPOOLDIR=/usr/spool
  43. MAILSPOOL=/AmiTCP/Mail
  44. NEWSSPOOL=/UUNews
  45. # Default formats for creating new mailboxes and for empty mailboxes in the
  46. # default namespace; must be set to the associated driver's prototype.
  47. #
  48. # The CREATEPROTO is the default format for new mailbox creation.
  49. # The EMPTYPROTO is the default format for handling zero-byte files.
  50. #
  51. # Normally, this is set by the individual port.
  52. #
  53. # NOTE: namespace formats (e.g. mh and news) can not be set as a default format
  54. # since they do not exist in the default namespace.  Also, it is meaningless to
  55. # set certain other formats (e.g. mbx and mx) as the EMPTYPROTO since these
  56. # formats can never be empty files.
  57. CREATEPROTO=unixproto
  58. EMPTYPROTO=unixproto
  59. # Commands possibly overriden by the individual port
  60. ARRC=ar rc
  61. CC=cc
  62. LN=cp
  63. RANLIB=ranlib
  64. RM=rm -f
  65. # Standard distribution build parameters
  66. DEFAULTAUTHENTICATORS=md5 log
  67. DEFAULTDRIVERS=imap nntp pop3 mh mx mbx tenex mtx mmdf unix news phile
  68. # Normally no need to change any of these
  69. ARCHIVE=c-client.a
  70. BINARIES=mail.o misc.o newsrc.o smanager.o osdep.o utf8.o 
  71.  dummy.o pseudo.o netmsg.o flstring.o fdstring.o 
  72.  rfc822.o nntp.o smtp.o imap4r1.o pop3.o 
  73.  unix.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o
  74. CFLAGS=$(BASECFLAGS) $(EXTRACFLAGS)
  75. MAKE=make
  76. MV=mv
  77. SHELL=/bin/sh
  78. # Primary build command
  79. BUILDOPTIONS= EXTRACFLAGS=$(EXTRACFLAGS) EXTRALDFLAGS=$(EXTRALDFLAGS)
  80.  EXTRADRIVERS=$(EXTRADRIVERS) EXTRAAUTHENTICATORS=$(EXTRAAUTHENTICATORS)
  81.  PASSWDTYPE=$(PASSWDTYPE)
  82. BUILD=$(MAKE) build $(BUILDOPTIONS) $(EXTRASPECIALS)
  83. # Here if no make argument established
  84. missing: osdep.h
  85. $(MAKE) $(ARCHIVE) CC=`cat CCTYPE` CFLAGS="`cat CFLAGS`"
  86. osdep.h:
  87. @echo You must specify what type of system
  88. @false
  89. # Current ports
  90. ami: # AmigaDOS
  91. $(BUILD) OS=$@ 
  92.  BASECFLAGS="-DOLD $(AMICFLAGS)" 
  93.  BASELDFLAGS="$(AMILDFLAGS) -lamitcp000" 
  94.  CC=gcc
  95. am2: # AmigaDOS with a 68020+
  96. $(BUILD) OS=ami 
  97.  BASECFLAGS="-DOLD -m68020 $(AMICFLAGS)" 
  98.  BASELDFLAGS="$(AMILDFLAGS) -lamitcp" 
  99.  CC=gcc
  100. amn: # AmigaDOS with a 680x0 using "new" socket library
  101. $(BUILD) OS=ami 
  102.  BASELDFLAGS="$(AMILDFLAGS) -lnewamitcp000" 
  103.  CC=gcc
  104. ama: # AmigaDOS using AS225R2
  105. $(BUILD) OS=ami 
  106.  MAILSPOOL=/INet/Mail 
  107.  BASECFLAGS="-m68020 $(AMICFLAGS)" 
  108.  BASELDFLAGS="$(AMILDFLAGS) -las225r2" 
  109.  CC=gcc
  110. # Build it!
  111. build: clean once ckp$(PASSWDTYPE) $(EXTRAAUTHENTICATORS) $(ARCHIVE)
  112. $(ARCHIVE): $(BINARIES)
  113. $(RM) $(ARCHIVE) || true
  114. $(ARRC) $(ARCHIVE) $(BINARIES)
  115. $(RANLIB) $(ARCHIVE)
  116. # Cleanup
  117. clean:
  118. $(RM) *.o linkage.[ch] auths.c $(ARCHIVE) osdep.* *TYPE *FLAGS || true
  119. # Dependencies
  120. dummy.o: mail.h misc.h osdep.h dummy.h
  121. fdstring.o: mail.h misc.h osdep.h fdstring.h
  122. flstring.o: mail.h misc.h osdep.h flstring.h
  123. imap4r1.o: mail.h misc.h osdep.h imap4r1.h rfc822.h
  124. mail.o: mail.h misc.h osdep.h rfc822.h linkage.h
  125. mbox.o: mail.h misc.h osdep.h mbox.h unix.h
  126. mbx.o: mail.h misc.h osdep.h mbx.h dummy.h
  127. mh.o: mail.h misc.h osdep.h mh.h dummy.h
  128. mx.o: mail.h misc.h osdep.h mx.h dummy.h
  129. misc.o: mail.h misc.h osdep.h
  130. mmdf.o: mail.h misc.h osdep.h mmdf.h pseudo.h dummy.h
  131. mtx.o: mail.h misc.h osdep.h mtx.h dummy.h
  132. netmsg.o: mail.h misc.h osdep.h netmsg.h
  133. news.o: mail.h misc.h osdep.h news.h
  134. newsrc.o: mail.h misc.h osdep.h newsrc.h
  135. nntp.o: mail.h misc.h osdep.h netmsg.h smtp.h nntp.h rfc822.h
  136. phile.o: mail.h misc.h osdep.h phile.h rfc822.h dummy.h
  137. pseudo.o: pseudo.h
  138. pop3.o: mail.h misc.h osdep.h pop3.h rfc822.h
  139. smanager.o: mail.h misc.h osdep.h
  140. smtp.o: mail.h misc.h osdep.h smtp.h rfc822.h
  141. rfc822.o: mail.h misc.h osdep.h rfc822.h
  142. tenex.o: mail.h misc.h osdep.h tenex.h dummy.h
  143. unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
  144. utf8.o: mail.h misc.h osdep.h utf8.h
  145. # OS-dependent
  146. osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h 
  147. osdep.h env_ami.h tcp_ami.h 
  148. osdep.c env_ami.c fs_ami.c ftl_ami.c nl_ami.c tcp_ami.c 
  149. auths.c gethstid.c 
  150. gr_waitp.c 
  151. auth_log.c 
  152. scandir.c 
  153. tz_bsd.c 
  154. write.c 
  155. strerror.c strpbrk.c strstr.c strtok.c strtoul.c 
  156. OSCFLAGS
  157. $(CC) $(CFLAGS) `cat OSCFLAGS` -c osdep.c
  158. osdep.c: osdepbas.c osdepckp.c osdeplog.c
  159. $(RM) osdep.c || true
  160. cat osdepbas.c osdepckp.c osdeplog.c > osdep.c
  161. # Once-only environment setup
  162. once:
  163. @echo Once-only environment setup...
  164. ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy
  165. ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)
  166. echo $(CC) > CCTYPE
  167. echo $(CFLAGS) > CFLAGS
  168. echo -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) 
  169.  -DMAILSPOOL="$(MAILSPOOL)" 
  170.  -DACTIVEFILE="$(ACTIVEFILE)" -DNEWSSPOOL="$(NEWSSPOOL)" 
  171.  -DANONYMOUSHOME="$(MAILSPOOL)/anonymous" > OSCFLAGS
  172. echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
  173. $(LN) os_$(OS).h osdep.h
  174. $(LN) os_$(OS).c osdepbas.c
  175. $(LN) log_$(LOGINPW).c osdeplog.c
  176. # Password checkers
  177. ckpmd5: # MD5 database (must have md5 AUTHENTICATOR as well)
  178. $(LN) ckp_md5.c osdepckp.c
  179. ckpstd: # Port standard
  180. $(LN) ckp_$(CHECKPW).c osdepckp.c
  181. # A monument to a hack of long ago and far away...
  182. love:
  183. @echo not war?