Makefile 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. CC=cc -Wno-return-type -Wno-implicit-int -I.
  2. LFLAGS=-L.
  3. CFLAGS=-g
  4. AR=/usr/bin/ar
  5. RANLIB=/usr/bin/ranlib
  6. BINDIR=/usr/local/bin
  7. MANDIR=/usr/local/man
  8. LIBDIR=/usr/local/lib
  9. INCDIR=/usr/local/include
  10. PGMS=markdown
  11. SAMPLE_PGMS=mkd2html makepage
  12. SAMPLE_PGMS+= theme
  13. MKDLIB=libmarkdown
  14. OBJS=mkdio.o markdown.o dumptree.o generate.o \
  15. resource.o docheader.o version.o toc.o css.o \
  16. xml.o Csio.o xmlpage.o basename.o emmatch.o \
  17. github_flavoured.o setup.o tags.o html5.o flags.o
  18. TESTFRAMEWORK=echo cols
  19. MAN3PAGES=mkd-callbacks.3 mkd-functions.3 markdown.3 mkd-line.3
  20. all: $(PGMS) $(SAMPLE_PGMS) $(TESTFRAMEWORK)
  21. install: $(PGMS) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCDIR)
  22. /usr/bin/install -s -m 755 $(PGMS) $(DESTDIR)$(BINDIR)
  23. ./librarian.sh install libmarkdown VERSION $(DESTDIR)$(LIBDIR)
  24. /usr/bin/install -m 444 mkdio.h $(DESTDIR)$(INCDIR)
  25. install.everything: install install.samples install.man
  26. install.samples: $(SAMPLE_PGMS) install $(DESTDIR)$(BINDIR)
  27. ./config.md $(DESTDIR)$(MANDIR)/man1
  28. for x in $(SAMPLE_PGMS); do \
  29. /usr/bin/install -s -m 755 $$x $(DESTDIR)$(BINDIR)/$(SAMPLE_PFX)$$x; \
  30. /usr/bin/install -m 444 $$x.1 $(DESTDIR)$(MANDIR)/man1/$(SAMPLE_PFX)$$x.1; \
  31. done
  32. install.man:
  33. ./config.md $(DESTDIR)$(MANDIR)/man3
  34. /usr/bin/install -m 444 $(MAN3PAGES) $(DESTDIR)$(MANDIR)/man3
  35. for x in mkd_line mkd_generateline; do \
  36. ( echo '.\"' ; echo ".so man3/mkd-line.3" ) > $(DESTDIR)$(MANDIR)/man3/$$x.3;\
  37. done
  38. for x in mkd_in mkd_string; do \
  39. ( echo '.\"' ; echo ".so man3/markdown.3" ) > $(DESTDIR)$(MANDIR)/man3/$$x.3;\
  40. done
  41. for x in mkd_compile mkd_css mkd_generatecss mkd_generatehtml mkd_cleanup mkd_doc_title mkd_doc_author mkd_doc_date; do \
  42. ( echo '.\"' ; echo ".so man3/mkd-functions.3" ) > $(DESTDIR)$(MANDIR)/man3/$$x.3; \
  43. done
  44. ./config.md $(DESTDIR)$(MANDIR)/man7
  45. /usr/bin/install -m 444 markdown.7 mkd-extensions.7 $(DESTDIR)$(MANDIR)/man7
  46. ./config.md $(DESTDIR)$(MANDIR)/man1
  47. /usr/bin/install -m 444 markdown.1 $(DESTDIR)$(MANDIR)/man1
  48. install.everything: install install.man
  49. $(DESTDIR)$(BINDIR):
  50. ./config.md $(DESTDIR)$(BINDIR)
  51. $(DESTDIR)$(INCDIR):
  52. ./config.md $(DESTDIR)$(INCDIR)
  53. $(DESTDIR)$(LIBDIR):
  54. ./config.md $(DESTDIR)$(LIBDIR)
  55. version.o: version.c VERSION
  56. $(CC) $(CFLAGS) -DVERSION=\"`cat VERSION`\" -c version.c
  57. VERSION:
  58. @true
  59. tags.o: tags.c blocktags
  60. blocktags: mktags
  61. ./mktags > blocktags
  62. # example programs
  63. theme: theme.o $(MKDLIB) mkdio.h
  64. $(CC) $(CFLAGS) $(LFLAGS) -o theme theme.o pgm_options.o -lmarkdown
  65. mkd2html: mkd2html.o $(MKDLIB) mkdio.h
  66. $(CC) $(CFLAGS) $(LFLAGS) -o mkd2html mkd2html.o -lmarkdown
  67. markdown: main.o pgm_options.o $(MKDLIB)
  68. $(CC) $(CFLAGS) $(LFLAGS) -o markdown main.o pgm_options.o -lmarkdown
  69. makepage: makepage.c pgm_options.o $(MKDLIB) mkdio.h
  70. $(CC) $(CFLAGS) $(LFLAGS) -o makepage makepage.c pgm_options.o -lmarkdown
  71. pgm_options.o: pgm_options.c mkdio.h config.h
  72. $(CC) $(CFLAGS) -I. -c pgm_options.c
  73. main.o: main.c mkdio.h config.h
  74. $(CC) $(CFLAGS) -I. -c main.c
  75. $(MKDLIB): $(OBJS)
  76. ./librarian.sh make $(MKDLIB) VERSION $(OBJS)
  77. verify: echo tools/checkbits.sh
  78. @./echo -n "headers ... "; tools/checkbits.sh && echo "GOOD"
  79. test: $(PGMS) $(TESTFRAMEWORK) verify
  80. @for x in tests/*.t; do \
  81. HERE=`pwd` sh $$x || exit 1; \
  82. done
  83. cols: tools/cols.c config.h
  84. $(CC) -o cols tools/cols.c
  85. echo: tools/echo.c config.h
  86. $(CC) -o echo tools/echo.c
  87. clean:
  88. rm -f $(PGMS) $(TESTFRAMEWORK) $(SAMPLE_PGMS) *.o
  89. rm -f $(MKDLIB) `./librarian.sh files $(MKDLIB) VERSION`
  90. distclean spotless: clean
  91. rm -f Makefile version.c mkdio.h config.cmd config.sub config.h config.mak config.log config.md ./mktags ./blocktags ./librarian.sh
  92. Csio.o: Csio.c cstring.h amalloc.h config.h markdown.h
  93. amalloc.o: amalloc.c
  94. basename.o: basename.c config.h cstring.h amalloc.h markdown.h
  95. css.o: css.c config.h cstring.h amalloc.h markdown.h
  96. docheader.o: docheader.c config.h cstring.h amalloc.h markdown.h
  97. dumptree.o: dumptree.c markdown.h cstring.h amalloc.h config.h
  98. emmatch.o: emmatch.c config.h cstring.h amalloc.h markdown.h
  99. generate.o: generate.c config.h cstring.h amalloc.h markdown.h
  100. main.o: main.c config.h amalloc.h
  101. pgm_options.o: pgm_options.c pgm_options.h config.h amalloc.h
  102. makepage.o: makepage.c
  103. markdown.o: markdown.c config.h cstring.h amalloc.h markdown.h
  104. mkd2html.o: mkd2html.c config.h mkdio.h cstring.h amalloc.h
  105. mkdio.o: mkdio.c config.h cstring.h amalloc.h markdown.h
  106. resource.o: resource.c config.h cstring.h amalloc.h markdown.h
  107. theme.o: theme.c config.h mkdio.h cstring.h amalloc.h
  108. toc.o: toc.c config.h cstring.h amalloc.h markdown.h
  109. version.o: version.c config.h
  110. xml.o: xml.c config.h cstring.h amalloc.h markdown.h
  111. xmlpage.o: xmlpage.c config.h cstring.h amalloc.h markdown.h