home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / txict100.zip / texicvt1.00 / source / makefile < prev    next >
Makefile  |  1997-03-31  |  5KB  |  209 lines

  1. # /*
  2. # ================================================================================
  3. #                         Texinfo converting Tools
  4. #                          Release 1.00  28.03.97
  5. #                        (c) 1996 by Andreas Kaiser
  6. #                     (c) 1997 by Karl Heinz Marbaise
  7. # ================================================================================
  8. #
  9. # Discription:
  10. #    makefile to compile the Texinfo converting Tools
  11. #
  12. # Authors:
  13. #    Andreas Kaiser
  14. #    Karl Heinz Marbaise
  15. #
  16. # e-mail:
  17. #    Internet: KHMarbaise@p69.ks.fido.de
  18. #    Fido-net: 2:2452/117.69
  19. #
  20. # Bugs, question:
  21. #    to above e-mail adress.
  22. #
  23. # Register:
  24. #    Please send a e-mail to above adress to register.
  25. #    (include the release you want to register)
  26. #    This registration should be done to let me
  27. #    know how many people using these tools and
  28. #    if it is worth to invest more time in continuing
  29. #    development these tools or let the first release
  30. #    of them be the last.
  31. #    That is the only reason to make a registration.
  32. #    I think a e-mail is not to much, isn't it?
  33. #
  34. # License:
  35. #    The "Texinfo converting tools" are free software;
  36. #    you can redistribute it and/or modify it under the terms of
  37. #    the GNU General Public License as published by the Free
  38. #    Software Foundation; either version 2, or (at your option)
  39. #    any later version.
  40. #
  41. #    The "Texinfo converting tools" are distributed in the hope that
  42. #    they will be useful, but WITHOUT ANY WARRANTY; without even the
  43. #    implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  44. #    PURPOSE.  See the GNU General Public License for more details.
  45. #
  46. #    You should have received a copy of the GNU General Public License
  47. #    along with the "Texinfo converting tools" ; see the file COPYING.
  48. #    If not, write to the:
  49. #    Free Software Foundation,
  50. #    59 Temple Place - Suite 330,
  51. #    Boston, MA 02111-1307, USA.
  52. #
  53. #    See \texicvt1.00\COPYING for details.
  54. #
  55. # ================================================================================
  56. # */
  57. #
  58. # $Id: MAKEFILE 1.6 1997/03/30 15:08:20 KHM Exp $
  59. #
  60. ifeq ($(OS),linux)
  61. O=.o
  62. EXE=
  63. else
  64. O=.o
  65. EXE=.exe
  66. endif
  67. #
  68. .SUFFIXES:
  69. .SUFFIXES: .l .y .cc .h
  70. #
  71. vpath %$(O) .
  72. vpath %.c   .
  73. vpath %.cc  .
  74. vpath %.h   .
  75. vpath %.l   .
  76. vpath %.y   .
  77. #
  78. YACC = bison
  79. YFLAGS = -l -d -v
  80. LEX = flex
  81. ifdef DEBUG
  82. LFLAGS = -p -d -8 -L -s
  83. else
  84. LFLAGS = -p -8 -L -s -d
  85. endif
  86. CC = gcc
  87. ##
  88. ifdef DEBUG
  89. CFLAGS = -Wall -g -DDEBUG -Igen -I.
  90. LDFLAGS += -g
  91. else
  92. CFLAGS = -O2 -s -Igen -I.
  93. endif
  94. ##
  95. ifeq ($(OS),linux)
  96. LDLIBS    += -Lgen -lg++ -lstdc++ -lstr
  97. else
  98. LDLIBS    += -Lgen -lgpp -lstdcpp -lstr
  99. endif
  100.  
  101. #
  102. %$(O): %.cc
  103.     $(CC) $(CFLAGS) -c $<
  104.  
  105. %.c: %.l
  106.     $(LEX) $(LFLAGS) -o$@ $<
  107.  
  108. %.cc: %.l
  109.     $(LEX) $(LFLAGS) -o$@ $<
  110.  
  111. %.c: %.y
  112.     $(YACC) $(YFLAGS) -o $@ $<
  113. #
  114. #
  115. OBJIPF = version$(O) main$(O) util$(O) scan$(O)
  116. OBJHTML = version$(O) utilhtml$(O) mainhtml$(O) htmlnew$(O)
  117. OBJRTF = version$(O) utilrtf$(O) mainrtf$(O) rtf$(O)
  118. #####OBJTEST = utiltest$(O) maintest$(O) htmltest$(O) outhtml$(O)
  119. OBJTESTNEW = testmain$(O) test$(O) output$(O) \
  120.          outipf$(O) outhtml$(O) outrtf$(O) outroff$(O)
  121. #
  122. .PHONY: all clean lexer
  123.  
  124. all: texi2ipf$(EXE) texihtml$(EXE) texi2rtf$(EXE)
  125.  
  126.  
  127.  
  128. clean:
  129.     -rm *$(O)
  130.     -rm *.bak
  131.     -rm texi2ipf$(EXE)
  132.     -rm texihtmlf$(EXE)
  133.     -rm texitest$(EXE)
  134.     -rm texi2rtf$(EXE)
  135.     -rm test$(EXE)
  136.     -rm scan.cc
  137.     -rm scan.out
  138.     -rm html.cc
  139.     -rm html.out
  140.     -rm htmltest.cc
  141.     -rm htmlnew.cc
  142.     -rm rtf.cc
  143.     -rm test.cc
  144.  
  145.  
  146. texi2ipf$(EXE): $(OBJIPF) scan$(O)
  147.     $(CC) $(LDFLAGS) -o $@ $(OBJIPF) $(LDLIBS)
  148.  
  149. texihtml$(EXE): $(OBJHTML) htmlnew$(O)
  150.     $(CC) $(LDFLAGS) -o $@ $(OBJHTML) $(LDLIBS)
  151.  
  152. texitest$(EXE): $(OBJTEST)
  153.     $(CC) $(LDFLAGS) -o $@ $(OBJTEST) $(LDLIBS)
  154.  
  155. texi2rtf$(EXE): $(OBJRTF)
  156.     $(CC) $(LDFLAGS) -o $@ $(OBJRTF) $(LDLIBS)
  157.  
  158. test$(EXE): $(OBJTESTNEW)
  159.     $(CC) $(LDFLAGS) -o $@ $(OBJTESTNEW) $(LDLIBS)
  160.  
  161.  
  162. lexer: scan$(O) html$(O)
  163.  
  164. # -------------------
  165. #    explicit rules
  166. # -------------------
  167. #
  168. # Lexical analyser
  169. scan.cc: scan.l version.h
  170.  
  171. scan$(O): scan.cc info.h version.h
  172.  
  173. main$(O): main.cc info.h version.h
  174.  
  175. util$(O): util.cc info.h version.h
  176.  
  177. utilhtml$(O): utilhtml.cc info.h version.h
  178.  
  179. utiltest$(O): utiltest.cc info.h version.h
  180.  
  181. mainhtml$(O): mainhtml.cc info.h version.h
  182.  
  183. maintest$(O): maintest.cc info.h version.h
  184.  
  185. html$(O): html.cc info.h version.h
  186.  
  187. html.cc: html.l version.h
  188.  
  189. test$(O): test.cc info.h version.h
  190.  
  191. test.cc: test.l version.h
  192.  
  193. htmlnew$(O): htmlnew.cc info.h version.h
  194.  
  195. htmlnew.cc: htmlnew.l version.h
  196.  
  197. htmltest$(O): htmltest.cc info.h version.h
  198.  
  199. htmltest.cc: htmltest.l version.h
  200.  
  201. version$(O): version.cc version.h
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.