home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / lisp / liszt / 68k / Makefile < prev    next >
Encoding:
Makefile  |  1983-09-12  |  5.0 KB  |  198 lines

  1. #$Header: Makefile,v 1.18 83/09/12 15:27:18 layer Exp $
  2. #
  3. #                -[Sat Jul 30 15:47:44 PDT 1983 by layer]-
  4. #
  5. #    Makefile for liszt 
  6. #
  7. # Copyright (c) 1980, 1982,  The Regents of the University of California.
  8. # the Copyright applies to all files referenced in this Makefile.
  9. # All rights reserved.  
  10. # Authors: John Foderaro (jkf@berkeley.ARPA)
  11. #       Kevin Layer (layer@berkeley.ARPA)
  12. #
  13. # this makefile creates these things:
  14. #   liszt - the interface to the lisp compiler.  This is used only for
  15. #        non virtual memory systems, because the overhead for forking
  16. #        the assembler is too great.
  17. #   nliszt - the lisp compiler. This is the default.
  18. #   snliszt - the lisp compiler, but interpreted.
  19. #   fromasm - used to build the compiler usually for the first
  20. #        time from only .s files.  These files are assembled
  21. #        and loaded into a lisp.
  22. #   install - install the new version created
  23. #   clean - remove all .o files and *nliszt's
  24. #   tags - a tags file for use by ex/vi
  25. #
  26. # CTE refers to compile time enviroment 
  27. #
  28. #--- Default Paths and programs
  29. #
  30. .DEFAULT:nliszt
  31. .SUFFIXES:
  32. .SUFFIXES: .l.o
  33.  
  34. # DESTDIR is the relative offset of where the compiler goes
  35. # (when making new distributions, the `root' is often at /nbsd).
  36. # RootDir is the root directory of the franz lisp system
  37. # (this is changed when the system is configured by ../../lispconf).
  38. DESTDIR =
  39.  
  40. LibDir = ${DESTDIR}/usr/lib/lisp
  41. ObjDir = ${DESTDIR}/usr/ucb
  42. Liszt = ${ObjDir}/liszt
  43. Lisp = ${ObjDir}/lisp
  44. #ifdef swapper
  45. #XLiszt = ${ObjDir}/xliszt
  46. #endif
  47.  
  48. CFLAGS = -O # -Ddebug
  49. Flg =  -xqa
  50.  
  51. CTESrc = ../chead.l ../cmacros.l ../const.l
  52.  
  53. CTEObj= cmacros.o
  54.  
  55. Src =  ../array.l ../datab.l ../decl.l ../expr.l ../fixnum.l ../funa.l\
  56.        ../instr.l ../vector.l ../funb.l ../func.l ../io.l\
  57.        ../tlev.l ../util.l ../lversion.l
  58.  
  59. SharedSrc = ${CTESrc} ${Src} ../ChangeLog ../cmake.l
  60.  
  61. AllSrc =  Makefile Makefile2 lisprc.l lisztrc.l liszt.c
  62.  
  63. Obj = array.o vector.o datab.o decl.o expr.o fixnum.o\
  64.       instr.o funa.o funb.o func.o io.o tlev.o util.o lversion.o
  65.  
  66. AllObj =  ${CTEObj} ${Obj}
  67.  
  68. #liszt :: the user interface to xliszt
  69. # (only for swapped based systems, right now dual/unisoft)
  70. #ifdef swapper
  71. #liszt:    liszt.c
  72. #    cc $(CFLAGS) -DLISZT='"${XLiszt}"' -DAS='"${LibDir}/as"'\
  73. #       -o liszt liszt.c
  74. #else
  75. liszt:
  76. #endif
  77.  
  78. donliszt:
  79.     rm -f nliszt
  80.     make Liszt=${Liszt} Lisp=${Lisp} nliszt
  81.  
  82. nliszt: ${CTEObj} ${Obj} liszt ${Lisp}
  83.     rm -f nliszt
  84.     echo "(load '../cmake.l)(genl nliszt)" | ${Lisp} 
  85.  
  86. #--- generate an interpreted version
  87. snliszt: ${Src} ${Lisp}
  88.     rm -f snliszt
  89.     echo "(load '../cmake.l)(genl snliszt slow)" | ${Lisp}
  90.  
  91. # 'fromasm' is for making the compiler from
  92. # .s files.  On 68k systems this is much faster than
  93. # doing a 'make slow', then a 'make fast'.
  94. fromasm:    assit load liszt
  95. assit:
  96.     for i in *.s; do echo $$i; as $$i; done
  97.  
  98. #--- load .o files into a lisp
  99. load:
  100.     rm -f nliszt
  101.     echo "(load '../cmake.l)(genl nliszt)" | ${Lisp} 
  102.  
  103. # install nliszt, and if we are on a swap based system, then
  104. #install nliszt as xliszt, and liszt (from liszt.c) as liszt.
  105. install:
  106. #ifdef swapper
  107. #    mv nliszt ${XLiszt}
  108. #    cp liszt ${Liszt}
  109. #else
  110.     mv nliszt ${Liszt}
  111. #endif
  112.  
  113. clean:    cleanobj
  114.     rm -f \#* *nliszt *.s
  115.  
  116. cleanobj:
  117.     rm -f *.[ox]
  118.  
  119. #--- rules for each lisp file:
  120. cmacros.o: ../cmacros.l
  121.     ${Liszt} ${Flg} ../cmacros.l -o cmacros.o
  122.  
  123. array.o: ../array.l
  124.     ${Liszt} ${Flg} ../array.l -o array.o
  125.  
  126. instr.o: ../instr.l
  127.     ${Liszt} ${Flg} ../instr.l -o instr.o
  128.  
  129. vector.o: ../vector.l
  130.     ${Liszt} ${Flg} ../vector.l -o vector.o
  131.  
  132. datab.o: ../datab.l
  133.     ${Liszt} ${Flg} ../datab.l -o datab.o
  134.  
  135. decl.o: ../decl.l
  136.     ${Liszt} ${Flg} ../decl.l -o decl.o
  137.  
  138. expr.o: ../expr.l
  139.     ${Liszt} ${Flg} ../expr.l -o expr.o
  140.  
  141. fixnum.o: ../fixnum.l
  142.     ${Liszt} ${Flg} ../fixnum.l -o fixnum.o
  143.  
  144. funa.o: ../funa.l
  145.     ${Liszt} ${Flg} ../funa.l -o funa.o
  146.  
  147. funb.o: ../funb.l
  148.     ${Liszt} ${Flg} ../funb.l -o funb.o
  149.  
  150. func.o: ../func.l
  151.     ${Liszt} ${Flg} ../func.l -o func.o
  152.  
  153. io.o: ../io.l
  154.     ${Liszt} ${Flg} ../io.l -o io.o
  155.  
  156. tlev.o: ../tlev.l
  157.     ${Liszt} ${Flg} ../tlev.l -o tlev.o
  158.  
  159. util.o: ../util.l
  160.     ${Liszt} ${Flg} ../util.l -o util.o
  161.  
  162. lversion.o: ../lversion.l
  163.     ${Liszt} ${Flg} ../lversion.l -o lversion.o
  164.  
  165. tags:    ../tags ${Src} ${CTESrc}
  166.     awk -f ../ltags ${Src} ${CTESrc} | sort > ../tags
  167.  
  168. print:
  169. #    @pr README
  170.     @ls -l | pr 
  171.     @pr TODO Makefile* ../cmake.l lisztrc.l lisprc.l
  172.     @pr -h "Liszt.c (for non-VMUNIX systems only)" liszt.c
  173.     @/usr/local/slp -l ../lversion.l ../chead.l ../cmacros.l\
  174.        ../datab.l ../decl.l ../expr.l\
  175.        ../funa.l ../funb.l ../func.l\
  176.        ../fixnum.l ../array.l ../io.l ../tlev.l ../util.l
  177.  
  178. iprint:
  179.     igrind -lsh Makefile*
  180.     igrind -lc -h "Liszt.c (for non-VMUNIX systems only)" liszt.c
  181.     vlp -p 10 ../lversion.l\
  182.        ../chead.l ../cmacros.l\
  183.        ../datab.l ../decl.l ../expr.l\
  184.        ../funa.l ../funb.l ../func.l\
  185.        ../fixnum.l ../array.l ../io.l ../tlev.l ../util.l\
  186.        ../cmake.l lisztrc.l lisprc.l > vlp.out
  187.     itroff vlp.out
  188.     rm vlp.out
  189.  
  190. scriptcatall: ${AllSrc}
  191.     @../../scriptcat . liszt/68k ${AllSrc}
  192.  
  193. copysource: ${AllSrc}
  194.     (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
  195.  
  196. copyobjects: ${AllObj}
  197.     (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -))
  198.