mirror of https://github.com/tLDP/LDP
94 lines
2.7 KiB
Makefile
94 lines
2.7 KiB
Makefile
# -- Makefile for handling TLDP documentation
|
|
#
|
|
#
|
|
|
|
default: help
|
|
|
|
DESTDIR := output
|
|
NODESTDIR := $(shell stat 2>/dev/null -t $(DESTDIR))
|
|
ifeq ($(NODESTDIR),)
|
|
$(error ENOENT (2): $(DESTDIR); please create or specify alternate DESTDIR directory)
|
|
endif
|
|
|
|
WORKING := working
|
|
NOWORKING := $(shell stat 2>/dev/null -t $(WORKING))
|
|
ifeq ($(NOWORKING),)
|
|
$(error ENOENT (2): $(WORKING); please create or specify alternate WORKING directory)
|
|
endif
|
|
|
|
ifeq ($(OBJ),)
|
|
$(error OBJ not specified, please supply a LinuxDoc SGML source file)
|
|
endif
|
|
|
|
OBJFORMAT = $(lastword $(subst ., ,$(suffix $(OBJ))))
|
|
OBJFILE = $(notdir $(OBJ))
|
|
OBJSTEM = $(OBJFILE:.$(OBJFORMAT)=)
|
|
|
|
OUTDIR = $(abspath $(abspath $(WORKING))/$(OBJSTEM))
|
|
|
|
PDF = $(abspath $(OUTDIR)/$(OBJSTEM).pdf)
|
|
HTML = $(abspath $(OUTDIR)/$(OBJSTEM).html)
|
|
HTMLS = $(abspath $(OUTDIR)/$(OBJSTEM)-single.html)
|
|
TEXT = $(abspath $(OUTDIR)/$(OBJSTEM).txt)
|
|
|
|
all: vars clear_$(OUTDIR) $(HTMLS) $(TEXT) $(PDF) $(HTML)
|
|
echo rsync --archive --verbose --delay-updates --delete-after --partial $(WORKING)/ $(DESTDIR)/
|
|
|
|
clear_$(OUTDIR):
|
|
(test ! -d $(OUTDIR) || ( cd $(dir $(OUTDIR)) && rm -rf -- $(notdir $(OUTDIR))))
|
|
|
|
$(OUTDIR): $(WORKING)
|
|
mkdir $(OUTDIR)
|
|
|
|
$(OUTDIR)/images: $(OUTDIR)
|
|
(cd $(OBJDIR) && test ! -d images || rsync -avL ./images $(OUTDIR))
|
|
|
|
$(HTMLS): $(OUTDIR)/images
|
|
# -- note the mv -vu $(notdir $(HTML)) $(notdir $(HTMLS))
|
|
# the docbook2html processor will create a single-page
|
|
# HTML file called $(OBJSTEM).html, which we will want
|
|
# to create as a symlink, later
|
|
(cd $(OUTDIR) \
|
|
&& sgml2html --split=0 $(OBJ) \
|
|
&& mv -vu $(notdir $(HTML)) $(notdir $(HTMLS)))
|
|
# -- what about images and other resources?
|
|
|
|
$(TEXT): $(HTMLS)
|
|
(cd $(OUTDIR) && html2text -style pretty -nobs $(notdir $(HTMLS)) > $(notdir $@))
|
|
|
|
$(PDF): $(HTMLS)
|
|
( cd $(OUTDIR) \
|
|
&& htmldoc --size universal -t pdf --firstpage p1 --outfile $(notdir $@) $(notdir $(HTMLS)))
|
|
|
|
$(HTML): $(OUTDIR)
|
|
# -- LinuxDoc processing tools create the output document file as
|
|
# Some-Name.html (and Some-Name-1.html, Some-Name-2.html), so we
|
|
# should create a symlink from index.html to the Some-Name.html.
|
|
( cd $(OUTDIR) \
|
|
&& sgml2html $(OBJ) \
|
|
&& ln -snvf $(notdir $(HTML)) index.html)
|
|
# -- what about images and other resources?
|
|
|
|
vars:
|
|
printf " %s\n" \
|
|
"OBJ = $(OBJ)" \
|
|
"OBJFORMAT = $(OBJFORMAT)" \
|
|
"OBJFILE = $(OBJFILE)" \
|
|
"OBJSTEM = $(OBJSTEM)" \
|
|
"OUTDIR = $(OUTDIR)" \
|
|
"PDF = $(PDF)" \
|
|
"HTML = $(HTML)" \
|
|
"HTMLS = $(HTMLS)" \
|
|
"TEXT = $(TEXT)" \
|
|
"DESTDIR = $(DESTDIR)" \
|
|
|
|
|
|
|
|
.PHONY: help
|
|
help:
|
|
@printf "%s\n" \
|
|
"There will be help here in the future."
|
|
|
|
#
|
|
# -- end of file
|