home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / old / ckermit80 / edit206 / ck9ker.mak < prev    next >
Text File  |  2020-01-01  |  13KB  |  490 lines

  1. # CK9KER.MAK, version 1, 04/30/87 Robert Larson
  2. #             version 2, 04/12/91 Christian Hemsing for kermit 5a
  3. #             version 3, 03/04/92 kermit 5a,beta; explicit 680x0 distinction
  4. #             version 4, 10/01/92 kermit 5a,beta; added MYCURSES
  5. #             version 5, 01/05/95 kermit 5A(190); add CK_APC, CK_REDIR, RENAME
  6. #             version 6, 06/18/96 C-Kermit 6.0.192, fdc, add ck[cu]sig.[ch]
  7. #             version 7, 07/05/96 James Jones, corrected ckcsig.h, ckwart.c
  8. #                                 dependencies
  9. #             version 8, 12/11/96 Add -ltermlib.l to LFLAGS macro
  10. #             version 9, 11 Feb 1998 - fdc - Add -dNORANDOM for C-Kermit 6.1.
  11. #             version 10, 27 Jul 1998 - Gregorie Martin - first 32-bit build.
  12. #             version 11, 1 Jan 99 - fdc - Add ckclib and ckctel modules.
  13. #             version 12, 21 Apr 99 - Martin Whitaker - allowed makefile to be
  14. #                                     in different directory to source files,
  15. #                                     fixed flags passed to compiler to stop
  16. #                                     processor type being specified twice.
  17. #             version 13, 28 May 99 - Martin Whitaker - included ckcnet module
  18. #                                     in build even when no network support is
  19. #                                     required.
  20. #             version 14, 07 Aug 99 - Martin Whitaker - added ckcuni module.
  21. #
  22. # based on ckuker.mak
  23. #
  24. # -- Makefile to build C-Kermit for OS-9/68k
  25. #
  26. # Before proceeding, read the instructions below, and also do read the file
  27. # ck9ker.bwr (the "beware file"), and then rename this file to "makefile"
  28. # and type:
  29. #
  30. #     make
  31. #
  32. # or don't rename it and type:
  33. #
  34. #    make -f=ck9ker.mak
  35. #
  36. ###############################################################################
  37. #
  38. # Notes:
  39. #
  40. #   Change ODIR to where you want the executable (must be an absolute path).
  41. #   Change RDIR to where you want the rels (can be a relative path).
  42. #   Change SDIR to where you put the source files (can be a relative path).
  43. #
  44. ODIR = /h0/user/system/bin
  45. RDIR = ./obj
  46. SDIR = ./src
  47. #
  48. #   Change CLIB to where you keep your C libraries (can be a relative path).
  49. #
  50. CLIB = /h0/lib/c/lib
  51. #
  52. #   Edit the PROGRAM macro to the name you want kermit to have. Note that this
  53. #   will be the module name, even if you subsequently rename the file.
  54. #
  55. PROGRAM = kermit
  56. #
  57. #   Use the appropriate TYPE macro depending on your processor.
  58. #
  59. TYPE = 0    # use this if you compile for 68000,68008,68010 or 68070
  60. #TYPE = 2    # use this if you compile for 68020,68030
  61. #
  62. #   For network support, enable the following lines:
  63. #
  64. #NET_CFLAGS = -dTCPSOCKET
  65. #NET_LFLAGS = -l=$(CLIB)/netdb.l -l=$(CLIB)/socklib.l
  66. #
  67. #   otherwise enable the following lines:
  68. #
  69. NET_CFLAGS =
  70. NET_LFLAGS =
  71. #
  72. #   If Kermit is too large for your machine you can add some
  73. #   defines to make it smaller:
  74. #
  75. #     -dNODEBUG   don't include debugging information
  76. #     -dNOHELP    no on-line help
  77. #     -dNOTLOG    no transaction logging
  78. #     -dNOSCRIPT  no UUCP-style script command
  79. #     -dNOCSETS   no character set translation
  80. #     -dNOMSEND   no msend command
  81. #     -dNOICP     no interactive command parser
  82. #     -dNODIAL    no modem support
  83. #     -dNOXMIT    no transmit command
  84. #     -dNOSPL     no script programming language
  85. #
  86. #   If you have problems changing the line speed do read ck9ker.bwr, and add
  87. #   the -dXMODE option to CPPFLAGS if necessary and wanted (see ck9ker.bwr).
  88. #
  89. #   minimum size:
  90. #
  91. #CPPFLAGS = -dVOID=void -dSIG_V -dDYNAMIC -dZFCDAT -dNOHELP -dNOSCRIPT \
  92. # -dNOSPL -dNOCSETS -dNOMSEND -dNODIAL -dNOICP -dNORANDOM -dNODEBUG -dNOTLOG
  93. #
  94. # minimum size with debug:
  95. #
  96. #CPPFLAGS = -dVOID=void -dSIG_V -dDYNAMIC -dZFCDAT -dNOHELP -dNOSCRIPT \
  97. # -dNOSPL -dNOCSETS -dNOMSEND -dNODIAL -dNOICP -dNORANDOM
  98. #
  99. # maximum size:
  100. #
  101. CPPFLAGS = -dVOID=void -dSIG_V -dDYNAMIC -dZFCDAT -dPARSENSE -dKANJI -dNOANSI \
  102.  -dMYCURSES -dCK_APC -dCK_REDIR -dRENAME -dCK_TTYFD -dNOOLDMODEMS -dNORANDOM
  103. #
  104. #   If you don't have a ramdisk named /r0, remove the -t=/r0 option. If you
  105. #   don't want to use the math trap handler, remove the -x option. If you
  106. #   don't want to use the cio trap handler, remove the -i option. 
  107. #
  108. CCFLAGS = -qx -t=/r0 -v=$(SDIR)
  109. LCFLAGS = -qx -t=/r0 -i
  110. #
  111. #   For further information see ck9ins.doc (installation manual).
  112. #
  113. ###############################################################################
  114. #
  115. # Compile and Link variables:
  116. #
  117. #   Note that CFLAGS forces 32 bit data offsets to be used. If you have
  118. #   chosen to remove some of the features to make kermit smaller, this
  119. #   may not be necessary. Check the data size of the kermit module, if
  120. #   it is < 64K, you can compile with 16 bit data offsets, which will
  121. #   result in smaller, faster code on a 68000/68010.
  122. #
  123. CC = cc
  124. RC = r68
  125. LC = cc
  126. CFLAGS = $(CCFLAGS) $(CPPFLAGS) $(NET_CFLAGS) -k=$(TYPE)l
  127. LFLAGS = $(LCFLAGS) $(NET_LFLAGS) -l=$(CLIB)/termlib.l
  128. #
  129. #   Some modules have grown too large for 16 bit code offsets, so must be
  130. #   compiled with the following flags. Note that there is a bug in o68 when
  131. #   dealing with expressions of the form 'flag ? "string1" : "string2"'
  132. #   compiled using 32 bit pc relative offsets on a 68000, so the optimiser
  133. #   pass is disabled. This may not be necessary if you are compiling for a
  134. #   68020 or above. If you have gone for a reduced size kermit, you may be
  135. #   able to compile some of the affected modules with the normal CFLAGS,
  136. #   which will result in smaller, faster code on a 68000/68010.
  137. #
  138. BIGCFLAGS = $(CCFLAGS) $(CPPFLAGS) $(NET_CFLAGS) -k=$(TYPE)lcl -o
  139. #
  140. #   ckuus2 produces such large intermediary files during compilation that they
  141. #   don't fit on a 1MB RAM disk, so must be compiled with the following flags.
  142. #
  143. HUGECFLAGS = -qx -v=$(SDIR) $(CPPFLAGS) $(NET_CFLAGS) -k=$(TYPE)lcl -o
  144. #
  145. ###############################################################################
  146. #
  147. # Dependencies Section:
  148. #
  149. RFILES =\
  150.     $(RDIR)/ckcmai.r\
  151.     $(RDIR)/ckclib.r\
  152.     $(RDIR)/ckucmd.r\
  153.     $(RDIR)/ckuusr.r\
  154.     $(RDIR)/ckuus2.r\
  155.     $(RDIR)/ckuus3.r\
  156.     $(RDIR)/ckuus4.r\
  157.     $(RDIR)/ckuus5.r\
  158.     $(RDIR)/ckuus6.r\
  159.     $(RDIR)/ckuus7.r\
  160.     $(RDIR)/ckuusx.r\
  161.     $(RDIR)/ckuusy.r\
  162.     $(RDIR)/ckcpro.r\
  163.     $(RDIR)/ckcfns.r\
  164.     $(RDIR)/ckcfn2.r\
  165.     $(RDIR)/ckcfn3.r\
  166.     $(RDIR)/ckctel.r\
  167.     $(RDIR)/ckuxla.r\
  168.     $(RDIR)/ck9con.r\
  169.     $(RDIR)/ck9tio.r\
  170.     $(RDIR)/ck9fio.r\
  171.     $(RDIR)/ck9ren.r\
  172.     $(RDIR)/ck9asm.r\
  173.     $(RDIR)/ckudia.r\
  174.     $(RDIR)/ckuscr.r\
  175.     $(RDIR)/ckusig.r\
  176.     $(RDIR)/ckcnet.r\
  177.     $(RDIR)/ckcuni.r
  178.  
  179. $(ODIR)/$(PROGRAM):\
  180.     $(RFILES)
  181.     $(LC) $(LFLAGS) -m=17 -f=$@ $(RFILES)
  182.  
  183. $(RDIR)/ckcmai.r:\
  184.     $(SDIR)/ckcmai.c\
  185.     $(SDIR)/ckcsym.h\
  186.     $(SDIR)/ckcasc.h\
  187.     $(SDIR)/ckcdeb.h\
  188.     $(SDIR)/ckcker.h\
  189.     $(SDIR)/ckcnet.h\
  190.     $(SDIR)/ckuusr.h\
  191.     $(SDIR)/ckcsig.h 
  192.  
  193. $(RDIR)/ckclib.r:\
  194.     $(SDIR)/ckclib.c\
  195.     $(SDIR)/ckcsym.h\
  196.     $(SDIR)/ckcasc.h\
  197.     $(SDIR)/ckcdeb.h 
  198.  
  199. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  200. $(RDIR)/ckcpro.r:\
  201.     $(SDIR)/ckcpro.c\
  202.     $(SDIR)/ckcsym.h\
  203.     $(SDIR)/ckcdeb.h\
  204.     $(SDIR)/ckcasc.h\
  205.     $(SDIR)/ckcker.h 
  206.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  207.  
  208. $(SDIR)/ckcpro.c:\
  209.     $(SDIR)/ckcpro.w\
  210.     $(ODIR)/wart
  211.     $(ODIR)/wart $(SDIR)/ckcpro.w $(SDIR)/ckcpro.c
  212.  
  213. $(ODIR)/wart:\
  214.     $(RDIR)/ckwart.r
  215.     $(LC) $(LFLAGS) -f=$@ $(RDIR)/ckwart.r
  216.  
  217. $(RDIR)/ckwart.r:\
  218.     $(SDIR)/ckwart.c\
  219.     $(SDIR)/ckcsym.h\
  220.     $(SDIR)/ckcdeb.h 
  221.  
  222. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  223. $(RDIR)/ckcfns.r:\
  224.     $(SDIR)/ckcfns.c\
  225.     $(SDIR)/ckcsym.h\
  226.     $(SDIR)/ckcasc.h\
  227.     $(SDIR)/ckcdeb.h\
  228.     $(SDIR)/ckcker.h\
  229.     $(SDIR)/ckcuni.h\
  230.     $(SDIR)/ckcxla.h\
  231.     $(SDIR)/ckuxla.h 
  232.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  233.  
  234. $(RDIR)/ckcfn2.r:\
  235.     $(SDIR)/ckcfn2.c\
  236.     $(SDIR)/ckcsym.h\
  237.     $(SDIR)/ckcdeb.h\
  238.     $(SDIR)/ckcasc.h\
  239.     $(SDIR)/ckcker.h\
  240.     $(SDIR)/ckcuni.h\
  241.     $(SDIR)/ckcxla.h\
  242.     $(SDIR)/ckuxla.h 
  243.  
  244. $(RDIR)/ckcfn3.r:\
  245.     $(SDIR)/ckcfn3.c\
  246.     $(SDIR)/ckcsym.h\
  247.     $(SDIR)/ckcdeb.h\
  248.     $(SDIR)/ckcasc.h\
  249.     $(SDIR)/ckcker.h\
  250.     $(SDIR)/ckcuni.h\
  251.     $(SDIR)/ckcxla.h\
  252.     $(SDIR)/ckuxla.h 
  253.  
  254. $(RDIR)/ckuxla.r:\
  255.     $(SDIR)/ckuxla.c\
  256.     $(SDIR)/ckcsym.h\
  257.     $(SDIR)/ckcdeb.h\
  258.     $(SDIR)/ckcker.h\
  259.     $(SDIR)/ckucmd.h\
  260.     $(SDIR)/ckcuni.h\
  261.     $(SDIR)/ckcxla.h\
  262.     $(SDIR)/ckuxla.h 
  263.  
  264. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  265. $(RDIR)/ckuusr.r:\
  266.     $(SDIR)/ckuusr.c\
  267.     $(SDIR)/ckcsym.h\
  268.     $(SDIR)/ckcdeb.h\
  269.     $(SDIR)/ckcasc.h\
  270.     $(SDIR)/ckcker.h\
  271.     $(SDIR)/ckuusr.h\
  272.     $(SDIR)/ckucmd.h\
  273.     $(SDIR)/ckcuni.h\
  274.     $(SDIR)/ckcxla.h\
  275.     $(SDIR)/ckuxla.h\
  276.     $(SDIR)/ckcnet.h 
  277.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  278.  
  279. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  280. $(RDIR)/ckuus2.r:\
  281.     $(SDIR)/ckuus2.c\
  282.     $(SDIR)/ckcsym.h\
  283.     $(SDIR)/ckcdeb.h\
  284.     $(SDIR)/ckcnet.h\
  285.     $(SDIR)/ckcasc.h\
  286.     $(SDIR)/ckcker.h\
  287.     $(SDIR)/ckuusr.h\
  288.     $(SDIR)/ckucmd.h\
  289.     $(SDIR)/ckcuni.h\
  290.     $(SDIR)/ckcxla.h\
  291.     $(SDIR)/ckuxla.h 
  292.     $(CC) $(HUGECFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  293.  
  294. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  295. $(RDIR)/ckuus3.r:\
  296.     $(SDIR)/ckuus3.c\
  297.     $(SDIR)/ckcsym.h\
  298.     $(SDIR)/ckcdeb.h\
  299.     $(SDIR)/ckcasc.h\
  300.     $(SDIR)/ckcker.h\
  301.     $(SDIR)/ckcuni.h\
  302.     $(SDIR)/ckcxla.h\
  303.     $(SDIR)/ckuxla.h\
  304.     $(SDIR)/ckcnet.h\
  305.     $(SDIR)/ckuusr.h\
  306.     $(SDIR)/ckucmd.h 
  307.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  308.  
  309. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  310. $(RDIR)/ckuus4.r:\
  311.     $(SDIR)/ckuus4.c\
  312.     $(SDIR)/ckcsym.h\
  313.     $(SDIR)/ckcdeb.h\
  314.     $(SDIR)/ckcasc.h\
  315.     $(SDIR)/ckcker.h\
  316.     $(SDIR)/ckuusr.h\
  317.     $(SDIR)/ckucmd.h\
  318.     $(SDIR)/ckuver.h\
  319.     $(SDIR)/ckcnet.h\
  320.     $(SDIR)/ckcuni.h\
  321.     $(SDIR)/ckcxla.h\
  322.     $(SDIR)/ckuxla.h 
  323.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  324.  
  325. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  326. $(RDIR)/ckuus5.r:\
  327.     $(SDIR)/ckuus5.c\
  328.     $(SDIR)/ckcsym.h\
  329.     $(SDIR)/ckcdeb.h\
  330.     $(SDIR)/ckcasc.h\
  331.     $(SDIR)/ckcker.h\
  332.     $(SDIR)/ckuusr.h\
  333.     $(SDIR)/ckucmd.h\
  334.     $(SDIR)/ckcnet.h\
  335.     $(SDIR)/ckcuni.h\
  336.     $(SDIR)/ckcxla.h\
  337.     $(SDIR)/ckuxla.h 
  338.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  339.  
  340. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  341. $(RDIR)/ckuus6.r:\
  342.     $(SDIR)/ckuus6.c\
  343.     $(SDIR)/ckcsym.h\
  344.     $(SDIR)/ckcdeb.h\
  345.     $(SDIR)/ckcasc.h\
  346.     $(SDIR)/ckcker.h\
  347.     $(SDIR)/ckuusr.h\
  348.     $(SDIR)/ckucmd.h\
  349.     $(SDIR)/ckcuni.h\
  350.     $(SDIR)/ckcxla.h\
  351.     $(SDIR)/ckuxla.h\
  352.     $(SDIR)/ckcnet.h 
  353.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  354.  
  355. $(RDIR)/ckuus7.r:\
  356.     $(SDIR)/ckuus7.c\
  357.     $(SDIR)/ckcsym.h\
  358.     $(SDIR)/ckcdeb.h\
  359.     $(SDIR)/ckcasc.h\
  360.     $(SDIR)/ckcker.h\
  361.     $(SDIR)/ckcuni.h\
  362.     $(SDIR)/ckcxla.h\
  363.     $(SDIR)/ckuxla.h\
  364.     $(SDIR)/ckcnet.h\
  365.     $(SDIR)/ckuusr.h\
  366.     $(SDIR)/ckucmd.h 
  367.  
  368. $(RDIR)/ckuusx.r:\
  369.     $(SDIR)/ckuusx.c\
  370.     $(SDIR)/ckcsym.h\
  371.     $(SDIR)/ckcdeb.h\
  372.     $(SDIR)/ckcasc.h\
  373.     $(SDIR)/ckcker.h\
  374.     $(SDIR)/ckuusr.h\
  375.     $(SDIR)/ckucmd.h\
  376.     $(SDIR)/ckcuni.h\
  377.     $(SDIR)/ckcxla.h\
  378.     $(SDIR)/ckuxla.h\
  379.     $(SDIR)/ckcsig.h
  380.  
  381. $(RDIR)/ckuusy.r:\
  382.     $(SDIR)/ckuusy.c\
  383.     $(SDIR)/ckcsym.h\
  384.     $(SDIR)/ckcdeb.h\
  385.     $(SDIR)/ckcasc.h\
  386.     $(SDIR)/ckcker.h\
  387.     $(SDIR)/ckucmd.h\
  388.     $(SDIR)/ckcnet.h 
  389.  
  390. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  391. $(RDIR)/ckucmd.r:\
  392.     $(SDIR)/ckucmd.c\
  393.     $(SDIR)/ckcsym.h\
  394.     $(SDIR)/ckcdeb.h\
  395.     $(SDIR)/ckucmd.h\
  396.     $(SDIR)/ckcker.h\
  397.     $(SDIR)/ckcasc.h 
  398.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  399.  
  400. $(RDIR)/ck9fio.r:\
  401.     $(SDIR)/ck9fio.c\
  402.     $(SDIR)/ckcsym.h\
  403.     $(SDIR)/ckcdeb.h\
  404.     $(SDIR)/ckcker.h\
  405.     $(SDIR)/ckcasc.h 
  406.  
  407. $(RDIR)/ck9ren.r:\
  408.     $(SDIR)/ck9ren.c\
  409.     $(SDIR)/ckcsym.h\
  410.     $(SDIR)/ckcdeb.h 
  411.  
  412. $(RDIR)/ck9tio.r:\
  413.     $(SDIR)/ck9tio.c\
  414.     $(SDIR)/ckcsym.h\
  415.     $(SDIR)/ckcdeb.h\
  416.     $(SDIR)/ckcnet.h 
  417.     $(CC) $(CFLAGS) -dO_GOODDRIVER $(SDIR)/$*.c -r=$(RDIR)
  418.  
  419. $(RDIR)/ck9con.r:\
  420.     $(SDIR)/ck9con.c\
  421.     $(SDIR)/ckcsym.h\
  422.     $(SDIR)/ckcdeb.h\
  423.     $(SDIR)/ckucmd.h\
  424.     $(SDIR)/ckcker.h\
  425.     $(SDIR)/ckcasc.h\
  426.     $(SDIR)/ckcuni.h\
  427.     $(SDIR)/ckcxla.h\
  428.     $(SDIR)/ckuxla.h\
  429.     $(SDIR)/ckcnet.h 
  430.  
  431. # use 32 bit pc relative addressing because code segment is too big for 16 bit
  432. $(RDIR)/ckudia.r:\
  433.     $(SDIR)/ckudia.c\
  434.     $(SDIR)/ckcsym.h\
  435.     $(SDIR)/ckcdeb.h\
  436.     $(SDIR)/ckcasc.h\
  437.     $(SDIR)/ckcker.h\
  438.     $(SDIR)/ckucmd.h\
  439.     $(SDIR)/ckcnet.h\
  440.     $(SDIR)/ckuusr.h\
  441.     $(SDIR)/ckcsig.h
  442.     $(CC) $(BIGCFLAGS) $(SDIR)/$*.c -r=$(RDIR)
  443.  
  444. $(RDIR)/ckuscr.r:\
  445.     $(SDIR)/ckuscr.c\
  446.     $(SDIR)/ckcsym.h\
  447.     $(SDIR)/ckcdeb.h\
  448.     $(SDIR)/ckcasc.h\
  449.     $(SDIR)/ckcker.h\
  450.     $(SDIR)/ckuusr.h\
  451.     $(SDIR)/ckucmd.h\
  452.     $(SDIR)/ckcnet.h\
  453.     $(SDIR)/ckcsig.h
  454.  
  455. $(RDIR)/ckcnet.r:\
  456.     $(SDIR)/ckcnet.c\
  457.     $(SDIR)/ckcsym.h\
  458.     $(SDIR)/ckcdeb.h\
  459.     $(SDIR)/ckcker.h\
  460.     $(SDIR)/ckcnet.h\
  461.     $(SDIR)/ckcsig.h
  462.  
  463. $(RDIR)/ckctel.r:\
  464.     $(SDIR)/ckctel.c\
  465.     $(SDIR)/ckcsym.h\
  466.     $(SDIR)/ckcdeb.h\
  467.     $(SDIR)/ckcker.h\
  468.     $(SDIR)/ckcnet.h\
  469.     $(SDIR)/ckctel.h\
  470.     $(SDIR)/ckclib.h
  471.  
  472. $(RDIR)/ckusig.r:\
  473.     $(SDIR)/ckusig.c\
  474.     $(SDIR)/ckcasc.h\
  475.     $(SDIR)/ckcdeb.h\
  476.     $(SDIR)/ckcker.h\
  477.     $(SDIR)/ckcnet.h\
  478.     $(SDIR)/ckuusr.h\
  479.     $(SDIR)/ckcsig.h
  480.  
  481. $(RDIR)/ckcuni.r:\
  482.     $(SDIR)/ckcuni.c\
  483.     $(SDIR)/ckcsym.h\
  484.     $(SDIR)/ckcdeb.h\
  485.     $(SDIR)/ckucmd.h\
  486.     $(SDIR)/ckcker.h\
  487.     $(SDIR)/ckcuni.h\
  488.     $(SDIR)/ckcxla.h\
  489.     $(SDIR)/ckuxla.h
  490.