I am trying to refresh my old groff skills, playing with it for the
first time on FreeBSD -- and getting very confused with understanding
groff's place and organization here. (I am writing this on FreeBSD 7.0
but I could start an 8.0 system if somebody suggested to take a look
there).
Let's start with the practical end of it: I wanted to find a good
macro package, good by modern standards. In the past, I've tried
'mm',
'ms', 'me' -- and could never decide which one was the most
practical
one (well, 'mm', perhaps).  These days, it seems like 'mom' is a
popular package, worth a serious attention.
So, I am trying to see if 'mom' is available on my system, and it is
not.
I do various online searches, and the only thing that comes up is:
  http://unix.derkeiler.com/Mailing-Lists/FreeBSD/stable/2003-11/0407.html
  groff macro package 'mom' not installed
  Date: 11/24/03
(and similar entries)
'mom' is, of course, in the source tree:
  ls -ld /usr/src/contrib/groff/contrib/mom
  drwxr-xr-x  4 root  wheel  512 Mar 26 19:30
/usr/src/contrib/groff/contrib/mom/
as is 'mm':
  ls -ld /usr/src/contrib/groff/contrib/mm 
  drwxr-xr-x  4 root  wheel  512 Mar 26 19:29 /usr/src/contrib/groff/contrib/mm/
But while the latter has "tmac" files installed:
  ls /usr/share/tmac/mm*
  0.MT       4.MT       5.MT       locale     mm.tmac    mmse.tmac  ms.cov    
se_locale  se_ms.cov
the former does not:
  ls /usr/share/tmac/mom*
  ls: /usr/share/tmac/mom*: No such file or directory
So, I try to build something relevant by hand, and nothing good comes
out of it.  But I notice that the '/usr/src/contrib/groff/contrib/mm'
directory is not the only place for 'mm' -- there is also
  ls -ld /usr/src/gnu/usr.bin/groff/contrib/mm
  drwxr-xr-x  2 root  wheel  512 Aug 10 17:48
/usr/src/gnu/usr.bin/groff/contrib/mm/
which is a built entity.
At this point, I begin not care about having 'mom' -- I just want to
understand the groff organization in FreeBSD.
Things that puzzle me:
1. Under '/usr/obj', there is a 'tmp/legacy' directory, which
has an
   empty 'mm' directory deep down:
   find tmp/legacy/usr/share/tmac/mm -ls
   518462        4 drwxr-xr-x    2 root             wheel                 512
Aug  9 23:05 tmp/legacy/usr/share/tmac/mm
   What is this 'tmp/legacy'?  
2. There is an odd relationship between "tmac" files under
'/usr/src'
   and '/usr/obj':
----------------------------------------   
for cmd in "ls -l" "diff -q"; do for f in pic.tmac doc.tmac;
do $cmd /usr/src/contrib/groff/tmac/$f
/usr/obj//usr/src/tmp/legacy/usr/share/tmac/$f; done; done
-rwxr-xr-x  1 root  wheel  117 Apr 17  2001
/usr/obj/i386/x01/freebsd/7.0/usr/src/tmp/legacy/usr/share/tmac/pic.tmac
-rw-r--r--  1 root  wheel  117 Apr 17  2001 /usr/src/contrib/groff/tmac/pic.tmac
-rwxr-xr-x  1 root  wheel   73079 Aug  9 23:05
/usr/obj/i386/x01/freebsd/7.0/usr/src/tmp/legacy/usr/share/tmac/doc.tmac
-rw-r--r--  1 root  wheel  148585 Oct 20  2005
/usr/src/contrib/groff/tmac/doc.tmac
Files /usr/src/contrib/groff/tmac/doc.tmac and
/usr/obj/i386/x01/freebsd/7.0/usr/src/tmp/legacy/usr/share/tmac/doc.tmac differ
----------------------------------------
  I.e. some files under '/usr/obj' are regenerated (see "Aug
9" for
  'doc.tmac'), and others are not ('pic.mac').  Some files are
  identical in both places, and others are not.
  What is the logic and mechanics here?
Can anybody shed some light on this?
And also, if somebody had a recommendation on the most practical
choice of the macro package, it would be highly appreciated.
Thank you,
-- Alex -- alex-goncharov@comcast.net --