| 1 |
olly |
623 |
# Makefile for a manual in the Debian Documentation Project manuals.sgml |
| 2 |
|
|
# tree. |
| 3 |
|
|
|
| 4 |
|
|
# The directory in which this makefile resides must also contain a file |
| 5 |
|
|
# called <directoryname>.sgml, which is the top-level file for the manual |
| 6 |
|
|
# in this directory. |
| 7 |
|
|
|
| 8 |
aph |
662 |
# What is the current manual's name |
| 9 |
|
|
MANUAL := $(shell basename $(shell pwd)) |
| 10 |
|
|
# Where are we publishing to? |
| 11 |
aph |
714 |
# (this can be overriden by a higher level makefile) |
| 12 |
aph |
662 |
PUBLISHDIR := ../../../public_html/manuals.html |
| 13 |
olly |
623 |
|
| 14 |
aph |
714 |
# What do we want by default? |
| 15 |
aph |
662 |
all: publish |
| 16 |
olly |
623 |
|
| 17 |
|
|
# This target installs the generated HTML in the published directory. |
| 18 |
aph |
714 |
publish: $(MANUAL).html |
| 19 |
aph |
662 |
# fail if there is no PUBLISHDIR |
| 20 |
|
|
[ -d $(PUBLISHDIR) ] || exit 1 |
| 21 |
|
|
rm -f $(PUBLISHDIR)/$(MANUAL)/*.html |
| 22 |
|
|
install -d -m 755 $(PUBLISHDIR)/$(MANUAL) |
| 23 |
|
|
install -m 644 --preserve-timestamps $(MANUAL).html/*.html \ |
| 24 |
|
|
$(PUBLISHDIR)/$(MANUAL)/ |
| 25 |
olly |
623 |
|
| 26 |
aph |
714 |
$(MANUAL).html: $(wildcard *.sgml) |
| 27 |
aph |
662 |
debiandoc2html $(MANUAL).sgml |
| 28 |
olly |
623 |
|
| 29 |
aph |
714 |
# ensure our SGML is valid |
| 30 |
|
|
# (add this to $(MANUAL).html rule to prevent building if not) |
| 31 |
|
|
validate: |
| 32 |
|
|
nsgmls -gues $(MANUAL).sgml |
| 33 |
|
|
|
| 34 |
|
|
clean: |
| 35 |
olly |
669 |
rm -rf $(MANUAL).html |
| 36 |
olly |
623 |
|
| 37 |
|
|
distclean: clean |
| 38 |
aph |
662 |
|
| 39 |
aph |
714 |
.PHONY: all publish clean distclean validate |