home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / jove-4.16-src.tgz / tar.out / bsd / jove / Makefile.in < prev    next >
Makefile  |  1996-09-28  |  23KB  |  590 lines

  1. ########################################################################
  2. # This program is Copyright (C) 1986-1996 by Jonathan Payne.  JOVE is  #
  3. # provided to you without charge, and with no warranty.  You may give  #
  4. # away copies of JOVE, including sources, provided that this notice is #
  5. # included in all the files.                                           #
  6. ########################################################################
  7.  
  8. # TMPDIR is where the tmp files get stored, usually /tmp or /usr/tmp.  If
  9. # your system, or reboot, removes files in /tmp, but not those in /usr/tmp,
  10. # then it makes sense to make TMPDIR be /usr/tmp.
  11. # But if you want to recover buffers on system crashes, you should create a
  12. # directory that doesn't get cleaned upon reboot, and use that instead.
  13. # You would probably want to clean out that directory periodically with
  14. # /etc/cron.
  15. # RECDIR is the directory in which RECOVER looks for JOVE's tempfiles.
  16. #
  17. # JOVEHOME is the directory in which pieces of JOVE are kept.  It is only used
  18. #    in the default definitions of SHAREDIR, LIBDIR, BINDIR, and MANDIR.
  19. # SHAREDIR is for online documentation, and the system-wide jove.rc file.
  20. # LIBDIR is for the PORTSRV and RECOVER programs.
  21. # BINDIR is where to put the executables JOVE and TEACHJOVE.
  22. # MANDIR is where the manual pages go for JOVE, RECOVER and TEACHJOVE.
  23. # MANEXT is the extension for the man pages, e.g., jove.1 or jove.l or jove.m.
  24. # DFLTSHELL is the default shell invoked by JOVE and TEACHJOVE.
  25. #
  26. # If they don't exist, this makefile will try to create the directories
  27. # LIBDIR and SHAREDIR.  All others must already exist.
  28.  
  29. srcdir =    @srcdir@
  30. VPATH =        @srcdir@
  31.  
  32. prefix =    @prefix@
  33. exec_prefix =    @exec_prefix@
  34.  
  35. bindir =    $(exec_prefix)/bin
  36. libdir =    $(exec_prefix)/lib
  37. incdir =    $(prefix)/include
  38. infodir =    $(prefix)/info
  39.  
  40. INSTALL =    @INSTALL@
  41. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  42. INSTALL_DATA =    @INSTALL_DATA@
  43.  
  44. SHELL = /bin/sh
  45. TMPDIR = /tmp
  46. RECDIR = /tmp/preserve
  47.  
  48. JOVEHOME = @prefix@
  49. SHAREDIR = $(JOVEHOME)/lib/jove
  50. LIBDIR = $(JOVEHOME)/lib/jove
  51. BINDIR = $(JOVEHOME)/bin
  52. MANDIR = $(JOVEHOME)/man/man$(MANEXT)
  53. MANEXT = 1
  54. DFLTSHELL = /bin/sh
  55.  
  56. # Select optimization level (flags passed to compiling and linking steps).
  57. # On most systems, -g for debugging, -O for optimization.
  58. # On the official Sun ANSI C compiler and the standard System V Release 4
  59. # compiler, adding -Xa -v will increase compiler checking.
  60. # On DEC OSF/1, -std1 -O
  61.  
  62. OPTFLAGS =
  63.  
  64. # For making dependencies under BSD systems
  65. DEPENDFLAG = -M
  66. # or, using the official Sun ANSI C compiler
  67. # DEPENDFLAG = -xM
  68.  
  69. # Select the right libraries for your system.
  70. #    2.10BSD:LIBS = -ltermcap
  71. #    v7:    LIBS = -ltermcap
  72. #    4.1BSD:    LIBS = -ltermcap -ljobs
  73. #    4.2BSD:    LIBS = -ltermcap
  74. #    4.3BSD:    LIBS = -ltermcap
  75. #    SysV Rel. 2: LIBS = -lcurses
  76. #    SCO Xenix: LIBS = -ltermcap -lx
  77. #    SCO: LIBS = -lcurses
  78. #    AIX on the R6000s: LIBS = -lcurses -ltermcap -ls
  79. #    MIPS: LIBS = -ltermcap
  80.  
  81. LIBS = -lcurses
  82.  
  83. #    2.10BSD:LDFLAGS =
  84. #    v7:    LDFLAGS =
  85. #    4.1BSD:    LDFLAGS =
  86. #    4.2BSD:    LDFLAGS =
  87. #    4.3BSD:    LDFLAGS =
  88. #    SysV Rel. 2: LDFLAGS = -Ml
  89. #    SCO Xenix: LDFLAGS = -Ml -F 3000
  90. #    SCO Unix: LDFLAGS =
  91. #    AIX Unix: LDFLAGS = -bloadmap:$@.map # only if loadmap
  92. #
  93. # To optimize the use of the address spaces, add to the LDFLAGS:
  94. #    PDP-11 with separate I&D: -i
  95. #    PDP-11 without separate I&D: -n
  96.  
  97.  
  98. LDFLAGS =
  99.  
  100. # define a symbol for your OS if it hasn't got one.  See sysdep.h.
  101. # Jove has very few defaults, you will almost certainly need to define
  102. # *something*.
  103. #
  104. #    Apple A/UX on macIIs        SYSDEFS=-DA_UX
  105. #    BSD4.2,4.3            SYSDEFS=-DBSD4
  106. #    BSDI, 386BSD, BSD4.4        SYSDEFS=-DBSDPOSIX
  107. #    Consensys V4            SYSDEFS=-DSYSVR4 -DGRANTPT_BUG
  108. #    DEC OSF R1.3MK            SYSDEFS=-DSYSVR4
  109. #    DEC OSF/1 V1.3            SYSDEFS=-BSDPOSIX -DNO_TIOCREMOTE -DNO_TIOCSIGNAL
  110. #    DEC OSF/1 V2.0 and later    SYSDEFS=-DSYSVR4
  111. #    DEC Ultrix 4.2            SYSDEFS=-DBSDPOSIX
  112. #    DEC Ultrix 4.3            SYSDEFS=-DBSDPOSIX -DJVDISABLE=255
  113. #    DG AViiON 5.3R4            SYSDEFS=-DSYSVR4 -DBSD_SIGS
  114. #    HP/UX 8 or 9            SYSDEFS=-DHPUX -Ac
  115. #    IBM RS6000s            SYSDEFS=-DAIX3_2
  116. #    Irix 3.3-4.0.5            SYSDEFS=-DIRIX -DIRIX4
  117. #    Irix 5.0 onwards        SYSDEFS=-DIRIX -prototypes
  118. #    LINUX                SYSDEFS=-DBSDPOSIX
  119. #    MIPS RiscOS4.x            SYSDEFS=-systype bsd43 -DBSD4
  120. #    SCO Unix            SYSDEFS=-DSCO
  121. #    SunOS3.x            SYSDEFS=-DSUNOS3
  122. #    SunOS4.0*            SYSDEFS=-DSUNOS40
  123. #    SunOS4.1*            SYSDEFS=-DSUNOS41
  124. #    SunOS5.0/Solaris 2.0        SYSDEFS=-DSYSVR4 -DGRANTPT_BUG
  125. #    SunOS5.[1234]/Solaris 2.[1234]    SYSDEFS=-DSYSVR4
  126. #    Sys III, Sys V R 2,3        SYSDEFS=-DSYSV
  127. #    Sys V Release 4.0        SYSDEFS=-DSYSVR4 -DGRANTPT_BUG
  128. #    Sys V Release 4.?        SYSDEFS=-DSYSVR4
  129. #
  130. # Some systems based on System V release 4 have a bug affecting interactive
  131. # processes.  This bug can be worked around by defining GRANTPT_BUG.
  132. # Read the explanation of GRANTPT_BUG in sysdep.doc.
  133. #
  134. # Some of the MIPS based Ultrix (upto 4.2 at least), RiscOS and Irix (up to
  135. # 3.3 at least) also need -DMIPS_CC_BUG.
  136. #
  137. # Some (all?) versions of the HPUX C compiler have a bug in handling forward
  138. # struct tag declarations.  Using the -Ac flag in place of -Ae will avoid
  139. # this problem (and reduce the compiler's error checking, unfortunately).
  140. #
  141. # Add -DUSE_EXIT if you're profiling or using purify (this causes Jove
  142. # to exit using exit(), instead of _exit()).
  143. #
  144. # You can just say 'make SYSDEFS=-Dwhatever' on these systems.
  145.  
  146. SYSDEFS =
  147.  
  148. # for SCO Xenix, set
  149. #    MEMFLAGS = -Mle
  150. #    OUR_CFLAGS = -LARGE -O -F 3000 -K -Mle  (say -Mle2 for an 80286)
  151.  
  152. CFLAGS = @CFLAGS@
  153. INCLUDES = -I. -I$(srcdir)
  154. OUR_CFLAGS = $(OPTFLAGS) $(SYSDEFS) $(CFLAGS) $(INCLUDES)
  155.  
  156. # For SYSVR4 (/usr/ucb/cc will NOT work because of setjmp.h):
  157. # CC = /usr/bin/cc
  158. # To use the SunPro compiler under SunOS 4.n:
  159. # CC = acc
  160. # To use the official Sun compiler under Solaris 2.n:
  161. # CC = /opt/SUNWspro/bin/cc
  162. # For DG AViiON, expect compile errors unless you use the GNU C compiler:
  163. # CC=gcc
  164.  
  165. # Load invocation of cc.
  166. # LDCC = purify $(CC)
  167.  
  168. CC = @CC@
  169. LDCC = $(CC)
  170.  
  171. # For cross compiling Jove, set CC to the cross compiler, and LOCALCC
  172. # to the local C compiler. LOCALCC will be used for compiling setmaps,
  173. # which is run as part of the compilation to generate the keymaps.
  174. # Set LOCALCFLAGS and LOCALLDFLAGS appropriately too. For Xenix, note
  175. # that LOCALCFLAGS must be set to $(MEMFLAGS)
  176.  
  177. LOCALCC = $(CC)
  178. LOCALCFLAGS = $(OUR_CFLAGS)    # $(MEMFLAGS)
  179. LOCALLDFLAGS = $(LDFLAGS)
  180.  
  181. # Objects are grouped into overlays for the benefit of (at least) 2.xBSD.
  182.  
  183. BASESEG = commands.o keys.o argcount.o ask.o buf.o jctype.o delete.o \
  184.       disp.o insert.o io.o jove.o marks.o misc.o re.o \
  185.       screen.o termcap.o unix.o util.o vars.o list.o keymaps.o \
  186.       mouse.o
  187. OVLAY1 = abbrev.o rec.o paragraph.o fmt.o
  188. OVLAY2 = c.o wind.o fp.o move.o
  189. OVLAY3 = extend.o macros.o
  190. OVLAY4 = iproc.o reapp.o
  191. OVLAY5 = proc.o scandir.o term.o case.o
  192.  
  193. OBJECTS = $(BASESEG) $(OVLAY1) $(OVLAY2) $(OVLAY3) $(OVLAY4) $(OVLAY5)
  194.  
  195. NROFF = nroff
  196. TROFF = troff -Tpost
  197. TROFFPOST = | dpost - >troff.out.ps
  198.  
  199. MANUALS = jove.$(MANEXT) teachjove.$(MANEXT) jovetool.$(MANEXT)
  200.  
  201. C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c case.c jctype.c \
  202.     delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
  203.     jove.c list.c macros.c marks.c misc.c move.c paragraph.c \
  204.     proc.c re.c reapp.c rec.c scandir.c screen.c term.c termcap.c unix.c \
  205.     util.c vars.c vars.tab wind.c msgetch.c mac.c keymaps.c ibmpcdos.c \
  206.     mouse.c win32.c
  207.  
  208. SOURCES = $(C_SRC) portsrv.c recover.c setmaps.c teachjove.c
  209.  
  210. HEADERS = abbrev.h argcount.h ask.h buf.h c.h case.h chars.h commands.h \
  211.     jctype.h dataobj.h delete.h disp.h extend.h externs.h \
  212.     fmt.h fp.h insert.h io.h iproc.h jove.h \
  213.     keymaps.h list.h mac.h macros.h marks.h \
  214.     misc.h mouse.h move.h paragraph.h proc.h \
  215.     re.h reapp.h rec.h recover.h resource.h scandir.h screen.h \
  216.     select.h sysdep.h sysprocs.h temp.h term.h ttystate.h \
  217.     tune.h util.h vars.h version.h wind.h
  218.  
  219. DOCTERMS =    $(srcdir)/doc/jove.rc.sun $(srcdir)/doc/keychart.sun \
  220.     $(srcdir)/doc/jove.rc.sun-cmd $(srcdir)/doc/keychart.sun-cmd \
  221.     $(srcdir)/doc/jove.rc.vt100 $(srcdir)/doc/keychart.vt100 \
  222.     $(srcdir)/doc/jove.rc.wyse $(srcdir)/doc/keychart.wyse \
  223.     $(srcdir)/doc/jove.rc.xterm $(srcdir)/doc/keychart.xterm \
  224.     $(srcdir)/doc/jove.rc.z29 $(srcdir)/doc/keychart.z29 \
  225.     $(srcdir)/doc/jove.rc.3022 $(srcdir)/doc/keychart.3022 \
  226.     $(srcdir)/doc/XTermresource
  227.  
  228. DOCS =    $(srcdir)/doc/README $(srcdir)/doc/teach-jove $(srcdir)/doc/jove.qref \
  229.     $(srcdir)/doc/intro.nr $(srcdir)/doc/cmds.macros.nr $(srcdir)/doc/cmds.nr $(srcdir)/doc/contents.nr \
  230.     $(srcdir)/doc/jove.nr $(srcdir)/doc/teachjove.nr $(srcdir)/doc/xjove.nr $(srcdir)/doc/jovetool.nr \
  231.     $(srcdir)/doc/jove.rc $(srcdir)/doc/example.rc $(DOCTERMS)
  232.  
  233. MISC =    Makefile Makefile.bcc Makefile.msc Makefile.wat Makefile.zor \
  234.     README README.dos README.mac README.w32 sysdep.doc tune.doc
  235.  
  236. SUPPORT = teachjove.c recover.c setmaps.c portsrv.c keys.txt \
  237.     menumaps.txt mjovers.Hqx jjoveico.uue jjove.rc
  238.  
  239. BACKUPS = $(HEADERS) $(C_SRC) $(SUPPORT) $(MISC)
  240.  
  241. .c.o:
  242.     $(CC) -c $(OUR_CFLAGS) $<
  243.  
  244. all:    jjove recover teachjove portsrv cmds.doc $(MANUALS)
  245.  
  246. jjove:    $(OBJECTS)
  247.     $(LDCC) $(LDFLAGS) $(OPTFLAGS) -o jjove $(OBJECTS) $(LIBS)
  248.     @-size jjove
  249.  
  250. # For 2.xBSD: link jove as a set of overlays.  Not tested recently.
  251.  
  252. ovjove:    $(OBJECTS)
  253.     ld $(LDFLAGS) $(OPTFLAGS) -X /lib/crt0.o \
  254.         -Z $(OVLAY1) \
  255.         -Z $(OVLAY2) \
  256.         -Z $(OVLAY3) \
  257.         -Z $(OVLAY4) \
  258.         -Z $(OVLAY5) \
  259.         -Y $(BASESEG) \
  260.         -o jjove $(LIBS) -lc
  261.     @-size jjove
  262.  
  263. portsrv:    portsrv.o
  264.     $(CC) $(LDFLAGS) $(OPTFLAGS) -o portsrv portsrv.o $(LIBS)
  265.  
  266. recover:    recover.o
  267.     $(CC) $(LDFLAGS) $(OPTFLAGS) -o recover recover.o $(LIBS)
  268.  
  269. teachjove:    teachjove.o
  270.     $(CC) $(LDFLAGS) $(OPTFLAGS) -o teachjove teachjove.o $(LIBS)
  271.  
  272. # don't optimize setmaps.c because it produces bad code in some places
  273. # for some reason
  274.  
  275. setmaps:    setmaps.o
  276.     $(LOCALCC) $(LOCALLDFLAGS) -o setmaps setmaps.o
  277.  
  278. setmaps.o:    setmaps.c
  279.     $(LOCALCC) $(LOCALCFLAGS) -c $(srcdir)/setmaps.c
  280.  
  281. keys.c:    setmaps keys.txt
  282.     ./setmaps < $(srcdir)/keys.txt > keys.c
  283.  
  284. keys.o:    keys.c tune.h sysdep.h jove.h keymaps.h dataobj.h commands.h
  285.  
  286. paths.h: Makefile
  287.     -rm -f paths.h
  288.     @echo "/* Changes should be made in Makefile, not to this file! */" > paths.h
  289.     @echo "" >> paths.h
  290.     @echo \#define TMPDIR \"$(TMPDIR)\" >> paths.h
  291.     @echo \#define RECDIR \"$(RECDIR)\" >> paths.h
  292.     @echo \#define LIBDIR \"$(LIBDIR)\" >> paths.h
  293.     @echo \#define SHAREDIR \"$(SHAREDIR)\" >> paths.h
  294.     @echo \#define DFLTSHELL \"$(DFLTSHELL)\" >> paths.h
  295.  
  296. makexjove:
  297.     ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" $(TOOLMAKEEXTRAS) xjove )
  298.  
  299. installxjove:
  300.     ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" INSTALL_PROGRAM="$(INSTALL_PROGRAM)" BINDIR="$(BINDIR)" INSTALLFLAGS="$(INSTALLFLAGS)" $(TOOLMAKEEXTRAS) installxjove )
  301.  
  302. makejovetool:
  303.     ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" DEFINES=-DSUNVIEW $(TOOLMAKEEXTRAS) jovetool )
  304.  
  305. installjovetool:
  306.     ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" DEFINES=-DSUNVIEW INSTALL_PROGRAM="$(INSTALL_PROGRAM)" BINDIR="$(BINDIR)" INSTALLFLAGS="$(INSTALLFLAGS)" $(TOOLMAKEEXTRAS) installjovetool )
  307.  
  308. install: $(LIBDIR) $(SHAREDIR) \
  309.      install-teach-jove install-cmds-doc install-sharedir-docs \
  310.      install-portsrv install-recover install-jove install-teachjove \
  311.      install-jove-man install-teachjove-man install-xjove-man \
  312.      install-jovetool-man
  313.     $(INSTALL_DATA) $(srcdir)/doc/jove.rc $(SHAREDIR)/jove.rc
  314.     @echo See the README about changes to /etc/rc or /etc/rc.local
  315.     @echo so that the system recovers jove files on reboot after a crash
  316.  
  317. $(LIBDIR)::
  318.     test -d $(LIBDIR) || mkdir $(LIBDIR)
  319.  
  320. $(SHAREDIR)::
  321.     test -d $(SHAREDIR) || mkdir $(SHAREDIR)
  322.  
  323. install-teach-jove: teachjove
  324.     $(INSTALL_DATA) teachjove $(SHAREDIR)/teach-jove
  325.  
  326. cmds.doc:    $(srcdir)/doc/cmds.macros.nr doc/cmds.nr
  327.     $(NROFF) $(srcdir)/doc/cmds.macros.nr $(srcdir)/doc/cmds.nr > $@
  328.  
  329. jove.man:    doc/intro.nr doc/cmds.nr
  330.     tbl $(srcdir)/doc/intro.nr | $(NROFF) -ms - $(srcdir)/doc/cmds.nr >$@
  331.  
  332. troff-man:
  333.     tbl $(srcdir)/doc/intro.nr | $(TROFF) -ms - $(srcdir)/doc/cmds.nr $(srcdir)/doc/contents.nr $(TROFFPOST)
  334.  
  335. install-cmds-doc: cmds.doc
  336.     $(INSTALL_DATA) cmds.doc $(SHAREDIR)/cmds.doc
  337.  
  338. $(SHAREDIR)/jove.rc: doc/jove.rc
  339.     $(INSTALL_DATA) $(srcdir)/doc/jove.rc $(SHAREDIR)/jove.rc
  340.  
  341. install-sharedir-docs: $(DOCTERMS)
  342.     for i in $(DOCTERMS) ; do \
  343.       $(INSTALL_DATA) $$i $(SHAREDIR) ; \
  344.     done
  345.  
  346. install-portsrv: portsrv
  347.     $(INSTALL_PROGRAM) portsrv $(LIBDIR)/portsrv
  348.  
  349. install-recover: recover
  350.     $(INSTALL_PROGRAM) recover $(LIBDIR)/recover
  351.  
  352. install-jove: jjove
  353.     $(INSTALL_PROGRAM) jjove $(BINDIR)/jove
  354.  
  355. install-teachjove: teachjove
  356.     $(INSTALL_PROGRAM) teachjove $(BINDIR)/$(TEACHJOVE)
  357.  
  358. jove.$(MANEXT): doc/jove.nr
  359.     @sed -e 's;<TMPDIR>;$(TMPDIR);' \
  360.          -e 's;<LIBDIR>;$(LIBDIR);' \
  361.          -e 's;<SHAREDIR>;$(SHAREDIR);' \
  362.          -e 's;<SHELL>;$(DFLTSHELL);' $(srcdir)/doc/jove.nr > $@
  363.  
  364. install-jove-man: jove.$(MANEXT)
  365.     $(INSTALL_DATA) $? $(MANDIR)/jove.$(MANEXT)
  366.  
  367.  
  368. # doc/jove.doc is the formatted manpage (only needed by DOS)
  369. # Building it should be like building $(MANDIR)/jove.$(MANEXT) except that we
  370. # don't know what to substitue for <TMPDIR> etc. because they
  371. # are not fixed yet, and because we must do the formatting.
  372.  
  373. jove.doc: doc/jove.nr
  374.     $(NROFF) -man $(srcdir)/doc/jove.nr >$@
  375.  
  376. teachjove.$(MANEXT): doc/teachjove.nr
  377.     @sed -e 's;<TMPDIR>;$(TMPDIR);' \
  378.          -e 's;<LIBDIR>;$(LIBDIR);' \
  379.          -e 's;<SHAREDIR>;$(SHAREDIR);' \
  380.          -e 's;<SHELL>;$(DFLTSHELL);' $(srcdir)/doc/teachjove.nr >$@
  381.  
  382. install-teachjove-man: teachjove.$(MANEXT)
  383.     $(INSTALL_DATA) $? $(MANDIR)/teachjove.$(MANEXT)
  384.  
  385. install-xjove-man:
  386.     $(INSTALL_DATA) $(srcdir)/doc/xjove.nr $(MANDIR)/xjove.$(MANEXT)
  387.  
  388. jovetool.$(MANEXT): doc/jovetool.nr
  389.     @sed -e 's;<MANDIR>;$(MANDIR);' \
  390.          -e 's;<MANEXT>;$(MANEXT);' $(srcdir)/doc/jovetool.nr > $@
  391.  
  392. install-jovetool-man: jovetool.$(MANEXT)
  393.     $(INSTALL_DATA) $? $(MANDIR)/jovetool.$(MANEXT)
  394.  
  395. echo:
  396.     @echo $(C-FILES) $(HEADERS)
  397.  
  398. lint:
  399.     lint -n $(C_SRC) keys.c
  400.     @echo Done
  401.  
  402. tags:    $(C_SRC) $(HEADERS)
  403.     ctags -w $(C_SRC) $(HEADERS)
  404.  
  405. # .filelist is a trick to get around a make limit:
  406. # the list of files is too long to fit in a command generated by make
  407. # The actual contents of the file depend only on Makefile, but by
  408. # adding extra dependencies, dependants of .filelist can have shorter
  409. # dependency lists.  Note: since we have no list of xjove files,
  410. # we alway force a make of xjove/.filelist.  This forces .filelist
  411. # to be rebuilt every time it is needed.
  412.  
  413. .filelist:    $(BACKUPS) $(DOCS) .xjfilelist
  414.     @ls $(BACKUPS) >.filelist
  415.     @ls $(DOCS) >>.filelist
  416.     @sed -e 's=^=xjove/=' xjove/.filelist >>.filelist
  417.  
  418. .xjfilelist:
  419.     @( cd xjove ; make .filelist )
  420.  
  421. # override CIFLAGS with something like:
  422. # CIFLAGS="-m'some reason for change' -u4.14.10.n -q"
  423.  
  424. ciall:    .filelist
  425.     ci $(CIFLAGS) `cat .filelist`
  426.  
  427. coall:    .filelist
  428.     co $(BACKUPS) `cat .filelist`
  429.  
  430. jove.shar:    .filelist
  431.     shar .filelist > jove.shar
  432.  
  433. tar:
  434.     @tar cvf - `find . -type f -print | \
  435.         egrep -v '(,v|\.o|jjove|portsrv|setmaps|~)$$' | \
  436.         sort`
  437.  
  438. backup.Z: .filelist
  439.     rm -f backup backup.Z
  440.     tar cf backup `cat .filelist`
  441.     compress backup
  442.  
  443. backup.gz: .filelist
  444.     rm -f backup backup.gz
  445.     tar cf backup `cat .filelist`
  446.     gzip backup
  447.  
  448. tape-backup:    .filelist
  449.     tar cf /dev/rst8 `cat .filelist`
  450.  
  451. # System V sum can be made to match BSD with a -r flag.
  452. # To get this effect, override with SUM = sum -r
  453. SUM = sum
  454.  
  455. checksum:    .filelist
  456.     $(SUM) `cat .filelist`
  457.  
  458. # MSDOS isn't a full-fledged development environment.
  459. # Preparing a distribution for MSDOS involves discarding some things
  460. # and pre-building others.  All should have \n converted to CR LF
  461. # but zoo doesn't do this.
  462. # From SUPPORT: only setmaps.c and keys.txt [would like teachjove.c, recover.c]
  463. # From MISC: all but Makefile and README.mac
  464. # Preformatted documentation. [would like a joverc]
  465. # tags
  466.  
  467. DOSSRC = $(HEADERS) $(C_SRC) setmaps.c keys.txt \
  468.     Makefile.bcc Makefile.msc Makefile.wat Makefile.zor \
  469.     README README.dos README.w32 sysdep.doc tune.doc \
  470.     jjoveico.uue jjove.rc \
  471.     cmds.doc jove.man jove.doc tags
  472.  
  473. jovedoss.zoo:    $(DOSSRC) jjove.ico
  474.     -rm -f jovedoss.zoo
  475.     zoo a jovedoss.zoo $(DOSSRC) jjove.ico
  476.  
  477. jovedoss.zip:    $(DOSSRC) jjove.ico
  478.     -rm -f jovedoss.zip
  479.     zip -k jovedoss.zip jjove.ico -l $(DOSSRC)
  480.  
  481. jjove.ico:    jjoveico.uue
  482.     uudecode jjoveico.uue
  483.  
  484. touch:
  485.     touch $(OBJECTS)
  486.  
  487. clean:
  488.     rm -f a.out core *.o keys.c jjove portsrv recover setmaps \
  489.         teachjove paths.h \#* *~ make.log *.map jjove.ico \
  490.         cmds.doc jove.man jove.doc troff.out.ps \
  491.         jjove.pure_* tags ID .filelist
  492.  
  493. cleanall: clean
  494.     ( cd xjove ; make clean )
  495.  
  496. clobber: clean
  497.     rm -f *.orig *.rej
  498.     ( cd xjove ; make clobber )
  499.  
  500. # This version only works under 4.3BSD
  501. dependbsd:
  502.     @echo '"make depend" only works under 4.3BSD'
  503.     sed -e '/^# DO NOT DELETE THIS LINE/q' Makefile >Makefile.new
  504.     for i in ${SOURCES} ; do \
  505.         $(CC) ${OUR_CFLAGS} ${DEPENDFLAG} $$i | \
  506.         awk ' /[/]usr[/]include/ { next } \
  507.             { if ($$1 != prev) \
  508.             { if (rec != "") print rec; rec = $$0; prev = $$1; } \
  509.             else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
  510.             else rec = rec " " $$2 } } \
  511.             END { print rec } ' >>Makefile.new; \
  512.     done
  513.     echo '# DEPENDENCIES MUST END AT END OF FILE' >>Makefile.new
  514.     echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >>Makefile.new
  515.     echo '# see "make depend" above' >>Makefile.new
  516.     @echo 'New makefile is in "Makefile.new".  Move it to "Makefile".'
  517.  
  518. # This version should work with any UNIX
  519. # It records all dependencies, including ones that are #ifdef'ed out.
  520. # It assumes that only jove.h and tune.h include other headers
  521.  
  522. depend:
  523.     @sed -e '/^# DO NOT DELETE THIS LINE/q' Makefile >Makefile.new
  524.     for i in tune.h jove.h ${SOURCES} ; do \
  525.         ( ( echo "$$i:"; sed -n -e 's/^#[     ]*include[     ]*"\([^"]*\)".*/\1/p' $$i ) | \
  526.         sed -e 's/^jove\.h$$/$$(JOVE_H)/' -e 's/^tune\.h$$/$$(TUNE_H)/' \
  527.             -e 's/^jove\.h:$$/JOVE_H = jove.h/' -e 's/^tune\.h:$$/TUNE_H = tune.h/' \
  528.             -e 's/\.c:$$/.o:/' | \
  529.         tr "\012" "\040" ; echo ) | sed -e 's/ $$//' -e '/:$$/d' >>Makefile.new ; \
  530.     done
  531.     @echo '# DEPENDENCIES MUST END AT END OF FILE' >>Makefile.new
  532.     @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >>Makefile.new
  533.     @echo '# see "make depend" above' >>Makefile.new
  534.     @if cmp -s Makefile Makefile.new ; \
  535.         then echo '*** Makefile is already up to date' ; \
  536.         else echo '*** New makefile is in "Makefile.new".  Move it to "Makefile".' ; \
  537.     fi
  538.  
  539. # DO NOT DELETE THIS LINE -- "make depend" uses it
  540. TUNE_H = tune.h sysdep.h
  541. JOVE_H = jove.h $(TUNE_H) buf.h io.h dataobj.h keymaps.h argcount.h util.h externs.h
  542. commands.o: $(JOVE_H) jctype.h extend.h macros.h mouse.h abbrev.h c.h case.h commands.h delete.h disp.h insert.h sysprocs.h iproc.h marks.h misc.h move.h paragraph.h proc.h reapp.h wind.h commands.tab
  543. abbrev.o: $(JOVE_H) fp.h jctype.h abbrev.h ask.h commands.h delete.h insert.h disp.h fmt.h move.h wind.h
  544. argcount.o: $(JOVE_H) jctype.h
  545. ask.o: $(JOVE_H) jctype.h chars.h disp.h fp.h scandir.h screen.h ask.h delete.h insert.h extend.h fmt.h marks.h move.h mac.h
  546. buf.o: $(JOVE_H) jctype.h disp.h ask.h extend.h fmt.h insert.h macros.h marks.h move.h sysprocs.h proc.h wind.h fp.h iproc.h mac.h
  547. c.o: $(JOVE_H) re.h c.h jctype.h disp.h delete.h insert.h fmt.h marks.h misc.h move.h paragraph.h
  548. case.o: $(JOVE_H) disp.h case.h jctype.h marks.h move.h
  549. jctype.o: $(JOVE_H) jctype.h
  550. delete.o: $(JOVE_H) jctype.h disp.h delete.h insert.h marks.h move.h
  551. disp.o: $(JOVE_H) jctype.h chars.h fp.h disp.h ask.h extend.h fmt.h insert.h sysprocs.h iproc.h move.h macros.h screen.h term.h wind.h mac.h
  552. extend.o: $(JOVE_H) fp.h jctype.h chars.h commands.h disp.h re.h ask.h extend.h fmt.h insert.h move.h sysprocs.h proc.h vars.h mac.h
  553. fp.o: $(JOVE_H) fp.h jctype.h disp.h fmt.h mac.h
  554. fmt.o: $(JOVE_H) chars.h fp.h jctype.h disp.h extend.h fmt.h mac.h
  555. insert.o: $(JOVE_H) jctype.h list.h chars.h disp.h abbrev.h ask.h c.h delete.h insert.h fmt.h macros.h marks.h misc.h move.h paragraph.h screen.h sysprocs.h proc.h wind.h re.h
  556. io.o: $(JOVE_H) list.h fp.h jctype.h disp.h scandir.h ask.h fmt.h insert.h marks.h sysprocs.h proc.h wind.h rec.h mac.h re.h temp.h
  557. iproc.o: $(JOVE_H) re.h jctype.h disp.h fp.h sysprocs.h iproc.h ask.h extend.h fmt.h insert.h marks.h move.h proc.h wind.h select.h ttystate.h
  558. jove.o: $(JOVE_H) fp.h jctype.h chars.h disp.h re.h reapp.h sysprocs.h rec.h ask.h extend.h fmt.h macros.h marks.h mouse.h paths.h proc.h screen.h term.h version.h wind.h iproc.h select.h mac.h
  559. list.o: $(JOVE_H) list.h
  560. macros.o: $(JOVE_H) jctype.h fp.h chars.h disp.h ask.h commands.h macros.h extend.h fmt.h
  561. marks.o: $(JOVE_H) fmt.h marks.h disp.h
  562. misc.o: $(JOVE_H) jctype.h disp.h ask.h c.h delete.h insert.h extend.h fmt.h marks.h misc.h move.h paragraph.h
  563. move.o: $(JOVE_H) re.h chars.h jctype.h disp.h move.h screen.h
  564. paragraph.o: $(JOVE_H) jctype.h disp.h delete.h insert.h fmt.h marks.h misc.h move.h paragraph.h re.h
  565. proc.o: $(JOVE_H) jctype.h fp.h re.h disp.h sysprocs.h ask.h delete.h extend.h fmt.h insert.h iproc.h marks.h misc.h move.h proc.h wind.h
  566. re.o: $(JOVE_H) re.h jctype.h ask.h disp.h fmt.h marks.h
  567. reapp.o: $(JOVE_H) fp.h re.h jctype.h chars.h disp.h ask.h fmt.h marks.h reapp.h wind.h mac.h
  568. rec.o: $(JOVE_H) fp.h sysprocs.h rec.h fmt.h recover.h
  569. scandir.o: $(JOVE_H) scandir.h
  570. screen.o: $(JOVE_H) fp.h chars.h jctype.h disp.h extend.h fmt.h term.h mac.h screen.h wind.h
  571. term.o: $(JOVE_H) term.h fp.h
  572. termcap.o: $(JOVE_H) term.h disp.h fmt.h fp.h jctype.h screen.h
  573. unix.o: $(JOVE_H) fp.h chars.h term.h ttystate.h util.h
  574. util.o: $(JOVE_H) jctype.h disp.h fp.h ask.h chars.h fmt.h insert.h macros.h marks.h move.h rec.h mac.h
  575. vars.o: $(JOVE_H) extend.h vars.h abbrev.h ask.h c.h jctype.h disp.h insert.h sysprocs.h iproc.h mac.h mouse.h paragraph.h proc.h re.h reapp.h rec.h screen.h term.h ttystate.h wind.h vars.tab
  576. wind.o: $(JOVE_H) chars.h disp.h ask.h extend.h commands.h mac.h reapp.h wind.h screen.h
  577. msgetch.o: $(JOVE_H) chars.h disp.h
  578. mac.o: $(TUNE_H) $(JOVE_H) mac.h ask.h chars.h disp.h extend.h fp.h commands.h fmt.h marks.h misc.h move.h screen.h scandir.h term.h vars.h version.h wind.h
  579. keymaps.o: $(JOVE_H) list.h fp.h jctype.h chars.h disp.h re.h ask.h commands.h macros.h extend.h fmt.h screen.h vars.h sysprocs.h iproc.h
  580. ibmpcdos.o: $(JOVE_H) fp.h chars.h screen.h term.h
  581. mouse.o: $(JOVE_H) disp.h misc.h ask.h delete.h fmt.h insert.h marks.h move.h wind.h term.h jctype.h mouse.h xjove/mousemsg.h
  582. win32.o: $(JOVE_H) fp.h chars.h screen.h disp.h
  583. portsrv.o: $(JOVE_H) sysprocs.h iproc.h
  584. recover.o: $(JOVE_H) temp.h sysprocs.h rec.h paths.h recover.h scandir.c jctype.h
  585. setmaps.o: $(JOVE_H) chars.h commands.h vars.h commands.tab vars.tab
  586. teachjove.o: $(TUNE_H) paths.h
  587. # DEPENDENCIES MUST END AT END OF FILE
  588. # IF YOU PUT STUFF HERE IT WILL GO AWAY
  589. # see "make depend" above
  590.