# # Make file to install/uninstall AsciiDoc # # Run `make help` to print out directions on running # this file. To add new messages to help, prepend # the line with ## and then one additional character, # e.g. `## help` to show "help" or `## help` will show # " help" or `##.` will show a blank line. .NOTPARALLEL: INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ docdir = @docdir@ mandir = @mandir@ srcdir = @srcdir@ # unused setting, but keeping it to avoid warning when running ./configure datarootdir = @datarootdir@ ASCIIDOCVERSION = @PACKAGE_VERSION@ ASCIIDOCDATE = @PACKAGE_DATE@ manp = $(patsubst %1.txt,%1,$(wildcard doc/*.1.txt)) manpdir = $(mandir)/man1 doc = $(wildcard README*) $(wildcard BUGS*) $(wildcard INSTALL*) $(wildcard CHANGELOG*) TARGETS = doc DESTDIR ?= / INSTDIRS = $(TARGETS:%=%dir) .PHONY: $(TARGETS) # this needs to be above help so that it runs # by default all: build .PHONY : help help : Makefile @sed -n 's/^##.//p' $< ## Makefile for AsciiDoc @PACKAGE_VERSION@ (@PACKAGE_DATE@) ## Usage: make [VARIABLE=value] ... [TARGET] ##. ## all: runs the build target # create directories used during the install $(INSTDIRS): $(INSTALL) -d $(DESTDIR)$($@) $(manp): %.1 : %.1.txt python3 -m asciidoc.a2x -f manpage $< ##. DOC_FILES = CHANGELOG.adoc README.asciidoc BUGS.adoc INSTALL.adoc doc/a2x.1.txt \ doc/faq.txt doc/asciidocapi.txt doc/testasciidoc.txt \ doc/epub-notes.txt doc/publishing-ebooks-with-asciidoc.txt \ doc/source-highlight-filter.txt doc/slidy.txt doc/slidy-example.txt ## spell: run aspell over all files under doc/ .PHONY: spell spell: @for f in $(DOC_FILES); do \ echo "aspell check -p ./doc/asciidoc.dict $$f"; \ aspell check -p ./doc/asciidoc.dict $$f; \ done ## doc_spell: (deprecated) runs spell target .PHONY: doc_spell doc_spell: spell ##. .PHONY: pip pip: python3 -m pip install --root $(DESTDIR) . ## install: install asciidoc to target directory .PHONY: install install: all pip $(DATATARGETS) ## build: runs manpages .PHONY: build build: manpages ## manpages: generate manpages for asciidoc, a2x, and testasciidoc manpages: doc/asciidoc.1 doc/a2x.1 doc/testasciidoc.1 ## docs: install documentation files to filesystem (e.g. /usr/local/share/doc/asciidoc) docs: $(INSTALL) -d $(DESTDIR)$(docdir) $(INSTALL_DATA) $(doc) $(DESTDIR)$(docdir) $(INSTALL) -d $(DESTDIR)$(docdir)/docbook-xsl $(INSTALL_DATA) asciidoc/resources/docbook-xsl/asciidoc-docbook-xsl.txt $(DESTDIR)$(docdir)/docbook-xsl $(INSTALL) -d $(DESTDIR)$(docdir)/dblatex $(INSTALL_DATA) asciidoc/resources/dblatex/dblatex-readme.txt $(DESTDIR)$(docdir)/dblatex $(INSTALL) -d $(DESTDIR)$(docdir)/images ( cd images && \ cp -R * $(DESTDIR)$(docdir)/images ) $(INSTALL) -d $(DESTDIR)$(docdir)/doc ( cd doc && \ cp -R * $(DESTDIR)$(docdir)/doc ) ## uninstall: uninstall asciidoc .PHONY: uninstall uninstall: python3 -m pip uninstall asciidoc rm -f $(DESTDIR)$(manpdir)/asciidoc.1 rm -f $(DESTDIR)$(manpdir)/testasciidoc.1 rm -f $(DESTDIR)$(manpdir)/a2x.1 rm -rf $(DESTDIR)$(docdir) ## clean: delete built asciidoc doc files .PHONY: clean clean: rm -f $(manp) MANIFEST: build_manifest.py python3 build_manifest.py ##. ## dist: creates the zip and tarball for release .PHONY: dist dist: manpages MANIFEST mkdir -p build rm -rf build/* tar -czf build/asciidoc-tmp.tar.gz -T MANIFEST mkdir -p build/asciidoc-$(ASCIIDOCVERSION) tar -xf build/asciidoc-tmp.tar.gz -C build/asciidoc-$(ASCIIDOCVERSION) cd build && tar -czf asciidoc-$(ASCIIDOCVERSION).tar.gz asciidoc-$(ASCIIDOCVERSION) && zip -r asciidoc-$(ASCIIDOCVERSION).zip asciidoc-$(ASCIIDOCVERSION) rm -rf build/asciidoc-tmp.tar.gz rm -rf build/asciidoc-$(ASCIIDOCVERSION) ##. ## test: run the asciidoc test suite .PHONY: test test: python3 -m asciidoc.asciidoc --doctest python3 -m pytest python3 tests/testasciidoc.py run