home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / octave-1.1.1p1-src.tgz / tar.out / fsf / octave / info / Makefile.in < prev    next >
Makefile  |  1996-09-28  |  6KB  |  217 lines

  1. # Makefile for Octave's info directory.  Adapted from the makefile for
  2. # texinfo/info.
  3. #
  4. # Copyright (C) 1993, 1994 Free Software Foundation, Inc.
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2, or (at your option)
  9. # any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. #### Start of system configuration section. ####
  21.  
  22. TOPDIR = ..
  23.  
  24. srcdir = @srcdir@
  25. top_srcdir = @top_srcdir@
  26. VPATH  = @srcdir@:@srcdir@/../src
  27.  
  28. include $(TOPDIR)/Makeconf
  29.  
  30. INSTALL = @INSTALL@
  31. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  32. INSTALL_DATA = @INSTALL_DATA@
  33.  
  34. common = @srcdir@/../src
  35.  
  36. MAKEINFO= makeinfo
  37.  
  38. LDEFS = -DNAMED_FUNCTIONS=1 -DDEFAULT_INFOPATH='"$(DEFAULT_INFOPATH)"'
  39.  
  40. TERMLIBS = @TERMLIBS@
  41. LIBS = $(TERMLIBS) @LIBS@
  42. LOADLIBES = $(LIBS)
  43.  
  44. SHELL = /bin/sh
  45.  
  46. #### End of system configuration section. ####
  47.  
  48. SOURCES = dir.c display.c echo_area.c filesys.c info-utils.c info.c \
  49.     infodoc.c infomap.c m-x.c nodes.c search.c session.c \
  50.     signals.c terminal.c tilde.c window.c xmalloc.c    indices.c \
  51.     makedoc.c nodemenu.c footnotes.c dribble.c variables.c gc.c \
  52.     error.c
  53.  
  54. INCLUDES = display.h doc.h echo_area.h filesys.h general.h \
  55.     info-utils.h info.h infomap.h nodes.h search.h session.h \
  56.     signals.h termdep.h terminal.h tilde.h indices.h window.h \
  57.     footnotes.h dribble.h variables.h gc.h
  58.  
  59. TEXI = info-stnd.texi info.texi userdoc.texi
  60.  
  61. DISTFILES = Makefile.in README NEWS info.1 \
  62.       $(SOURCES) $(INCLUDES) $(TEXINFO)
  63.  
  64. GETOPT_OBJS = getopt.o getopt1.o
  65.  
  66. LIBOBJS = dir.o display.o doc.o echo_area.o filesys.o info-utils.o \
  67.     infodoc.o infomap.o m-x.o nodes.o search.o session.o signals.o \
  68.     terminal.o tilde.o window.o indices.o xmalloc.o nodemenu.o \
  69.     footnotes.o dribble.o variables.o gc.o error.o
  70.  
  71. OBJECTS = info.o $(LIBOBJS) $(GETOPT_OBJS)
  72.  
  73. # The names of files which declare info commands.
  74. CMDFILES = $(srcdir)/session.c $(srcdir)/echo_area.c $(srcdir)/infodoc.c \
  75.        $(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c \
  76.        $(srcdir)/footnotes.c $(srcdir)/variables.c
  77.  
  78. # The name of the program which builds documentation structure from CMDFILES.
  79. MAKEDOC_OBJECTS = makedoc.o xmalloc.o
  80. MAKEDOC_SOURCE = makedoc.c xmalloc.c
  81.  
  82. .c.o:
  83.     $(CC) -c $(CPPFLAGS) $(LDEFS) -I$(common) $(UGLY_ALL_CFLAGS) $<
  84.  
  85. all: libinfo.a # info.info info-stnd.info
  86. .PHONY: all
  87.  
  88. sub-all: all
  89. .PHONY: sub-all
  90.  
  91. install: all
  92. #    $(INSTALL_PROGRAM) info $(datadir)/info
  93. #    -d=$(srcdir); test -f ./info.info && d=.; \
  94. #        $(INSTALL_DATA) $$d/info.info $(infodir)/info.info
  95. #    -d=$(srcdir); test -f ./info-stnd.info && d=.; \
  96. #        $(INSTALL_DATA) $$d/info-stnd.info $(infodir)/info-stnd.info
  97. #    -$(INSTALL_DATA) $(srcdir)/info.1 $(mandir)/info.$(manext)
  98. .PHONY: install
  99.  
  100. uninstall:
  101. #    rm -f $(datadir)/info
  102. #    rm -f $(infodir)/info.info
  103. #    rm -f $(infodir)/info-stnd.info
  104. #    rm -f $(mandir)/info.$(manext)
  105. .PHONY: uninstall
  106.  
  107. libinfo.a: $(LIBOBJS)
  108.     $(AR) $(ARFLAGS) libinfo.a $(LIBOBJS)
  109.     $(RANLIB) libinfo.a
  110.  
  111. info: $(OBJECTS)
  112.     $(CC) $(LDFLAGS) -o info $(OBJECTS) $(LOADLIBES)
  113.  
  114. info.info: info.texi
  115.     $(MAKEINFO) --no-split -I$(srcdir) info.texi
  116.  
  117. info-stnd.info: info-stnd.texi
  118.     $(MAKEINFO) --no-split -I$(srcdir) info-stnd.texi
  119.  
  120. makedoc: $(MAKEDOC_OBJECTS)
  121.     $(CC) $(LDFLAGS) -o makedoc $(MAKEDOC_OBJECTS) $(LOADLIBES)
  122.  
  123. clean:
  124.     rm -f info funs.h doc.c makedoc $(OBJECTS) $(MAKEDOC_OBJECTS)
  125.  
  126. distclean: clean texclean
  127.     rm -f Makefile config.status *~ core core.* *.BAK TAGS
  128.  
  129. mostlyclean: clean
  130.  
  131. realclean: distclean
  132.     rm -f funs.h doc.c
  133.     rm -f info.info info-stnd.info
  134.  
  135. local-dist:
  136.     ln $(DISTFILES) ../`cat ../.fname`/info
  137. .PHONY: local-dist
  138.  
  139. dist:
  140.     ln $(DISTFILES) ../`cat ../.fname`/info
  141. .PHONY: dist
  142.  
  143. TAGS: $(SOURCES) makedoc-TAGS
  144.     etags $(SOURCES)
  145.     cat makedoc-TAGS >>TAGS && rm -f makedoc-TAGS
  146.  
  147. makedoc-TAGS: $(CMDFILES)
  148.     ./makedoc -tags $(CMDFILES) >makedoc-TAGS
  149.  
  150. texclean:
  151.     rm -f *.toc *.aux *.log *.cp *.fn *.tp *.vr *.pg *.ky *.cps \
  152.     *.tps *.fns *.kys *.pgs *.vrs
  153.  
  154. check: info
  155.  
  156. # The files `doc.c' and `funs.h' are created by ./makedoc run over the source
  157. # files which contain DECLARE_INFO_COMMAND.  `funs.h' is a header file
  158. # listing the functions found.  `doc.c' is a structure containing pointers
  159. # to those functions along with completable names and documentation strings.
  160. funs.h: makedoc $(CMDFILES)
  161.     -@if test -f funs.h; then mv -f funs.h old-funs.h; fi; :
  162.     -@if test -f doc.c; then mv -f doc.c old-doc.c; fi; :
  163.     ./makedoc $(CMDFILES)
  164.     -@if cmp -s old-funs.h funs.h; then mv old-funs.h funs.h; \
  165.       else rm -f old-funs.h; fi; :
  166.     -@if cmp -s old-doc.c doc.c; then mv old-doc.c doc.c; \
  167.       else rm -f old-doc.c; fi; :
  168.  
  169. doc.c:         funs.h
  170. dribble.o:    dribble.c dribble.h
  171. display.o:    display.c
  172. echo_area.o:    echo_area.c
  173. filesys.o:    filesys.c
  174. info-utils.o:    info-utils.c
  175. info.o:        info.c
  176. infodoc.o:    infodoc.c
  177. infomap.o:    infomap.c
  178. m-x.o:        m-x.c
  179. nodes.o:    nodes.c
  180. search.o:    search.c
  181. session.o:    session.c
  182. signals.o:    signals.c
  183. terminal.o:    terminal.c
  184. tilde.o:    tilde.c
  185. window.o:    window.c
  186. xmalloc.o:    xmalloc.c
  187. indices.o:    indices.c
  188. makedoc.o:    makedoc.c
  189.  
  190. dir.o:         dir.c
  191. display.o:     nodes.h info-utils.h search.h
  192. display.o:     terminal.h window.h display.h
  193. echo_area.o:     info.h
  194. filesys.o:     general.h tilde.h filesys.h
  195. footnotes.o:     footnotes.h
  196. info-utils.o:     info-utils.h nodes.h search.h
  197. info.o:     info.h $(common)/getopt.h
  198. infodoc.o:     info.h doc.h
  199. infomap.o:     infomap.h funs.h
  200. gc.o:        info.h
  201. m-x.o:         info.h
  202. nodes.o:     search.h filesys.h
  203. nodes.o:     nodes.h info-utils.h
  204. search.o:     general.h search.h nodes.h
  205. session.o:     info.h
  206. signals.o:     info.h signals.h
  207. terminal.o:     terminal.h termdep.h
  208. tilde.o:     tilde.h
  209. variables.c:     variables.h
  210. window.o:     nodes.h window.h display.h
  211. window.o:     info-utils.h search.h infomap.h
  212.  
  213. # Prevent GNU make v3 from overflowing arg limit on SysV.
  214. .NOEXPORT:
  215.  
  216. # eof
  217.