home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / GROFFSRC / SRC / MAKEFILE.COM < prev    next >
Encoding:
Text File  |  1994-01-03  |  6.4 KB  |  220 lines

  1. # Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  2. #      Written by James Clark (jjc@jclark.com)
  3. # This file is part of groff.
  4. # groff is free software; you can redistribute it and/or modify it under
  5. # the terms of the GNU General Public License as published by the Free
  6. # Software Foundation; either version 2, or (at your option) any later
  7. # version.
  8. # groff is distributed in the hope that it will be useful, but WITHOUT ANY
  9. # WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  11. # for more details.
  12. # You should have received a copy of the GNU General Public License along
  13. # with groff; see the file COPYING.  If not, write to the Free Software
  14. # Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  15. #
  16. # Makefile.comm
  17. #
  18. SHELL=/bin/sh
  19. INCLUDES=-I. -I$(srcdir) -I../include -I$(srcdir)/../include
  20. ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
  21. COMPILE.cc=$(CCC) $(ALL_CCFLAGS) -c
  22. ALL_CFLAGS=$(CDEFINES) $(CFLAGS) $(CPPFLAGS)
  23. COMPILE.c=$(CC) $(ALL_CFLAGS)  -c
  24. LINK.cc=$(CCC) $(CCFLAGS) $(LDFLAGS)
  25. LINK.c=$(CC) $(CFLAGS) $(LDFLAGS)
  26. TOP=..
  27. LIBGROFF=$(TOP)/libgroff/libgroff.a
  28. LIBBIB=$(TOP)/libbib/libbib.a
  29. LIBDRIVER=$(TOP)/libdriver/libdriver.a
  30. LIBM=-lm
  31. MLIB=
  32. XLIBS=
  33. YTABH=
  34. YTABC=
  35. GRAM=
  36. LIBCLEAN=
  37. CLEANADD=
  38. MOSTLYCLEANFILES=$(MANCLEAN) $(PROG) $(OBJS) $(GENSRCS) $(GENHDRS) \
  39.   depend.temp core y.output $(CLEANADD)
  40. CLEANFILES=$(LIBCLEAN)
  41. DISTCLEANFILES=TAGS Makefile
  42. REALCLEANFILES=$(YTABC) $(YTABH)
  43. NAMEPREFIX=
  44. HDRS=
  45. MANPAGES=$(MAN1) $(MAN5) $(MAN7)
  46. MANCLEAN=$(MANPAGES)
  47. fontsubdir=$(fontdir)/dev$(DEV)
  48.  
  49. all install install_bin install_data TAGS depend distfiles uninstall_sub:
  50.  
  51. install: install_bin install_data
  52. uninstall: uninstall_sub
  53. pure:
  54.  
  55. .PHONY: all clean distclean mostlyclean realclean extraclean depend distfiles
  56. .PHONY: install install_bin install_data
  57. .PHONY: uninstall uninstall_sub
  58. .PHONY: pure
  59.  
  60. mostlyclean:
  61.     -rm -f $(MOSTLYCLEANFILES)
  62.  
  63. clean:
  64.     -rm -f $(CLEANFILES) $(MOSTLYCLEANFILES)
  65.  
  66. distclean:
  67.     -rm -f $(DISTCLEANFILES) $(CLEANFILES) $(MOSTLYCLEANFILES)
  68.  
  69. realclean:
  70.     -rm -f $(REALCLEANFILES) $(DISTCLEANFILES) $(CLEANFILES) \
  71.       $(MOSTLYCLEANFILES)
  72.  
  73. extraclean:
  74.     -rm -f $(DISTCLEANFILES) $(CLEANFILES) $(MOSTLYCLEANFILES) \
  75.       \#* *~ =* core junk grot old temp tmp tem
  76.  
  77. .SUFFIXES:
  78. .SUFFIXES: .o .cc .c .y .man .n
  79.  
  80. .cc.o:
  81.     $(COMPILE.cc) $<
  82.  
  83. .c.o:
  84.     $(COMPILE.c) $<
  85.  
  86. .y.cc:
  87.     if test -n "$(YTABH)"; then \
  88.       $(YACC) $(YACCFLAGS) -d $<; \
  89.     else \
  90.       $(YACC) $(YACCFLAGS) $<; \
  91.     fi
  92.     mv y.tab.c $@
  93.     test -z "$(YTABH)" || mv y.tab.h $(YTABH)
  94.  
  95. .man.n:
  96.     @echo Making $@ from $<
  97.     @-rm -f $@
  98.     @sed -e "s!@FONTDIR@!$(fontdir)!g" -e "s!@FONTPATH@!$(fontpath)!g" -e "s!@MACRODIR@!$(tmacdir)!g" -e "s!@MACROPATH@!$(tmacpath)!g" -e "s!@DEVICE@!$(DEVICE)!g" -e "s!@DEFAULT_INDEX@!$(indexdir)/$(indexname)!g" -e "s!@DEFAULT_INDEX_NAME@!$(indexname)!g" -e "s!@INDEX_SUFFIX@!$(indexext)!g" -e "s!@COMMON_WORDS_FILE@!$(common_words_file)!g" -e "s!@MAN1EXT@!$(man1ext)!g" -e "s!@MAN5EXT@!$(man5ext)!g" -e "s!@MAN7EXT@!$(man7ext)!g" -e "s!@TMAC_S@!$(tmac_s)!g" -e "s!@TMAC_M@!$(tmac_m)!g" -e "s!@TMAC_MDIR@!$(tmacdir)/mm!g" -e "s!@BROKEN_SPOOLER_FLAGS@!$(BROKEN_SPOOLER_FLAGS)!g" -e "s!@VERSION@!1.08!g" -e "s!@MDATE@!02 January 1994!g" -e "s!@g@!!g" -e "s!@G@!!g" $< >$@
  99.  
  100. .PHONY: install_man
  101. install_man:
  102.     -test -d $(manroot) || mkdir $(manroot)
  103.     -test -d $(man1dir) || mkdir $(man1dir)
  104.     @-pages="$(MAN1)"; \
  105.     for p in $$pages; do \
  106.      prog=`basename $$p .n`; \
  107.      target=$(man1dir)/$(NAMEPREFIX)$$prog.$(man1ext); \
  108.      rm -f $$target; \
  109.      echo $(INSTALL_DATA) $$p $$target; \
  110.      $(INSTALL_DATA) $$p $$target; \
  111.     done
  112.     -test -d $(man5dir) || mkdir $(man5dir)
  113.     @-pages="$(MAN5)"; \
  114.     for p in $$pages; do \
  115.      target=$(man5dir)/`basename $$p .n`.$(man5ext); \
  116.      rm -f $$target; \
  117.      echo $(INSTALL_DATA) $$p $$target; \
  118.      $(INSTALL_DATA) $$p $$target; \
  119.     done
  120.     -test -d $(man7dir) || mkdir $(man7dir)
  121.     @-pages="$(MAN7)"; \
  122.     for p in $$pages; do \
  123.      target=$(man7dir)/`basename $$p .n`.$(man7ext); \
  124.      rm -f $$target; \
  125.      echo $(INSTALL_DATA) $$p $$target; \
  126.      $(INSTALL_DATA) $$p $$target; \
  127.     done
  128.  
  129. .PHONY: uninstall_man
  130. uninstall_man:
  131.     @-pages="$(MAN1)"; \
  132.     for p in $$pages; do \
  133.      target=$(man1dir)/$(NAMEPREFIX)`basename $$p .n`.$(man1ext); \
  134.      echo rm -f $$target; \
  135.      rm -f $$target; \
  136.     done
  137.     @-pages="$(MAN5)"; \
  138.     for p in $$pages; do \
  139.      target=$(man5dir)/`basename $$p .n`.$(man5ext); \
  140.      echo rm -f $$target; \
  141.      rm -f $$target; \
  142.     done
  143.     @-pages="$(MAN7)"; \
  144.     for p in $$pages; do \
  145.      target=$(man7dir)/`basename $$p .n`.$(man7ext); \
  146.      echo rm -f $$target; \
  147.      rm -f $$target; \
  148.     done
  149.  
  150. .PHONY: install_prog
  151. install_prog:
  152.     -test -d $(bindir) || mkdir $(bindir)
  153.     rm -f $(bindir)/$(NAMEPREFIX)$(PROG)
  154.     $(INSTALL_PROGRAM) $(PROG) $(bindir)/$(NAMEPREFIX)$(PROG)
  155.  
  156. .PHONY: uninstall_prog
  157. uninstall_prog:
  158.     -rm -f $(bindir)/$(NAMEPREFIX)$(PROG)    
  159.  
  160. .PHONY: install_dev
  161. install_dev:
  162.     -test -d $(datadir) || mkdir $(datadir)
  163.     -test -d $(datasubdir) || mkdir $(datasubdir)
  164.     -test -d $(fontdir) || mkdir $(fontdir)
  165.     -test -d $(fontsubdir) || mkdir $(fontsubdir)
  166.     -if test -d $(srcdir)/generate; then \
  167.       test -d $(fontsubdir)/generate || mkdir $(fontsubdir)/generate; \
  168.     fi
  169.     -for f in $(DEVFILES); do \
  170.       rm -f $(fontsubdir)/$$f; \
  171.       if test -f $$f; then \
  172.         $(INSTALL_DATA) $$f $(fontsubdir)/$$f; \
  173.       else \
  174.         $(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \
  175.       fi; \
  176.     done
  177.  
  178. .PHONY: uninstall_dev
  179. uninstall_dev:
  180.     -for f in $(DEVFILES); do rm -f $(fontsubdir)/$$f; done
  181.     -if test -d $(fontsubdir)/generate; then \
  182.       rmdir $(fontsubdir)/generate; \
  183.     fi
  184.     -rmdir $(fontsubdir)
  185.  
  186. .PHONY: depend_src
  187. depend_src: depend.temp
  188.     mv depend.temp Makefile.dep
  189.  
  190. depend.temp: FORCE
  191.     > depend.temp;
  192.     test -z "$(CCSRCS)$(YTABC)"  \
  193.       || $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $(YTABC) >>depend.temp
  194.     test -z "$(CSRCS)" \
  195.       || $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
  196.     if test -n "$(YTABH)"; then \
  197.       sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend.temp1; \
  198.       mv depend.temp1 depend.temp; \
  199.     fi
  200.  
  201. .PHONY: TAGS_src
  202. TAGS_src:
  203.     $(ETAGS) $(ETAGSFLAGS) $(CCSRCS) $(CSRCS)
  204.     test -z "$(GRAM)$(HDRS)" \
  205.       || $(ETAGS) $(ETAGSFLAGS) -a $(ETAGSCCFLAG) $(GRAM) $(HDRS)
  206.  
  207. Makefile:
  208.     -rm -f Makefile
  209.     echo srcdir=$(srcdir) >>Makefile
  210.     echo VPATH=$(VPATH) >>Makefile
  211.     cat $(MAKEFILEPARTS) /dev/null >>Makefile
  212.  
  213. FORCE:
  214.  
  215. .NOEXPORT:
  216.