# ex: set ro: -*- buffer-read-only:t -*-
# DO NOT EDIT THIS FILE
# Generated by Parrot::Configure::Compiler from config/gen/makefiles/docs.in

# Copyright (C) 2001-2014, Parrot Foundation.

# Setup of some commands
PERL    = /usr/bin/perl5.36.0
CHMOD   = chmod
MKPATH  = mkdir -p
TOUCH   = touch
RM_F    = rm -f
RM_RF   = rm -rf
PERLDOC = /usr/bin/perldoc
POD2MAN = /usr/bin/pod2man
VERSION = 8.1.0
PODEXTRACT   = $(PERL) ../tools/build/podextract.pl
ADDGENERATED = $(PERL) ../tools/build/addgenerated.pl
OPS_SUMMARY = ../tools/docs/ops_summary.pl

# long list of .pod files
POD = ops/bit.pod ops/cmp.pod ops/core.pod ops/experimental.pod ops/io.pod ops/math.pod ops/object.pod ops/pmc.pod ops/set.pod ops/string.pod ops/sys.pod ops/var.pod

MAN_1 = binaries/parrot.1 \
	binaries/parrotbug.1 \
	binaries/parrot_config.1 \
	binaries/parrot_nci_thunk_gen.1 \
	binaries/parrot-nqp.1 \
	binaries/parrot-ops2c.1 \
	binaries/parrot-prove.1 \
	binaries/pbc_disassemble.1 \
	binaries/pbc_dump.1 \
	binaries/pbc_merge.1 \
	binaries/pbc_to_exe.1 \
	binaries/plumage.1 \
	binaries/winxed.1

.SUFFIXES : .pod .1

#
# Targets
#

# The default target
all: doc-prep packfile-c.pod $(POD) ops/index.pod man

# This is a listing of all targets, that are meant to be called by users
# Most of them are proxied in the root makefile parrot/Makefile
help :
	@echo ""
	@echo "Following targets are available to the user:"
	@echo ""
	@echo "all:             Generate documentation from .pod files or from the sources."
	@echo "                 This is the default target."
	@echo ""
	@echo "man:             Generate man files (not on windows)"
	@echo "htmlhelp:        generate a .chm file (windows only)."
	@echo "htmlhelp-clean:  Remove generated .chm"
	@echo ""
	@echo "pdf:             Generate a PDF from the html docs"
	@echo "pdf-clean:       Remove generated pdf"
	@echo ""
	@echo "clean:           Remove the generated documentation."
	@echo ""

$(POD): doc-prep

doc-prep:
	$(MKPATH) ops
	$(TOUCH) doc-prep

packfile-c.pod: ../src/packfile/api.c
	$(PODEXTRACT) ../src/packfile/api.c packfile-c.pod
	$(ADDGENERATED) "docs/$@" "[doc]"

.pod.1 : # suffix rule (limited support)
	$(POD2MAN) $< > $@
	$(ADDGENERATED) "docs/$@" "[main]" man

ops/index.pod : $(POD) $(OPS_SUMMARY)
	$(PERL) $(OPS_SUMMARY) > ops/index.pod
	$(ADDGENERATED) "docs/$@" "[doc]"

binaries/pbc_disassemble.1 : ../frontend/pbc_disassemble/main.c
	$(POD2MAN) ../frontend/pbc_disassemble/main.c > $@
	$(ADDGENERATED) "docs/$@" "[main]" man
binaries/pbc_dump.1 : ../frontend/pbc_dump/main.c
	$(POD2MAN) ../frontend/pbc_dump/main.c > $@
	$(ADDGENERATED) "docs/$@" "[main]" man
binaries/pbc_merge.1 : ../frontend/pbc_merge/main.c
	$(POD2MAN) ../frontend/pbc_merge/main.c > $@
	$(ADDGENERATED) "docs/$@" "[main]" man

man: man.good

man.good: $(MAN_1)

man.stub:
	@echo "pod2man is required, but not detected."

man-clean:
	$(RM_F) $(MAN_1)

clean: man-clean html-clean pdf-clean htmlhelp-clean
	$(RM_F) packfile-c.pod $(POD) doc-prep
	$(RM_RF) ops

html:
	$(PERL) -I../lib ../tools/docs/mk_html_docs.pl --version=$(VERSION)
html-clean:
	$(RM_RF) html

# If you are missing the command 'pdflatex' then you have first to install a
# LaTeX distribution with it. For Windows and UNIX downloads are for example
# available from: http://miktex.org, http://tug.org/texlive or
# http://www.ctan.org
pdf: ../tools/docs/filename_and_chapter.pl
	$(MKPATH) build/modified_pod
	$(PERL) ../tools/docs/filename_and_chapter.pl
	cd build && pdflatex parrot-book.tex && pdflatex parrot-book.tex
	$(ADDGENERATED) "docs/build/parrot-book.pdf" "[main]" doc

#pdf-release: build/parrot-book.pdf
#	cp build/parrot-book.pdf build/parrot-book-$$(date +"%Y.%m").pdf

pdf-clean:
	$(RM_RF) build

htmlhelp: html

htmlhelp-clean:


# the following part of the Makefile was built by 'config/auto/perldoc.pm'

ops/bit.pod: ../src/ops/bit.ops
	$(PODEXTRACT) ../src/ops/bit.ops ops/bit.pod
	$(CHMOD) 0644 ops/bit.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/cmp.pod: ../src/ops/cmp.ops
	$(PODEXTRACT) ../src/ops/cmp.ops ops/cmp.pod
	$(CHMOD) 0644 ops/cmp.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/core.pod: ../src/ops/core.ops
	$(PODEXTRACT) ../src/ops/core.ops ops/core.pod
	$(CHMOD) 0644 ops/core.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/experimental.pod: ../src/ops/experimental.ops
	$(PODEXTRACT) ../src/ops/experimental.ops ops/experimental.pod
	$(CHMOD) 0644 ops/experimental.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/io.pod: ../src/ops/io.ops
	$(PODEXTRACT) ../src/ops/io.ops ops/io.pod
	$(CHMOD) 0644 ops/io.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/math.pod: ../src/ops/math.ops
	$(PODEXTRACT) ../src/ops/math.ops ops/math.pod
	$(CHMOD) 0644 ops/math.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/object.pod: ../src/ops/object.ops
	$(PODEXTRACT) ../src/ops/object.ops ops/object.pod
	$(CHMOD) 0644 ops/object.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/pmc.pod: ../src/ops/pmc.ops
	$(PODEXTRACT) ../src/ops/pmc.ops ops/pmc.pod
	$(CHMOD) 0644 ops/pmc.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/set.pod: ../src/ops/set.ops
	$(PODEXTRACT) ../src/ops/set.ops ops/set.pod
	$(CHMOD) 0644 ops/set.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/string.pod: ../src/ops/string.ops
	$(PODEXTRACT) ../src/ops/string.ops ops/string.pod
	$(CHMOD) 0644 ops/string.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/sys.pod: ../src/ops/sys.ops
	$(PODEXTRACT) ../src/ops/sys.ops ops/sys.pod
	$(CHMOD) 0644 ops/sys.pod
	$(ADDGENERATED) "docs/$@" "[doc]"
ops/var.pod: ../src/ops/var.ops
	$(PODEXTRACT) ../src/ops/var.ops ops/var.pod
	$(CHMOD) 0644 ops/var.pod
	$(ADDGENERATED) "docs/$@" "[doc]"


# Local variables:
#   mode: makefile
# End:
# vim: ft=make:
