home *** CD-ROM | disk | FTP | other *** search
/ Aminet 10 / aminetcdnumber101996.iso / Aminet / util / gnu / groff_src.lha / groff-1.10src / Makefile.comm < prev    next >
Makefile  |  1995-06-27  |  7KB  |  248 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. # Avoid ending up with two versions of $(YTABH).
  94.     if test -n "$(YTABH)"; then \
  95.       if test -f $(srcdir)/$(YTABH); then \
  96.         rm -f $(YTABH); \
  97.         mv y.tab.h $(srcdir)/$(YTABH); \
  98.       else \
  99.         mv y.tab.h $(YTABH); \
  100.       fi; \
  101.     fi
  102.  
  103. .man.n:
  104.     @echo Making $@ from $<
  105.     @-rm -f $@
  106.     @sed -e "s;@FONTDIR@;$(fontdir);g" \
  107.     -e "s;@FONTPATH@;$(fontpath);g" \
  108.     -e "s;@MACRODIR@;$(tmacdir);g" \
  109.     -e "s;@MACROPATH@;$(tmacpath);g" \
  110.     -e "s;@DEVICE@;$(DEVICE);g" \
  111.     -e "s;@DEFAULT_INDEX@;$(indexdir)/$(indexname);g" \
  112.     -e "s;@DEFAULT_INDEX_NAME@;$(indexname);g" \
  113.     -e "s;@INDEX_SUFFIX@;$(indexext);g" \
  114.     -e "s;@COMMON_WORDS_FILE@;$(common_words_file);g" \
  115.     -e "s;@MAN1EXT@;$(man1ext);g" \
  116.     -e "s;@MAN5EXT@;$(man5ext);g" \
  117.     -e "s;@MAN7EXT@;$(man7ext);g" \
  118.     -e "s;@TMAC_S_PREFIX@;$(tmac_s_prefix);g" \
  119.     -e "s;@TMAC_M_PREFIX@;$(tmac_m_prefix);g" \
  120.     -e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
  121.     -e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
  122.     -e "s;@VERSION@;`cat $(srcdir)/../VERSION`;g" \
  123.     -e "s;@MDATE@;`$(SHELL) $(srcdir)/../mdate.sh $<`;g" \
  124.     -e "s;@g@;$(g);g" \
  125.     -e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \
  126.     $< >$@
  127.  
  128. .PHONY: install_man
  129. install_man:
  130.     -test -d $(manroot) || mkdir $(manroot)
  131.     -test -d $(man1dir) || mkdir $(man1dir)
  132.     @-pages="$(MAN1)"; \
  133.     for p in $$pages; do \
  134.      prog=`basename $$p .n`; \
  135.      target=$(man1dir)/$(NAMEPREFIX)$$prog.$(man1ext); \
  136.      rm -f $$target; \
  137.      echo $(INSTALL_DATA) $$p $$target; \
  138.      $(INSTALL_DATA) $$p $$target; \
  139.     done
  140.     -test -d $(man5dir) || mkdir $(man5dir)
  141.     @-pages="$(MAN5)"; \
  142.     for p in $$pages; do \
  143.      target=$(man5dir)/`basename $$p .n`.$(man5ext); \
  144.      rm -f $$target; \
  145.      echo $(INSTALL_DATA) $$p $$target; \
  146.      $(INSTALL_DATA) $$p $$target; \
  147.     done
  148.     -test -d $(man7dir) || mkdir $(man7dir)
  149.     @-pages="$(MAN7)"; \
  150.     for p in $$pages; do \
  151.      target=$(man7dir)/`basename $$p .n`.$(man7ext); \
  152.      rm -f $$target; \
  153.      echo $(INSTALL_DATA) $$p $$target; \
  154.      $(INSTALL_DATA) $$p $$target; \
  155.     done
  156.  
  157. .PHONY: uninstall_man
  158. uninstall_man:
  159.     @-pages="$(MAN1)"; \
  160.     for p in $$pages; do \
  161.      target=$(man1dir)/$(NAMEPREFIX)`basename $$p .n`.$(man1ext); \
  162.      echo rm -f $$target; \
  163.      rm -f $$target; \
  164.     done
  165.     @-pages="$(MAN5)"; \
  166.     for p in $$pages; do \
  167.      target=$(man5dir)/`basename $$p .n`.$(man5ext); \
  168.      echo rm -f $$target; \
  169.      rm -f $$target; \
  170.     done
  171.     @-pages="$(MAN7)"; \
  172.     for p in $$pages; do \
  173.      target=$(man7dir)/`basename $$p .n`.$(man7ext); \
  174.      echo rm -f $$target; \
  175.      rm -f $$target; \
  176.     done
  177.  
  178. .PHONY: install_prog
  179. install_prog:
  180.     -test -d $(bindir) || mkdir $(bindir)
  181.     rm -f $(bindir)/$(NAMEPREFIX)$(PROG)
  182.     $(INSTALL_PROGRAM) $(PROG) $(bindir)/$(NAMEPREFIX)$(PROG)
  183.  
  184. .PHONY: uninstall_prog
  185. uninstall_prog:
  186.     -rm -f $(bindir)/$(NAMEPREFIX)$(PROG)    
  187.  
  188. .PHONY: install_dev
  189. install_dev:
  190.     -test -d $(datadir) || mkdir $(datadir)
  191.     -test -d $(datasubdir) || mkdir $(datasubdir)
  192.     -test -d $(fontdir) || mkdir $(fontdir)
  193.     -test -d $(fontsubdir) || mkdir $(fontsubdir)
  194.     -if test -d $(srcdir)/generate; then \
  195.       test -d $(fontsubdir)/generate || mkdir $(fontsubdir)/generate; \
  196.     fi
  197.     -for f in $(DEVFILES); do \
  198.       rm -f $(fontsubdir)/$$f; \
  199.       if test -f $$f; then \
  200.         $(INSTALL_DATA) $$f $(fontsubdir)/$$f; \
  201.       else \
  202.         $(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \
  203.       fi; \
  204.     done
  205.  
  206. .PHONY: uninstall_dev
  207. uninstall_dev:
  208.     -for f in $(DEVFILES); do rm -f $(fontsubdir)/$$f; done
  209.     -if test -d $(fontsubdir)/generate; then \
  210.       rmdir $(fontsubdir)/generate; \
  211.     fi
  212.     -rmdir $(fontsubdir)
  213.  
  214. .PHONY: depend_src
  215. depend_src: depend.temp
  216.     mv depend.temp Makefile.dep
  217.  
  218. depend.temp: FORCE
  219.     > depend.temp;
  220.     test -z "$(CCSRCS)$(YTABC)"  \
  221.       || $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $(YTABC) >>depend.temp
  222.     test -z "$(CSRCS)" \
  223.       || $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
  224.     if test -n "$(YTABH)"; then \
  225.       sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend.temp1; \
  226.       mv depend.temp1 depend.temp; \
  227.     fi
  228.  
  229. .PHONY: TAGS_src
  230. TAGS_src:
  231.     $(ETAGS) $(ETAGSFLAGS) $(CCSRCS) $(CSRCS)
  232.     test -z "$(GRAM)$(HDRS)" \
  233.       || $(ETAGS) $(ETAGSFLAGS) -a $(ETAGSCCFLAG) $(GRAM) $(HDRS)
  234.  
  235. Makefile:
  236.     -rm -f Makefile
  237.     echo srcdir=$(srcdir) >>Makefile
  238.     echo VPATH=$(VPATH) >>Makefile
  239.     cat $(MAKEFILEPARTS) /dev/null >>Makefile
  240.  
  241. FORCE:
  242.  
  243. .NOEXPORT:
  244.