============
Introduction
============

In essence, "ui-auto"'s goal is to phase out redundancies when
maintaining projects using autotools (autoconf+automake+libtool), as
well as generally help doing administrative tasks around
administrating and developing software packages.

Specifically, ui-auto is

=> a) an m4 macro archive.
=> b) a set of shell tools, mainly:
      - ui-auto-release            : Releasing, automatic snasphots, uploading etc.
      - ui-auto-env, ui-auto-update: Inter-dependency helper for developing w/ ui-auto projects.

a) What an ui-auto enabled project looks like on the autotool side

A typical configure.ac looks like

---
AC_INIT([myproject], [1.1.32])
UI_INIT([src/myproject/Main.cpp])
...
UI_DOXYGEN
UI_DISTDIR_CRUFT
---

, and a typical top level Makefile.am looks like

---
AUTOMAKE_OPTIONS = 1.9
ACLOCAL_AMFLAGS =

SUBDIRS = src doc
docdir = $(datadir)/doc/$(PACKAGE)
doc_DATA = README NEWS AUTHORS ChangeLog COPYING
EXTRA_DIST=.ui-auto.conf

incdir = $(includedir)/$(PACKAGE)

@UI_AUTO_AM@

all-local: ui-auto-all
clean-local: ui-auto-clean
distclean-local: ui-auto-distclean
install-data-local: ui-auto-install-data
install-exec-local: ui-auto-install-exec
uninstall-local: ui-auto-uninstall
dist-hook: ui-auto-dist
----

TODO some explanation about how the ui-* m4 macros work.

b) How tools help maintain a project (releases, snaphots, upload, etc)

To use the ui-auto tools, a per-project configuration .ui-auto.conf
should be placed in the top level of the project.

TODO

b) How tools help when developing a project (builds)

TODO
