From e666807a6ffc592be03dddb90ad2d40f2011c8d6 Mon Sep 17 00:00:00 2001
From: zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Wed, 20 May 2009 20:52:14 +0000
Subject: [PATCH] Add 'docs' and 'doxygen' targets to top-level Makefile.

git-svn-id: svn://svn.berlios.de/openocd/trunk@1858 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 Makefile.am     |  8 ++++++++
 tools/logger.pl | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 tools/logger.pl

diff --git a/Makefile.am b/Makefile.am
index 4d05d3757..2fd5e323d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,6 +13,14 @@ SUBDIRS = src doc
 
 EXTRA_DIST = Doxyfile
 
+docs: pdf html doxygen
+
+doxygen::
+	doxygen Doxyfile 2>&1 | perl tools/logger.pl > doxygen.log
+
+doxygen-clean:
+	rm -f -r doxygen doxygen.log
+
 MAINTAINERCLEANFILES = \
 	configure \
 	Makefile.in \
diff --git a/tools/logger.pl b/tools/logger.pl
new file mode 100644
index 000000000..1ec5441ad
--- /dev/null
+++ b/tools/logger.pl
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+# logger.pl: masks long meaningless output with pretty lines of dots
+#  Details: 1) reads lines from STDIN and echos them on STDOUT,
+#           2) print a '.' to STDERR every $N lines.
+#           3) print a newline after a sequence of $C dots
+
+use strict;
+use warnings;
+
+# make sure all output gets displayed immediately
+$| = 1;
+
+# TODO: add -n and -c options w/ zero checks)
+# line and column limits
+my $N = 10;
+my $C = 72;
+
+# current line and column counters
+my $n = 0;
+my $c = 0;
+
+# read all lines from STDIN
+while (<STDIN>)
+{
+	# echo line to output
+	print STDOUT $_;
+	# only display progress every Nth step
+	next unless ++$n % $N;
+	print STDERR ".";
+	# wrap at column C to provide fixed-width rows of dots
+	print STDERR "\n" unless ++$c % $C;
+}
+
+print STDERR "\n"
-- 
GitLab