Files
mercury/compiler/notes/Mmakefile
Zoltan Somogyi 0607c27543 Update the style (and in some places, the content) of the notes.
The non-style changes include

- Replacing outdated information with up to date information.

- Deleting fully obsolete information, such as references to the IL backend.

- Replacing list entries that were just bare words or phrases
  with full sentences, where this is useful.

- Improvements to make documents easier to read and understand.

However, the bulk of the diff consists of style changes. The initial main
of these changes are to eliminate, or at least reduce, inconsistencies

- between the styles of the different parts of each document, and
- between the styles of differents documents.

This applies both as they appear in a browser, and in the source .html file.

The main style changes are

- Add a vim mode line to each file.

- Do not specify a color for the page background; let the browser decide.

- Add a heading to the top of each page that echoes the title.

- Avoid SHOUTING in headings.

- Avoid the unneeded use of <hr>.

- Avoid the use of headings (e.g. h5) that are so low in the hierarchy that
  browsers render them in a font that is *smaller* than the usual font.

- Replace definition lists with standard unordered lists
  when the list items are not definitions.

- Replace ordered lists with standard unordered lists
  when the list items have no meaningful order.

- Do not indent the contents of unordered lists, with the exception of
  nested lists.

- Unless all entries in a list are extremely short,
  do not try to put anything next to <li>.

- Fix violations reported by weblint.

compiler/notes/compiler_design.html:
    The changes described above.

    Explicitly introduce the notion of the middle end.

compiler/notes/bootstrapping.html:
    Rewrite this almost from scratch.

compiler/notes/work_in_progress.html:
    Rename the page to make it clear that these issues are NOT being
    worked on.

compiler/notes/release_checklist.html:
compiler/notes/todo.html:
    Note that these lists are quite out of date.

compiler/notes/allocation.html:
compiler/notes/analysis.html:
compiler/notes/bytecode.html:
compiler/notes/c_coding_standard.html:
compiler/notes/coding_standards.html:
compiler/notes/developer_intro.html:
compiler/notes/failure.html:
compiler/notes/gc_and_c_code.html:
compiler/notes/glossary.html:
compiler/notes/grade_library.html:
compiler/notes/index.html:
compiler/notes/interface_files.html:
compiler/notes/mlds_tail_recursion.html:
compiler/notes/overall_design.html:
compiler/notes/promise_ex.html:
compiler/notes/reviews.html:
compiler/notes/trailing.html:
compiler/notes/type_class_transformation.html:
compiler/notes/upgrade_boehm_gc.html:

compiler/notes/Mmakefile:
    Add a target to run weblint on all the HTML files.
2019-10-16 17:53:49 +11:00

90 lines
2.5 KiB
Plaintext

#-----------------------------------------------------------------------------#
# vim: ts=8 sw=8 noexpandtab
#-----------------------------------------------------------------------------#
# Copyright (C) 1996-1997, 1999, 2001, 2003 The University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
# Mmake - Mmake file for the Mercury documentation.
MAIN_TARGET=all
MERCURY_DIR=../..
include $(MERCURY_DIR)/Mmake.common
INSTALL_WEB_SUBDIR=$(INSTALL_WEBDIR)/developer
# Note that we need to explicitly set TERM=vt100,
# because otherwise lynx complains if TERM is not set properly
# (as is the case when this Makefile is run from a cron job).
# This is a bug in lynx -- it should ignore TERM when given
# the `-dump' option.
HTML_TO_TEXT=TERM=vt100 lynx -dump
#-----------------------------------------------------------------------------#
.SUFFIXES: .html .text
.html.text:
$(HTML_TO_TEXT) $< > $@
#-----------------------------------------------------------------------------#
DOCS_HTML = \
allocation.html \
analysis.html \
bootstrapping.html \
bytecode.html \
c_coding_standard.html \
coding_standards.html \
compiler_design.html \
developer_intro.html \
failure.html \
gc_and_c_code.html \
glossary.html \
grade_library.html \
index.html \
interface_files.html \
mlds_tail_recursion.html \
overall_design.html \
promise_ex.html \
release_checklist.html \
reviews.html \
todo.html \
trailing.html \
type_class_transformation.html \
upgrade_boehm_gc.html \
work_in_progress.html
DOCS_TEXT = $(subst .html,.text,$(DOCS_HTML))
DOCS_ALL = $(DOCS_TEXT) $(DOCS_HTML)
#-----------------------------------------------------------------------------#
.PHONY: all
all: $(DOCS_ALL)
weblint: $(DOCS_HTML)
for f in $(DOCS_HTML); do \
echo $$f; weblint $$f ; \
done
# This install is for installing the Mercury webpage, which goes to
# a different directory (supplied by the environment variable
# INSTALL_WEBDIR).
# Currently the webpage and this documentation on it is installed by
# a different method. A copy if the repository is checked out on the
# webserver and linked to.
.PHONY: install
install: $(DOCS_ALL)
[ -d $(INSTALL_WEB_SUBDIR) ] || mkdir -p $(INSTALL_WEB_SUBDIR)
cp $(DOCS_ALL) $(INSTALL_WEB_SUBDIR)
clean_local:
rm -f $(DOCS_TEXT)
#-----------------------------------------------------------------------------#