-# The ``.tag'' mechanism allows for proper recompilation when a header file
-# changes, considering that some header files may include others.
-#
-# If a header file X includes other header
-# files Y and Z, we create a file X.tag that depends
-# on X, Y.tag, and Z.tag. Other headers that include X should
-# depend on X.tag.
-#
-# Suppose Y is subsequently changed. X doesn't get ``recompiled'',
-# but anything that includes X should be recompiled. Well, Y.tag becomes
-# out-of-date, so X.tag becomes out-of-date, so anything depending on X.tag
-# (that is, anything including X) becomes out-of-date. Magic!
-#
-# In this system, the tag files are empty files used only for their
-# timestamps. If one wished to use precompiled headers, one could use
-# ``.gch'' files exactly how ``.tag'' files are used now, except that
-# their contents would be meaningful.
-#
-# However, the same sort of ``deadly diamond'' problem that surfaces with
-# multiple inheritance also applies to precompiled headers. The ``#ifndef''
-# mechanism that prevents multiple inclusion doesn't work when headers are
-# compiled independently in a hierarchical structure, since the second
-# inclusion of a file won't even know there was a first inclusion. For
-# this reason, I just use ``.tag''s.
+# I removed the *.tag dependency tracking system because it had few advantages
+# over manually entering all the dependencies. If there were a portable,
+# reliable dependency tracking system, I'd use it, but I know of no such;
+# cons and depcomp are almost good enough.
+
+# Come back and define default target.
+all : library $(program)