summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/lib/csu/Makefile6
-rw-r--r--gnu/lib/csu/Makefile.depend45
-rw-r--r--gnu/lib/libdialog/Makefile.depend22
-rw-r--r--gnu/lib/libgcc/Makefile.depend289
-rw-r--r--gnu/lib/libgcov/Makefile.depend126
-rw-r--r--gnu/lib/libgomp/Makefile.depend83
-rw-r--r--gnu/lib/libreadline/history/Makefile15
-rw-r--r--gnu/lib/libreadline/history/Makefile.depend19
-rw-r--r--gnu/lib/libreadline/history/doc/Makefile12
-rw-r--r--gnu/lib/libreadline/readline/Makefile10
-rw-r--r--gnu/lib/libreadline/readline/Makefile.depend15
-rw-r--r--gnu/lib/libregex/Makefile.depend23
-rw-r--r--gnu/lib/libssp/Makefile.depend19
-rw-r--r--gnu/lib/libssp/libssp_nonshared/Makefile.depend12
-rw-r--r--gnu/lib/libstdc++/Makefile.depend69
-rw-r--r--gnu/lib/libsupc++/Makefile.depend66
-rw-r--r--gnu/usr.bin/binutils/addr2line/Makefile.depend22
-rw-r--r--gnu/usr.bin/binutils/ar/Makefile.depend20
-rw-r--r--gnu/usr.bin/binutils/as/Makefile.depend21
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.depend.amd6455
-rw-r--r--gnu/usr.bin/binutils/libbfd/Makefile.depend.amd64122
-rw-r--r--gnu/usr.bin/binutils/libbinutils/Makefile.depend21
-rw-r--r--gnu/usr.bin/binutils/libiberty/Makefile.depend15
-rw-r--r--gnu/usr.bin/binutils/libopcodes/Makefile.depend14
-rw-r--r--gnu/usr.bin/binutils/nm/Makefile.depend22
-rw-r--r--gnu/usr.bin/binutils/objcopy/Makefile.depend22
-rw-r--r--gnu/usr.bin/binutils/objdump/Makefile.depend23
-rw-r--r--gnu/usr.bin/binutils/ranlib/Makefile.depend20
-rw-r--r--gnu/usr.bin/binutils/readelf/Makefile.depend22
-rw-r--r--gnu/usr.bin/binutils/size/Makefile.depend22
-rw-r--r--gnu/usr.bin/binutils/strings/Makefile.depend22
-rw-r--r--gnu/usr.bin/binutils/strip/Makefile.depend22
-rw-r--r--gnu/usr.bin/cc/c++/Makefile.depend23
-rw-r--r--gnu/usr.bin/cc/c++filt/Makefile.depend22
-rw-r--r--gnu/usr.bin/cc/cc/Makefile.depend21
-rw-r--r--gnu/usr.bin/cc/cc1/Makefile.depend24
-rw-r--r--gnu/usr.bin/cc/cc1plus/Makefile.depend26
-rw-r--r--gnu/usr.bin/cc/cc_int/Makefile.depend15
-rw-r--r--gnu/usr.bin/cc/cc_tools/Makefile.depend251
-rw-r--r--gnu/usr.bin/cc/cpp/Makefile.depend23
-rw-r--r--gnu/usr.bin/cc/gcov/Makefile.depend22
-rw-r--r--gnu/usr.bin/cc/include/Makefile.depend12
-rw-r--r--gnu/usr.bin/cc/libcpp/Makefile.depend16
-rw-r--r--gnu/usr.bin/cc/libdecnumber/Makefile.depend15
-rw-r--r--gnu/usr.bin/cc/libiberty/Makefile.depend14
-rw-r--r--gnu/usr.bin/dialog/Makefile.depend22
-rw-r--r--gnu/usr.bin/diff/Makefile.depend24
-rw-r--r--gnu/usr.bin/diff3/Makefile.depend21
-rw-r--r--gnu/usr.bin/dtc/Makefile.depend27
-rw-r--r--gnu/usr.bin/gdb/gdb/Makefile.depend33
-rw-r--r--gnu/usr.bin/gdb/gdbserver/Makefile.depend20
-rw-r--r--gnu/usr.bin/gdb/gdbtui/Makefile.depend33
-rw-r--r--gnu/usr.bin/gdb/kgdb/Makefile.depend.amd6458
-rw-r--r--gnu/usr.bin/gdb/libgdb/Makefile.depend.amd641211
-rw-r--r--gnu/usr.bin/gperf/Makefile.depend21
-rw-r--r--gnu/usr.bin/grep/Makefile.depend22
-rw-r--r--gnu/usr.bin/groff/contrib/mm/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/font/devX100-12/Makefile2
-rw-r--r--gnu/usr.bin/groff/font/devX100-12/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devX100/Makefile2
-rw-r--r--gnu/usr.bin/groff/font/devX100/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devX75-12/Makefile2
-rw-r--r--gnu/usr.bin/groff/font/devX75-12/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devX75/Makefile2
-rw-r--r--gnu/usr.bin/groff/font/devX75/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devascii/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devcp1047/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devdvi/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/font/devhtml/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devkoi8-r/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devlatin1/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/font/devlbp/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/font/devlj4/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/font/devps/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/font/devutf8/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/man/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/src/devices/grodvi/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/devices/grohtml/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/devices/grolbp/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/devices/grolj4/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/devices/grops/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/devices/grotty/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/libs/libbib/Makefile.depend14
-rw-r--r--gnu/usr.bin/groff/src/libs/libdriver/Makefile.depend15
-rw-r--r--gnu/usr.bin/groff/src/libs/libgroff/Makefile.depend18
-rw-r--r--gnu/usr.bin/groff/src/preproc/eqn/Makefile.depend28
-rw-r--r--gnu/usr.bin/groff/src/preproc/grn/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/preproc/html/Makefile.depend23
-rw-r--r--gnu/usr.bin/groff/src/preproc/pic/Makefile.depend28
-rw-r--r--gnu/usr.bin/groff/src/preproc/refer/Makefile.depend27
-rw-r--r--gnu/usr.bin/groff/src/preproc/soelim/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/preproc/tbl/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/roff/groff/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/roff/grog/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/src/roff/nroff/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/src/roff/psroff/Makefile.depend12
-rw-r--r--gnu/usr.bin/groff/src/roff/troff/Makefile.depend26
-rw-r--r--gnu/usr.bin/groff/src/utils/addftinfo/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/utils/afmtodit/Makefile.depend13
-rw-r--r--gnu/usr.bin/groff/src/utils/hpftodit/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/src/utils/indxbib/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/utils/lkbib/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/utils/lookbib/Makefile.depend25
-rw-r--r--gnu/usr.bin/groff/src/utils/pfbtops/Makefile.depend20
-rw-r--r--gnu/usr.bin/groff/src/utils/tfmtodit/Makefile.depend24
-rw-r--r--gnu/usr.bin/groff/tmac/Makefile.depend13
-rw-r--r--gnu/usr.bin/rcs/ci/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/co/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/ident/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/lib/Makefile.depend14
-rw-r--r--gnu/usr.bin/rcs/merge/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/rcs/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/rcsclean/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/rcsdiff/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/rcsfreeze/Makefile.depend12
-rw-r--r--gnu/usr.bin/rcs/rcsmerge/Makefile.depend20
-rw-r--r--gnu/usr.bin/rcs/rlog/Makefile.depend20
-rw-r--r--gnu/usr.bin/sdiff/Makefile.depend21
-rw-r--r--gnu/usr.bin/send-pr/COPYING339
-rw-r--r--gnu/usr.bin/send-pr/Makefile35
-rw-r--r--gnu/usr.bin/send-pr/Makefile.depend14
-rw-r--r--gnu/usr.bin/send-pr/README43
-rw-r--r--gnu/usr.bin/send-pr/categories21
-rw-r--r--gnu/usr.bin/send-pr/doc/Makefile4
-rw-r--r--gnu/usr.bin/send-pr/doc/categ.texi125
-rw-r--r--gnu/usr.bin/send-pr/doc/fields.texi522
-rw-r--r--gnu/usr.bin/send-pr/doc/s-usage.texi570
-rw-r--r--gnu/usr.bin/send-pr/doc/send-pr.texi658
-rw-r--r--gnu/usr.bin/send-pr/doc/states.texi58
-rw-r--r--gnu/usr.bin/send-pr/doc/version.texi3
-rwxr-xr-xgnu/usr.bin/send-pr/install-sid.sh82
-rw-r--r--gnu/usr.bin/send-pr/send-pr-el.in813
-rw-r--r--gnu/usr.bin/send-pr/send-pr.1355
-rw-r--r--gnu/usr.bin/send-pr/send-pr.sh591
-rw-r--r--gnu/usr.bin/texinfo/info/Makefile.depend21
-rw-r--r--gnu/usr.bin/texinfo/infokey/Makefile.depend20
-rw-r--r--gnu/usr.bin/texinfo/install-info/Makefile.depend20
-rw-r--r--gnu/usr.bin/texinfo/libtxi/Makefile.depend14
-rw-r--r--gnu/usr.bin/texinfo/makeinfo/Makefile.depend20
-rw-r--r--gnu/usr.bin/texinfo/texindex/Makefile.depend20
140 files changed, 8695 insertions, 13 deletions
diff --git a/gnu/lib/csu/Makefile b/gnu/lib/csu/Makefile
index dee77df..e1b759a 100644
--- a/gnu/lib/csu/Makefile
+++ b/gnu/lib/csu/Makefile
@@ -74,4 +74,10 @@ realinstall:
${file} ${DESTDIR}${LIBDIR}/${file}
.endfor
+.if ${MK_STAGING} == "yes"
+STAGE_DIR= ${STAGE_LIBDIR}
+STAGE_FILES= ${OBJS} ${SOBJS} ${TGTOBJS}
+staging: stage_files
+.endif
+
.include <bsd.lib.mk>
diff --git a/gnu/lib/csu/Makefile.depend b/gnu/lib/csu/Makefile.depend
new file mode 100644
index 0000000..2c6edc6
--- /dev/null
+++ b/gnu/lib/csu/Makefile.depend
@@ -0,0 +1,45 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+crtbegin.o: options.h
+crtbegin.o: tconfig.h
+crtbegin.o: tm.h
+crtbegin.po: options.h
+crtbegin.po: tconfig.h
+crtbegin.po: tm.h
+crtbeginS.o: options.h
+crtbeginS.o: tconfig.h
+crtbeginS.o: tm.h
+crtbeginS.po: options.h
+crtbeginS.po: tconfig.h
+crtbeginS.po: tm.h
+crtbeginT.o: options.h
+crtbeginT.o: tconfig.h
+crtbeginT.o: tm.h
+crtbeginT.po: options.h
+crtbeginT.po: tconfig.h
+crtbeginT.po: tm.h
+crtend.o: options.h
+crtend.o: tconfig.h
+crtend.o: tm.h
+crtend.po: options.h
+crtend.po: tconfig.h
+crtend.po: tm.h
+crtendS.o: options.h
+crtendS.o: tconfig.h
+crtendS.o: tm.h
+crtendS.po: options.h
+crtendS.po: tconfig.h
+crtendS.po: tm.h
+.endif
diff --git a/gnu/lib/libdialog/Makefile.depend b/gnu/lib/libdialog/Makefile.depend
new file mode 100644
index 0000000..4f075dab
--- /dev/null
+++ b/gnu/lib/libdialog/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/msun \
+ lib/ncurses/ncursesw \
+ usr.bin/xinstall.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/lib/libgcc/Makefile.depend b/gnu/lib/libgcc/Makefile.depend
new file mode 100644
index 0000000..bc63138
--- /dev/null
+++ b/gnu/lib/libgcc/Makefile.depend
@@ -0,0 +1,289 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ usr.bin/xinstall.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+__main.So: options.h
+__main.So: tconfig.h
+__main.So: tm.h
+_absvdi2.So: options.h
+_absvdi2.So: tconfig.h
+_absvdi2.So: tm.h
+_absvsi2.So: options.h
+_absvsi2.So: tconfig.h
+_absvsi2.So: tm.h
+_addvdi3.So: options.h
+_addvdi3.So: tconfig.h
+_addvdi3.So: tm.h
+_addvsi3.So: options.h
+_addvsi3.So: tconfig.h
+_addvsi3.So: tm.h
+_ashldi3.So: options.h
+_ashldi3.So: tconfig.h
+_ashldi3.So: tm.h
+_ashrdi3.So: options.h
+_ashrdi3.So: tconfig.h
+_ashrdi3.So: tm.h
+_bswapdi2.So: options.h
+_bswapdi2.So: tconfig.h
+_bswapdi2.So: tm.h
+_bswapsi2.So: options.h
+_bswapsi2.So: tconfig.h
+_bswapsi2.So: tm.h
+_clear_cache.So: options.h
+_clear_cache.So: tconfig.h
+_clear_cache.So: tm.h
+_clz.So: options.h
+_clz.So: tconfig.h
+_clz.So: tm.h
+_clzdi2.So: options.h
+_clzdi2.So: tconfig.h
+_clzdi2.So: tm.h
+_clzsi2.So: options.h
+_clzsi2.So: tconfig.h
+_clzsi2.So: tm.h
+_cmpdi2.So: options.h
+_cmpdi2.So: tconfig.h
+_cmpdi2.So: tm.h
+_ctors.So: options.h
+_ctors.So: tconfig.h
+_ctors.So: tm.h
+_ctzdi2.So: options.h
+_ctzdi2.So: tconfig.h
+_ctzdi2.So: tm.h
+_ctzsi2.So: options.h
+_ctzsi2.So: tconfig.h
+_ctzsi2.So: tm.h
+_divdc3.So: options.h
+_divdc3.So: tconfig.h
+_divdc3.So: tm.h
+_divdi3.So: options.h
+_divdi3.So: tconfig.h
+_divdi3.So: tm.h
+_divsc3.So: options.h
+_divsc3.So: tconfig.h
+_divsc3.So: tm.h
+_divtc3.So: options.h
+_divtc3.So: tconfig.h
+_divtc3.So: tm.h
+_divxc3.So: options.h
+_divxc3.So: tconfig.h
+_divxc3.So: tm.h
+_enable_execute_stack.So: options.h
+_enable_execute_stack.So: tconfig.h
+_enable_execute_stack.So: tm.h
+_ffsdi2.So: options.h
+_ffsdi2.So: tconfig.h
+_ffsdi2.So: tm.h
+_ffssi2.So: options.h
+_ffssi2.So: tconfig.h
+_ffssi2.So: tm.h
+_fixdfdi.So: options.h
+_fixdfdi.So: tconfig.h
+_fixdfdi.So: tm.h
+_fixsfdi.So: options.h
+_fixsfdi.So: tconfig.h
+_fixsfdi.So: tm.h
+_fixtfdi.So: options.h
+_fixtfdi.So: tconfig.h
+_fixtfdi.So: tm.h
+_fixunsdfdi.So: options.h
+_fixunsdfdi.So: tconfig.h
+_fixunsdfdi.So: tm.h
+_fixunsdfsi.So: options.h
+_fixunsdfsi.So: tconfig.h
+_fixunsdfsi.So: tm.h
+_fixunssfdi.So: options.h
+_fixunssfdi.So: tconfig.h
+_fixunssfdi.So: tm.h
+_fixunssfsi.So: options.h
+_fixunssfsi.So: tconfig.h
+_fixunssfsi.So: tm.h
+_fixunstfdi.So: options.h
+_fixunstfdi.So: tconfig.h
+_fixunstfdi.So: tm.h
+_fixunsxfdi.So: options.h
+_fixunsxfdi.So: tconfig.h
+_fixunsxfdi.So: tm.h
+_fixunsxfsi.So: options.h
+_fixunsxfsi.So: tconfig.h
+_fixunsxfsi.So: tm.h
+_fixxfdi.So: options.h
+_fixxfdi.So: tconfig.h
+_fixxfdi.So: tm.h
+_floatdidf.So: options.h
+_floatdidf.So: tconfig.h
+_floatdidf.So: tm.h
+_floatdisf.So: options.h
+_floatdisf.So: tconfig.h
+_floatdisf.So: tm.h
+_floatditf.So: options.h
+_floatditf.So: tconfig.h
+_floatditf.So: tm.h
+_floatdixf.So: options.h
+_floatdixf.So: tconfig.h
+_floatdixf.So: tm.h
+_floatundidf.So: options.h
+_floatundidf.So: tconfig.h
+_floatundidf.So: tm.h
+_floatundisf.So: options.h
+_floatundisf.So: tconfig.h
+_floatundisf.So: tm.h
+_floatunditf.So: options.h
+_floatunditf.So: tconfig.h
+_floatunditf.So: tm.h
+_floatundixf.So: options.h
+_floatundixf.So: tconfig.h
+_floatundixf.So: tm.h
+_lshrdi3.So: options.h
+_lshrdi3.So: tconfig.h
+_lshrdi3.So: tm.h
+_moddi3.So: options.h
+_moddi3.So: tconfig.h
+_moddi3.So: tm.h
+_muldc3.So: options.h
+_muldc3.So: tconfig.h
+_muldc3.So: tm.h
+_muldi3.So: options.h
+_muldi3.So: tconfig.h
+_muldi3.So: tm.h
+_mulsc3.So: options.h
+_mulsc3.So: tconfig.h
+_mulsc3.So: tm.h
+_multc3.So: options.h
+_multc3.So: tconfig.h
+_multc3.So: tm.h
+_mulvdi3.So: options.h
+_mulvdi3.So: tconfig.h
+_mulvdi3.So: tm.h
+_mulvsi3.So: options.h
+_mulvsi3.So: tconfig.h
+_mulvsi3.So: tm.h
+_mulxc3.So: options.h
+_mulxc3.So: tconfig.h
+_mulxc3.So: tm.h
+_negdi2.So: options.h
+_negdi2.So: tconfig.h
+_negdi2.So: tm.h
+_negvdi2.So: options.h
+_negvdi2.So: tconfig.h
+_negvdi2.So: tm.h
+_negvsi2.So: options.h
+_negvsi2.So: tconfig.h
+_negvsi2.So: tm.h
+_paritydi2.So: options.h
+_paritydi2.So: tconfig.h
+_paritydi2.So: tm.h
+_paritysi2.So: options.h
+_paritysi2.So: tconfig.h
+_paritysi2.So: tm.h
+_popcount_tab.So: options.h
+_popcount_tab.So: tconfig.h
+_popcount_tab.So: tm.h
+_popcountdi2.So: options.h
+_popcountdi2.So: tconfig.h
+_popcountdi2.So: tm.h
+_popcountsi2.So: options.h
+_popcountsi2.So: tconfig.h
+_popcountsi2.So: tm.h
+_powidf2.So: options.h
+_powidf2.So: tconfig.h
+_powidf2.So: tm.h
+_powisf2.So: options.h
+_powisf2.So: tconfig.h
+_powisf2.So: tm.h
+_powitf2.So: options.h
+_powitf2.So: tconfig.h
+_powitf2.So: tm.h
+_powixf2.So: options.h
+_powixf2.So: tconfig.h
+_powixf2.So: tm.h
+_subvdi3.So: options.h
+_subvdi3.So: tconfig.h
+_subvdi3.So: tm.h
+_subvsi3.So: options.h
+_subvsi3.So: tconfig.h
+_subvsi3.So: tm.h
+_trampoline.So: options.h
+_trampoline.So: tconfig.h
+_trampoline.So: tm.h
+_ucmpdi2.So: options.h
+_ucmpdi2.So: tconfig.h
+_ucmpdi2.So: tm.h
+_udiv_w_sdiv.So: options.h
+_udiv_w_sdiv.So: tconfig.h
+_udiv_w_sdiv.So: tm.h
+_udivdi3.So: options.h
+_udivdi3.So: tconfig.h
+_udivdi3.So: tm.h
+_udivmoddi4.So: options.h
+_udivmoddi4.So: tconfig.h
+_udivmoddi4.So: tm.h
+_umoddi3.So: options.h
+_umoddi3.So: tconfig.h
+_umoddi3.So: tm.h
+unwind-c.So: tconfig.h
+unwind-c.So: unwind.h
+unwind-c.o: tconfig.h
+unwind-c.o: unwind.h
+unwind-c.po: tconfig.h
+unwind-c.po: unwind.h
+unwind-dw2-fde-glibc.So: gthr-default.h
+unwind-dw2-fde-glibc.So: options.h
+unwind-dw2-fde-glibc.So: tconfig.h
+unwind-dw2-fde-glibc.So: tm.h
+unwind-dw2-fde-glibc.So: unwind.h
+unwind-dw2-fde-glibc.o: gthr-default.h
+unwind-dw2-fde-glibc.o: options.h
+unwind-dw2-fde-glibc.o: tconfig.h
+unwind-dw2-fde-glibc.o: tm.h
+unwind-dw2-fde-glibc.o: unwind.h
+unwind-dw2-fde-glibc.po: gthr-default.h
+unwind-dw2-fde-glibc.po: options.h
+unwind-dw2-fde-glibc.po: tconfig.h
+unwind-dw2-fde-glibc.po: tm.h
+unwind-dw2-fde-glibc.po: unwind.h
+unwind-dw2.So: gthr-default.h
+unwind-dw2.So: options.h
+unwind-dw2.So: tconfig.h
+unwind-dw2.So: tm.h
+unwind-dw2.So: unwind.h
+unwind-dw2.o: gthr-default.h
+unwind-dw2.o: options.h
+unwind-dw2.o: tconfig.h
+unwind-dw2.o: tm.h
+unwind-dw2.o: unwind.h
+unwind-dw2.po: gthr-default.h
+unwind-dw2.po: options.h
+unwind-dw2.po: tconfig.h
+unwind-dw2.po: tm.h
+unwind-dw2.po: unwind.h
+unwind-sjlj.So: gthr-default.h
+unwind-sjlj.So: options.h
+unwind-sjlj.So: tconfig.h
+unwind-sjlj.So: tm.h
+unwind-sjlj.So: unwind.h
+unwind-sjlj.o: gthr-default.h
+unwind-sjlj.o: options.h
+unwind-sjlj.o: tconfig.h
+unwind-sjlj.o: tm.h
+unwind-sjlj.o: unwind.h
+unwind-sjlj.po: gthr-default.h
+unwind-sjlj.po: options.h
+unwind-sjlj.po: tconfig.h
+unwind-sjlj.po: tm.h
+unwind-sjlj.po: unwind.h
+.endif
diff --git a/gnu/lib/libgcov/Makefile.depend b/gnu/lib/libgcov/Makefile.depend
new file mode 100644
index 0000000..d780c09
--- /dev/null
+++ b/gnu/lib/libgcov/Makefile.depend
@@ -0,0 +1,126 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+_gcov.o: gcov-iov.h
+_gcov.o: options.h
+_gcov.o: tconfig.h
+_gcov.o: tm.h
+_gcov.po: gcov-iov.h
+_gcov.po: options.h
+_gcov.po: tconfig.h
+_gcov.po: tm.h
+_gcov_execl.o: gcov-iov.h
+_gcov_execl.o: options.h
+_gcov_execl.o: tconfig.h
+_gcov_execl.o: tm.h
+_gcov_execl.po: gcov-iov.h
+_gcov_execl.po: options.h
+_gcov_execl.po: tconfig.h
+_gcov_execl.po: tm.h
+_gcov_execle.o: gcov-iov.h
+_gcov_execle.o: options.h
+_gcov_execle.o: tconfig.h
+_gcov_execle.o: tm.h
+_gcov_execle.po: gcov-iov.h
+_gcov_execle.po: options.h
+_gcov_execle.po: tconfig.h
+_gcov_execle.po: tm.h
+_gcov_execlp.o: gcov-iov.h
+_gcov_execlp.o: options.h
+_gcov_execlp.o: tconfig.h
+_gcov_execlp.o: tm.h
+_gcov_execlp.po: gcov-iov.h
+_gcov_execlp.po: options.h
+_gcov_execlp.po: tconfig.h
+_gcov_execlp.po: tm.h
+_gcov_execv.o: gcov-iov.h
+_gcov_execv.o: options.h
+_gcov_execv.o: tconfig.h
+_gcov_execv.o: tm.h
+_gcov_execv.po: gcov-iov.h
+_gcov_execv.po: options.h
+_gcov_execv.po: tconfig.h
+_gcov_execv.po: tm.h
+_gcov_execve.o: gcov-iov.h
+_gcov_execve.o: options.h
+_gcov_execve.o: tconfig.h
+_gcov_execve.o: tm.h
+_gcov_execve.po: gcov-iov.h
+_gcov_execve.po: options.h
+_gcov_execve.po: tconfig.h
+_gcov_execve.po: tm.h
+_gcov_execvp.o: gcov-iov.h
+_gcov_execvp.o: options.h
+_gcov_execvp.o: tconfig.h
+_gcov_execvp.o: tm.h
+_gcov_execvp.po: gcov-iov.h
+_gcov_execvp.po: options.h
+_gcov_execvp.po: tconfig.h
+_gcov_execvp.po: tm.h
+_gcov_fork.o: gcov-iov.h
+_gcov_fork.o: options.h
+_gcov_fork.o: tconfig.h
+_gcov_fork.o: tm.h
+_gcov_fork.po: gcov-iov.h
+_gcov_fork.po: options.h
+_gcov_fork.po: tconfig.h
+_gcov_fork.po: tm.h
+_gcov_interval_profiler.o: gcov-iov.h
+_gcov_interval_profiler.o: options.h
+_gcov_interval_profiler.o: tconfig.h
+_gcov_interval_profiler.o: tm.h
+_gcov_interval_profiler.po: gcov-iov.h
+_gcov_interval_profiler.po: options.h
+_gcov_interval_profiler.po: tconfig.h
+_gcov_interval_profiler.po: tm.h
+_gcov_merge_add.o: gcov-iov.h
+_gcov_merge_add.o: options.h
+_gcov_merge_add.o: tconfig.h
+_gcov_merge_add.o: tm.h
+_gcov_merge_add.po: gcov-iov.h
+_gcov_merge_add.po: options.h
+_gcov_merge_add.po: tconfig.h
+_gcov_merge_add.po: tm.h
+_gcov_merge_delta.o: gcov-iov.h
+_gcov_merge_delta.o: options.h
+_gcov_merge_delta.o: tconfig.h
+_gcov_merge_delta.o: tm.h
+_gcov_merge_delta.po: gcov-iov.h
+_gcov_merge_delta.po: options.h
+_gcov_merge_delta.po: tconfig.h
+_gcov_merge_delta.po: tm.h
+_gcov_merge_single.o: gcov-iov.h
+_gcov_merge_single.o: options.h
+_gcov_merge_single.o: tconfig.h
+_gcov_merge_single.o: tm.h
+_gcov_merge_single.po: gcov-iov.h
+_gcov_merge_single.po: options.h
+_gcov_merge_single.po: tconfig.h
+_gcov_merge_single.po: tm.h
+_gcov_one_value_profiler.o: gcov-iov.h
+_gcov_one_value_profiler.o: options.h
+_gcov_one_value_profiler.o: tconfig.h
+_gcov_one_value_profiler.o: tm.h
+_gcov_one_value_profiler.po: gcov-iov.h
+_gcov_one_value_profiler.po: options.h
+_gcov_one_value_profiler.po: tconfig.h
+_gcov_one_value_profiler.po: tm.h
+_gcov_pow2_profiler.o: gcov-iov.h
+_gcov_pow2_profiler.o: options.h
+_gcov_pow2_profiler.o: tconfig.h
+_gcov_pow2_profiler.o: tm.h
+_gcov_pow2_profiler.po: gcov-iov.h
+_gcov_pow2_profiler.po: options.h
+_gcov_pow2_profiler.po: tconfig.h
+_gcov_pow2_profiler.po: tm.h
+.endif
diff --git a/gnu/lib/libgomp/Makefile.depend b/gnu/lib/libgomp/Makefile.depend
new file mode 100644
index 0000000..59f451a
--- /dev/null
+++ b/gnu/lib/libgomp/Makefile.depend
@@ -0,0 +1,83 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ usr.bin/xinstall.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+alloc.So: gstdint.h
+alloc.o: gstdint.h
+alloc.po: gstdint.h
+bar.So: gstdint.h
+bar.o: gstdint.h
+bar.po: gstdint.h
+barrier.So: gstdint.h
+barrier.o: gstdint.h
+barrier.po: gstdint.h
+critical.So: gstdint.h
+critical.o: gstdint.h
+critical.po: gstdint.h
+env.So: gstdint.h
+env.So: libgomp_f.h
+env.o: gstdint.h
+env.o: libgomp_f.h
+env.po: gstdint.h
+env.po: libgomp_f.h
+error.So: gstdint.h
+error.o: gstdint.h
+error.po: gstdint.h
+fortran.So: gstdint.h
+fortran.So: libgomp_f.h
+fortran.o: gstdint.h
+fortran.o: libgomp_f.h
+fortran.po: gstdint.h
+fortran.po: libgomp_f.h
+iter.So: gstdint.h
+iter.o: gstdint.h
+iter.po: gstdint.h
+lock.So: gstdint.h
+lock.o: gstdint.h
+lock.po: gstdint.h
+loop.So: gstdint.h
+loop.o: gstdint.h
+loop.po: gstdint.h
+ordered.So: gstdint.h
+ordered.o: gstdint.h
+ordered.po: gstdint.h
+parallel.So: gstdint.h
+parallel.o: gstdint.h
+parallel.po: gstdint.h
+proc.So: gstdint.h
+proc.o: gstdint.h
+proc.po: gstdint.h
+sections.So: gstdint.h
+sections.o: gstdint.h
+sections.po: gstdint.h
+sem.So: gstdint.h
+sem.o: gstdint.h
+sem.po: gstdint.h
+single.So: gstdint.h
+single.o: gstdint.h
+single.po: gstdint.h
+team.So: gstdint.h
+team.o: gstdint.h
+team.po: gstdint.h
+time.So: gstdint.h
+time.o: gstdint.h
+time.po: gstdint.h
+work.So: gstdint.h
+work.o: gstdint.h
+work.po: gstdint.h
+.endif
diff --git a/gnu/lib/libreadline/history/Makefile b/gnu/lib/libreadline/history/Makefile
new file mode 100644
index 0000000..1602872
--- /dev/null
+++ b/gnu/lib/libreadline/history/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+SUBDIR= doc
+
+LIB= history
+MAN= rlhistory.3
+
+SRCS= $(HISTSRC) xmalloc.c
+
+rlhistory.3: doc/history.3
+ cp -f ${.ALLSRC} ${.TARGET}
+
+CLEANFILES+= rlhistory.3
+
+.include <bsd.lib.mk>
diff --git a/gnu/lib/libreadline/history/Makefile.depend b/gnu/lib/libreadline/history/Makefile.depend
new file mode 100644
index 0000000..a839545
--- /dev/null
+++ b/gnu/lib/libreadline/history/Makefile.depend
@@ -0,0 +1,19 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/lib/libreadline/history/doc/Makefile b/gnu/lib/libreadline/history/doc/Makefile
new file mode 100644
index 0000000..4b050e7
--- /dev/null
+++ b/gnu/lib/libreadline/history/doc/Makefile
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+SRCDIR= ${.CURDIR}/../../../../../contrib/libreadline/doc
+
+INFO = history
+
+INFOSECTION= "Programming & development tools."
+INFOENTRY_history= "* History: (history). The GNU History library."
+
+history.info: history.texi hstech.texi hsuser.texi version.texi fdl.texi
+
+.include <bsd.info.mk>
diff --git a/gnu/lib/libreadline/readline/Makefile b/gnu/lib/libreadline/readline/Makefile
index f09e943..ce1fec1 100644
--- a/gnu/lib/libreadline/readline/Makefile
+++ b/gnu/lib/libreadline/readline/Makefile
@@ -16,11 +16,11 @@ INSTALLED_HEADERS= readline.h chardefs.h keymaps.h history.h tilde.h \
CFLAGS+= -I${.OBJDIR}/..
SRCDIR= ${.CURDIR}/../../../../contrib/libreadline
-.for _h in ${INSTALLED_HEADERS}
-CLEANFILES+= ${_h}
-DPSRCS+= ${.OBJDIR}/${_h}
-${.OBJDIR}/${_h}: ${SRCDIR}/${_h}
- ${INSTALL} ${.ALLSRC} ${.TARGET}
+CLEANFILES+= ${INSTALLED_HEADERS}
+beforebuild: ${INSTALLED_HEADERS}
+.for h in ${INSTALLED_HEADERS}
+$h: ${SRCDIR}/$h
+ ln -sf ${SRCDIR}/$h $h
.endfor
DPADD= ${LIBTERMCAPW}
diff --git a/gnu/lib/libreadline/readline/Makefile.depend b/gnu/lib/libreadline/readline/Makefile.depend
new file mode 100644
index 0000000..bc5416f
--- /dev/null
+++ b/gnu/lib/libreadline/readline/Makefile.depend
@@ -0,0 +1,15 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/lib/libregex/Makefile.depend b/gnu/lib/libregex/Makefile.depend
new file mode 100644
index 0000000..aa86386
--- /dev/null
+++ b/gnu/lib/libregex/Makefile.depend
@@ -0,0 +1,23 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ usr.bin/xinstall.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+gnuregex.So: gnuregex.c
+gnuregex.o: gnuregex.c
+gnuregex.po: gnuregex.c
+.endif
diff --git a/gnu/lib/libssp/Makefile.depend b/gnu/lib/libssp/Makefile.depend
new file mode 100644
index 0000000..a839545
--- /dev/null
+++ b/gnu/lib/libssp/Makefile.depend
@@ -0,0 +1,19 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/lib/libssp/libssp_nonshared/Makefile.depend b/gnu/lib/libssp/libssp_nonshared/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/lib/libssp/libssp_nonshared/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/lib/libstdc++/Makefile.depend b/gnu/lib/libstdc++/Makefile.depend
new file mode 100644
index 0000000..7155be6
--- /dev/null
+++ b/gnu/lib/libstdc++/Makefile.depend
@@ -0,0 +1,69 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/msun \
+ usr.bin/xinstall.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+atomicity.So: atomicity.cc
+atomicity.o: atomicity.cc
+atomicity.po: atomicity.cc
+eh_alloc.So: unwind.h
+eh_alloc.o: unwind.h
+eh_alloc.po: unwind.h
+eh_arm.So: unwind.h
+eh_arm.o: unwind.h
+eh_arm.po: unwind.h
+eh_aux_runtime.So: unwind.h
+eh_aux_runtime.o: unwind.h
+eh_aux_runtime.po: unwind.h
+eh_call.So: unwind.h
+eh_call.o: unwind.h
+eh_call.po: unwind.h
+eh_catch.So: unwind.h
+eh_catch.o: unwind.h
+eh_catch.po: unwind.h
+eh_exception.So: unwind.h
+eh_exception.o: unwind.h
+eh_exception.po: unwind.h
+eh_globals.So: unwind.h
+eh_globals.o: unwind.h
+eh_globals.po: unwind.h
+eh_personality.So: unwind.h
+eh_personality.o: unwind.h
+eh_personality.po: unwind.h
+eh_term_handler.So: unwind.h
+eh_term_handler.o: unwind.h
+eh_term_handler.po: unwind.h
+eh_terminate.So: unwind.h
+eh_terminate.o: unwind.h
+eh_terminate.po: unwind.h
+eh_throw.So: unwind.h
+eh_throw.o: unwind.h
+eh_throw.po: unwind.h
+eh_type.So: unwind.h
+eh_type.o: unwind.h
+eh_type.po: unwind.h
+eh_unex_handler.So: unwind.h
+eh_unex_handler.o: unwind.h
+eh_unex_handler.po: unwind.h
+pure.So: unwind.h
+pure.o: unwind.h
+pure.po: unwind.h
+vec.So: unwind.h
+vec.o: unwind.h
+vec.po: unwind.h
+.endif
diff --git a/gnu/lib/libsupc++/Makefile.depend b/gnu/lib/libsupc++/Makefile.depend
new file mode 100644
index 0000000..dcb5bb9
--- /dev/null
+++ b/gnu/lib/libsupc++/Makefile.depend
@@ -0,0 +1,66 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/lib/libstdc++ \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ usr.bin/xinstall.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+eh_alloc.So: unwind.h
+eh_alloc.o: unwind.h
+eh_alloc.po: unwind.h
+eh_arm.So: unwind.h
+eh_arm.o: unwind.h
+eh_arm.po: unwind.h
+eh_aux_runtime.So: unwind.h
+eh_aux_runtime.o: unwind.h
+eh_aux_runtime.po: unwind.h
+eh_call.So: unwind.h
+eh_call.o: unwind.h
+eh_call.po: unwind.h
+eh_catch.So: unwind.h
+eh_catch.o: unwind.h
+eh_catch.po: unwind.h
+eh_exception.So: unwind.h
+eh_exception.o: unwind.h
+eh_exception.po: unwind.h
+eh_globals.So: unwind.h
+eh_globals.o: unwind.h
+eh_globals.po: unwind.h
+eh_personality.So: unwind.h
+eh_personality.o: unwind.h
+eh_personality.po: unwind.h
+eh_term_handler.So: unwind.h
+eh_term_handler.o: unwind.h
+eh_term_handler.po: unwind.h
+eh_terminate.So: unwind.h
+eh_terminate.o: unwind.h
+eh_terminate.po: unwind.h
+eh_throw.So: unwind.h
+eh_throw.o: unwind.h
+eh_throw.po: unwind.h
+eh_type.So: unwind.h
+eh_type.o: unwind.h
+eh_type.po: unwind.h
+eh_unex_handler.So: unwind.h
+eh_unex_handler.o: unwind.h
+eh_unex_handler.po: unwind.h
+pure.So: unwind.h
+pure.o: unwind.h
+pure.po: unwind.h
+vec.So: unwind.h
+vec.o: unwind.h
+vec.po: unwind.h
+.endif
diff --git a/gnu/usr.bin/binutils/addr2line/Makefile.depend b/gnu/usr.bin/binutils/addr2line/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/addr2line/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/ar/Makefile.depend b/gnu/usr.bin/binutils/ar/Makefile.depend
new file mode 100644
index 0000000..968d47f
--- /dev/null
+++ b/gnu/usr.bin/binutils/ar/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/as/Makefile.depend b/gnu/usr.bin/binutils/as/Makefile.depend
new file mode 100644
index 0000000..c9c4fe5
--- /dev/null
+++ b/gnu/usr.bin/binutils/as/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libiberty \
+ gnu/usr.bin/binutils/libopcodes \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/ld/Makefile.depend.amd64 b/gnu/usr.bin/binutils/ld/Makefile.depend.amd64
new file mode 100644
index 0000000..65ee0ab
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/Makefile.depend.amd64
@@ -0,0 +1,55 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+eelf_i386_fbsd.o: eelf_i386_fbsd.c
+eelf_i386_fbsd.o: ldgram.h
+eelf_i386_fbsd.po: eelf_i386_fbsd.c
+eelf_i386_fbsd.po: ldgram.h
+eelf_x86_64_fbsd.o: eelf_x86_64_fbsd.c
+eelf_x86_64_fbsd.o: ldgram.h
+eelf_x86_64_fbsd.po: eelf_x86_64_fbsd.c
+eelf_x86_64_fbsd.po: ldgram.h
+ldctor.o: ldgram.h
+ldctor.po: ldgram.h
+ldemul.o: ldemul-list.h
+ldemul.po: ldemul-list.h
+ldexp.o: ldgram.h
+ldexp.po: ldgram.h
+ldfile.o: ldgram.h
+ldfile.po: ldgram.h
+ldgram.o: ldgram.c
+ldgram.po: ldgram.c
+ldlang.o: ldgram.h
+ldlang.po: ldgram.h
+ldlex.o: ldgram.h
+ldlex.o: ldlex.c
+ldlex.po: ldgram.h
+ldlex.po: ldlex.c
+ldmain.o: ldgram.h
+ldmain.po: ldgram.h
+ldmisc.o: ldgram.h
+ldmisc.po: ldgram.h
+ldwrite.o: ldgram.h
+ldwrite.po: ldgram.h
+lexsup.o: ldgram.h
+lexsup.po: ldgram.h
+mri.o: ldgram.h
+mri.po: ldgram.h
+.endif
diff --git a/gnu/usr.bin/binutils/libbfd/Makefile.depend.amd64 b/gnu/usr.bin/binutils/libbfd/Makefile.depend.amd64
new file mode 100644
index 0000000..919536e
--- /dev/null
+++ b/gnu/usr.bin/binutils/libbfd/Makefile.depend.amd64
@@ -0,0 +1,122 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+archive.o: config.h
+archive.po: config.h
+archive64.o: config.h
+archive64.po: config.h
+archures.o: config.h
+archures.po: config.h
+bfd.o: bfdver.h
+bfd.o: config.h
+bfd.po: bfdver.h
+bfd.po: config.h
+bfdio.o: config.h
+bfdio.po: config.h
+bfdwin.o: config.h
+bfdwin.po: config.h
+binary.o: config.h
+binary.po: config.h
+cache.o: config.h
+cache.po: config.h
+coffgen.o: config.h
+coffgen.po: config.h
+cofflink.o: config.h
+cofflink.po: config.h
+corefile.o: config.h
+corefile.po: config.h
+cpu-i386.o: config.h
+cpu-i386.po: config.h
+dwarf1.o: config.h
+dwarf1.po: config.h
+dwarf2.o: config.h
+dwarf2.po: config.h
+efi-app-ia32.o: config.h
+efi-app-ia32.po: config.h
+efi-app-x86_64.o: config.h
+efi-app-x86_64.po: config.h
+elf-attrs.o: config.h
+elf-attrs.po: config.h
+elf-eh-frame.o: config.h
+elf-eh-frame.po: config.h
+elf-strtab.o: config.h
+elf-strtab.po: config.h
+elf-vxworks.o: config.h
+elf-vxworks.po: config.h
+elf.o: config.h
+elf.po: config.h
+elf32-i386.o: config.h
+elf32-i386.o: elf32-target.h
+elf32-i386.po: config.h
+elf32-i386.po: elf32-target.h
+elf32.o: config.h
+elf32.po: config.h
+elf64-gen.o: config.h
+elf64-gen.o: elf64-target.h
+elf64-gen.po: config.h
+elf64-gen.po: elf64-target.h
+elf64-x86-64.o: config.h
+elf64-x86-64.o: elf64-target.h
+elf64-x86-64.po: config.h
+elf64-x86-64.po: elf64-target.h
+elf64.o: config.h
+elf64.po: config.h
+elflink.o: config.h
+elflink.po: config.h
+format.o: config.h
+format.po: config.h
+hash.o: config.h
+hash.po: config.h
+ihex.o: config.h
+ihex.po: config.h
+init.o: config.h
+init.po: config.h
+libbfd.o: config.h
+libbfd.po: config.h
+linker.o: config.h
+linker.po: config.h
+merge.o: config.h
+merge.po: config.h
+opncls.o: config.h
+opncls.po: config.h
+peigen.o: config.h
+peigen.o: peigen.c
+peigen.po: config.h
+peigen.po: peigen.c
+pepigen.o: config.h
+pepigen.o: pepigen.c
+pepigen.po: config.h
+pepigen.po: pepigen.c
+pex64igen.o: config.h
+pex64igen.o: pex64igen.c
+pex64igen.po: config.h
+pex64igen.po: pex64igen.c
+reloc.o: config.h
+reloc.po: config.h
+section.o: config.h
+section.po: config.h
+simple.o: config.h
+simple.po: config.h
+srec.o: config.h
+srec.po: config.h
+stabs.o: config.h
+stabs.po: config.h
+syms.o: config.h
+syms.po: config.h
+targets.o: config.h
+targets.o: targmatch.h
+targets.po: config.h
+targets.po: targmatch.h
+tekhex.o: config.h
+tekhex.po: config.h
+.endif
diff --git a/gnu/usr.bin/binutils/libbinutils/Makefile.depend b/gnu/usr.bin/binutils/libbinutils/Makefile.depend
new file mode 100644
index 0000000..a3d213c
--- /dev/null
+++ b/gnu/usr.bin/binutils/libbinutils/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/binutils/libbfd \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+arlex.o: arlex.c
+arlex.o: arparse.h
+arlex.po: arlex.c
+arlex.po: arparse.h
+arparse.o: arparse.c
+arparse.po: arparse.c
+.endif
diff --git a/gnu/usr.bin/binutils/libiberty/Makefile.depend b/gnu/usr.bin/binutils/libiberty/Makefile.depend
new file mode 100644
index 0000000..4e6cdd8
--- /dev/null
+++ b/gnu/usr.bin/binutils/libiberty/Makefile.depend
@@ -0,0 +1,15 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/libopcodes/Makefile.depend b/gnu/usr.bin/binutils/libopcodes/Makefile.depend
new file mode 100644
index 0000000..639d45d
--- /dev/null
+++ b/gnu/usr.bin/binutils/libopcodes/Makefile.depend
@@ -0,0 +1,14 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/nm/Makefile.depend b/gnu/usr.bin/binutils/nm/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/nm/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/objcopy/Makefile.depend b/gnu/usr.bin/binutils/objcopy/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/objcopy/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/objdump/Makefile.depend b/gnu/usr.bin/binutils/objdump/Makefile.depend
new file mode 100644
index 0000000..ca80e98
--- /dev/null
+++ b/gnu/usr.bin/binutils/objdump/Makefile.depend
@@ -0,0 +1,23 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ gnu/usr.bin/binutils/libopcodes \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/ranlib/Makefile.depend b/gnu/usr.bin/binutils/ranlib/Makefile.depend
new file mode 100644
index 0000000..968d47f
--- /dev/null
+++ b/gnu/usr.bin/binutils/ranlib/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/readelf/Makefile.depend b/gnu/usr.bin/binutils/readelf/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/readelf/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/size/Makefile.depend b/gnu/usr.bin/binutils/size/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/size/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/strings/Makefile.depend b/gnu/usr.bin/binutils/strings/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/strings/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/binutils/strip/Makefile.depend b/gnu/usr.bin/binutils/strip/Makefile.depend
new file mode 100644
index 0000000..4ed5ef1
--- /dev/null
+++ b/gnu/usr.bin/binutils/strip/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libbinutils \
+ gnu/usr.bin/binutils/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/c++/Makefile.depend b/gnu/usr.bin/cc/c++/Makefile.depend
new file mode 100644
index 0000000..2652a14
--- /dev/null
+++ b/gnu/usr.bin/cc/c++/Makefile.depend
@@ -0,0 +1,23 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libcpp \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc_nonshared \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/c++filt/Makefile.depend b/gnu/usr.bin/cc/c++filt/Makefile.depend
new file mode 100644
index 0000000..fa5c21c
--- /dev/null
+++ b/gnu/usr.bin/cc/c++filt/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc_nonshared \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/cc/Makefile.depend b/gnu/usr.bin/cc/cc/Makefile.depend
new file mode 100644
index 0000000..87b6d9d
--- /dev/null
+++ b/gnu/usr.bin/cc/cc/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libcpp \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/cc1/Makefile.depend b/gnu/usr.bin/cc/cc1/Makefile.depend
new file mode 100644
index 0000000..be55de56
--- /dev/null
+++ b/gnu/usr.bin/cc/cc1/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/cc/cc_int \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libcpp \
+ gnu/usr.bin/cc/libdecnumber \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+cc1-checksum.o: cc1-checksum.c
+cc1-checksum.po: cc1-checksum.c
+.endif
diff --git a/gnu/usr.bin/cc/cc1plus/Makefile.depend b/gnu/usr.bin/cc/cc1plus/Makefile.depend
new file mode 100644
index 0000000..cf800a6
--- /dev/null
+++ b/gnu/usr.bin/cc/cc1plus/Makefile.depend
@@ -0,0 +1,26 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/cc/cc_int \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libcpp \
+ gnu/usr.bin/cc/libdecnumber \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+cc1plus-checksum.o: cc1plus-checksum.c
+cc1plus-checksum.po: cc1plus-checksum.c
+except.o: cfns.h
+except.po: cfns.h
+.endif
diff --git a/gnu/usr.bin/cc/cc_int/Makefile.depend b/gnu/usr.bin/cc/cc_int/Makefile.depend
new file mode 100644
index 0000000..9ec5f32
--- /dev/null
+++ b/gnu/usr.bin/cc/cc_int/Makefile.depend
@@ -0,0 +1,15 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/cc/cc_tools \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/cc_tools/Makefile.depend b/gnu/usr.bin/cc/cc_tools/Makefile.depend
new file mode 100644
index 0000000..05572c6
--- /dev/null
+++ b/gnu/usr.bin/cc/cc_tools/Makefile.depend
@@ -0,0 +1,251 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc_nonshared \
+ lib/libcompiler_rt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+errors.o: bconfig.h
+errors.po: bconfig.h
+genattr.o: bconfig.h
+genattr.o: insn-modes.h
+genattr.o: options.h
+genattr.o: tm.h
+genattr.po: bconfig.h
+genattr.po: insn-modes.h
+genattr.po: options.h
+genattr.po: tm.h
+genattrtab.o: bconfig.h
+genattrtab.o: insn-modes.h
+genattrtab.o: options.h
+genattrtab.o: tm.h
+genattrtab.po: bconfig.h
+genattrtab.po: insn-modes.h
+genattrtab.po: options.h
+genattrtab.po: tm.h
+genautomata.o: bconfig.h
+genautomata.o: insn-modes.h
+genautomata.o: options.h
+genautomata.o: tm.h
+genautomata.po: bconfig.h
+genautomata.po: insn-modes.h
+genautomata.po: options.h
+genautomata.po: tm.h
+gencheck.o: bconfig.h
+gencheck.o: gencheck.h
+gencheck.o: options.h
+gencheck.o: tm.h
+gencheck.po: bconfig.h
+gencheck.po: gencheck.h
+gencheck.po: options.h
+gencheck.po: tm.h
+genchecksum.o: bconfig.h
+genchecksum.po: bconfig.h
+gencodes.o: bconfig.h
+gencodes.o: insn-modes.h
+gencodes.o: options.h
+gencodes.o: tm.h
+gencodes.po: bconfig.h
+gencodes.po: insn-modes.h
+gencodes.po: options.h
+gencodes.po: tm.h
+genconditions.o: bconfig.h
+genconditions.o: insn-modes.h
+genconditions.o: options.h
+genconditions.o: tm.h
+genconditions.po: bconfig.h
+genconditions.po: insn-modes.h
+genconditions.po: options.h
+genconditions.po: tm.h
+gencondmd.o: bconfig.h
+gencondmd.o: gencondmd.c
+gencondmd.o: insn-constants.h
+gencondmd.o: insn-modes.h
+gencondmd.o: options.h
+gencondmd.o: tm-constrs.h
+gencondmd.o: tm-preds.h
+gencondmd.o: tm.h
+gencondmd.o: tm_p.h
+gencondmd.o: tree-check.h
+gencondmd.po: bconfig.h
+gencondmd.po: gencondmd.c
+gencondmd.po: insn-constants.h
+gencondmd.po: insn-modes.h
+gencondmd.po: options.h
+gencondmd.po: tm-constrs.h
+gencondmd.po: tm-preds.h
+gencondmd.po: tm.h
+gencondmd.po: tm_p.h
+gencondmd.po: tree-check.h
+genconfig.o: bconfig.h
+genconfig.o: insn-modes.h
+genconfig.o: options.h
+genconfig.o: tm.h
+genconfig.po: bconfig.h
+genconfig.po: insn-modes.h
+genconfig.po: options.h
+genconfig.po: tm.h
+genconstants.o: bconfig.h
+genconstants.o: insn-modes.h
+genconstants.o: options.h
+genconstants.o: tm.h
+genconstants.po: bconfig.h
+genconstants.po: insn-modes.h
+genconstants.po: options.h
+genconstants.po: tm.h
+genemit.o: bconfig.h
+genemit.o: insn-modes.h
+genemit.o: options.h
+genemit.o: tm.h
+genemit.po: bconfig.h
+genemit.po: insn-modes.h
+genemit.po: options.h
+genemit.po: tm.h
+genextract.o: bconfig.h
+genextract.o: insn-modes.h
+genextract.o: options.h
+genextract.o: tm.h
+genextract.po: bconfig.h
+genextract.po: insn-modes.h
+genextract.po: options.h
+genextract.po: tm.h
+genflags.o: bconfig.h
+genflags.o: insn-modes.h
+genflags.o: options.h
+genflags.o: tm.h
+genflags.po: bconfig.h
+genflags.po: insn-modes.h
+genflags.po: options.h
+genflags.po: tm.h
+gengenrtl.o: bconfig.h
+gengenrtl.po: bconfig.h
+gengtype-lex.o: bconfig.h
+gengtype-lex.o: gengtype-lex.c
+gengtype-lex.o: gengtype-yacc.h
+gengtype-lex.po: bconfig.h
+gengtype-lex.po: gengtype-lex.c
+gengtype-lex.po: gengtype-yacc.h
+gengtype-yacc+%DIKED.o: bconfig.h
+gengtype-yacc+%DIKED.o: gengtype-yacc+%DIKED.c
+gengtype-yacc+%DIKED.o: options.h
+gengtype-yacc+%DIKED.o: tm.h
+gengtype-yacc+%DIKED.po: bconfig.h
+gengtype-yacc+%DIKED.po: gengtype-yacc+%DIKED.c
+gengtype-yacc+%DIKED.po: options.h
+gengtype-yacc+%DIKED.po: tm.h
+gengtype.o: bconfig.h
+gengtype.o: gtyp-gen.h
+gengtype.o: options.h
+gengtype.o: tm.h
+gengtype.po: bconfig.h
+gengtype.po: gtyp-gen.h
+gengtype.po: options.h
+gengtype.po: tm.h
+genmodes.o: bconfig.h
+genmodes.po: bconfig.h
+genopinit.o: bconfig.h
+genopinit.o: insn-modes.h
+genopinit.o: options.h
+genopinit.o: tm.h
+genopinit.po: bconfig.h
+genopinit.po: insn-modes.h
+genopinit.po: options.h
+genopinit.po: tm.h
+genoutput.o: bconfig.h
+genoutput.o: insn-modes.h
+genoutput.o: options.h
+genoutput.o: tm.h
+genoutput.po: bconfig.h
+genoutput.po: insn-modes.h
+genoutput.po: options.h
+genoutput.po: tm.h
+genpeep.o: bconfig.h
+genpeep.o: insn-modes.h
+genpeep.o: options.h
+genpeep.o: tm.h
+genpeep.po: bconfig.h
+genpeep.po: insn-modes.h
+genpeep.po: options.h
+genpeep.po: tm.h
+genpreds.o: bconfig.h
+genpreds.o: insn-modes.h
+genpreds.o: options.h
+genpreds.o: tm.h
+genpreds.po: bconfig.h
+genpreds.po: insn-modes.h
+genpreds.po: options.h
+genpreds.po: tm.h
+genrecog.o: bconfig.h
+genrecog.o: insn-modes.h
+genrecog.o: options.h
+genrecog.o: tm.h
+genrecog.po: bconfig.h
+genrecog.po: insn-modes.h
+genrecog.po: options.h
+genrecog.po: tm.h
+gensupport.o: bconfig.h
+gensupport.o: insn-modes.h
+gensupport.o: options.h
+gensupport.o: tm.h
+gensupport.po: bconfig.h
+gensupport.po: insn-modes.h
+gensupport.po: options.h
+gensupport.po: tm.h
+ggc-none.o: bconfig.h
+ggc-none.o: gtype-desc.h
+ggc-none.po: bconfig.h
+ggc-none.po: gtype-desc.h
+min-insn-modes.o: bconfig.h
+min-insn-modes.o: insn-modes.h
+min-insn-modes.o: min-insn-modes.c
+min-insn-modes.po: bconfig.h
+min-insn-modes.po: insn-modes.h
+min-insn-modes.po: min-insn-modes.c
+print-rtl.o: bconfig.h
+print-rtl.o: insn-modes.h
+print-rtl.o: options.h
+print-rtl.o: tm.h
+print-rtl.po: bconfig.h
+print-rtl.po: insn-modes.h
+print-rtl.po: options.h
+print-rtl.po: tm.h
+read-rtl.o: bconfig.h
+read-rtl.o: insn-modes.h
+read-rtl.o: options.h
+read-rtl.o: tm.h
+read-rtl.po: bconfig.h
+read-rtl.po: insn-modes.h
+read-rtl.po: options.h
+read-rtl.po: tm.h
+rtl.o: bconfig.h
+rtl.o: gtype-desc.h
+rtl.o: insn-modes.h
+rtl.o: options.h
+rtl.o: tm.h
+rtl.po: bconfig.h
+rtl.po: gtype-desc.h
+rtl.po: insn-modes.h
+rtl.po: options.h
+rtl.po: tm.h
+vec.o: bconfig.h
+vec.o: gtype-desc.h
+vec.o: insn-modes.h
+vec.o: tree-check.h
+vec.po: bconfig.h
+vec.po: gtype-desc.h
+vec.po: insn-modes.h
+vec.po: tree-check.h
+.endif
diff --git a/gnu/usr.bin/cc/cpp/Makefile.depend b/gnu/usr.bin/cc/cpp/Makefile.depend
new file mode 100644
index 0000000..2652a14
--- /dev/null
+++ b/gnu/usr.bin/cc/cpp/Makefile.depend
@@ -0,0 +1,23 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libcpp \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc_nonshared \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/gcov/Makefile.depend b/gnu/usr.bin/cc/gcov/Makefile.depend
new file mode 100644
index 0000000..fa5c21c
--- /dev/null
+++ b/gnu/usr.bin/cc/gcov/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/cc/cc_tools \
+ gnu/usr.bin/cc/libiberty \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc_nonshared \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/include/Makefile.depend b/gnu/usr.bin/cc/include/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/cc/include/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/libcpp/Makefile.depend b/gnu/usr.bin/cc/libcpp/Makefile.depend
new file mode 100644
index 0000000..c1e035b
--- /dev/null
+++ b/gnu/usr.bin/cc/libcpp/Makefile.depend
@@ -0,0 +1,16 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+init.o: localedir.h
+init.po: localedir.h
+.endif
diff --git a/gnu/usr.bin/cc/libdecnumber/Makefile.depend b/gnu/usr.bin/cc/libdecnumber/Makefile.depend
new file mode 100644
index 0000000..9ec5f32
--- /dev/null
+++ b/gnu/usr.bin/cc/libdecnumber/Makefile.depend
@@ -0,0 +1,15 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/usr.bin/cc/cc_tools \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/cc/libiberty/Makefile.depend b/gnu/usr.bin/cc/libiberty/Makefile.depend
new file mode 100644
index 0000000..639d45d
--- /dev/null
+++ b/gnu/usr.bin/cc/libiberty/Makefile.depend
@@ -0,0 +1,14 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/dialog/Makefile.depend b/gnu/usr.bin/dialog/Makefile.depend
new file mode 100644
index 0000000..d9cc889
--- /dev/null
+++ b/gnu/usr.bin/dialog/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libdialog \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/msun \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/diff/Makefile.depend b/gnu/usr.bin/diff/Makefile.depend
new file mode 100644
index 0000000..361b8e1
--- /dev/null
+++ b/gnu/usr.bin/diff/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+ gnu/lib/libgcc \
+ gnu/lib/libregex \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+context.o: context.c
+context.po: context.c
+diff.o: diff.c
+diff.po: diff.c
+.endif
diff --git a/gnu/usr.bin/diff3/Makefile.depend b/gnu/usr.bin/diff3/Makefile.depend
new file mode 100644
index 0000000..71c3d5e
--- /dev/null
+++ b/gnu/usr.bin/diff3/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+diff3.o: diff3.c
+diff3.po: diff3.c
+.endif
diff --git a/gnu/usr.bin/dtc/Makefile.depend b/gnu/usr.bin/dtc/Makefile.depend
new file mode 100644
index 0000000..ce49d22
--- /dev/null
+++ b/gnu/usr.bin/dtc/Makefile.depend
@@ -0,0 +1,27 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+dtc-lexer.lex.o: dtc-lexer.lex.c
+dtc-lexer.lex.o: dtc-parser.tab.h
+dtc-lexer.lex.po: dtc-lexer.lex.c
+dtc-lexer.lex.po: dtc-parser.tab.h
+dtc-parser.tab.o: dtc-parser.tab.c
+dtc-parser.tab.po: dtc-parser.tab.c
+dtc.o: version_gen.h
+dtc.po: version_gen.h
+.endif
diff --git a/gnu/usr.bin/gdb/gdb/Makefile.depend b/gnu/usr.bin/gdb/gdb/Makefile.depend
new file mode 100644
index 0000000..595475a
--- /dev/null
+++ b/gnu/usr.bin/gdb/gdb/Makefile.depend
@@ -0,0 +1,33 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/lib/libreadline/readline \
+ gnu/lib/libregex \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libiberty \
+ gnu/usr.bin/binutils/libopcodes \
+ gnu/usr.bin/gdb/libgdb \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/msun \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+gdb.o: nm.h
+gdb.o: tm.h
+gdb.o: xm.h
+gdb.po: nm.h
+gdb.po: tm.h
+gdb.po: xm.h
+.endif
diff --git a/gnu/usr.bin/gdb/gdbserver/Makefile.depend b/gnu/usr.bin/gdb/gdbserver/Makefile.depend
new file mode 100644
index 0000000..b68b4bb
--- /dev/null
+++ b/gnu/usr.bin/gdb/gdbserver/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/arpa \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/gdb/gdbtui/Makefile.depend b/gnu/usr.bin/gdb/gdbtui/Makefile.depend
new file mode 100644
index 0000000..7ed5830
--- /dev/null
+++ b/gnu/usr.bin/gdb/gdbtui/Makefile.depend
@@ -0,0 +1,33 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/lib/libreadline/readline \
+ gnu/lib/libregex \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libiberty \
+ gnu/usr.bin/binutils/libopcodes \
+ gnu/usr.bin/gdb/libgdb \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/msun \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+tui-main.o: nm.h
+tui-main.o: tm.h
+tui-main.o: xm.h
+tui-main.po: nm.h
+tui-main.po: tm.h
+tui-main.po: xm.h
+.endif
diff --git a/gnu/usr.bin/gdb/kgdb/Makefile.depend.amd64 b/gnu/usr.bin/gdb/kgdb/Makefile.depend.amd64
new file mode 100644
index 0000000..9a4e405
--- /dev/null
+++ b/gnu/usr.bin/gdb/kgdb/Makefile.depend.amd64
@@ -0,0 +1,58 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/lib/libreadline/readline \
+ gnu/lib/libregex \
+ gnu/usr.bin/binutils/libbfd \
+ gnu/usr.bin/binutils/libiberty \
+ gnu/usr.bin/binutils/libopcodes \
+ gnu/usr.bin/gdb/libgdb \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/libkvm \
+ lib/msun \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+kld.o: nm.h
+kld.o: tm.h
+kld.o: xm.h
+kld.po: nm.h
+kld.po: tm.h
+kld.po: xm.h
+kthr.o: nm.h
+kthr.o: tm.h
+kthr.o: xm.h
+kthr.po: nm.h
+kthr.po: tm.h
+kthr.po: xm.h
+main.o: nm.h
+main.o: tm.h
+main.o: xm.h
+main.po: nm.h
+main.po: tm.h
+main.po: xm.h
+trgt.o: nm.h
+trgt.o: tm.h
+trgt.o: xm.h
+trgt.po: nm.h
+trgt.po: tm.h
+trgt.po: xm.h
+trgt_amd64.o: nm.h
+trgt_amd64.o: tm.h
+trgt_amd64.o: xm.h
+trgt_amd64.po: nm.h
+trgt_amd64.po: tm.h
+trgt_amd64.po: xm.h
+.endif
diff --git a/gnu/usr.bin/gdb/libgdb/Makefile.depend.amd64 b/gnu/usr.bin/gdb/libgdb/Makefile.depend.amd64
new file mode 100644
index 0000000..2517bc1
--- /dev/null
+++ b/gnu/usr.bin/gdb/libgdb/Makefile.depend.amd64
@@ -0,0 +1,1211 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/libreadline/readline \
+ include \
+ include/arpa \
+ include/xlocale \
+ lib/libthread_db \
+ lib/msun \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+amd64-nat.o: nm.h
+amd64-nat.o: tm.h
+amd64-nat.o: xm.h
+amd64-nat.po: nm.h
+amd64-nat.po: tm.h
+amd64-nat.po: xm.h
+amd64-tdep.o: nm.h
+amd64-tdep.o: tm.h
+amd64-tdep.o: xm.h
+amd64-tdep.po: nm.h
+amd64-tdep.po: tm.h
+amd64-tdep.po: xm.h
+amd64bsd-nat.o: nm.h
+amd64bsd-nat.o: tm.h
+amd64bsd-nat.o: xm.h
+amd64bsd-nat.po: nm.h
+amd64bsd-nat.po: tm.h
+amd64bsd-nat.po: xm.h
+amd64fbsd-nat.o: nm.h
+amd64fbsd-nat.o: tm.h
+amd64fbsd-nat.o: xm.h
+amd64fbsd-nat.po: nm.h
+amd64fbsd-nat.po: tm.h
+amd64fbsd-nat.po: xm.h
+amd64fbsd-tdep.o: nm.h
+amd64fbsd-tdep.o: tm.h
+amd64fbsd-tdep.o: xm.h
+amd64fbsd-tdep.po: nm.h
+amd64fbsd-tdep.po: tm.h
+amd64fbsd-tdep.po: xm.h
+annotate.o: nm.h
+annotate.o: tm.h
+annotate.o: xm.h
+annotate.po: nm.h
+annotate.po: tm.h
+annotate.po: xm.h
+arch-utils.o: nm.h
+arch-utils.o: tm.h
+arch-utils.o: xm.h
+arch-utils.po: nm.h
+arch-utils.po: tm.h
+arch-utils.po: xm.h
+auxv.o: nm.h
+auxv.o: tm.h
+auxv.o: xm.h
+auxv.po: nm.h
+auxv.po: tm.h
+auxv.po: xm.h
+ax-gdb.o: nm.h
+ax-gdb.o: tm.h
+ax-gdb.o: xm.h
+ax-gdb.po: nm.h
+ax-gdb.po: tm.h
+ax-gdb.po: xm.h
+ax-general.o: nm.h
+ax-general.o: tm.h
+ax-general.o: xm.h
+ax-general.po: nm.h
+ax-general.po: tm.h
+ax-general.po: xm.h
+bcache.o: nm.h
+bcache.o: tm.h
+bcache.o: xm.h
+bcache.po: nm.h
+bcache.po: tm.h
+bcache.po: xm.h
+bfd-target.o: nm.h
+bfd-target.o: tm.h
+bfd-target.o: xm.h
+bfd-target.po: nm.h
+bfd-target.po: tm.h
+bfd-target.po: xm.h
+block.o: nm.h
+block.o: tm.h
+block.o: xm.h
+block.po: nm.h
+block.po: tm.h
+block.po: xm.h
+blockframe.o: nm.h
+blockframe.o: tm.h
+blockframe.o: xm.h
+blockframe.po: nm.h
+blockframe.po: tm.h
+blockframe.po: xm.h
+breakpoint.o: nm.h
+breakpoint.o: tm.h
+breakpoint.o: xm.h
+breakpoint.po: nm.h
+breakpoint.po: tm.h
+breakpoint.po: xm.h
+buildsym.o: nm.h
+buildsym.o: tm.h
+buildsym.o: xm.h
+buildsym.po: nm.h
+buildsym.po: tm.h
+buildsym.po: xm.h
+c-exp.o: c-exp.c
+c-exp.o: nm.h
+c-exp.o: tm.h
+c-exp.o: xm.h
+c-exp.po: c-exp.c
+c-exp.po: nm.h
+c-exp.po: tm.h
+c-exp.po: xm.h
+c-lang.o: nm.h
+c-lang.o: tm.h
+c-lang.o: xm.h
+c-lang.po: nm.h
+c-lang.po: tm.h
+c-lang.po: xm.h
+c-typeprint.o: nm.h
+c-typeprint.o: tm.h
+c-typeprint.o: xm.h
+c-typeprint.po: nm.h
+c-typeprint.po: tm.h
+c-typeprint.po: xm.h
+c-valprint.o: nm.h
+c-valprint.o: tm.h
+c-valprint.o: xm.h
+c-valprint.po: nm.h
+c-valprint.po: tm.h
+c-valprint.po: xm.h
+charset.o: nm.h
+charset.o: tm.h
+charset.o: xm.h
+charset.po: nm.h
+charset.po: tm.h
+charset.po: xm.h
+cli-cmds.o: nm.h
+cli-cmds.o: tm.h
+cli-cmds.o: xm.h
+cli-cmds.po: nm.h
+cli-cmds.po: tm.h
+cli-cmds.po: xm.h
+cli-decode.o: nm.h
+cli-decode.o: tm.h
+cli-decode.o: xm.h
+cli-decode.po: nm.h
+cli-decode.po: tm.h
+cli-decode.po: xm.h
+cli-dump.o: nm.h
+cli-dump.o: tm.h
+cli-dump.o: xm.h
+cli-dump.po: nm.h
+cli-dump.po: tm.h
+cli-dump.po: xm.h
+cli-interp.o: nm.h
+cli-interp.o: tm.h
+cli-interp.o: xm.h
+cli-interp.po: nm.h
+cli-interp.po: tm.h
+cli-interp.po: xm.h
+cli-logging.o: nm.h
+cli-logging.o: tm.h
+cli-logging.o: xm.h
+cli-logging.po: nm.h
+cli-logging.po: tm.h
+cli-logging.po: xm.h
+cli-out.o: nm.h
+cli-out.o: tm.h
+cli-out.o: xm.h
+cli-out.po: nm.h
+cli-out.po: tm.h
+cli-out.po: xm.h
+cli-script.o: nm.h
+cli-script.o: tm.h
+cli-script.o: xm.h
+cli-script.po: nm.h
+cli-script.po: tm.h
+cli-script.po: xm.h
+cli-setshow.o: nm.h
+cli-setshow.o: tm.h
+cli-setshow.o: xm.h
+cli-setshow.po: nm.h
+cli-setshow.po: tm.h
+cli-setshow.po: xm.h
+cli-utils.o: nm.h
+cli-utils.o: tm.h
+cli-utils.o: xm.h
+cli-utils.po: nm.h
+cli-utils.po: tm.h
+cli-utils.po: xm.h
+coff-pe-read.o: nm.h
+coff-pe-read.o: tm.h
+coff-pe-read.o: xm.h
+coff-pe-read.po: nm.h
+coff-pe-read.po: tm.h
+coff-pe-read.po: xm.h
+coffread.o: nm.h
+coffread.o: tm.h
+coffread.o: xm.h
+coffread.po: nm.h
+coffread.po: tm.h
+coffread.po: xm.h
+complaints.o: nm.h
+complaints.o: tm.h
+complaints.o: xm.h
+complaints.po: nm.h
+complaints.po: tm.h
+complaints.po: xm.h
+completer.o: nm.h
+completer.o: tm.h
+completer.o: xm.h
+completer.po: nm.h
+completer.po: tm.h
+completer.po: xm.h
+copying.o: nm.h
+copying.o: tm.h
+copying.o: xm.h
+copying.po: nm.h
+copying.po: tm.h
+copying.po: xm.h
+corefile.o: nm.h
+corefile.o: tm.h
+corefile.o: xm.h
+corefile.po: nm.h
+corefile.po: tm.h
+corefile.po: xm.h
+corelow.o: nm.h
+corelow.o: tm.h
+corelow.o: xm.h
+corelow.po: nm.h
+corelow.po: tm.h
+corelow.po: xm.h
+cp-abi.o: nm.h
+cp-abi.o: tm.h
+cp-abi.o: xm.h
+cp-abi.po: nm.h
+cp-abi.po: tm.h
+cp-abi.po: xm.h
+cp-namespace.o: nm.h
+cp-namespace.o: tm.h
+cp-namespace.o: xm.h
+cp-namespace.po: nm.h
+cp-namespace.po: tm.h
+cp-namespace.po: xm.h
+cp-support.o: nm.h
+cp-support.o: tm.h
+cp-support.o: xm.h
+cp-support.po: nm.h
+cp-support.po: tm.h
+cp-support.po: xm.h
+cp-valprint.o: nm.h
+cp-valprint.o: tm.h
+cp-valprint.o: xm.h
+cp-valprint.po: nm.h
+cp-valprint.po: tm.h
+cp-valprint.po: xm.h
+dbxread.o: nm.h
+dbxread.o: tm.h
+dbxread.o: xm.h
+dbxread.po: nm.h
+dbxread.po: tm.h
+dbxread.po: xm.h
+dcache.o: nm.h
+dcache.o: tm.h
+dcache.o: xm.h
+dcache.po: nm.h
+dcache.po: tm.h
+dcache.po: xm.h
+demangle.o: nm.h
+demangle.o: tm.h
+demangle.o: xm.h
+demangle.po: nm.h
+demangle.po: tm.h
+demangle.po: xm.h
+dictionary.o: nm.h
+dictionary.o: tm.h
+dictionary.o: xm.h
+dictionary.po: nm.h
+dictionary.po: tm.h
+dictionary.po: xm.h
+disasm.o: nm.h
+disasm.o: tm.h
+disasm.o: xm.h
+disasm.po: nm.h
+disasm.po: tm.h
+disasm.po: xm.h
+doublest.o: nm.h
+doublest.o: tm.h
+doublest.o: xm.h
+doublest.po: nm.h
+doublest.po: tm.h
+doublest.po: xm.h
+dummy-frame.o: nm.h
+dummy-frame.o: tm.h
+dummy-frame.o: xm.h
+dummy-frame.po: nm.h
+dummy-frame.po: tm.h
+dummy-frame.po: xm.h
+dwarf2-frame.o: nm.h
+dwarf2-frame.o: tm.h
+dwarf2-frame.o: xm.h
+dwarf2-frame.po: nm.h
+dwarf2-frame.po: tm.h
+dwarf2-frame.po: xm.h
+dwarf2expr.o: nm.h
+dwarf2expr.o: tm.h
+dwarf2expr.o: xm.h
+dwarf2expr.po: nm.h
+dwarf2expr.po: tm.h
+dwarf2expr.po: xm.h
+dwarf2loc.o: nm.h
+dwarf2loc.o: tm.h
+dwarf2loc.o: xm.h
+dwarf2loc.po: nm.h
+dwarf2loc.po: tm.h
+dwarf2loc.po: xm.h
+dwarf2read.o: nm.h
+dwarf2read.o: tm.h
+dwarf2read.o: xm.h
+dwarf2read.po: nm.h
+dwarf2read.po: tm.h
+dwarf2read.po: xm.h
+dwarfread.o: nm.h
+dwarfread.o: tm.h
+dwarfread.o: xm.h
+dwarfread.po: nm.h
+dwarfread.po: tm.h
+dwarfread.po: xm.h
+elfread.o: nm.h
+elfread.o: tm.h
+elfread.o: xm.h
+elfread.po: nm.h
+elfread.po: tm.h
+elfread.po: xm.h
+environ.o: nm.h
+environ.o: tm.h
+environ.o: xm.h
+environ.po: nm.h
+environ.po: tm.h
+environ.po: xm.h
+eval.o: nm.h
+eval.o: tm.h
+eval.o: xm.h
+eval.po: nm.h
+eval.po: tm.h
+eval.po: xm.h
+event-loop.o: nm.h
+event-loop.o: tm.h
+event-loop.o: xm.h
+event-loop.po: nm.h
+event-loop.po: tm.h
+event-loop.po: xm.h
+event-top.o: nm.h
+event-top.o: tm.h
+event-top.o: xm.h
+event-top.po: nm.h
+event-top.po: tm.h
+event-top.po: xm.h
+exec.o: nm.h
+exec.o: tm.h
+exec.o: xm.h
+exec.po: nm.h
+exec.po: tm.h
+exec.po: xm.h
+expprint.o: nm.h
+expprint.o: tm.h
+expprint.o: xm.h
+expprint.po: nm.h
+expprint.po: tm.h
+expprint.po: xm.h
+f-exp.o: f-exp.c
+f-exp.o: nm.h
+f-exp.o: tm.h
+f-exp.o: xm.h
+f-exp.po: f-exp.c
+f-exp.po: nm.h
+f-exp.po: tm.h
+f-exp.po: xm.h
+f-lang.o: nm.h
+f-lang.o: tm.h
+f-lang.o: xm.h
+f-lang.po: nm.h
+f-lang.po: tm.h
+f-lang.po: xm.h
+f-typeprint.o: nm.h
+f-typeprint.o: tm.h
+f-typeprint.o: xm.h
+f-typeprint.po: nm.h
+f-typeprint.po: tm.h
+f-typeprint.po: xm.h
+f-valprint.o: nm.h
+f-valprint.o: tm.h
+f-valprint.o: xm.h
+f-valprint.po: nm.h
+f-valprint.po: tm.h
+f-valprint.po: xm.h
+fbsd-proc.o: nm.h
+fbsd-proc.o: tm.h
+fbsd-proc.o: xm.h
+fbsd-proc.po: nm.h
+fbsd-proc.po: tm.h
+fbsd-proc.po: xm.h
+fbsd-threads.o: nm.h
+fbsd-threads.o: tm.h
+fbsd-threads.o: xm.h
+fbsd-threads.po: nm.h
+fbsd-threads.po: tm.h
+fbsd-threads.po: xm.h
+findvar.o: nm.h
+findvar.o: tm.h
+findvar.o: xm.h
+findvar.po: nm.h
+findvar.po: tm.h
+findvar.po: xm.h
+fork-child.o: nm.h
+fork-child.o: tm.h
+fork-child.o: xm.h
+fork-child.po: nm.h
+fork-child.po: tm.h
+fork-child.po: xm.h
+frame-base.o: nm.h
+frame-base.o: tm.h
+frame-base.o: xm.h
+frame-base.po: nm.h
+frame-base.po: tm.h
+frame-base.po: xm.h
+frame-unwind.o: nm.h
+frame-unwind.o: tm.h
+frame-unwind.o: xm.h
+frame-unwind.po: nm.h
+frame-unwind.po: tm.h
+frame-unwind.po: xm.h
+frame.o: nm.h
+frame.o: tm.h
+frame.o: xm.h
+frame.po: nm.h
+frame.po: tm.h
+frame.po: xm.h
+gcore.o: nm.h
+gcore.o: tm.h
+gcore.o: xm.h
+gcore.po: nm.h
+gcore.po: tm.h
+gcore.po: xm.h
+gdb-events.o: nm.h
+gdb-events.o: tm.h
+gdb-events.o: xm.h
+gdb-events.po: nm.h
+gdb-events.po: tm.h
+gdb-events.po: xm.h
+gdbarch.o: nm.h
+gdbarch.o: tm.h
+gdbarch.o: xm.h
+gdbarch.po: nm.h
+gdbarch.po: tm.h
+gdbarch.po: xm.h
+gdbtypes.o: nm.h
+gdbtypes.o: tm.h
+gdbtypes.o: xm.h
+gdbtypes.po: nm.h
+gdbtypes.po: tm.h
+gdbtypes.po: xm.h
+gnu-v2-abi.o: nm.h
+gnu-v2-abi.o: tm.h
+gnu-v2-abi.o: xm.h
+gnu-v2-abi.po: nm.h
+gnu-v2-abi.po: tm.h
+gnu-v2-abi.po: xm.h
+gnu-v3-abi.o: nm.h
+gnu-v3-abi.o: tm.h
+gnu-v3-abi.o: xm.h
+gnu-v3-abi.po: nm.h
+gnu-v3-abi.po: tm.h
+gnu-v3-abi.po: xm.h
+hpacc-abi.o: nm.h
+hpacc-abi.o: tm.h
+hpacc-abi.o: xm.h
+hpacc-abi.po: nm.h
+hpacc-abi.po: tm.h
+hpacc-abi.po: xm.h
+i386-tdep.o: nm.h
+i386-tdep.o: tm.h
+i386-tdep.o: xm.h
+i386-tdep.po: nm.h
+i386-tdep.po: tm.h
+i386-tdep.po: xm.h
+i386bsd-tdep.o: nm.h
+i386bsd-tdep.o: tm.h
+i386bsd-tdep.o: xm.h
+i386bsd-tdep.po: nm.h
+i386bsd-tdep.po: tm.h
+i386bsd-tdep.po: xm.h
+i386fbsd-tdep-fixed.o: i386fbsd-tdep-fixed.c
+i386fbsd-tdep-fixed.o: nm.h
+i386fbsd-tdep-fixed.o: tm.h
+i386fbsd-tdep-fixed.o: xm.h
+i386fbsd-tdep-fixed.po: i386fbsd-tdep-fixed.c
+i386fbsd-tdep-fixed.po: nm.h
+i386fbsd-tdep-fixed.po: tm.h
+i386fbsd-tdep-fixed.po: xm.h
+i387-tdep.o: nm.h
+i387-tdep.o: tm.h
+i387-tdep.o: xm.h
+i387-tdep.po: nm.h
+i387-tdep.po: tm.h
+i387-tdep.po: xm.h
+inf-loop.o: nm.h
+inf-loop.o: tm.h
+inf-loop.o: xm.h
+inf-loop.po: nm.h
+inf-loop.po: tm.h
+inf-loop.po: xm.h
+infcall.o: nm.h
+infcall.o: tm.h
+infcall.o: xm.h
+infcall.po: nm.h
+infcall.po: tm.h
+infcall.po: xm.h
+infcmd.o: nm.h
+infcmd.o: tm.h
+infcmd.o: xm.h
+infcmd.po: nm.h
+infcmd.po: tm.h
+infcmd.po: xm.h
+inflow.o: nm.h
+inflow.o: tm.h
+inflow.o: xm.h
+inflow.po: nm.h
+inflow.po: tm.h
+inflow.po: xm.h
+infptrace.o: nm.h
+infptrace.o: tm.h
+infptrace.o: xm.h
+infptrace.po: nm.h
+infptrace.po: tm.h
+infptrace.po: xm.h
+infrun.o: nm.h
+infrun.o: tm.h
+infrun.o: xm.h
+infrun.po: nm.h
+infrun.po: tm.h
+infrun.po: xm.h
+inftarg.o: nm.h
+inftarg.o: tm.h
+inftarg.o: xm.h
+inftarg.po: nm.h
+inftarg.po: tm.h
+inftarg.po: xm.h
+init.o: nm.h
+init.o: tm.h
+init.o: xm.h
+init.po: nm.h
+init.po: tm.h
+init.po: xm.h
+interps.o: nm.h
+interps.o: tm.h
+interps.o: xm.h
+interps.po: nm.h
+interps.po: tm.h
+interps.po: xm.h
+jv-exp.o: jv-exp.c
+jv-exp.o: nm.h
+jv-exp.o: tm.h
+jv-exp.o: xm.h
+jv-exp.po: jv-exp.c
+jv-exp.po: nm.h
+jv-exp.po: tm.h
+jv-exp.po: xm.h
+jv-lang.o: nm.h
+jv-lang.o: tm.h
+jv-lang.o: xm.h
+jv-lang.po: nm.h
+jv-lang.po: tm.h
+jv-lang.po: xm.h
+jv-typeprint.o: nm.h
+jv-typeprint.o: tm.h
+jv-typeprint.o: xm.h
+jv-typeprint.po: nm.h
+jv-typeprint.po: tm.h
+jv-typeprint.po: xm.h
+jv-valprint.o: nm.h
+jv-valprint.o: tm.h
+jv-valprint.o: xm.h
+jv-valprint.po: nm.h
+jv-valprint.po: tm.h
+jv-valprint.po: xm.h
+kod-cisco.o: nm.h
+kod-cisco.o: tm.h
+kod-cisco.o: xm.h
+kod-cisco.po: nm.h
+kod-cisco.po: tm.h
+kod-cisco.po: xm.h
+kod.o: nm.h
+kod.o: tm.h
+kod.o: xm.h
+kod.po: nm.h
+kod.po: tm.h
+kod.po: xm.h
+language.o: nm.h
+language.o: tm.h
+language.o: xm.h
+language.po: nm.h
+language.po: tm.h
+language.po: xm.h
+linespec.o: nm.h
+linespec.o: tm.h
+linespec.o: xm.h
+linespec.po: nm.h
+linespec.po: tm.h
+linespec.po: xm.h
+m2-exp.o: m2-exp.c
+m2-exp.o: nm.h
+m2-exp.o: tm.h
+m2-exp.o: xm.h
+m2-exp.po: m2-exp.c
+m2-exp.po: nm.h
+m2-exp.po: tm.h
+m2-exp.po: xm.h
+m2-lang.o: nm.h
+m2-lang.o: tm.h
+m2-lang.o: xm.h
+m2-lang.po: nm.h
+m2-lang.po: tm.h
+m2-lang.po: xm.h
+m2-typeprint.o: nm.h
+m2-typeprint.o: tm.h
+m2-typeprint.o: xm.h
+m2-typeprint.po: nm.h
+m2-typeprint.po: tm.h
+m2-typeprint.po: xm.h
+m2-valprint.o: nm.h
+m2-valprint.o: tm.h
+m2-valprint.o: xm.h
+m2-valprint.po: nm.h
+m2-valprint.po: tm.h
+m2-valprint.po: xm.h
+macrocmd.o: nm.h
+macrocmd.o: tm.h
+macrocmd.o: xm.h
+macrocmd.po: nm.h
+macrocmd.po: tm.h
+macrocmd.po: xm.h
+macroexp.o: nm.h
+macroexp.o: tm.h
+macroexp.o: xm.h
+macroexp.po: nm.h
+macroexp.po: tm.h
+macroexp.po: xm.h
+macroscope.o: nm.h
+macroscope.o: tm.h
+macroscope.o: xm.h
+macroscope.po: nm.h
+macroscope.po: tm.h
+macroscope.po: xm.h
+macrotab.o: nm.h
+macrotab.o: tm.h
+macrotab.o: xm.h
+macrotab.po: nm.h
+macrotab.po: tm.h
+macrotab.po: xm.h
+main.o: nm.h
+main.o: tm.h
+main.o: xm.h
+main.po: nm.h
+main.po: tm.h
+main.po: xm.h
+maint.o: nm.h
+maint.o: tm.h
+maint.o: xm.h
+maint.po: nm.h
+maint.po: tm.h
+maint.po: xm.h
+mdebugread.o: nm.h
+mdebugread.o: tm.h
+mdebugread.o: xm.h
+mdebugread.po: nm.h
+mdebugread.po: tm.h
+mdebugread.po: xm.h
+mem-break.o: nm.h
+mem-break.o: tm.h
+mem-break.o: xm.h
+mem-break.po: nm.h
+mem-break.po: tm.h
+mem-break.po: xm.h
+memattr.o: nm.h
+memattr.o: tm.h
+memattr.o: xm.h
+memattr.po: nm.h
+memattr.po: tm.h
+memattr.po: xm.h
+mi-cmd-break.o: nm.h
+mi-cmd-break.o: tm.h
+mi-cmd-break.o: xm.h
+mi-cmd-break.po: nm.h
+mi-cmd-break.po: tm.h
+mi-cmd-break.po: xm.h
+mi-cmd-disas.o: nm.h
+mi-cmd-disas.o: tm.h
+mi-cmd-disas.o: xm.h
+mi-cmd-disas.po: nm.h
+mi-cmd-disas.po: tm.h
+mi-cmd-disas.po: xm.h
+mi-cmd-env.o: nm.h
+mi-cmd-env.o: tm.h
+mi-cmd-env.o: xm.h
+mi-cmd-env.po: nm.h
+mi-cmd-env.po: tm.h
+mi-cmd-env.po: xm.h
+mi-cmd-file.o: nm.h
+mi-cmd-file.o: tm.h
+mi-cmd-file.o: xm.h
+mi-cmd-file.po: nm.h
+mi-cmd-file.po: tm.h
+mi-cmd-file.po: xm.h
+mi-cmd-stack.o: nm.h
+mi-cmd-stack.o: tm.h
+mi-cmd-stack.o: xm.h
+mi-cmd-stack.po: nm.h
+mi-cmd-stack.po: tm.h
+mi-cmd-stack.po: xm.h
+mi-cmd-var.o: nm.h
+mi-cmd-var.o: tm.h
+mi-cmd-var.o: xm.h
+mi-cmd-var.po: nm.h
+mi-cmd-var.po: tm.h
+mi-cmd-var.po: xm.h
+mi-cmds.o: nm.h
+mi-cmds.o: tm.h
+mi-cmds.o: xm.h
+mi-cmds.po: nm.h
+mi-cmds.po: tm.h
+mi-cmds.po: xm.h
+mi-console.o: nm.h
+mi-console.o: tm.h
+mi-console.o: xm.h
+mi-console.po: nm.h
+mi-console.po: tm.h
+mi-console.po: xm.h
+mi-getopt.o: nm.h
+mi-getopt.o: tm.h
+mi-getopt.o: xm.h
+mi-getopt.po: nm.h
+mi-getopt.po: tm.h
+mi-getopt.po: xm.h
+mi-interp.o: nm.h
+mi-interp.o: tm.h
+mi-interp.o: xm.h
+mi-interp.po: nm.h
+mi-interp.po: tm.h
+mi-interp.po: xm.h
+mi-main.o: nm.h
+mi-main.o: tm.h
+mi-main.o: xm.h
+mi-main.po: nm.h
+mi-main.po: tm.h
+mi-main.po: xm.h
+mi-out.o: nm.h
+mi-out.o: tm.h
+mi-out.o: xm.h
+mi-out.po: nm.h
+mi-out.po: tm.h
+mi-out.po: xm.h
+mi-parse.o: nm.h
+mi-parse.o: tm.h
+mi-parse.o: xm.h
+mi-parse.po: nm.h
+mi-parse.po: tm.h
+mi-parse.po: xm.h
+mi-symbol-cmds.o: nm.h
+mi-symbol-cmds.o: tm.h
+mi-symbol-cmds.o: xm.h
+mi-symbol-cmds.po: nm.h
+mi-symbol-cmds.po: tm.h
+mi-symbol-cmds.po: xm.h
+minsyms.o: nm.h
+minsyms.o: tm.h
+minsyms.o: xm.h
+minsyms.po: nm.h
+minsyms.po: tm.h
+minsyms.po: xm.h
+mipsread.o: nm.h
+mipsread.o: tm.h
+mipsread.o: xm.h
+mipsread.po: nm.h
+mipsread.po: tm.h
+mipsread.po: xm.h
+nlmread.o: nm.h
+nlmread.o: tm.h
+nlmread.o: xm.h
+nlmread.po: nm.h
+nlmread.po: tm.h
+nlmread.po: xm.h
+objc-exp.o: nm.h
+objc-exp.o: objc-exp.c
+objc-exp.o: tm.h
+objc-exp.o: xm.h
+objc-exp.po: nm.h
+objc-exp.po: objc-exp.c
+objc-exp.po: tm.h
+objc-exp.po: xm.h
+objc-lang.o: nm.h
+objc-lang.o: tm.h
+objc-lang.o: xm.h
+objc-lang.po: nm.h
+objc-lang.po: tm.h
+objc-lang.po: xm.h
+objfiles.o: nm.h
+objfiles.o: tm.h
+objfiles.o: xm.h
+objfiles.po: nm.h
+objfiles.po: tm.h
+objfiles.po: xm.h
+observer.o: nm.h
+observer.o: tm.h
+observer.o: xm.h
+observer.po: nm.h
+observer.po: tm.h
+observer.po: xm.h
+osabi.o: nm.h
+osabi.o: tm.h
+osabi.o: xm.h
+osabi.po: nm.h
+osabi.po: tm.h
+osabi.po: xm.h
+p-exp.o: nm.h
+p-exp.o: p-exp.c
+p-exp.o: tm.h
+p-exp.o: xm.h
+p-exp.po: nm.h
+p-exp.po: p-exp.c
+p-exp.po: tm.h
+p-exp.po: xm.h
+p-lang.o: nm.h
+p-lang.o: tm.h
+p-lang.o: xm.h
+p-lang.po: nm.h
+p-lang.po: tm.h
+p-lang.po: xm.h
+p-typeprint.o: nm.h
+p-typeprint.o: tm.h
+p-typeprint.o: xm.h
+p-typeprint.po: nm.h
+p-typeprint.po: tm.h
+p-typeprint.po: xm.h
+p-valprint.o: nm.h
+p-valprint.o: tm.h
+p-valprint.o: xm.h
+p-valprint.po: nm.h
+p-valprint.po: tm.h
+p-valprint.po: xm.h
+parse.o: nm.h
+parse.o: tm.h
+parse.o: xm.h
+parse.po: nm.h
+parse.po: tm.h
+parse.po: xm.h
+printcmd.o: nm.h
+printcmd.o: tm.h
+printcmd.o: xm.h
+printcmd.po: nm.h
+printcmd.po: tm.h
+printcmd.po: xm.h
+regcache.o: nm.h
+regcache.o: tm.h
+regcache.o: xm.h
+regcache.po: nm.h
+regcache.po: tm.h
+regcache.po: xm.h
+reggroups.o: nm.h
+reggroups.o: tm.h
+reggroups.o: xm.h
+reggroups.po: nm.h
+reggroups.po: tm.h
+reggroups.po: xm.h
+remote-fileio.o: nm.h
+remote-fileio.o: tm.h
+remote-fileio.o: xm.h
+remote-fileio.po: nm.h
+remote-fileio.po: tm.h
+remote-fileio.po: xm.h
+remote-utils.o: nm.h
+remote-utils.o: tm.h
+remote-utils.o: xm.h
+remote-utils.po: nm.h
+remote-utils.po: tm.h
+remote-utils.po: xm.h
+remote.o: nm.h
+remote.o: tm.h
+remote.o: xm.h
+remote.po: nm.h
+remote.po: tm.h
+remote.po: xm.h
+scm-exp.o: nm.h
+scm-exp.o: tm.h
+scm-exp.o: xm.h
+scm-exp.po: nm.h
+scm-exp.po: tm.h
+scm-exp.po: xm.h
+scm-lang.o: nm.h
+scm-lang.o: tm.h
+scm-lang.o: xm.h
+scm-lang.po: nm.h
+scm-lang.po: tm.h
+scm-lang.po: xm.h
+scm-valprint.o: nm.h
+scm-valprint.o: tm.h
+scm-valprint.o: xm.h
+scm-valprint.po: nm.h
+scm-valprint.po: tm.h
+scm-valprint.po: xm.h
+sentinel-frame.o: nm.h
+sentinel-frame.o: tm.h
+sentinel-frame.o: xm.h
+sentinel-frame.po: nm.h
+sentinel-frame.po: tm.h
+sentinel-frame.po: xm.h
+ser-pipe.o: nm.h
+ser-pipe.o: tm.h
+ser-pipe.o: xm.h
+ser-pipe.po: nm.h
+ser-pipe.po: tm.h
+ser-pipe.po: xm.h
+ser-tcp.o: nm.h
+ser-tcp.o: tm.h
+ser-tcp.o: xm.h
+ser-tcp.po: nm.h
+ser-tcp.po: tm.h
+ser-tcp.po: xm.h
+ser-unix.o: nm.h
+ser-unix.o: tm.h
+ser-unix.o: xm.h
+ser-unix.po: nm.h
+ser-unix.po: tm.h
+ser-unix.po: xm.h
+serial.o: nm.h
+serial.o: tm.h
+serial.o: xm.h
+serial.po: nm.h
+serial.po: tm.h
+serial.po: xm.h
+signals.o: nm.h
+signals.o: tm.h
+signals.o: xm.h
+signals.po: nm.h
+signals.po: tm.h
+signals.po: xm.h
+solib-svr4.o: nm.h
+solib-svr4.o: tm.h
+solib-svr4.o: xm.h
+solib-svr4.po: nm.h
+solib-svr4.po: tm.h
+solib-svr4.po: xm.h
+solib.o: nm.h
+solib.o: tm.h
+solib.o: xm.h
+solib.po: nm.h
+solib.po: tm.h
+solib.po: xm.h
+source.o: nm.h
+source.o: tm.h
+source.o: xm.h
+source.po: nm.h
+source.po: tm.h
+source.po: xm.h
+stabsread.o: nm.h
+stabsread.o: tm.h
+stabsread.o: xm.h
+stabsread.po: nm.h
+stabsread.po: tm.h
+stabsread.po: xm.h
+stack.o: nm.h
+stack.o: tm.h
+stack.o: xm.h
+stack.po: nm.h
+stack.po: tm.h
+stack.po: xm.h
+std-regs.o: nm.h
+std-regs.o: tm.h
+std-regs.o: xm.h
+std-regs.po: nm.h
+std-regs.po: tm.h
+std-regs.po: xm.h
+symfile.o: nm.h
+symfile.o: tm.h
+symfile.o: xm.h
+symfile.po: nm.h
+symfile.po: tm.h
+symfile.po: xm.h
+symmisc.o: nm.h
+symmisc.o: tm.h
+symmisc.o: xm.h
+symmisc.po: nm.h
+symmisc.po: tm.h
+symmisc.po: xm.h
+symtab.o: nm.h
+symtab.o: tm.h
+symtab.o: xm.h
+symtab.po: nm.h
+symtab.po: tm.h
+symtab.po: xm.h
+target.o: nm.h
+target.o: tm.h
+target.o: xm.h
+target.po: nm.h
+target.po: tm.h
+target.po: xm.h
+thread.o: nm.h
+thread.o: tm.h
+thread.o: xm.h
+thread.po: nm.h
+thread.po: tm.h
+thread.po: xm.h
+top.o: nm.h
+top.o: tm.h
+top.o: xm.h
+top.po: nm.h
+top.po: tm.h
+top.po: xm.h
+tracepoint.o: nm.h
+tracepoint.o: tm.h
+tracepoint.o: xm.h
+tracepoint.po: nm.h
+tracepoint.po: tm.h
+tracepoint.po: xm.h
+trad-frame.o: nm.h
+trad-frame.o: tm.h
+trad-frame.o: xm.h
+trad-frame.po: nm.h
+trad-frame.po: tm.h
+trad-frame.po: xm.h
+tui-command.o: nm.h
+tui-command.o: tm.h
+tui-command.o: xm.h
+tui-command.po: nm.h
+tui-command.po: tm.h
+tui-command.po: xm.h
+tui-data.o: nm.h
+tui-data.o: tm.h
+tui-data.o: xm.h
+tui-data.po: nm.h
+tui-data.po: tm.h
+tui-data.po: xm.h
+tui-disasm.o: nm.h
+tui-disasm.o: tm.h
+tui-disasm.o: xm.h
+tui-disasm.po: nm.h
+tui-disasm.po: tm.h
+tui-disasm.po: xm.h
+tui-file.o: nm.h
+tui-file.o: tm.h
+tui-file.o: xm.h
+tui-file.po: nm.h
+tui-file.po: tm.h
+tui-file.po: xm.h
+tui-hooks.o: nm.h
+tui-hooks.o: tm.h
+tui-hooks.o: xm.h
+tui-hooks.po: nm.h
+tui-hooks.po: tm.h
+tui-hooks.po: xm.h
+tui-interp.o: nm.h
+tui-interp.o: tm.h
+tui-interp.o: xm.h
+tui-interp.po: nm.h
+tui-interp.po: tm.h
+tui-interp.po: xm.h
+tui-io.o: nm.h
+tui-io.o: tm.h
+tui-io.o: xm.h
+tui-io.po: nm.h
+tui-io.po: tm.h
+tui-io.po: xm.h
+tui-layout.o: nm.h
+tui-layout.o: tm.h
+tui-layout.o: xm.h
+tui-layout.po: nm.h
+tui-layout.po: tm.h
+tui-layout.po: xm.h
+tui-out.o: nm.h
+tui-out.o: tm.h
+tui-out.o: xm.h
+tui-out.po: nm.h
+tui-out.po: tm.h
+tui-out.po: xm.h
+tui-regs.o: nm.h
+tui-regs.o: tm.h
+tui-regs.o: xm.h
+tui-regs.po: nm.h
+tui-regs.po: tm.h
+tui-regs.po: xm.h
+tui-source.o: nm.h
+tui-source.o: tm.h
+tui-source.o: xm.h
+tui-source.po: nm.h
+tui-source.po: tm.h
+tui-source.po: xm.h
+tui-stack.o: nm.h
+tui-stack.o: tm.h
+tui-stack.o: xm.h
+tui-stack.po: nm.h
+tui-stack.po: tm.h
+tui-stack.po: xm.h
+tui-win.o: nm.h
+tui-win.o: tm.h
+tui-win.o: xm.h
+tui-win.po: nm.h
+tui-win.po: tm.h
+tui-win.po: xm.h
+tui-windata.o: nm.h
+tui-windata.o: tm.h
+tui-windata.o: xm.h
+tui-windata.po: nm.h
+tui-windata.po: tm.h
+tui-windata.po: xm.h
+tui-wingeneral.o: nm.h
+tui-wingeneral.o: tm.h
+tui-wingeneral.o: xm.h
+tui-wingeneral.po: nm.h
+tui-wingeneral.po: tm.h
+tui-wingeneral.po: xm.h
+tui-winsource.o: nm.h
+tui-winsource.o: tm.h
+tui-winsource.o: xm.h
+tui-winsource.po: nm.h
+tui-winsource.po: tm.h
+tui-winsource.po: xm.h
+tui.o: nm.h
+tui.o: tm.h
+tui.o: xm.h
+tui.po: nm.h
+tui.po: tm.h
+tui.po: xm.h
+typeprint.o: nm.h
+typeprint.o: tm.h
+typeprint.o: xm.h
+typeprint.po: nm.h
+typeprint.po: tm.h
+typeprint.po: xm.h
+ui-file.o: nm.h
+ui-file.o: tm.h
+ui-file.o: xm.h
+ui-file.po: nm.h
+ui-file.po: tm.h
+ui-file.po: xm.h
+ui-out.o: nm.h
+ui-out.o: tm.h
+ui-out.o: xm.h
+ui-out.po: nm.h
+ui-out.po: tm.h
+ui-out.po: xm.h
+user-regs.o: nm.h
+user-regs.o: tm.h
+user-regs.o: xm.h
+user-regs.po: nm.h
+user-regs.po: tm.h
+user-regs.po: xm.h
+utils.o: nm.h
+utils.o: tm.h
+utils.o: xm.h
+utils.po: nm.h
+utils.po: tm.h
+utils.po: xm.h
+valarith.o: nm.h
+valarith.o: tm.h
+valarith.o: xm.h
+valarith.po: nm.h
+valarith.po: tm.h
+valarith.po: xm.h
+valops.o: nm.h
+valops.o: tm.h
+valops.o: xm.h
+valops.po: nm.h
+valops.po: tm.h
+valops.po: xm.h
+valprint.o: nm.h
+valprint.o: tm.h
+valprint.o: xm.h
+valprint.po: nm.h
+valprint.po: tm.h
+valprint.po: xm.h
+values.o: nm.h
+values.o: tm.h
+values.o: xm.h
+values.po: nm.h
+values.po: tm.h
+values.po: xm.h
+varobj.o: nm.h
+varobj.o: tm.h
+varobj.o: xm.h
+varobj.po: nm.h
+varobj.po: tm.h
+varobj.po: xm.h
+version.o: version.c
+version.po: version.c
+wrapper.o: nm.h
+wrapper.o: tm.h
+wrapper.o: xm.h
+wrapper.po: nm.h
+wrapper.po: tm.h
+wrapper.po: xm.h
+.endif
diff --git a/gnu/usr.bin/gperf/Makefile.depend b/gnu/usr.bin/gperf/Makefile.depend
new file mode 100644
index 0000000..14a7272
--- /dev/null
+++ b/gnu/usr.bin/gperf/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+ gnu/lib/libgcc \
+ gnu/lib/libstdc++ \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/grep/Makefile.depend b/gnu/usr.bin/grep/Makefile.depend
new file mode 100644
index 0000000..3f9e676
--- /dev/null
+++ b/gnu/usr.bin/grep/Makefile.depend
@@ -0,0 +1,22 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+ gnu/lib/libgcc \
+ gnu/lib/libregex \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libbz2 \
+ lib/libc \
+ lib/libz \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/contrib/mm/Makefile.depend b/gnu/usr.bin/groff/contrib/mm/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/contrib/mm/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devX100-12/Makefile b/gnu/usr.bin/groff/font/devX100-12/Makefile
index 1d77faa..7b01a59 100644
--- a/gnu/usr.bin/groff/font/devX100-12/Makefile
+++ b/gnu/usr.bin/groff/font/devX100-12/Makefile
@@ -1,7 +1,5 @@
# $FreeBSD$
-NO_OBJ=
-
.include "../Makefile.inc"
.include "${DIST_DIR}/Makefile.sub"
.include "../Makefile.dev"
diff --git a/gnu/usr.bin/groff/font/devX100-12/Makefile.depend b/gnu/usr.bin/groff/font/devX100-12/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devX100-12/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devX100/Makefile b/gnu/usr.bin/groff/font/devX100/Makefile
index 1d77faa..7b01a59 100644
--- a/gnu/usr.bin/groff/font/devX100/Makefile
+++ b/gnu/usr.bin/groff/font/devX100/Makefile
@@ -1,7 +1,5 @@
# $FreeBSD$
-NO_OBJ=
-
.include "../Makefile.inc"
.include "${DIST_DIR}/Makefile.sub"
.include "../Makefile.dev"
diff --git a/gnu/usr.bin/groff/font/devX100/Makefile.depend b/gnu/usr.bin/groff/font/devX100/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devX100/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devX75-12/Makefile b/gnu/usr.bin/groff/font/devX75-12/Makefile
index 1d77faa..7b01a59 100644
--- a/gnu/usr.bin/groff/font/devX75-12/Makefile
+++ b/gnu/usr.bin/groff/font/devX75-12/Makefile
@@ -1,7 +1,5 @@
# $FreeBSD$
-NO_OBJ=
-
.include "../Makefile.inc"
.include "${DIST_DIR}/Makefile.sub"
.include "../Makefile.dev"
diff --git a/gnu/usr.bin/groff/font/devX75-12/Makefile.depend b/gnu/usr.bin/groff/font/devX75-12/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devX75-12/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devX75/Makefile b/gnu/usr.bin/groff/font/devX75/Makefile
index 1d77faa..7b01a59 100644
--- a/gnu/usr.bin/groff/font/devX75/Makefile
+++ b/gnu/usr.bin/groff/font/devX75/Makefile
@@ -1,7 +1,5 @@
# $FreeBSD$
-NO_OBJ=
-
.include "../Makefile.inc"
.include "${DIST_DIR}/Makefile.sub"
.include "../Makefile.dev"
diff --git a/gnu/usr.bin/groff/font/devX75/Makefile.depend b/gnu/usr.bin/groff/font/devX75/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devX75/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devascii/Makefile.depend b/gnu/usr.bin/groff/font/devascii/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devascii/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devcp1047/Makefile.depend b/gnu/usr.bin/groff/font/devcp1047/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devcp1047/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devdvi/Makefile.depend b/gnu/usr.bin/groff/font/devdvi/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devdvi/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devhtml/Makefile.depend b/gnu/usr.bin/groff/font/devhtml/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devhtml/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devkoi8-r/Makefile.depend b/gnu/usr.bin/groff/font/devkoi8-r/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devkoi8-r/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devlatin1/Makefile.depend b/gnu/usr.bin/groff/font/devlatin1/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devlatin1/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devlbp/Makefile.depend b/gnu/usr.bin/groff/font/devlbp/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devlbp/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devlj4/Makefile.depend b/gnu/usr.bin/groff/font/devlj4/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devlj4/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devps/Makefile.depend b/gnu/usr.bin/groff/font/devps/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devps/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/font/devutf8/Makefile.depend b/gnu/usr.bin/groff/font/devutf8/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/font/devutf8/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/man/Makefile.depend b/gnu/usr.bin/groff/man/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/man/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/devices/grodvi/Makefile.depend b/gnu/usr.bin/groff/src/devices/grodvi/Makefile.depend
new file mode 100644
index 0000000..e3872b6
--- /dev/null
+++ b/gnu/usr.bin/groff/src/devices/grodvi/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libdriver \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/devices/grohtml/Makefile.depend b/gnu/usr.bin/groff/src/devices/grohtml/Makefile.depend
new file mode 100644
index 0000000..b5a6296
--- /dev/null
+++ b/gnu/usr.bin/groff/src/devices/grohtml/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libdriver \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/devices/grolbp/Makefile.depend b/gnu/usr.bin/groff/src/devices/grolbp/Makefile.depend
new file mode 100644
index 0000000..e3872b6
--- /dev/null
+++ b/gnu/usr.bin/groff/src/devices/grolbp/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libdriver \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/devices/grolj4/Makefile.depend b/gnu/usr.bin/groff/src/devices/grolj4/Makefile.depend
new file mode 100644
index 0000000..e3872b6
--- /dev/null
+++ b/gnu/usr.bin/groff/src/devices/grolj4/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libdriver \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/devices/grops/Makefile.depend b/gnu/usr.bin/groff/src/devices/grops/Makefile.depend
new file mode 100644
index 0000000..e3872b6
--- /dev/null
+++ b/gnu/usr.bin/groff/src/devices/grops/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libdriver \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/devices/grotty/Makefile.depend b/gnu/usr.bin/groff/src/devices/grotty/Makefile.depend
new file mode 100644
index 0000000..e3872b6
--- /dev/null
+++ b/gnu/usr.bin/groff/src/devices/grotty/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libdriver \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/libs/libbib/Makefile.depend b/gnu/usr.bin/groff/src/libs/libbib/Makefile.depend
new file mode 100644
index 0000000..639d45d
--- /dev/null
+++ b/gnu/usr.bin/groff/src/libs/libbib/Makefile.depend
@@ -0,0 +1,14 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/libs/libdriver/Makefile.depend b/gnu/usr.bin/groff/src/libs/libdriver/Makefile.depend
new file mode 100644
index 0000000..4e6cdd8
--- /dev/null
+++ b/gnu/usr.bin/groff/src/libs/libdriver/Makefile.depend
@@ -0,0 +1,15 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/libs/libgroff/Makefile.depend b/gnu/usr.bin/groff/src/libs/libgroff/Makefile.depend
new file mode 100644
index 0000000..d0592e7
--- /dev/null
+++ b/gnu/usr.bin/groff/src/libs/libgroff/Makefile.depend
@@ -0,0 +1,18 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ include \
+ include/xlocale \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+version.o: version.cpp
+version.po: version.cpp
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/eqn/Makefile.depend b/gnu/usr.bin/groff/src/preproc/eqn/Makefile.depend
new file mode 100644
index 0000000..2991404
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/eqn/Makefile.depend
@@ -0,0 +1,28 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+eqn.o: eqn.cpp
+eqn.po: eqn.cpp
+lex.o: eqn_tab.h
+lex.po: eqn_tab.h
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/grn/Makefile.depend b/gnu/usr.bin/groff/src/preproc/grn/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/grn/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/html/Makefile.depend b/gnu/usr.bin/groff/src/preproc/html/Makefile.depend
new file mode 100644
index 0000000..df023f1
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/html/Makefile.depend
@@ -0,0 +1,23 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/pic/Makefile.depend b/gnu/usr.bin/groff/src/preproc/pic/Makefile.depend
new file mode 100644
index 0000000..436466d
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/pic/Makefile.depend
@@ -0,0 +1,28 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+lex.o: pic_tab.h
+lex.po: pic_tab.h
+pic.o: pic.cpp
+pic.po: pic.cpp
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/refer/Makefile.depend b/gnu/usr.bin/groff/src/preproc/refer/Makefile.depend
new file mode 100644
index 0000000..0eb0288
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/refer/Makefile.depend
@@ -0,0 +1,27 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libbib \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+label.o: label.cpp
+label.po: label.cpp
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/soelim/Makefile.depend b/gnu/usr.bin/groff/src/preproc/soelim/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/soelim/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/preproc/tbl/Makefile.depend b/gnu/usr.bin/groff/src/preproc/tbl/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/preproc/tbl/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/roff/groff/Makefile.depend b/gnu/usr.bin/groff/src/roff/groff/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/roff/groff/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/roff/grog/Makefile.depend b/gnu/usr.bin/groff/src/roff/grog/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/src/roff/grog/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/roff/nroff/Makefile.depend b/gnu/usr.bin/groff/src/roff/nroff/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/src/roff/nroff/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/roff/psroff/Makefile.depend b/gnu/usr.bin/groff/src/roff/psroff/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/groff/src/roff/psroff/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/roff/troff/Makefile.depend b/gnu/usr.bin/groff/src/roff/troff/Makefile.depend
new file mode 100644
index 0000000..00efcdb
--- /dev/null
+++ b/gnu/usr.bin/groff/src/roff/troff/Makefile.depend
@@ -0,0 +1,26 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+majorminor.o: majorminor.cpp
+majorminor.po: majorminor.cpp
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/addftinfo/Makefile.depend b/gnu/usr.bin/groff/src/utils/addftinfo/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/addftinfo/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/afmtodit/Makefile.depend b/gnu/usr.bin/groff/src/utils/afmtodit/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/afmtodit/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/hpftodit/Makefile.depend b/gnu/usr.bin/groff/src/utils/hpftodit/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/hpftodit/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/indxbib/Makefile.depend b/gnu/usr.bin/groff/src/utils/indxbib/Makefile.depend
new file mode 100644
index 0000000..d9e7bc1
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/indxbib/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libbib \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/lkbib/Makefile.depend b/gnu/usr.bin/groff/src/utils/lkbib/Makefile.depend
new file mode 100644
index 0000000..d9e7bc1
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/lkbib/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libbib \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/lookbib/Makefile.depend b/gnu/usr.bin/groff/src/utils/lookbib/Makefile.depend
new file mode 100644
index 0000000..d9e7bc1
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/lookbib/Makefile.depend
@@ -0,0 +1,25 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libbib \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/pfbtops/Makefile.depend b/gnu/usr.bin/groff/src/utils/pfbtops/Makefile.depend
new file mode 100644
index 0000000..21bca0b
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/pfbtops/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/src/utils/tfmtodit/Makefile.depend b/gnu/usr.bin/groff/src/utils/tfmtodit/Makefile.depend
new file mode 100644
index 0000000..0c56806
--- /dev/null
+++ b/gnu/usr.bin/groff/src/utils/tfmtodit/Makefile.depend
@@ -0,0 +1,24 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/groff/src/libs/libgroff \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libc++ \
+ lib/libcompiler_rt \
+ lib/libcxxrt \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/groff/tmac/Makefile.depend b/gnu/usr.bin/groff/tmac/Makefile.depend
new file mode 100644
index 0000000..18f420a
--- /dev/null
+++ b/gnu/usr.bin/groff/tmac/Makefile.depend
@@ -0,0 +1,13 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ bin/cat.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/ci/Makefile.depend b/gnu/usr.bin/rcs/ci/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/ci/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/co/Makefile.depend b/gnu/usr.bin/rcs/co/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/co/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/ident/Makefile.depend b/gnu/usr.bin/rcs/ident/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/ident/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/lib/Makefile.depend b/gnu/usr.bin/rcs/lib/Makefile.depend
new file mode 100644
index 0000000..639d45d
--- /dev/null
+++ b/gnu/usr.bin/rcs/lib/Makefile.depend
@@ -0,0 +1,14 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/merge/Makefile.depend b/gnu/usr.bin/rcs/merge/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/merge/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/rcs/Makefile.depend b/gnu/usr.bin/rcs/rcs/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/rcs/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/rcsclean/Makefile.depend b/gnu/usr.bin/rcs/rcsclean/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/rcsclean/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/rcsdiff/Makefile.depend b/gnu/usr.bin/rcs/rcsdiff/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/rcsdiff/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/rcsfreeze/Makefile.depend b/gnu/usr.bin/rcs/rcsfreeze/Makefile.depend
new file mode 100644
index 0000000..57b7e10
--- /dev/null
+++ b/gnu/usr.bin/rcs/rcsfreeze/Makefile.depend
@@ -0,0 +1,12 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/rcsmerge/Makefile.depend b/gnu/usr.bin/rcs/rcsmerge/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/rcsmerge/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/rcs/rlog/Makefile.depend b/gnu/usr.bin/rcs/rlog/Makefile.depend
new file mode 100644
index 0000000..12b2725
--- /dev/null
+++ b/gnu/usr.bin/rcs/rlog/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/rcs/lib \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/sdiff/Makefile.depend b/gnu/usr.bin/sdiff/Makefile.depend
new file mode 100644
index 0000000..2431919
--- /dev/null
+++ b/gnu/usr.bin/sdiff/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+sdiff.o: sdiff.c
+sdiff.po: sdiff.c
+.endif
diff --git a/gnu/usr.bin/send-pr/COPYING b/gnu/usr.bin/send-pr/COPYING
new file mode 100644
index 0000000..515b6d3
--- /dev/null
+++ b/gnu/usr.bin/send-pr/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+he GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/gnu/usr.bin/send-pr/Makefile b/gnu/usr.bin/send-pr/Makefile
new file mode 100644
index 0000000..f17db49
--- /dev/null
+++ b/gnu/usr.bin/send-pr/Makefile
@@ -0,0 +1,35 @@
+# $FreeBSD$
+#
+# Makefile for building a standalone send-pr.
+#
+
+SCRIPTS= send-pr
+MAN= send-pr.1
+SUBMITTERS= current-users
+RELEASE= `uname -rsm`
+CLEANFILES+= send-pr send-pr.el
+
+SUBDIR+= doc
+
+LINKS= ${BINDIR}/send-pr ${BINDIR}/sendbug
+MLINKS= send-pr.1 sendbug.1
+
+send-pr: send-pr.sh Makefile
+ sed -e 's,@DATADIR@,/etc,g' \
+ -e 's/@DEFAULT_RELEASE@/$(RELEASE)/g' \
+ -e 's/^SUBMITTER=.*/SUBMITTER=$(SUBMITTERS)/' \
+ ${.ALLSRC:N*Makefile} > ${.TARGET}
+
+send-pr.el: send-pr-el.in Makefile
+ default_release=`uname -rsm`; \
+ sed -e 's,@DATADIR@,/etc,g' \
+ -e "s/@DEFAULT_RELEASE@/$${default_release}/g" \
+ -e 's/"unknown"/"$(SUBMITTERS)"/g' \
+ ${.ALLSRC:N*Makefile} > ${.TARGET}
+
+# called from /usr/src/etc/Makefile
+etc-gnats-freefall:
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0644 \
+ ${.CURDIR}/categories ${DESTDIR}/etc/gnats/freefall
+
+.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/send-pr/Makefile.depend b/gnu/usr.bin/send-pr/Makefile.depend
new file mode 100644
index 0000000..29fda55
--- /dev/null
+++ b/gnu/usr.bin/send-pr/Makefile.depend
@@ -0,0 +1,14 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DEP_MACHINE := ${.PARSEFILE:E}
+
+DIRDEPS = \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/send-pr/README b/gnu/usr.bin/send-pr/README
new file mode 100644
index 0000000..b479179
--- /dev/null
+++ b/gnu/usr.bin/send-pr/README
@@ -0,0 +1,43 @@
+ send-pr - sends bug reports to a central support site
+
+`send-pr' uses electronic mail to submit support questions and
+software bugs to a central site. No piece of software is perfect, and
+software organizations understand this `send-pr' is designed to allow
+users who have problems to submit reports of these problems to sites
+responsible for supporting the software in question, in a defined form
+which can be read by an electronically managed database.
+
+`send-pr' is part of a suite of programs known collectively as GNATS,
+an acronym for Problem Report Management System. GNATS consists of
+several programs which, used in concert, formulate and partially
+administer a database of Problem Reports, or PRs, at a central support
+site. A PR goes through several states in its lifetime; GNATS tracks
+the PR and all information associated with it through each state and
+finally acts as an archive for PRs which have been resolved.
+
+The same engine can be used to submit bugs to any number of support
+sites by setting up aliases for each of them; `send-pr' error-checks
+each PR as it is sent to be sure that the category specified matches a
+category supported by the site in question.
+
+`send-pr' invokes an editor on a problem report template (after trying
+to fill in some fields with reasonable default values). When you exit
+the editor, `send-pr' sends the completed form to the support site.
+At the support site, the PR is assigned a unique number and is stored
+in the GNATS database according to its category and customer-id. GNATS
+automatically replies with an acknowledgement, citing the category and
+the PR number.
+
+See the Texinfo file `send-pr.texi' or the Info file `send-pr.info'
+for detailed installation and usage information.
+
+See the file MANIFEST for a list of the files which should have
+accompanied this distribution.
+
+See `send-pr.texi', `send-pr.info', or the file INSTALL for the
+installation procedure for `send-pr'.
+
+
+Copyright (c) 1993, Free Software Foundation, Inc.
+See the file COPYING for copyright information concerning this
+distribution and all its components.
diff --git a/gnu/usr.bin/send-pr/categories b/gnu/usr.bin/send-pr/categories
new file mode 100644
index 0000000..da511e7
--- /dev/null
+++ b/gnu/usr.bin/send-pr/categories
@@ -0,0 +1,21 @@
+# $FreeBSD$
+advocacy
+alpha
+amd64
+arm
+bin
+conf
+docs
+gnu
+i386
+ia64
+java
+kern
+misc
+ports
+powerpc
+sparc64
+standards
+threads
+usb
+www
diff --git a/gnu/usr.bin/send-pr/doc/Makefile b/gnu/usr.bin/send-pr/doc/Makefile
new file mode 100644
index 0000000..1de7064
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/Makefile
@@ -0,0 +1,4 @@
+INFO = send-pr
+INFOSECTION="System Utilities"
+
+.include <bsd.info.mk>
diff --git a/gnu/usr.bin/send-pr/doc/categ.texi b/gnu/usr.bin/send-pr/doc/categ.texi
new file mode 100644
index 0000000..fe84918
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/categ.texi
@@ -0,0 +1,125 @@
+@c $FreeBSD$
+
+@node Valid Categories
+@unnumberedsec Valid Categories
+@cindex valid categories
+@cindex example of a list of valid categories
+
+@table @code
+@item bfd
+@sc{gnu} binary file descriptor library.
+
+@item bifrabulator
+This one doesn't actually exist.
+
+@item binutils
+@sc{gnu} utilities for binary files (@code{ar}, @code{nm}, @code{size}@dots{}).
+
+@item bison
+@sc{gnu} parser generator.
+
+@item byacc
+Free parser generator.
+
+@item config
+Cygnus Solutions Software configuration and installation.
+
+@item cvs
+Concurrent Version System.
+
+@item diff
+@sc{gnu} @code{diff} program.
+
+@item doc
+Documentation and manuals.
+
+@item emacs
+@sc{gnu} Emacs editor and related functions.
+
+@item flex
+@sc{gnu} lexical analyzer.
+
+@item g++
+@sc{gnu} C++ compiler.
+
+@item gas
+@sc{gnu} assembler.
+
+@item gcc
+@sc{gnu} C compiler.
+
+@item gdb
+@sc{gnu} source code debugger.
+
+@item glob
+The filename globbing functions.
+
+@item gprof
+@sc{gnu} profiler.
+
+@item grep
+@sc{gnu} @code{grep} program.
+
+@item info
+@sc{gnu} @code{info} hypertext reader.
+
+@item ispell
+@sc{gnu} spelling checker.
+
+@item kerberos
+Kerberos authentication system.
+
+@item ld
+@sc{gnu} linker.
+
+@item libc
+Cygnus Solutions C Support Library.
+
+@item libg++
+@sc{gnu} C++ class library.
+
+@item libiberty
+@sc{gnu} @samp{libiberty} library.
+
+@item libm
+Cygnus Solutions C Math Library.
+
+@item make
+@sc{gnu} @code{make} program.
+
+@item makeinfo
+@sc{gnu} utility to build Info files from Texinfo documents.
+
+@item mas
+@sc{gnu} Motorola syntax assembler.
+
+@item newlib
+Cygnus Solutions C Support and Math Libraries.
+
+@item patch
+@sc{gnu} bug patch program.
+
+@item gnats
+@sc{gnu} Problem Report Management System.
+
+@item rcs
+Revision Control System.
+
+@item readline
+@sc{gnu} @code{readline} library.
+
+@item send-pr
+@sc{gnu} Problem Report submitting program.
+
+@item test
+Category to use when testing @code{send-pr}.
+
+@item texindex
+@sc{gnu} documentation indexing utility.
+
+@item texinfo
+@sc{gnu} documentation macros.
+
+@item other
+Anything which is not covered by the above categories.
+@end table
diff --git a/gnu/usr.bin/send-pr/doc/fields.texi b/gnu/usr.bin/send-pr/doc/fields.texi
new file mode 100644
index 0000000..0cce642
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/fields.texi
@@ -0,0 +1,522 @@
+@c $FreeBSD$
+
+@node Fields
+@section Problem Report format
+@cindex Problem Report format
+@cindex format
+@cindex database similarities
+@cindex fields
+
+The format of a PR is designed to reflect the nature of @sc{gnats} as a
+database. Information is arranged into @dfn{fields}, and kept in
+individual records (Problem Reports).
+
+A Problem Report contains two different types of fields: @dfn{Mail
+Header} fields, which are used by the mail handler for delivery, and
+@dfn{Problem Report} fields, which contain information relevant to the
+Problem Report and its submitter. A Problem Report is essentially a
+specially formatted electronic mail message.
+
+Problem Report fields are denoted by a keyword which begins with
+@samp{>} and ends with @samp{:}, as in @samp{>Confidential:}. Fields
+belong to one of three data types:
+
+@table @asis
+@cindex Problem Report data types
+@cindex @emph{Enumerated} data types
+@item @sc{Enumerated}
+One of a specific set of values, which vary according to the field. The
+value for each keyword must be on the same line as the keyword. These
+values are not configurable (yet).
+
+@ifset SENDPR
+For each @sc{Enumerated} keyword, the possible choices are listed in the
+@code{send-pr} template as a comment.
+@end ifset
+The following fields are @sc{Enumerated} format; see the descriptions of
+fields below for explanations of each field in detail:
+
+@smallexample
+@group
+>Confidential: >Severity: >Priority:
+>Class: >State: >Number:
+@end group
+@end smallexample
+
+@cindex @emph{Text} data types
+@item @sc{Text}
+One single line of text which must begin and end on the same line (i.e.,
+before a newline) as the keyword. See the descriptions of fields below
+for explanations of each field in detail. The following fields are
+@sc{Text} format:
+
+@smallexample
+@group
+>Submitter-Id: >Originator: >Synopsis:
+>Category: >Release: >Responsible:
+>Arrival-Date:
+@end group
+@end smallexample
+
+@cindex @emph{MultiText} data types
+@item @sc{MultiText}
+Text of any length may occur in this field. @sc{MultiText} may span
+multiple lines and may also include blank lines. A @sc{MultiText} field
+ends only when another keyword appears. See the descriptions of fields
+below for explanations of each field in detail.
+
+The following fields are @sc{MultiText} format:
+
+@smallexample
+@group
+>Organization: >Environment: >Description:
+>How-To-Repeat: >Fix: >Audit-Trail:
+>Unformatted:
+@end group
+@end smallexample
+
+@end table
+
+@ifclear SENDPR
+@subheading Example Problem Report
+@end ifclear
+
+The following is an example Problem Report. Mail headers are at the
+top, followed by @sc{gnats} fields, which begin with @samp{>} and end
+with @samp{:}. The @samp{Subject:} line in the mail header and the
+@samp{>Synopsis:} field are usually duplicates of each other.
+
+@cindex sample Problem Report
+@cindex example Problem Report
+@cindex Problem Report template
+@cartouche
+@smallexample
+@group
+Message-Id: @var{message-id}
+Date: @var{date}
+From: @var{address}
+Reply-To: @var{address}
+To: @var{bug-address}
+Subject: @var{subject}
+
+>Number: @var{gnats-id}
+>Category: @var{category}
+>Synopsis: @var{synopsis}
+>Confidential: yes @emph{or} no
+>Severity: critical, serious, @emph{or} non-critical
+>Priority: high, medium @emph{or} low
+>Responsible: @var{responsible}
+>State: open, analyzed, suspended, feedback, @emph{or} closed
+>Class: sw-bug, doc-bug, change-request, support,
+@ifset SENDPR
+@emph{or} duplicate
+@end ifset
+@ifclear SENDPR
+duplicate, @emph{or} mistaken
+@end ifclear
+>Submitter-Id: @var{submitter-id}
+>Arrival-Date: @var{date}
+>Originator: @var{name}
+>Organization: @var{organization}
+>Release: @var{release}
+>Environment:
+ @var{environment}
+>Description:
+ @var{description}
+>How-To-Repeat:
+ @var{how-to-repeat}
+>Fix:
+ @var{fix}
+>Audit-Trail:
+@var{appended-messages@dots{}}
+State-Changed-From-To: @var{from}-@var{to}
+State-Changed-When: @var{date}
+State-Changed-Why:
+ @var{reason}
+Responsible-Changed-From-To: @var{from}-@var{to}
+Responsible-Changed-When: @var{date}
+Responsible-Changed-Why:
+ @var{reason}
+>Unformatted:
+ @var{miscellaneous}
+@end group
+@end smallexample
+@end cartouche
+
+@menu
+* Mail header fields::
+* Problem Report fields::
+@end menu
+
+@c ----------------------
+@node Mail header fields
+@subsection Mail header fields
+@cindex mail header fields
+@cindex Internet standard RFC-822
+
+A Problem Report may contain any mail header field described in the
+Internet standard RFC-822. However, only the fields which identify the
+sender and the subject are required by @code{send-pr}:
+
+@table @code
+@cindex @code{To:} header
+@item To:
+The preconfigured mail address for the Support Site where the PR is to
+be sent, automatically supplied by @code{send-pr}.
+
+@cindex @code{Subject:} header
+@item Subject:
+A terse description of the problem. This field normally contains the
+same information as the @samp{>Synopsis:} field.
+
+@cindex @code{From:} header
+@item From:
+Usually supplied automatically by the originator's mailer; should
+contain the originator's electronic mail address.
+
+@cindex @code{Reply-To:} header
+@item Reply-To:
+A return address to which electronic replies can be sent; in most cases,
+the same address as the @code{From:} field.
+@end table
+
+@ifclear SENDPR
+@cindex @code{Received-By:} headers
+One of the configurable options for @sc{gnats} is whether or not to
+retain @w{@samp{Received-By:}} headers, which often consume a lot of
+space and are not often used. @xref{Local configuration,,Changing your
+local configuration}.
+@end ifclear
+
+@c ----------------------
+@node Problem Report fields
+@subsection Problem Report fields
+@cindex GNATS database fields
+@cindex field format
+
+@c FIXME - this node is loooooooooooooooong...
+
+@subheading Field descriptions
+
+The following fields are present whenever a PR is submitted via the
+program @code{send-pr}. @sc{gnats} adds additional fields when the PR
+arrives at the Support Site; explanations of them follow this list.
+
+@cindex fields - list
+@cindex GNATS fields - list
+@table @code
+@cindex @code{Submitter-Id} field
+@cindex @code{>Submitter-Id:}
+@item >Submitter-Id:
+(@sc{Text}) A unique identification code assigned by the Support Site.
+It is used to identify all Problem Reports coming from a particular
+site. (Submitters without a value for this field can invoke
+@code{send-pr} with the @samp{--request-id} option to apply for one from
+the support organization. Problem Reports from those not affiliated
+with the support organization should use the default value of @samp{net}
+for this field.)
+
+@cindex @code{Originator} field
+@cindex @code{>Originator:}
+@item >Originator:
+(@sc{Text}) Originator's real name. The default is the value of the
+originator's environment variable @code{NAME}.
+
+@cindex @code{>Organization:}
+@cindex @code{Organization} field
+@item >Organization:
+(@sc{MultiText}) The originator's organization. The default value is
+set with the variable @w{@code{DEFAULT_ORGANIZATION}} in the
+@ifclear SENDPR
+@file{config} file (@pxref{config file,,The @code{config} file}).
+@end ifclear
+@ifset SENDPR
+@code{send-pr} shell script.
+@end ifset
+
+@cindex @code{Confidential} field
+@cindex @code{>Confidential:}
+@cindex confidentiality in PRs
+@cindex PR confidentiality
+@item >Confidential:
+(@sc{Enumerated}) Use of this field depends on the originator's
+relationship with the support organization; contractual agreements often
+have provisions for preserving confidentiality. Conversely, a lack of a
+contract often means that any data provided will not be considered
+confidential. Submitters should be advised to contact the support
+organization directly if this is an issue.
+
+If the originator's relationship to the support organization provides
+for confidentiality, then if the value of this field is @samp{yes} the
+support organization treats the PR as confidential; any code samples
+provided are not made publicly available (e.g., in regression test
+suites). The default value is @samp{no}.
+
+@cindex @code{Synopsis} field
+@cindex @code{>Synopsis:}
+@item >Synopsis:
+(@sc{Text}) One-line summary of the problem. @w{@code{send-pr}} copies
+this information to the @samp{Subject:} line when you submit a Problem
+Report.
+
+@cindex @code{Severity} field
+@cindex @code{>Severity:}
+@item >Severity:
+(@sc{Enumerated}) The severity of the problem. Accepted values include:
+
+@table @code
+@cindex @emph{critical} severity problems
+@item critical
+The product, component or concept is completely non-operational or some
+essential functionality is missing. No workaround is known.
+
+@cindex @emph{serious} severity problems
+@item serious
+The product, component or concept is not working properly or significant
+functionality is missing. Problems that would otherwise be considered
+@samp{critical} are rated @samp{serious} when a workaround is known.
+
+@cindex @emph{non-critical} severity problems
+@item non-critical
+The product, component or concept is working in general, but lacks
+features, has irritating behavior, does something wrong, or doesn't
+match its documentation.
+@end table
+@noindent
+The default value is @samp{serious}.
+@sp 1
+
+@cindex @code{Priority} field
+@cindex @code{>Priority:}
+@item >Priority:
+(@sc{Enumerated}) How soon the originator requires a solution. Accepted
+values include:
+
+@table @code
+@cindex @emph{high} priority problems
+@item high
+A solution is needed as soon as possible.
+
+@cindex @emph{medium} priority problems
+@item medium
+The problem should be solved in the next release.
+
+@cindex @emph{low} priority problems
+@item low
+The problem should be solved in a future release.
+@end table
+@noindent
+The default value is @samp{medium}.
+@sp 1
+
+@cindex @code{Category} field
+@cindex @code{>Category:}
+@item >Category:
+(@sc{Text}) The name of the product, component or concept where
+the problem lies. The values for this field are defined by the Support
+Site.
+@ifclear SENDPR
+@xref{categories file,,The @code{categories} file}, for details.
+@end ifclear
+
+@cindex @code{Class} field
+@cindex @code{>Class:}
+@item >Class:
+(@sc{Enumerated}) The class of a problem can be one of the following:
+
+@table @code
+@cindex @emph{sw-bug} class
+@item sw-bug
+A general product problem. (@samp{sw} stands for ``software''.)
+
+@cindex @emph{doc-bug} class
+@item doc-bug
+A problem with the documentation.
+
+@cindex @emph{change-request} class
+@item change-request
+A request for a change in behavior, etc.
+
+@cindex @emph{support} class
+@item support
+A support problem or question.
+
+@cindex @emph{duplicate} class
+@item duplicate (@var{pr-number})
+Duplicate PR. @var{pr-number} should be the number of the original PR.
+
+@ifclear SENDPR
+@cindex @emph{mistaken} class
+@item mistaken
+No problem, user error or misunderstanding. This value is valid only at
+the Support Site.
+@end ifclear
+@end table
+
+@noindent
+The default is @samp{sw-bug}.
+@sp 1
+
+@cindex @code{Release} field
+@cindex @code{>Release:}
+@item >Release:
+(@sc{Text}) Release or version number of the product, component or
+concept.
+
+@cindex @code{Environment} field
+@cindex @code{>Environment:}
+@item >Environment:
+(@sc{MultiText}) Description of the environment where the problem occured:
+machine architecture, operating system, host and target types,
+libraries, pathnames, etc.
+
+@cindex @code{Description} field
+@cindex @code{>Description:}
+@item >Description:
+(@sc{MultiText}) Precise description of the problem.
+
+@cindex @code{How-To-Repeat} field
+@cindex @code{>How-To-Repeat:}
+@item >How-To-Repeat:
+(@sc{MultiText}) Example code, input, or activities to reproduce the
+problem. The support organization uses example code both to reproduce
+the problem and to test whether the problem is fixed. Include all
+preconditions, inputs, outputs, conditions after the problem, and
+symptoms. Any additional important information should be included.
+Include all the details that would be necessary for someone else to
+recreate the problem reported, however obvious. Sometimes seemingly
+arbitrary or obvious information can point the way toward a solution.
+See also @ref{Helpful hints,,Helpful hints}.
+
+@cindex @code{Fix} field
+@cindex @code{>Fix:}
+@item >Fix:
+(@sc{MultiText}) A description of a solution to the problem, or a patch
+which solves the problem. (This field is most often filled in at the
+Support Site; we provide it to the submitter in case she has solved the
+problem.)
+
+@end table
+
+@noindent
+@sc{gnats} adds the following fields when the PR arrives at the Support
+Site:
+
+@table @code
+@cindex @code{Number} field
+@cindex @code{>Number:}
+@item >Number:
+(@sc{Enumerated}) The incremental identification number for this PR.
+@ifclear SENDPR
+This is included in the automated reply to the submitter (if that
+feature of @sc{gnats} is activated; @pxref{Local configuration,,Changing
+your local configuration}). It is also included in the copy of the PR
+that is sent to the maintainer.
+@end ifclear
+
+The @samp{>Number:} field is often paired with the @samp{>Category:}
+field as
+
+@smallexample
+@var{category}/@var{number}
+@end smallexample
+
+@noindent
+in subsequent email messages. This is for historical reasons, as well
+as because Problem Reports are stored in subdirectories which are named
+by category.
+
+@cindex @code{State} field
+@cindex @code{>State:}
+@item >State:
+(@sc{Enumerated}) The current state of the PR. Accepted values are:
+
+@table @code
+@item open
+The PR has been filed and the responsible person notified.
+
+@item analyzed
+The responsible person has analyzed the problem.
+
+@item feedback
+The problem has been solved, and the originator has been given a patch
+or other fix.
+
+@item closed
+The changes have been integrated, documented, and tested, and the
+originator has confirmed that the solution works.
+
+@item suspended
+Work on the problem has been postponed.
+@end table
+
+@noindent
+The initial state of a PR is @samp{open}. @xref{States,,States of
+Problem Reports}.
+
+@cindex @code{Responsible} field
+@cindex @code{>Responsible:}
+@item >Responsible:
+(@sc{Text}) The person responsible for this category.
+@ifclear SENDPR
+@sc{gnats} retrieves this information from the @file{categories} file
+(@pxref{categories file,,The @code{categories} file}).
+@end ifclear
+
+@cindex @code{>Arrival-Date:}
+@cindex @code{Arrival-Date} field
+@item >Arrival-Date:
+(@sc{Text}) The time that this PR was received by @sc{gnats}. The date
+is provided automatically by @sc{gnats}.
+
+@cindex @code{>Audit-Trail:}
+@cindex @code{Audit-Trail} field
+@item >Audit-Trail:
+(@sc{MultiText}) Tracks related electronic mail as well as changes in
+the @samp{>State:} and @samp{>Responsible:} fields with the sub-fields:
+
+@table @code
+@cindex @code{State-Changed-<From>-<To>:} in @code{>Audit-Trail:}
+@item @w{State-Changed-<From>-<To>: @var{oldstate}>-<@var{newstate}}
+The old and new @samp{>State:} field values.
+
+@cindex @code{Responsible-Changed-<From>-<To>:} in @code{>Audit-Trail:}
+@item @w{Responsible-Changed-<From>-<To>: @var{oldresp}>-<@var{newresp}}
+The old and new @samp{>Responsible:} field values.
+
+@cindex @code{State-Changed-By:} in @code{>Audit-Trail:}
+@cindex @code{Responsible-Changed-By:} in @code{>Audit-Trail:}
+@item State-Changed-By: @var{name}
+@itemx Responsible-Changed-By: @var{name}
+The name of the maintainer who effected the change.
+
+@cindex @code{State-Changed-When:} in @code{>Audit-Trail:}
+@cindex @code{Responsible-Changed-When:} in @code{>Audit-Trail:}
+@item State-Changed-When: @var{timestamp}
+@itemx Responsible-Changed-When: @var{timestamp}
+The time the change was made.
+
+@cindex @code{State-Changed-Why:} in @code{>Audit-Trail:}
+@cindex @code{Responsible-Changed-Why:} in @code{>Audit-Trail:}
+@item State-Changed-Why: @var{reason@dots{}}
+@itemx Responsible-Changed-Why: @var{reason@dots{}}
+The reason for the change.
+@end table
+
+@cindex subsequent mail
+@cindex other mail
+@cindex appending PRs
+@cindex saving related mail
+@cindex related mail
+@noindent
+The @samp{>Audit-Trail:} field also contains any mail messages received
+by @sc{gnats} related to this PR, in the order received.
+
+@cindex @code{>Unformatted:}
+@cindex @code{Unformatted} field
+@item
+ >Unformatted:
+(@sc{MultiText}) Any random text found outside the fields in the
+original Problem Report.
+@end table
+
diff --git a/gnu/usr.bin/send-pr/doc/s-usage.texi b/gnu/usr.bin/send-pr/doc/s-usage.texi
new file mode 100644
index 0000000..5c9006b
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/s-usage.texi
@@ -0,0 +1,570 @@
+@c $FreeBSD$
+
+@c This is the usage section for send-pr. It is called as
+@c chapter (Invoking send-pr) by send-pr.texi, and also as
+@c section (Submitting Problem Reports) by gnats.texi (chapter/section
+@c identifiers are adjusted accordingly)
+
+@c FIXME! This still seems jumbled...
+
+You can invoke @code{send-pr} from a shell prompt, or from within
+@sc{gnu} Emacs using @w{@samp{M-x send-pr}}.
+
+@menu
+* using send-pr:: Creating new Problem Reports
+* send-pr in Emacs:: Using send-pr from within Emacs
+* send-pr from the shell:: Invoking send-pr from the shell
+* Submitting via e-mail:: Submitting a Problem Report via direct e-mail
+* Helpful hints::
+@end menu
+
+@node using send-pr
+@section Creating new Problem Reports
+
+@c FIXME - this is a long node
+Invoking @code{send-pr} presents a PR @dfn{template} with a number of
+fields already filled in. Complete the template as thoroughly as
+possible to make a useful bug report. Submit only one bug with each PR.
+
+@cindex template
+A template consists of three sections:
+
+@table @dfn
+@item Comments
+The top several lines of a blank template consist of a series of
+comments that provide some basic instructions for completing the Problem
+Report, as well as a list of valid entries for the @samp{>Category:}
+field. These comments are all preceded by the string @samp{SEND-PR:}
+and are erased automatically when the PR is submitted. The
+instructional comments within @samp{<} and @samp{>} are also removed.
+(Only these comments are removed; lines you provide that happen to have
+those characters in them, such as examples of shell-level redirection,
+are not affected.)
+
+@item Mail Header
+@code{send-pr} creates a standard mail header. @code{send-pr} completes
+all fields except the @samp{Subject:} line with default values.
+(@xref{Fields,,Problem Report format}.)
+
+@item @sc{gnats} fields
+These are the informational fields that @sc{gnats} uses to route your
+Problem Report to the responsible party for further action. They should
+be filled out as completely as possible. (@xref{Fields,,Problem Report
+format}. Also see @ref{Helpful hints,,Helpful hints}.)
+@end table
+
+@ifset SENDPR
+@noindent
+For examples of a Problem Report template and complete Problem Report,
+see @ref{An Example}.
+@end ifset
+
+The default template contains your preconfigured @samp{>Submitter-Id:}.
+@code{send-pr} attempts to determine values for the @samp{>Originator:}
+and @samp{>Organization:} fields (@pxref{Fields,,Problem Report
+format}). @code{send-pr} will set the @samp{>Originator:} field to
+the value of the @code{NAME} environment variable if it has been set;
+similarly, @samp{>Organization:} will be set to the value of @code{ORGANIZATION}.
+@code{send-pr} also attempts to find out some information
+about your system and architecture, and places this information in the
+@samp{>Environment:} field if it finds any.
+
+You may submit problem reports to different Support Sites from the
+default site by specifying the alternate site when you invoke
+@code{send-pr}. @xref{send-pr from the shell}.
+Each @code{site} has its own list of categories for
+which it accepts Problem Reports.
+@c FIXME! This should go in..
+@c For a list of sites to whom @code{send-pr} is configured to send
+@c Problem Reports, type @w{@samp{send-pr -S}}.
+@ifset SENDPR
+(@xref{default site,,Setting a default @var{site}}.)
+@end ifset
+
+@code{send-pr} also provides the mail header section of the template
+with default values in the @samp{To:}, @samp{From:}, and
+@samp{Reply-To:} fields. The @samp{Subject:} field is empty.
+
+The template begins with a comment section:
+
+@cindex template comment section
+@cindex comment section in the PR template
+@smallexample
+@group
+SEND-PR: -*- send-pr -*-
+SEND-PR: Lines starting with `SEND-PR' will be removed
+SEND-PR: automatically as well as all comments (the text
+SEND-PR: below enclosed in `<' and `>').
+SEND-PR:
+SEND-PR: Please consult the document `Reporting Problems
+SEND-PR: Using send-pr' if you are not sure how to fill out
+SEND-PR: a problem report.
+SEND-PR:
+SEND-PR: Choose from the following categories:
+@end group
+@end smallexample
+
+@noindent
+and also contains a list of valid @code{>Category:} values for the
+Support Site to whom you are submitting this Problem Report. One (and
+only one) of these values should be placed in the @code{>Category:}
+field.
+@ifset SENDPR
+A complete sample bug report, from template to completed PR, is shown in
+@ref{An Example}. For a complete list of valid categories, type
+@w{@samp{send-pr -L}} at your prompt. @xref{Valid Categories,,Valid
+Categories}, for a sample list of categories, .
+@end ifset
+
+@c FIXME.. this sounds awkward
+The mail header is just below the comment section. Fill out the
+@samp{Subject:} field, if it is not already completed using the value of
+@samp{>Synopsis:}. The other mail header fields contain default values.
+
+@cindex mail header section
+@smallexample
+@group
+To: @var{support-site}
+Subject: @emph{complete this field}
+From: @var{your-login}@@@var{your-site}
+Reply-To: @var{your-login}@@@var{your-site}
+X-send-pr-version: send-pr @value{VERSION}
+@end group
+@end smallexample
+
+@noindent
+where @var{support-site} is an alias on your local machine for the
+Support Site you wish to submit this PR to.
+
+The rest of the template contains @sc{gnats} fields. Each field is
+either automatically completed with valid information (such as your
+@samp{>Submitter-Id:}) or contains a one-line instruction specifying the
+information that field requires in order to be correct. For example,
+the @samp{>Confidential:} field expects a value of @samp{yes} or
+@samp{no}, and the answer must fit on one line; similarly, the
+@samp{>Synopsis:} field expects a short synopsis of the problem, which
+must also fit on one line. Fill out the fields as completely as
+possible. @xref{Helpful hints,,Helpful hints}, for suggestions as to
+what kinds of information to include.
+
+In this example, words in @emph{italics} are filled in with
+pre-configured information:
+
+@cindex @code{send-pr} fields
+@smallexample
+@group
+>Submitter-Id: @emph{your submitter-id}
+>Originator: @emph{your name here}
+>Organization:
+ @emph{your organization}
+>Confidential:<[ yes | no ] (one line)>
+>Synopsis: <synopsis of the problem (one line)>
+>Severity: <[non-critical | serious | critical](one line)>
+>Priority: <[ low | medium | high ] (one line)>
+>Category: <name of the product (one line)>
+>Class: <[sw-bug | doc-bug | change-request | support]>
+>Release: <release number (one line)>
+>Environment:
+ <machine, os, target, libraries (multiple lines)>
+
+>Description:
+ <precise description of the problem (multiple lines)>
+>How-To-Repeat:
+ <code/input/activities to reproduce (multiple lines)>
+>Fix:
+ <how to correct or work around the problem, if known
+ (multiple lines)>
+@end group
+@end smallexample
+
+@cindex @code{Submitter-Id} field
+@cindex @code{>Submitter-Id:}
+When you finish editing the Problem Report, @code{send-pr} mails it to
+the address named in the @samp{To:} field in the mail header.
+@code{send-pr} checks that the complete form contains a valid
+@samp{>Category:}.
+
+@ifset SENDPR
+Your copy of @code{send-pr} should have already been customized on
+installation to reflect your @samp{>Submitter-Id:}. (@xref{Installing
+send-pr, , Installing @code{send-pr} on your system}.) If you don't
+know your @samp{>Submitter-Id:}, you can request it using
+@w{@samp{send-pr --request-id}}. If your organization is not affiliated
+with the site you send Problem Reports to, a good generic
+@samp{>Submitter-Id:} to use is @samp{net}. @emph{NOTE:} If you are using
+send-pr to send problem reports to the FreeBSD Project, this version of
+send-pr already has a customer ID in it and you do not need to request a
+new one.
+@end ifset
+
+@cindex bad Problem Reports
+@cindex errors
+@cindex invalid Problem Reports
+If your PR has an invalid value in one of the @sc{Enumerated} fields
+(@pxref{Fields,,Problem Report format}), @code{send-pr} places the PR in
+a temporary file named @samp{/tmp/pbad@var{nnnn}} on your machine.
+@var{nnnn} is the process identification number given to your current
+@code{send-pr} session. If you are running @code{send-pr} from the
+shell, you are prompted as to whether or not you wish to try editing the
+same Problem Report again. If you are running @code{send-pr} from
+Emacs, the Problem Report is placed in the buffer
+@w{@samp{*send-pr-error*}}; you can edit this file and then submit it
+with
+
+@smallexample
+M-x gnats-submit-pr
+@end smallexample
+
+@cindex subsequent mail
+@cindex other mail
+@cindex appending PRs
+@cindex saving related mail
+@cindex related mail
+Any further mail concerning this Problem Report should be carbon-copied
+to the @sc{gnats} mailing address as well, with the category and
+identification number in the @samp{Subject:} line of the message.
+
+@smallexample
+Subject: Re: PR @var{category}/@var{gnats-id}: @var{original message subject}
+@end smallexample
+
+@noindent
+Messages which arrive with @samp{Subject:} lines of this form are
+automatically appended to the Problem Report in the @samp{>Audit-Trail:}
+field in the order received.
+
+@c ---------------------------------------------------------------
+@node send-pr in Emacs
+@section Using @code{send-pr} from within Emacs
+@cindex using @code{send-pr} from within Emacs
+@cindex @code{send-pr} within Emacs
+@cindex invoking @code{send-pr} from Emacs
+@cindex interactive interface
+
+You can use an interactive @code{send-pr} interface from within @sc{gnu}
+Emacs to fill out your Problem Report. We recommend that you
+familiarize yourself with Emacs before using this feature
+(@pxref{Introduction,,Introduction,emacs,GNU Emacs}).
+
+Call @code{send-pr} with @w{@samp{M-x send-pr}}.@footnote{If typing
+@w{@samp{M-x send-pr}} doesn't work, see your system administrator for
+help loading @code{send-pr} into Emacs.} @code{send-pr} responds with a
+Problem Report template preconfigured for the Support Site from which
+you received @code{send-pr}. (If you use @code{send-pr} locally, the
+default Support Site is probably your local site.)
+
+You may also submit problem reports to different Support Sites from the
+default site. To use this feature, invoke @code{send-pr} with
+
+@smallexample
+C-u M-x send-pr
+@end smallexample
+
+@code{send-pr} prompts you for the name of a @var{site}. @var{site} is
+an alias on your local machine which points to an alternate Support
+Site.
+
+@cindex Emacs
+@code{send-pr} displays the template and prompts you in the minibuffer
+with the line:
+@smallexample
+>Category: other
+@end smallexample
+
+@noindent
+Delete the default value @samp{other} @emph{in the minibuffer} and
+replace it with the keyword corresponding to your problem (the list of
+valid categories is in the topmost section of the PR template). For
+example, if the problem you wish to report has to do with the @sc{gnu} C
+compiler, and your support organization accepts bugs submitted for this
+program under the category @samp{gcc}, delete @samp{other} and then type
+@w{@samp{gcc[@key{RET}]}}. @code{send-pr} replaces the line
+
+@smallexample
+>Category: <name of the product (one line)>
+@end smallexample
+
+@noindent
+in the template with
+
+@smallexample
+>Category: gcc
+@end smallexample
+
+@noindent
+and moves on to another field.
+
+@cindex completion in Emacs
+@cindex name completion in Emacs
+@w{@code{send-pr}} provides name completion in the minibuffer. For
+instance, you can also type @w{@samp{gc[@key{TAB}]}}, and @code{send-pr}
+attempts to complete the entry for you. Typing @w{@samp{g[@key{TAB}]}}
+may not have the same effect if several possible entries begin with
+@samp{g}. In that case @code{send-pr} cannot complete the entry because
+it cannot determine whether you mean @samp{gcc} or, for example,
+@samp{gdb}, if both of those are possible categories.
+@w{@code{send-pr}} continues to prompt you for a valid entry until you
+enter one.
+
+@w{@code{send-pr}} prompts you interactively to enter each field for
+which there is a range of specific choices. If you attempt to enter a
+value which is not in the range of acceptable entries, @code{send-pr}
+responds with @w{@samp{[No match]}} and allows you to change the entry
+until it contains an acceptable value. This avoids unusable information
+(at least in these fields) and also avoids typographical errors which
+could cause problems later.
+
+@code{send-pr} prompts you for the following fields:
+
+@c FIXME - should these go before the discussion on completion?
+@example
+@group
+>Category:
+>Confidential: (@emph{default}: no)
+>Severity: (@emph{default}: serious)
+>Priority: (@emph{default}: medium)
+>Class: (@emph{default}: sw-bug)
+>Release:
+>Synopsis: (@emph{this value is copied to @code{Subject:}})
+@end group
+@end example
+
+@noindent
+After you complete these fields, @w{@code{send-pr}} places the cursor in
+the @samp{>Description:} field and displays the message
+
+@smallexample
+To send the problem report use: C-c C-c
+@end smallexample
+
+@noindent
+in the minibuffer. At this point, edit the file in the main buffer to
+reflect your specific problem, putting relevant information in the
+proper fields.
+@ifset SENDPR
+@xref{An Example}, for a sample Problem Report.
+@end ifset
+
+@w{@samp{send-pr}} provides a few key bindings to make moving
+around in a template buffer more simple:
+
+@table @code
+@item C-c C-f
+@itemx M-x change-field
+Changes the field under the cursor. @code{edit-pr} prompts you for a
+new value.
+
+@item M-C-b
+@itemx M-x gnats-backward-field
+Moves the cursor to the beginning of the value of the current field.
+
+@item M-C-f
+@itemx M-x gnats-forward-field
+Moves the cursor to the end of the value of the current field.
+
+@item M-p
+@itemx M-x gnats-previous-field
+Moves the cursor back one field to the beginning of the value of the
+previous field.
+
+@item M-n
+@itemx M-x gnats-next-field
+Moves the cursor forward one field to the beginning of the value of the
+next field.
+@end table
+
+@code{send-pr} takes over again when you type @samp{C-c C-c} to send the
+message. @code{send-pr} reports any errors in a separate buffer, which
+remains in existence until you send the PR properly (or, of course,
+until you explicitly kill the buffer).
+
+For detailed instructions on using Emacs, see
+@ref{Introduction,,,emacs,GNU Emacs}.
+
+@node send-pr from the shell
+@section Invoking @code{send-pr} from the shell
+@cindex command line options
+@cindex invoking @code{send-pr} from the shell
+@cindex shell invocation
+
+@c FIXME! Add [ -S ] right after [ -L ]...
+@smallexample
+send-pr [ @var{site} ]
+ [ -f @var{problem-report} | --file @var{problem-report} ]
+ [ -t @var{mail-address} | --to @var{mail-address} ]
+ [ --request-id ]
+ [ -L | --list ] [ -P | --print ]
+ [ -V | --version] [ -h | --help ]
+@end smallexample
+
+@var{site} is an alias on your local machine which points to an address
+used by a Support Site. If this argument is not present, the default
+@var{site} is usually the site which you received @code{send-pr} from,
+or your local site if you use @sc{gnats} locally.
+@ifset SENDPR
+(@xref{default site,,Setting a default @var{site}}.)
+@end ifset
+
+Invoking @code{send-pr} with no options calls the editor named in your
+environment variable @code{EDITOR} on a default PR template. If the
+environment variable @code{PR_FORM} is set, its value is used as a file
+name which contains a valid template. If @code{PR_FORM} points to a
+missing or unreadable file, or if the file is empty, @code{send-pr}
+generates an error message and opens the editor on a default template.
+
+@table @code
+@item -f @var{problem-report}
+@itemx --file @var{problem-report}
+Specifies a file, @var{problem-report}, where a completed Problem Report
+already exists. @code{send-pr} sends the contents of the file without
+invoking an editor. If @var{problem-report} is @samp{-},
+@w{@code{send-pr}} reads from standard input.
+
+@item -t @var{mail-address}
+@itemx --to @var{mail-address}
+Sends the PR to @var{mail-address}. The default is preset when
+@code{send-pr} is configured. @emph{This option is not recommended};
+instead, use the argument @var{site} on the command line.
+
+@item -c @var{mail-address}
+@itemx --cc @var{mail-address}
+Places @var{mail-address} in the @code{Cc:} header field of the message
+to be sent.
+
+@item --request-id
+Sends a request for a @code{>Submitter-Id:} to the Support Site.
+
+@cindex listing valid categories
+@item -L
+@itemx --list
+Prints the list of valid @code{>Category:} values on standard output.
+No mail is sent.
+
+@item -s @var{severity}
+@itemx --severity @var{severity}
+@cindex @code{send-pr} fields
+Sets the initial value of the @code{>Severity:} field to @var{severity}.
+
+@ignore
+@item -S
+@itemx --sites
+Displays a list of valid @var{site} values on standard output. No mail
+is sent.
+@end ignore
+
+@item -P
+@itemx --print
+Displays the PR template. If the variable @code{PR_FORM} is set in your
+environment, the file it specifies is printed. If @code{PR_FORM} is not
+set, @code{send-pr} prints the standard blank form. If the file
+specified by @code{PR_FORM} doesn't exist, @code{send-pr} displays an
+error message. No mail is sent.
+
+@item -V
+@itemx --version
+Displays the @code{send-pr} version number and a usage summary. No mail
+is sent.
+
+@item -h
+@itemx --help
+Displays a usage summary for @code{send-pr}. No mail is sent.
+@end table
+
+@c -------------------------------------------------------------------------
+@node Submitting via e-mail
+@section Submitting a Problem Report via direct e-mail
+@cindex Direct e-mail
+@cindex Submitting a PR via e-mail
+In addition to using @code{send-pr}, there is another way to submit a problem
+report. You can simply send an e-mail message to the support site.
+
+To do this, look at the address in the @samp{To:} field of the @code{send-pr}
+template. When you send unformatted e-mail to this address, @sc{gnats}
+processes the message as a new problem report, filling in as many fields from
+defaults as it can:
+
+@table @code
+@item Synopsis
+The @samp{>Synopsis} field is filled in by the @samp{Subject:} header.
+
+@item Submitter ID
+@sc{gnats} will try to derive the @samp{>Submitter} field from the address
+in the @samp{From:} header.
+
+@item Description
+All of the text in the body of the e-mail message is put into the
+@samp{>Description} field. Each line of the text is indented by one space,
+indicating that it is "quoted text" from the sender.
+@end table
+
+Other fields, such as category, version, severity, etc. are set to default
+values (if the @sc{gnats} administrator has set them).
+
+@c --------------------------------------------------------------------------
+@node Helpful hints
+@section Helpful hints
+@cindex helpful hints
+@cindex Using and Porting @sc{gnu} CC
+@cindex effective problem reporting
+@cindex kinds of helpful information
+@cindex information to submit
+@cindex Report all the facts!
+
+There is no orthodox standard for submitting effective bug reports,
+though you might do well to consult the section on submitting bugs for
+@sc{gnu} @code{gcc} in @ref{Bugs, , Reporting Bugs, gcc, Using and
+Porting GNU CC}, by Richard Stallman. This section contains
+instructions on what kinds of information to include and what kinds of
+mistakes to avoid.
+
+In general, common sense (assuming such an animal exists) dictates the
+kind of information that would be most helpful in tracking down and
+resolving problems in software.
+@itemize @bullet
+@item
+Include anything @emph{you} would want to know if you were looking at
+the report from the other end. There's no need to include every minute
+detail about your environment, although anything that might be different
+from someone else's environment should be included (your path, for
+instance).
+
+@item
+Narratives are often useful, given a certain degree of restraint. If a
+person responsible for a bug can see that A was executed, and then B and
+then C, knowing that sequence of events might trigger the realization of
+an intermediate step that was missing, or an extra step that might have
+changed the environment enough to cause a visible problem. Again,
+restraint is always in order (``I set the build running, went to get a
+cup of coffee (Columbian, cream but no sugar), talked to Sheila on the
+phone, and then THIS happened@dots{}'') but be sure to include anything
+relevant.
+
+@item
+Richard Stallman writes, ``The fundamental principle of reporting bugs
+usefully is this: @strong{report all the facts}. If you are not sure
+whether to state a fact or leave it out, state it!'' This holds true
+across all problem reporting systems, for computer software or social
+injustice or motorcycle maintenance. It is especially important in the
+software field due to the major differences seemingly insignificant
+changes can make (a changed variable, a missing semicolon, etc.).
+
+@item
+Submit only @emph{one} problem with each Problem Report. If you have
+multiple problems, use multiple PRs. This aids in tracking each problem
+and also in analyzing the problems associated with a given program.
+
+@item
+It never hurts to do a little research to find out if the bug you've
+found has already been reported. Most software releases contain lists
+of known bugs in the Release Notes which come with the software; see
+your system administrator if you don't have a copy of these.
+
+@item
+The more closely a PR adheres to the standard format, the less
+interaction is required by a database administrator to route the
+information to the proper place. Keep in mind that anything that
+requires human interaction also requires time that might be better spent
+in actually fixing the problem. It is therefore in everyone's best
+interest that the information contained in a PR be as correct as
+possible (in both format and content) at the time of submission.
+@end itemize
diff --git a/gnu/usr.bin/send-pr/doc/send-pr.texi b/gnu/usr.bin/send-pr/doc/send-pr.texi
new file mode 100644
index 0000000..1abb296
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/send-pr.texi
@@ -0,0 +1,658 @@
+@c $FreeBSD$
+
+\input texinfo @c -*-texinfo-*-
+@setfilename send-pr.info
+@settitle Reporting Problems Using send-pr
+
+@setchapternewpage odd
+
+@include version.texi
+@set SENDPR
+
+@ifinfo
+@format
+START-INFO-DIR-ENTRY
+* send-pr: (send-pr). Reporting problems--using send-pr
+END-INFO-DIR-ENTRY
+@end format
+@end ifinfo
+
+@ifinfo
+Copyright @copyright{} 1993, 1994, 1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries a copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+
+@end ignore
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end ifinfo
+
+@titlepage
+@finalout
+@title Reporting Problems
+@subtitle Using @code{send-pr}, version @value{VERSION}
+@subtitle October 1993
+@author Jeffrey M. Osier
+@author Cygnus Support
+@page
+
+@vskip 0pt plus 1filll
+
+Copyright @copyright{} 1993, 1994, 1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+
+@end titlepage
+
+@c ---------------------------------------------------------------
+@node Top
+@top Overview
+@cindex foreword to @code{send-pr}
+@cindex overview to @code{send-pr}
+@cindex introduction to @code{send-pr}
+
+This manual documents @code{send-pr},
+@ifinfo
+version @value{VERSION},
+@end ifinfo
+which uses electronic mail to submit support questions and problem
+reports to a central Support Site. No body of work is perfect, and
+support organizations understand this; @code{send-pr} is designed to
+allow users who have problems to submit reports of these problems to
+sites responsible for supporting the products in question, in a defined
+form which can be read by an electronically managed database.
+
+@cindex GNATS
+@code{send-pr} is part of a suite of programs known collectively as
+@sc{gnats}, the @sc{gnu} Problem Report Management System. @sc{gnats}
+consists of several programs which, used in concert, formulate and
+partially administer a database of @dfn{Problem Reports}, or @dfn{PRs},
+at a central Support Site. A PR goes through several states in its
+lifetime; @sc{gnats} tracks the PR and all information associated with it
+through each state and finally acts as an archive for PRs which have
+been @dfn{closed}.
+
+Because @code{send-pr} exists as a shell (@file{/bin/sh}) script and as
+an Elisp file for use with @sc{gnu} Emacs, it can be used from any
+machine on your network which can run a shell script and/or Emacs.
+
+In general, you can use any editor and mailer to submit valid Problem
+Reports, as long as the format required by @sc{gnats} is preserved.
+@code{send-pr} automates the process, however, and ensures that certain
+fields necessary for automatic processing are present. @code{send-pr}
+is strongly recommended for all initial problem-oriented correspondence
+with your Support Site. The organization you submit Problem Reports to
+supplies an address to which further information can be sent; the person
+responsible for the category of the problem you report contacts you
+directly.
+
+@menu
+* send-pr in detail:: Details about send-pr and GNATS
+* Invoking send-pr:: Editing and sending PRs
+* An Example:: A working example
+* Installing send-pr:: Installing send-pr on your system
+* Index::
+@end menu
+
+@node send-pr in detail
+@chapter Details about send-pr and GNATS
+
+@cindex details about @code{send-pr}
+@cindex Problem Reports
+A @dfn{Problem Report} is a message that describes a problem you are
+having with a body of work. @code{send-pr} organizes this message into
+a form which can be understood and automatically processed by @sc{gnats},
+the @sc{gnu} Problem Report Management System. A Problem Report is
+organized into @dfn{fields} which contain data describing you, your
+organization, and the problem you are announcing (@pxref{Fields,,Problem
+Report format}). Problem Reports go through several defined states in
+their lifetimes, from @dfn{open} to @dfn{closed} (@pxref{States,,States
+of Problem Reports}).
+
+@menu
+* States:: States of Problem Reports
+* Fields:: Problem Report format
+@end menu
+
+@include states.texi
+
+@include fields.texi
+
+@node Invoking send-pr
+@chapter Editing and sending PRs
+@cindex editing and sending PRs
+@cindex sending PRs
+@cindex invoking send-pr
+@cindex using send-pr
+@cindex generating new PRs
+
+@include s-usage.texi
+
+@node An Example
+@chapter An Example
+@cindex an example
+@cindex example PR
+@cindex Cygnus Solutions
+@cindex @sc{gnu} software support
+Cygnus Solutions in Sunnyvale, CA, uses @sc{gnats} and @code{send-pr}
+extensively for their support activities. As a support company, Cygnus
+finds problem tracking to be a crucial part of everyday business.
+Cygnus supports the @sc{gnu} compiling tools (including @sc{gnats} and
+@code{send-pr}) over several many platforms
+
+With each shipment of the Cygnus Solutions Developer's Kit, customers
+receive the latest version of @code{send-pr}, which contains an
+up-to-date listing of valid categories (values for the @code{>Category:}
+field). Using these tools, Cygnus' customers can communicate their
+problems to Cygnus effectively and receive automatic confirmation of
+receipt as well as notification of changes in the status of their
+reported problems. Much of Cygnus' support mechanism relies on
+electronic mail.
+
+As an example, let's pretend we're a customer of Cygnus Solutions, and
+that we're having a problem compiling some of our software using the
+@sc{gnu} C compiler, which Cygnus supports.
+
+Assume that we're getting an error in our @code{bifrabulator} program
+wherein the @samp{prestidigitation} routines don't match with the
+@samp{whatsitsname}. We've made sure we're following the rules of the
+program and checked the Release Notes from Cygnus and found that the bug
+isn't already known. In other words, we're pretty sure we've found a
+bug.
+
+@cindex Imaginary Software, Ltd.
+Our first step is to call @code{send-pr}. It really doesn't matter
+whether we use @code{send-pr} from the shell or from within Emacs.
+Indeed, if we use Emacs as a primary editor, calling @code{send-pr} from
+the shell is likely to start @code{send-pr} in an Emacs buffer anyway.
+So, since our company, @emph{Imaginary Software, Ltd.}, uses @sc{gnu}
+software extensively, we're pretty familiar with Emacs, so from within
+Emacs we type
+@smallexample
+M-x send-pr
+@end smallexample
+@noindent
+and we're greeted with the following screen:
+
+@cindex default PR template
+@cindex example of a default template
+@cindex blank PR template
+@cindex @code{bifrabulator}
+@cartouche
+@smallexample
+SEND-PR: -*- text -*-
+SEND-PR: Lines starting with `SEND-PR' will be removed
+SEND-PR: automatically as well as all comments (the text
+SEND-PR: below enclosed in `<' and `>').
+SEND-PR: Please consult the manual if you are not sure
+SEND-PR: how to fill out a problem report.
+SEND-PR:
+SEND-PR: Choose from the following categories:
+SEND-PR:
+SEND-PR: bfd binutils bison
+SEND-PR: byacc clib config cvs diff
+SEND-PR: doc emacs flex g++ gas
+SEND-PR: gcc gdb glob gprof grep
+SEND-PR: info ispell kerberos ld libg++
+SEND-PR: libiberty make makeinfo mas newlib
+SEND-PR: other patch rcs readline send-pr
+SEND-PR: test texindex texinfo texinfo.tex
+SEND-PR: bifrabulator <---@emph{note: this one is fake}
+SEND-PR:
+To: cygnus-bugs@@cygnus.com
+Subject:
+From: jeffrey@@imaginary.com
+Reply-To: jeffrey@@imaginary.com
+X-send-pr-version: send-pr @value{VERSION}
+
+>Submitter-Id: imaginary
+>Originator: Jeffrey Osier
+>Organization:
+Imaginary Software, Ltd.
+>Confidential: <[ yes | no ] (one line)>
+>Synopsis: <synopsis of the problem (one line)>
+>Severity: <[ non-critical | serious | critical ] (one line)>
+>Priority: <[ low | medium | high ] (one line)>
+>Category: <name of the product (one line)>
+>Class: <[sw-bug|doc-bug|change-request|support](oneline)>
+>Release: <release number or tag (one line)>
+>Environment:
+ <machine, os, target, libraries (multiple lines)>
+System: SunOS imaginary.com 4.1.1 1 sun4
+Architecture: sun4
+
+>Description:
+ <precise description of the problem (multiple lines)>
+>How-To-Repeat:
+ <code/input/activities to reproduce (multiple lines)>
+>Fix:
+@iftex
+@hrule
+@end iftex
+-----Emacs: *send-pr* (send-pr Fill)----All------------------
+@iftex
+@hrule
+@end iftex
+>Category: other[]
+@end smallexample
+@end cartouche
+@page
+We know from past experience that we need to set certain information into
+each field, so we compile all the information we know about our problem.
+We have some sample code which we know should work, even though it
+doesn't, so we'll include that. Below is the completed PR; we send this
+using @kbd{C-c C-c}. (The comments have been truncated).
+
+@cindex completed Problem Report
+@cindex example of a completed PR
+@cartouche
+@smallexample
+SEND-PR: Lines starting with `SEND-PR' will be removed
+SEND-PR: automatically as well as all comments (the text
+SEND-PR: @dots{}
+SEND-PR:
+To: cygnus-bugs@@cygnus.com
+Subject: bifrabulator routines don't match
+From: jeffrey@@imaginary.com
+Reply-To: jeffrey@@imaginary.com
+X-send-pr-version: send-pr @value{VERSION}
+
+>Submitter-Id: imaginary
+>Originator: Jeffrey Osier
+>Organization:
+Imaginary Software, Ltd.
+>Confidential: no
+>Synopsis: bifrabulator routines don't match
+>Severity: serious
+>Priority: medium
+>Category: bifrabulator
+>Class: sw-bug
+>Release: progressive-930101
+>Environment:
+System: SunOS imaginary.com 4.1.1 1 sun4
+Architecture: sun4 (SPARC)
+
+>Description:
+ the following code I fed into the bifrabulator came back
+ with a strange error. apparently, the prestidigitation
+ routine doesn't match with the whatsitsname in all cases.
+
+>How-To-Repeat:
+ call the bifrabulator on the following code.
+ @emph{code sample@dots{}}
+
+>Fix:
+@iftex
+@hrule
+@end iftex
+-----Emacs: *send-pr* (send-pr Fill)----All------------------
+@iftex
+@hrule
+@end iftex
+To send the problem report use: C-c C-c
+@end smallexample
+@end cartouche
+
+We type @kbd{C-c C-c}, and off it goes. Now, we depend on Cygnus
+Support to figure out the answer to our problem.
+
+Soon afterward, we get the following message from Cygnus:
+
+@smallexample
+@group
+From: gnats (GNATS management)
+Sender: gnats-admin
+Reply-To: hacker@@cygnus.com
+To: jeffrey@@imaginary.com
+Subject: Re: bifrabulator/1425: routines don't match
+
+Thank you very much for your problem report.
+It has the internal identification: g++/1425.
+The individual assigned to look at your bug is: hacker
+(F.B. Hacker)
+
+Category: bifrabulator
+Responsible: hacker
+Synopsis: bifrabulator routines don't match
+Arrival-Date: Sat Feb 30 03:12:55 1993
+@end group
+@end smallexample
+
+@noindent
+This is our receipt that the bug has been accepted and forwarded to the
+responsible party.
+
+@noindent
+A while later, we get the analysis:
+
+@smallexample
+@group
+To: jeffrey@@imaginary.com
+From: hacker@@cygnus.com
+Subject: Re: bifrabulator/1425: routines don't match
+Reply-To: hacker@@cygnus.com
+
+Got your message, Jeff. It seems that the bifrabulator was
+confusing the prestidigitation routines with the realitychecker
+when lexically parsing the whatsitsname.
+
+I'm working on robustisizing the bifrabulator now.
+
+How about lunch next week?
+--
+F.B. Hacker
+Cygnus Solutions, Sunnyvale, CA 408 542 9600
+#include <std-disclaimer.h>
+@end group
+@end smallexample
+
+@noindent
+About the same time, we get another message from Cygnus.
+
+@cindex state change example
+@cindex example of a state change
+@smallexample
+@group
+From: hacker@@cygnus.com
+To: jeffrey@@imaginary.com
+Subject: Re: bifrabulator/1425: doesn't match prestidig
+Reply-To: hacker@@cygnus.com
+
+
+ `F.B. Hacker' changed the state to `analyzed'.
+
+State-Changed-From-To: open-analyzed
+State-Changed-By: hacker
+State-Changed-When: Fri Feb 31 1993 08:59:16 1993
+State-Changed-Why:
+ figured out the problem, working on a patch this afternoon
+--
+F.B. Hacker
+Cygnus Solutions, Sunnyvale, CA 408 542 9600
+#include <std-disclaimer.h>
+@end group
+@end smallexample
+
+@noindent
+The bug has now been analyzed, and Cygnus is working on a solution.
+
+@noindent
+Sometime later, we get more mail from F.B.:
+
+@smallexample
+@group
+To: jeffrey@@imaginary.com
+From: hacker@@cygnus.com
+Subject: Re: bifrabulator/1425: routines don't match
+Reply-To: hacker@@cygnus.com
+
+There's a patch now that you can ftp over and check out.
+
+Hey, that joke you sent me was great! The one about the
+strings walking into a bar... my boss laughed for an hour!
+--
+F.B. Hacker
+Cygnus Solutions, Sunnyvale, CA 408 542 9600
+#include <std-disclaimer.h>
+@end group
+@end smallexample
+@sp 2
+@smallexample
+@group
+From: hacker@@cygnus.com
+To: jeffrey@@imaginary.com
+Subject: Re: bifrabulator/1425: doesn't match prestidig
+Reply-To: hacker@@cygnus.com
+
+
+ `F.B. Hacker' changed the state to `feedback'.
+
+State-Changed-From-To: analyzed-feedback
+State-Changed-By: hacker
+State-Changed-When: Fri Feb 31 1993 23:43:16 1993
+State-Changed-Why:
+ got the patch finished, notified Jeff at Imaginary Software
+--
+F.B. Hacker
+Cygnus Solutions, Sunnyvale, CA 408 542 9600
+#include <std-disclaimer.h>
+@end group
+@end smallexample
+
+@noindent
+The bug has gone into @dfn{feedback} status now, until we get the patch,
+install it and test it. When everything tests well, we can mail F.B.
+back and tell him the bug's been fixed, and he can change the state of
+the PR from @dfn{feedback} to @dfn{closed}.
+
+Following is a list of valid @samp{>Category:} entries that are
+supported by Cygnus.
+
+@menu
+* Valid Categories::
+@end menu
+
+@c FIXME - is this list up to date?
+@include categ.texi
+
+@node Installing send-pr
+@appendix Installing @code{send-pr} on your system
+@cindex installation
+
+If you receive @code{send-pr} as part of a larger software distribution,
+it probably gets installed when the full distribution is installed. If
+you are using @sc{gnats} at your site as well, you must decide where
+@code{send-pr} sends Problem Reports by default; see @ref{default site,,
+Setting a default @var{site}}.
+
+@menu
+* installation:: installing `send-pr' by itself
+* default site:: setting a default site
+@end menu
+
+@node installation
+@section Installing @code{send-pr} by itself
+@cindex installation procedure
+
+Install @code{send-pr} by following these steps (you may need
+@code{root} access in order to change the @file{aliases} file and to
+install @code{send-pr}):
+
+@itemize @bullet
+@item
+Unpack the distribution into a directory which we refer to as
+@var{srcdir}.
+
+@item
+Edit the file @file{Makefile} to reflect local conventions.
+Specifically, you should edit the variable @samp{prefix} to alter the
+installation location. The default is @file{/usr/local}. All files are
+installed under @samp{prefix} (see below).
+
+@item @emph{Run}
+@smallexample
+make all install [ info ] [ install-info ] [ clean ]
+@end smallexample
+
+@noindent
+The targets mean the following:
+
+@table @code
+@item all
+Builds @code{send-pr} and @code{install-sid}
+
+@item install
+Installs the following:
+
+@table @code
+@item install-sid
+@itemx send-pr
+into @file{@var{prefix}/bin}
+
+@item send-pr.1
+into @file{@var{prefix}/man/man1}
+
+@item @var{site}
+the list of valid @var{categories} for the Support Site from which you
+received @code{send-pr}, installed as
+@w{@file{@var{prefix}/share/gnats/@var{site}}}
+
+@item send-pr.el
+into @w{@file{@var{prefix}/share/emacs/lisp}}@footnote{If your main Emacs
+lisp repository is in a different directory from this, substitute that
+directory for @w{@file{@var{prefix}/share/emacs/lisp}}.}
+@end table
+
+@item info (@emph{optional})
+Builds @file{send-pr.info} from @file{send-pr.texi}@*
+@c FIXME - is this still true?
+(@file{send-pr.info} is included with this distribution)
+
+@item install-info (@emph{optional})
+Installs @file{send-pr.info} into @w{@file{@var{prefix}/info}}
+
+@item clean (@emph{optional})
+Removes all intermediary build files that can be rebuilt from source
+code
+@end table
+
+@item
+Run
+
+@smallexample
+install-sid @var{your-sid}
+@end smallexample
+
+@noindent
+where @var{your-sid} is the identification code you received with
+@w{@code{send-pr}}. @code{send-pr} automatically inserts this value
+into the template field @samp{>Submitter-Id:}. If you've downloaded
+@code{send-pr} from the Net, use @samp{net} for this value.
+
+@item
+Place the following line in
+@w{@file{@var{prefix}/share/emacs/lisp/default.el}}, or instruct your
+users to place the following line in their @file{.emacs} files:
+
+@smallexample
+(autoload 'send-pr "send-pr" "Submit a Problem Report." t)
+@end smallexample
+
+@item
+Create a mail alias for the Support Site from which you received
+@code{send-pr}, and for every site with which you wish to use
+@code{send-pr} to communicate. Each alias must have a suffix of
+@samp{-gnats}. The Support Site(s) will provide the correct addresses
+where these aliases should point. For instance, edit your mail aliases
+file to contain something like:
+
+@smallexample
+# support sites; for use with send-pr
+cygnus-gnats: bugs@@cygnus.com # Cygnus Solutions
+bumblebee-gnats: bumblebugs@@bumblebee.com # Bumblebee Inc.
+mycompany-gnats: bugs@@my.company.com (@emph{if you use @sc{gnats} locally})
+@end smallexample
+
+@code{send-pr} automatically searches for these aliases when you type
+
+@smallexample
+send-pr cygnus
+send-pr bumblebee
+send-pr @var{site}@dots{}
+@end smallexample
+
+@noindent
+@code{send-pr} also uses @var{site} to determine the categories of
+problems accepted by the site in question by looking in
+
+@smallexample
+@var{prefix}/share/gnats/@var{site}
+@end smallexample
+
+@end itemize
+
+@node default site
+@section Setting a default @var{site}
+@cindex default @var{site}
+@cindex setting a default @var{site}
+
+@code{send-pr} is capable of sending Problem Reports to any number of
+Support Sites, using mail aliases which have @samp{-gnats} appended them.
+@code{send-pr} automatically appends the suffix, so that when you type
+
+@smallexample
+send-pr @var{site}
+@end smallexample
+
+@noindent
+the Problem Report goes to the address noted in the @file{aliases} file
+as @w{@samp{@var{site}-gnats}}. You can do this in the Emacs version of
+@code{send-pr} by invoking the program with
+
+@smallexample
+C-u M-x send-pr
+@end smallexample
+
+@noindent
+You are prompted for @var{site}.
+
+@var{site} is also used to error-check the @samp{>Category:} field, as a
+precaution against sending mistaken information (and against sending
+information to the wrong site).
+
+You may also simply type
+
+@smallexample
+send-pr
+@end smallexample
+
+@noindent
+from the shell (or @w{@samp{M-x send-pr}} in Emacs), and the Problem
+Report you generate will be sent to the @var{site}, which is usually the
+site from which you received your distribution of @w{@code{send-pr}}.
+If you use @sc{gnats} at your own organization, the default is usually
+your local address for reporting problems.
+
+To change this, simply edit the file @file{Makefile} before installing
+and change the line
+
+@smallexample
+GNATS_SITE = @var{site}
+@end smallexample
+
+@noindent
+to reflect the site where you wish to send PRs by default.
+
+@c ---------------------------------------------------------------
+@node Index
+@unnumbered Index
+
+@printindex cp
+
+@c ---------------------------------------------------------------
+@contents
+@bye
diff --git a/gnu/usr.bin/send-pr/doc/states.texi b/gnu/usr.bin/send-pr/doc/states.texi
new file mode 100644
index 0000000..f38405c
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/states.texi
@@ -0,0 +1,58 @@
+@c $FreeBSD$
+
+@node States
+@section States of Problem Reports
+
+@cindex life-cycle of a Problem Report
+@cindex states of Problem Reports
+@cindex Problem Report states
+@cindex automatic notification
+
+Each PR goes through a defined series of states between origination and
+closure. The originator of a PR receives notification automatically of
+any state changes.
+
+Unless your site has customized states (see @pxref{states
+file,,,gnats}), @sc{gnats} uses these states:
+
+@table @dfn
+@cindex @emph{open} state
+@cindex initial state (@dfn{open})
+@cindex state---@dfn{open}
+@item open
+The initial state of a Problem Report. This means the PR has been filed
+and the responsible person(s) notified.
+
+@cindex @emph{analyzed} state
+@cindex state---@dfn{analyzed}
+@item analyzed
+The responsible person has analyzed the problem. The analysis should
+contain a preliminary evaluation of the problem and an estimate of the
+amount of time and resources necessary to solve the problem. It should
+also suggest possible workarounds.
+
+@cindex @emph{feedback} state
+@cindex state---@dfn{feedback}
+@item feedback
+The problem has been solved, and the originator has been given a patch
+or other fix. The PR remains in this state until the originator
+acknowledges that the solution works.
+
+@cindex @emph{closed} state
+@cindex state---@dfn{closed}
+@cindex final state (@dfn{closed})
+@item closed
+A Problem Report is closed (``the bug stops here'') only when any
+changes have been integrated, documented, and tested, and the submitter
+has confirmed the solution.
+
+@cindex @emph{suspended} state
+@cindex state---@dfn{suspended}
+@item suspended
+Work on the problem has been postponed. This happens if a timely
+solution is not possible or is not cost-effective at the present time.
+The PR continues to exist, though a solution is not being actively
+sought. If the problem cannot be solved at all, it should be closed
+rather than suspended.
+@end table
+
diff --git a/gnu/usr.bin/send-pr/doc/version.texi b/gnu/usr.bin/send-pr/doc/version.texi
new file mode 100644
index 0000000..bffedc2
--- /dev/null
+++ b/gnu/usr.bin/send-pr/doc/version.texi
@@ -0,0 +1,3 @@
+@c $FreeBSD$
+
+@set VERSION 3.113
diff --git a/gnu/usr.bin/send-pr/install-sid.sh b/gnu/usr.bin/send-pr/install-sid.sh
new file mode 100755
index 0000000..f7f24e5
--- /dev/null
+++ b/gnu/usr.bin/send-pr/install-sid.sh
@@ -0,0 +1,82 @@
+#!/bin/sh
+# Drop in the SUBMITTER id into a site's installed send-pr script.
+# Copyright (C) 1993 Free Software Foundation, Inc.
+# Contributed by Brendan Kehoe (brendan@cygnus.com), based on a
+# version written by Heinz G. Seidl (hgs@ide.com).
+#
+# This file is part of GNU GNATS.
+#
+# GNU GNATS is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU GNATS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU GNATS; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+COMMAND=`echo $0 | sed -e 's,.*/,,g'`
+USAGE="Usage: $COMMAND [--install-dir=prefix] [--help] [--version] submitter-id"
+
+VERSION=3.2
+
+BINDIR=@BINDIR@
+
+SUBMITTER=
+TEMP=/tmp/sp$$
+
+if [ $# -eq 0 ]; then
+ echo "$USAGE"
+ exit 1
+fi
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -install-dir=*|--install-dir=*|--install-di=*|--install-d=*|--install-=*|--install=*|--instal=*|--insta=*|--inst=*|--ins=*|--in=*|--i=*)
+ I=`echo "$1" | sed 's/-*i[a-z\-]*=//'`
+ BINDIR=$I/bin ;;
+ --version) echo $COMMAND version $VERSION ; exit 1 ;;
+ -*) echo "$USAGE" ; exit 1 ;;
+ *) SUBMITTER=$1 ;;
+ esac
+ shift
+done
+
+path=`echo $0 | sed -e "s;${COMMAND};;"`
+
+[ -z "$path" ] && path=.
+
+if [ -f $BINDIR/send-pr ]; then
+ SPPATH=$BINDIR/send-pr
+elif [ -f $path/send-pr ]; then
+ SPPATH=$path/send-pr
+else
+ echo "$COMMAND: cannot find \`$BINDIR/send-pr' or \`$path/send-pr'" >&2
+ exit 1
+fi
+
+trap 'rm -f $TEMP ; exit 0' 0
+trap 'echo "$COM: Aborting ..."; rm -f $TEMP ; exit 1' 1 2 3 13 15
+
+sed -e "s/^SUBMITTER=.*/SUBMITTER=${SUBMITTER}/" $SPPATH > $TEMP
+
+if grep $SUBMITTER $TEMP > /dev/null; then
+ cp $SPPATH $SPPATH.orig &&
+ rm -f $SPPATH &&
+ cp $TEMP $SPPATH &&
+ chmod a+rx $SPPATH &&
+ rm -f $TEMP $SPPATH.orig ||
+ { echo "$COMMAND: unable to replace send-pr" >&2 ; exit 1; }
+else
+ echo "$COMMAND: something went wrong when sed-ing the submitter into send-pr" >&2
+ exit 1
+fi
+
+echo "$COMMAND: \`$SUBMITTER' is now the default submitter ID for send-pr"
+
+exit 0
diff --git a/gnu/usr.bin/send-pr/send-pr-el.in b/gnu/usr.bin/send-pr/send-pr-el.in
new file mode 100644
index 0000000..8195ecb
--- /dev/null
+++ b/gnu/usr.bin/send-pr/send-pr-el.in
@@ -0,0 +1,813 @@
+;;;; -*-emacs-lisp-*-
+;;;;---------------------------------------------------------------------------
+;;;; EMACS interface for send-pr (by Heinz G. Seidl)
+;;;; Slightly hacked by Brendan Kehoe (brendan@cygnus.com).
+;;;;
+;;;; This file is part of the Problem Report Management System (GNATS)
+;;;; Copyright 1992, 1993, 1997 Cygnus Support
+;;;;
+;;;; This program is free software; you can redistribute it and/or
+;;;; modify it under the terms of the GNU General Public
+;;;; License as published by the Free Software Foundation; either
+;;;; version 2 of the License, or (at your option) any later version.
+;;;;
+;;;; This program is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;;; General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU Library General Public
+;;;; License along with this program; if not, write to the Free
+;;;; Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;;
+;;;;---------------------------------------------------------------------------
+;;;;
+;;;; This file contains the EMACS interface to the Problem Report Management
+;;;; System (GNATS):
+;;;;
+;;;; - The `send-pr' command and the `send-pr-mode' for sending
+;;;; Problem Reports (PRs).
+;;;;
+;;;; For more information about how to send a PR see send-pr(1).
+;;;;
+;;;;---------------------------------------------------------------------------
+;;;;
+;;;; Configuration: the symbol `DEFAULT-RELEASE' can be replaced by
+;;;; site/release specific strings during the configuration/installation
+;;;; process.
+;;;;
+;;;; Install this file in your EMACS library directory.
+;;;;
+;;;;---------------------------------------------------------------------------
+;;;;
+;;;; $FreeBSD$
+
+(provide 'send-pr)
+
+;;;;---------------------------------------------------------------------------
+;;;; Customization: put the following forms into your default.el file
+;;;; (or into your .emacs)
+;;;;---------------------------------------------------------------------------
+
+;(autoload 'send-pr-mode "send-pr"
+; "Major mode for sending problem reports." t)
+
+;(autoload 'send-pr "send-pr"
+; "Command to create and send a problem report." t)
+
+;;;;---------------------------------------------------------------------------
+;;;; End of Customization Section
+;;;;---------------------------------------------------------------------------
+
+(autoload 'server-buffer-done "server")
+(defvar server-buffer-clients nil)
+(defvar mail-self-blind nil)
+(defvar mail-default-reply-to nil)
+
+(defconst send-pr::version "3.113")
+
+(defvar gnats:root "/home/gnats"
+ "*The top of the tree containing the GNATS database.")
+
+;;;;---------------------------------------------------------------------------
+;;;; hooks
+;;;;---------------------------------------------------------------------------
+
+(defvar text-mode-hook nil) ; we define it here in case it's not defined
+(defvar send-pr-mode-hook text-mode-hook "Called when send-pr is invoked.")
+
+;;;;---------------------------------------------------------------------------
+;;;; Domains and default values for (some of) the Problem Report fields;
+;;;; constants and definitions.
+;;;;---------------------------------------------------------------------------
+
+(defconst gnats::emacs-19p
+ (not (or (and (boundp 'epoch::version) epoch::version)
+ (string-lessp emacs-version "19")))
+ "Is this emacs v19?")
+
+;;; This has to be here rather than at the bottom of this file with
+;;; the other utility functions because it is used by
+;;; gnats::get-config, which is called when send-pr.el is being
+;;; loaded (see the "defconst" below), before the whole file has been
+;;; loaded.
+
+(defun gnats::find-safe-default-directory (&optional buffer)
+"If the directory referred to by `default-directory' for the current
+buffer (or for optional argument BUFFER) does not exist, set it to the home
+directory of the current user if that exists, or to `/'.
+
+Returns the final value of default-directory in the buffer."
+ (let ((homedir (expand-file-name "~/")))
+ (save-excursion
+ (if buffer (set-buffer buffer))
+ (if (not (file-exists-p default-directory))
+ (if (file-exists-p homedir)
+ (setq default-directory homedir)
+ (setq default-directory "/")))
+ default-directory)))
+
+;;; These may be changed during configuration/installation or by the individual
+;;; user in his/her .emacs file.
+;;;
+(defun gnats::get-config (var)
+ (let ((shell-file-name "/bin/sh")
+ (buf (generate-new-buffer " *GNATS config*"))
+ ret)
+ (save-excursion
+ (set-buffer buf)
+ (shell-command-on-region
+ (point-min) (point-max)
+ (concat ". " gnats:root "/gnats-adm/config; echo $" var ) t)
+ (goto-char (point-min))
+ ; We have to use get-buffer, since shell-command-on-region will wipe
+ ; out the buffer if there's no output from the command.
+ (if (or (not (get-buffer "*Shell Command Output*"))
+ (looking-at "^\\.:\\|/bin/sh:\\|\n"))
+ (setq ret nil)
+ (setq ret (buffer-substring (point-min) (- (point-max) 1)))))
+ (if (and ret (string-equal ret "")) (setq ret nil))
+ (kill-buffer buf)
+ ret))
+
+;; const because it must match the script's value
+(defconst send-pr:datadir (or (gnats::get-config "DATADIR") "@DATADIR@")
+ "*Where the `gnats' subdirectory containing category lists lives.")
+
+(defvar send-pr::sites nil
+ "List of GNATS support sites; computed at runtime.")
+(defvar send-pr:default-site
+ (or (gnats::get-config "GNATS_SITE") "freefall")
+ "Default site to send bugs to.")
+(defvar send-pr:::site send-pr:default-site
+ "The site to which a problem report is currently being submitted, or NIL
+if using the default site (buffer local).")
+
+(defvar send-pr:::categories nil
+ "Buffer local list of available categories, derived at runtime from
+send-pr:::site and send-pr::category-alist.")
+(defvar send-pr::category-alist nil
+ "Alist of GNATS support sites and the categories supported at each; computed
+at runtime.")
+
+;;; Ideally we would get all the following values from a central database
+;;; during runtime instead of having them here in the code.
+;;;
+(defconst send-pr::fields
+ (` (("Category" send-pr::set-categories
+ (, (or (gnats::get-config "DEFAULT_CATEGORY") nil)) enum)
+ ("Class" (("sw-bug") ("doc-bug") ("change-request") ("update") ("maintainer-update"))
+ (, (or (gnats::get-config "DEFAULT_CLASS") 0)) enum)
+ ("Confidential" (("yes") ("no"))
+ (, (or (gnats::get-config "DEFAULT_CONFIDENTIAL") 1)) enum)
+ ("Severity" (("non-critical") ("serious") ("critical"))
+ (, (or (gnats::get-config "DEFAULT_SEVERITY") 1)) enum)
+ ("Priority" (("low") ("medium") ("high"))
+ (, (or (gnats::get-config "DEFAULT_PRIORITY") 1)) enum)
+ ("Release" nil
+ (, (or (gnats::get-config "DEFAULT_RELEASE") "@DEFAULT_RELEASE@"))
+ text)
+ ("Submitter-Id" nil
+ (, (or (gnats::get-config "DEFAULT_SUBMITTER") "unknown")) text)
+ ("Synopsis" nil nil text
+ (lambda (a b c) (gnats::set-mail-field "Subject" c)))))
+ "AList, keyed on the name of the field, of:
+1) The field name.
+2) The list of completions. This can be a list, a function to call, or nil.
+3) The default value.
+4) The type of the field.
+5) A sub-function to call when changed.")
+
+(defvar gnats::fields nil)
+
+(defmacro gnats::push (i l)
+ (` (setq (, l) (cons (,@ (list i l))))))
+
+(defun send-pr::set-categories (&optional arg)
+ "Get the list of categories for the current site out of
+send-pr::category-alist if there or from send-pr if not. With arg, force
+update."
+ ;;
+ (let ((entry (assoc send-pr:::site send-pr::category-alist)))
+ (or (and entry (null arg))
+ (let ((oldpr (getenv "GNATS_ROOT")) cats)
+ (send-pr::set-sites arg)
+ (setenv "GNATS_ROOT" gnats:root)
+ (setq cats (gnats::get-value-from-shell
+ "send-pr" "-CL" send-pr:::site))
+ (setenv "GNATS_ROOT" oldpr)
+ (if entry (setcdr entry cats)
+ (setq entry (cons send-pr:::site cats))
+ (gnats::push entry send-pr::category-alist))))
+ (setq send-pr:::categories (cdr entry))))
+
+(defun send-pr::set-sites (&optional arg)
+ "Get the list of sites (by listing the contents of DATADIR/gnats) and assign
+it to send-pr::sites. With arg, force update."
+ (or (and (null arg) send-pr::sites)
+ (progn
+ (setq send-pr::sites nil)
+ (mapcar
+ (function
+ (lambda (file)
+ (or (memq t (mapcar (function (lambda (x) (string= x file)))
+ '("." ".." "pr-edit" "pr-addr")))
+ (not (file-readable-p file))
+ (gnats::push (list (file-name-nondirectory file))
+ send-pr::sites))))
+ (directory-files (format "%s/gnats" send-pr:datadir) t))
+ (setq send-pr::sites (reverse send-pr::sites)))))
+
+(defconst send-pr::pr-buffer-name "*send-pr*"
+ "Name of the temporary buffer, where the problem report gets composed.")
+
+(defconst send-pr::err-buffer-name "*send-pr-error*"
+ "Name of the temporary buffer, where send-pr error messages appear.")
+
+(defvar send-pr:::err-buffer nil
+ "The error buffer used by the current PR buffer.")
+
+(defvar send-pr:::spawn-to-send nil
+ "Whether or not send-pr-mode should spawn a send-pr process to send the PR.")
+
+(defconst gnats::indent 17 "Indent for formatting the value.")
+
+;;;;---------------------------------------------------------------------------
+;;;; `send-pr' - command for creating and sending of problem reports
+;;;;---------------------------------------------------------------------------
+
+(fset 'send-pr 'send-pr:send-pr)
+(defun send-pr:send-pr (&optional site)
+ "Create a buffer and read in the result of `send-pr -P'.
+When finished with editing the problem report use \\[send-pr:submit-pr]
+to send the PR with `send-pr -b -f -'."
+ ;;
+ (interactive
+ (if current-prefix-arg
+ (list (completing-read "Site: " (send-pr::set-sites 'recheck) nil t
+ send-pr:default-site))))
+ (or site (setq site send-pr:default-site))
+ (let ((buf (get-buffer send-pr::pr-buffer-name)))
+ (if (or (not buf)
+ (progn (switch-to-buffer buf)
+ (cond ((or (not (buffer-modified-p buf))
+ (y-or-n-p "Erase previous problem report? "))
+ (erase-buffer) t)
+ (t nil))))
+ (send-pr::start-up site))))
+
+(defun send-pr::start-up (site)
+ (switch-to-buffer (get-buffer-create send-pr::pr-buffer-name))
+ (setq default-directory (expand-file-name "~/"))
+ (auto-save-mode auto-save-default)
+ (let ((oldpr (getenv "GNATS_ROOT"))
+ (case-fold-search nil))
+ (setenv "GNATS_ROOT" gnats:root)
+ (send-pr::insert-template site)
+ (setenv "GNATS_ROOT" oldpr)
+ (goto-char (point-min))
+ (if (looking-at "send-pr:")
+ (cond ((looking-at "send-pr: .* does not have a categories list")
+ (setq send-pr::sites nil)
+ (error "send-pr: the GNATS site %s does not have a categories list" site))
+ (t (error (buffer-substring (point-min) (point-max)))))
+ (save-excursion
+ ;; Clear cruft inserted by bdamaged .cshrcs
+ (goto-char 1)
+ (re-search-forward "^SEND-PR:")
+ (delete-region 1 (match-beginning 0)))))
+ (set-buffer-modified-p nil)
+ (send-pr:send-pr-mode)
+ (setq send-pr:::site site)
+ (setq send-pr:::spawn-to-send t)
+ (send-pr::set-categories)
+ (if (null send-pr:::categories)
+ (progn
+ (and send-pr:::err-buffer (kill-buffer send-pr:::err-buffer))
+ (kill-buffer nil)
+ (message "send-pr: no categories found"))
+ (or (stringp mail-default-reply-to)
+ (setq mail-default-reply-to (getenv "REPLYTO")))
+ (and mail-default-reply-to
+ (gnats::set-mail-field "Reply-To" mail-default-reply-to))
+ (and mail-self-blind
+ (gnats::set-mail-field "BCC" (user-login-name)))
+ (mapcar 'send-pr::maybe-change-field send-pr::fields)
+ (gnats::position-on-field "Description")
+ (message (substitute-command-keys
+ "To send the problem report use: \\[send-pr:submit-pr]"))))
+
+(defvar send-pr::template-alist nil
+ "An alist containing the output of send-pr -P <sitename> for various sites.")
+
+(defun send-pr::insert-template (site)
+ (let ((elt (assoc site send-pr::template-alist)))
+ (if elt
+ (save-excursion (insert (cdr elt)))
+ (call-process "send-pr" nil t nil "-P" site)
+ (save-excursion
+ (setq send-pr::template-alist
+ (cons (cons site (buffer-substring (point-min) (point-max)))
+ send-pr::template-alist))))))
+
+(fset 'do-send-pr 'send-pr:submit-pr) ;backward compat
+(defun send-pr:submit-pr ()
+ "Pipe the contents of the buffer *send-pr* to `send-pr -f -.' unless this
+buffer was loaded with emacsclient, in which case save the buffer and exit."
+ ;;
+ (interactive)
+ (cond
+ ((and (boundp 'server-buffer-clients)
+ server-buffer-clients)
+ (let ((buffer (current-buffer))
+ (version-control nil) (buffer-backed-up nil))
+ (save-buffer buffer)
+ (kill-buffer buffer)
+ (server-buffer-done buffer)))
+ (send-pr:::spawn-to-send
+ (if (or (buffer-modified-p)
+ (not send-pr:::sent)
+ (y-or-n-p "PR already sent; resend? "))
+ (progn
+ (or (and send-pr:::err-buffer
+ (buffer-name send-pr:::err-buffer))
+ (setq send-pr:::err-buffer
+ (get-buffer-create send-pr::err-buffer-name)))
+ (let ((err-buffer send-pr:::err-buffer) mesg ok)
+ (save-excursion (set-buffer err-buffer) (erase-buffer))
+ (message "running send-pr...")
+ (let ((oldpr (getenv "GNATS_ROOT")))
+ (setenv "GNATS_ROOT" gnats:root)
+ ;; ensure that a final newline is present:
+ (if (not (equal (char-after (1- (point-max))) ?\n))
+ (save-excursion (goto-char (point-max))
+ (insert ?\n)))
+ (call-process-region (point-min) (point-max) "send-pr"
+ nil err-buffer nil send-pr:::site
+ "-b" "-f" "-")
+ (setenv "GNATS_ROOT" oldpr))
+ (message "running send-pr...done")
+ ;; stupidly we cannot check the return value in EMACS 18.57,
+ ;; thus we need this kluge to find out whether send-pr succeeded.
+ (if (save-excursion
+ (set-buffer err-buffer)
+ (goto-char (point-min))
+ (setq mesg (buffer-substring (point-min) (- (point-max) 1)))
+ (search-forward "problem report sent" nil t))
+ (progn (message mesg)
+ (kill-buffer err-buffer)
+ (delete-auto-save-file-if-necessary)
+ (set-buffer-modified-p nil)
+ (setq send-pr:::sent t)
+ (bury-buffer))
+ (pop-to-buffer err-buffer))
+ ))))
+ (t
+ (save-buffer)
+ (message "Exit emacs to send the PR."))))
+
+;;;;---------------------------------------------------------------------------
+;;;; send-pr:send-pr-mode mode
+;;;;---------------------------------------------------------------------------
+
+(defvar send-pr-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\C-c\C-c" 'send-pr:submit-pr)
+ (define-key map "\C-c\C-f" 'gnats:change-field)
+ (define-key map "\M-n" 'gnats:next-field)
+ (define-key map "\M-p" 'gnats:previous-field)
+ (define-key map "\C-\M-f" 'gnats:forward-field)
+ (define-key map "\C-\M-b" 'gnats:backward-field)
+ map)
+ "Keymap for send-pr mode.")
+
+(defconst gnats::keyword "^>\\([-a-zA-Z]+\\):")
+(defconst gnats::before-keyword "[ \t\n\f]*[\n\f]+>\\([-a-zA-Z]+\\):")
+(defconst gnats::after-keyword "^>\\([-a-zA-Z]+\\):[ \t\n\f]+")
+
+(fset 'send-pr-mode 'send-pr:send-pr-mode)
+(defun send-pr:send-pr-mode ()
+ "Major mode for submitting problem reports.
+For information about the form see gnats(1) and send-pr(1).
+Special commands: \\{send-pr-mode-map}
+Turning on send-pr-mode calls the value of the variable send-pr-mode-hook,
+if it is not nil."
+ (interactive)
+ (gnats::patch-exec-path)
+ (put 'send-pr:send-pr-mode 'mode-class 'special)
+ (kill-all-local-variables)
+ (setq major-mode 'send-pr:send-pr-mode)
+ (setq mode-name "send-pr")
+ (use-local-map send-pr-mode-map)
+ (set-syntax-table text-mode-syntax-table)
+ (setq local-abbrev-table text-mode-abbrev-table)
+ (setq buffer-offer-save t)
+ (make-local-variable 'send-pr:::site)
+ (make-local-variable 'send-pr:::categories)
+ (make-local-variable 'send-pr:::err-buffer)
+ (make-local-variable 'send-pr:::spawn-to-send)
+ (make-local-variable 'send-pr:::sent)
+ (setq send-pr:::sent nil)
+ (make-local-variable 'paragraph-separate)
+ (setq paragraph-separate (concat (default-value 'paragraph-separate)
+ "\\|" gnats::keyword "[ \t\n\f]*$"))
+ (make-local-variable 'paragraph-start)
+ (setq paragraph-start (concat (default-value 'paragraph-start)
+ "\\|" gnats::keyword))
+ (run-hooks 'send-pr-mode-hook)
+ t)
+
+;;;;---------------------------------------------------------------------------
+;;;; Functions to read and replace field values.
+;;;;---------------------------------------------------------------------------
+
+(defun gnats::position-on-field (field &optional quiet)
+ (goto-char (point-min))
+ (if (not (re-search-forward (concat "^>" field ":") nil t))
+ (if quiet
+ nil
+ (error "Field `>%s:' not found." field))
+ (re-search-forward "[ \t\n\f]*")
+ (if (looking-at gnats::keyword)
+ (backward-char 1))
+ t))
+
+(defun gnats::mail-position-on-field (field)
+ (let (end
+ (case-fold-search t))
+ (goto-char (point-min))
+ (re-search-forward "^$")
+ (setq end (match-beginning 0))
+ (goto-char (point-min))
+ (if (not (re-search-forward (concat "^" field ":") end 'go-to-end))
+ (insert field ": \n")
+ (re-search-forward "[ \t\n\f]*"))
+ (skip-chars-backward "\n")
+ t))
+
+(defun gnats::field-contents (field &optional elem move)
+ (let (pos)
+ (unwind-protect
+ (save-excursion
+ (if (not (gnats::position-on-field field t))
+ nil
+ (setq pos (point-marker))
+ (if (or (looking-at "<.*>$") (eolp))
+ t
+ (looking-at ".*$") ; to set match-{beginning,end}
+ (gnats::nth-word
+ (buffer-substring (match-beginning 0) (match-end 0))
+ elem))))
+ (and move pos (goto-char pos)))))
+
+(defun gnats::functionp (thing)
+ (or (and (symbolp thing) (fboundp thing))
+ (and (listp thing) (eq (car thing) 'lambda))))
+
+(defun gnats::field-values (field)
+ "Return the possible (known) values for field FIELD."
+ (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields
+ send-pr::fields))
+ (thing (elt (assoc field fields) 1)))
+ (cond ((gnats::functionp thing) (funcall thing))
+ ((listp thing) thing)
+ (t (error "ACK")))))
+
+(defun gnats::field-default (field)
+ "Return the default value for field FIELD."
+ (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields
+ send-pr::fields))
+ (thing (elt (assoc field fields) 2)))
+ (cond ((stringp thing) thing)
+ ((null thing) "")
+ ((numberp thing) (car (elt (gnats::field-values field) thing)))
+ ((gnats::functionp thing)
+ (funcall thing (gnats::field-contents field)))
+ ((eq thing t) (gnats::field-contents field))
+ (t (error "ACK")))))
+
+(defun gnats::field-type (field)
+ "Return the type of field FIELD."
+ (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields
+ send-pr::fields))
+ (thing (elt (assoc field fields) 3)))
+ thing))
+
+(defun gnats::field-action (field)
+ "Return the extra handling function for field FIELD."
+ (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields
+ send-pr::fields))
+ (thing (elt (assoc field fields) 4)))
+ (cond ((null thing) 'ignore)
+ ((gnats::functionp thing) thing)
+ (t (error "ACK")))))
+
+;;;;---------------------------------------------------------------------------
+;;;; Point movement functions
+;;;;---------------------------------------------------------------------------
+
+(or (fboundp 'defsubst) (fset 'defsubst 'defun))
+
+(defun send-pr::maybe-change-field (field)
+ (setq field (car field))
+ (let ((thing (gnats::field-contents field)))
+ (and thing (eq t thing)
+ (not (eq 'multi-text (gnats::field-type field)))
+ (gnats:change-field field))))
+
+(defun gnats:change-field (&optional field default)
+ "Change the value of the field containing the cursor. With arg, ask the
+user for the field to change. From a program, the function takes optional
+arguments of the field to change and the default value to use."
+ (interactive)
+ (or field current-prefix-arg (setq field (gnats::current-field)))
+ (or field
+ (setq field
+ (completing-read "Field: "
+ (if (eq major-mode 'gnats:gnats-mode)
+ gnats::fields
+ send-pr::fields)
+ nil t)))
+ (gnats::position-on-field field)
+ (sit-for 0)
+ (let* ((old (gnats::field-contents field))
+ new)
+ (if (null old)
+ (error "ACK")
+ (if (or (interactive-p) t)
+ (let ((prompt (concat ">" field ": "))
+ (domain (gnats::field-values field))
+ (type (gnats::field-type field)))
+ (or default (setq default (gnats::field-default field)))
+ (setq new
+ (if (eq type 'enum)
+ (completing-read prompt domain nil t
+ (if gnats::emacs-19p (cons default 0)
+ default))
+ (read-string prompt (if gnats::emacs-19p (cons default 1)
+ default)))))
+ (setq new default))
+ (gnats::set-field field new)
+ (funcall (gnats::field-action field) field old new)
+ new)))
+
+(defun gnats::set-field (field value)
+ (save-excursion
+ (gnats::position-on-field field)
+ (delete-horizontal-space)
+ (looking-at ".*$")
+ (replace-match
+ (concat (make-string (- gnats::indent (length field) 2) ?\40 ) value) t)))
+
+(defun gnats::set-mail-field (field value)
+ (save-excursion
+ (gnats::mail-position-on-field field)
+ (delete-horizontal-space)
+ (looking-at ".*$")
+ (replace-match (concat " " value) t)))
+
+(defun gnats::before-keyword (&optional where)
+ "Returns t if point is in some white space before a keyword.
+If where is nil, then point is not changed; if where is t then point is moved
+to the beginning of the keyword, otherwise it is moved to the beginning
+of the white space it was in."
+ ;;
+ (if (looking-at gnats::before-keyword)
+ (prog1 t
+ (cond ((eq where t)
+ (re-search-forward "^>") (backward-char))
+ ((not (eq where nil))
+ (re-search-backward "[^ \t\n\f]") (forward-char))))
+ nil))
+
+(defun gnats::after-keyword (&optional where)
+ "Returns t if point is in some white space after a keyword.
+If where is nil, then point is not changed; if where is t then point is moved
+to the beginning of the keyword, otherwise it is moved to the end of the white
+space it was in."
+ ;;
+ (if (gnats::looking-after gnats::after-keyword)
+ (prog1 t
+ (cond ((eq where t)
+ (re-search-backward "^>"))
+ ((not (eq where nil))
+ (re-search-forward "[^ \t\n\f]") (backward-char))))
+ nil))
+
+(defun gnats::in-keyword (&optional where)
+ "Returns t if point is within a keyword.
+If where is nil, then point is not changed; if where is t then point is moved
+to the beginning of the keyword."
+ ;;
+ (let ((old-point (point-marker)))
+ (beginning-of-line)
+ (cond ((and (looking-at gnats::keyword)
+ (< old-point (match-end 0)))
+ (prog1 t
+ (if (eq where t)
+ t
+ (goto-char old-point))))
+ (t (goto-char old-point)
+ nil))))
+
+(defun gnats::forward-bofield ()
+ "Moves point to the beginning of a field. Assumes that point is in the
+keyword."
+ ;;
+ (if (re-search-forward "[ \t\n\f]+[^ \t\n\f]" (point-max) '-)
+ (backward-char)
+ t))
+
+(defun gnats::backward-eofield ()
+ "Moves point to the end of a field. Assumes point is in the keyword."
+ ;;
+ (if (re-search-backward "[^ \t\n\f][ \t\n\f]+" (point-min) '-)
+ (forward-char)
+ t))
+
+(defun gnats::forward-eofield ()
+ "Moves point to the end of a field. Assumes that point is in the field."
+ ;;
+ ;; look for the next field
+ (if (re-search-forward gnats::keyword (point-max) '-)
+ (progn (beginning-of-line) (gnats::backward-eofield))
+ (re-search-backward "[^ \t\n\f][ \t\n\f]*" (point-min) '-)
+ (forward-char)))
+
+(defun gnats::backward-bofield ()
+ "Moves point to the beginning of a field. Assumes that point is in the
+field."
+ ;;
+ ;;look for previous field
+ (if (re-search-backward gnats::keyword (point-min) '-)
+ (gnats::forward-bofield)
+ t))
+
+
+(defun gnats:forward-field ()
+ "Move point forward to the end of the field or to the beginning of the next
+field."
+ ;;
+ (interactive)
+ (if (or (gnats::before-keyword t) (gnats::in-keyword t)
+ (gnats::after-keyword t))
+ (gnats::forward-bofield)
+ (gnats::forward-eofield)))
+
+(defun gnats:backward-field ()
+ "Move point backward to the beginning/end of a field."
+ ;;
+ (interactive)
+ (backward-char)
+ (if (or (gnats::before-keyword t) (gnats::in-keyword t)
+ (gnats::after-keyword t))
+ (gnats::backward-eofield)
+ (gnats::backward-bofield)))
+
+(defun gnats:next-field ()
+ "Move point to the beginning of the next field."
+ ;;
+ (interactive)
+ (if (or (gnats::before-keyword t) (gnats::in-keyword t)
+ (gnats::after-keyword t))
+ (gnats::forward-bofield)
+ (if (re-search-forward gnats::keyword (point-max) '-)
+ (gnats::forward-bofield)
+ t)))
+
+(defun gnats:previous-field ()
+ "Move point to the beginning of the previous field."
+ ;;
+ (interactive)
+ (backward-char)
+ (if (or (gnats::after-keyword t) (gnats::in-keyword t)
+ (gnats::before-keyword t))
+ (progn (re-search-backward gnats::keyword (point-min) '-)
+ (gnats::forward-bofield))
+ (gnats::backward-bofield)))
+
+(defun gnats:beginning-of-field ()
+ "Move point to the beginning of the current field."
+ (interactive)
+ (cond ((gnats::in-keyword t)
+ (gnats::forward-bofield))
+ ((gnats::after-keyword 0))
+ (t
+ (gnats::backward-bofield))))
+
+(defun gnats::current-field ()
+ (save-excursion
+ (if (cond ((or (gnats::in-keyword t) (gnats::after-keyword t))
+ (looking-at gnats::keyword))
+ ((re-search-backward gnats::keyword nil t)))
+ (buffer-substring (match-beginning 1) (match-end 1))
+ nil)))
+
+;;;;---------------------------------------------------------------------------
+;;;; Support functions
+;;;;---------------------------------------------------------------------------
+
+(defun gnats::looking-after (regex)
+ "Returns t if point is after regex."
+ ;;
+ (let* ((old-point (point))
+ (start (if (eobp)
+ old-point
+ (forward-char) (point))))
+ (cond ((re-search-backward regex (point-min) t)
+ (goto-char old-point)
+ (cond ((eq (match-end 0) start)
+ t))))))
+
+(defun gnats::nth-word (string &optional elem)
+ "Returns the elem-th word of the string.
+If elem is nil, then the first wort is returned, if elem is 0 then
+the whole string is returned."
+ ;;
+ (if (integerp elem)
+ (cond ((eq elem 0) string)
+ ((eq elem 1) (gnats::first-word string))
+ ((equal string "") "")
+ ((>= elem 2)
+ (let ((i 0) (value ""))
+ (setq string ; strip leading blanks
+ (substring string (or (string-match "[^ \t]" string) 0)))
+ (while (< i elem)
+ (setq value
+ (substring string 0
+ (string-match "[ \t]*$\\|[ \t]+" string)))
+ (setq string
+ (substring string (match-end 0)))
+ (setq i (+ i 1)))
+ value)))
+ (gnats::first-word string)))
+
+(defun gnats::first-word (string)
+ (setq string
+ (substring string (or (string-match "[^ \t]" string) 0)))
+ (substring string 0 (string-match "[ \t]*$\\|[ \t]+" string)))
+
+;;;;---------------------------------------------------------------------------
+
+(defun gnats::patch-exec-path ()
+ ;;
+ "Replaces `//' by `/' in `exec-path'."
+ ;;
+ ;(make-local-variable 'exec-path)
+ (let ((err-buffer (get-buffer-create " *gnats::patch-exec-path*"))
+ (ret))
+ (setq exec-path (save-excursion (set-buffer err-buffer)
+ (prin1 exec-path err-buffer)
+ (goto-char (point-min))
+ (while (search-forward "//" nil t)
+ (replace-match "/" nil t))
+ (goto-char (point-min))
+ (setq ret (read err-buffer))
+ (kill-buffer err-buffer)
+ ret
+ ))))
+
+(defun gnats::get-value-from-shell (&rest command)
+ "Execute shell command to get a list of valid values for `variable'."
+ ;;
+ (let ((err-buffer (get-buffer-create " *gnats::get-value-from-shell*")))
+ (save-excursion
+ (set-buffer err-buffer)
+ (unwind-protect
+ (condition-case var
+ (progn
+ (apply 'call-process
+ (car command) nil err-buffer nil (cdr command))
+ (goto-char (point-min))
+ (if (looking-at "[-a-z]+: ")
+ (error (buffer-substring (point-min) (point-max))))
+ (read err-buffer))
+ (error nil))
+ (kill-buffer err-buffer)))))
+
+(or (fboundp 'setenv)
+ (defun setenv (variable &optional value)
+ "Set the value of the environment variable named VARIABLE to VALUE.
+VARIABLE should be a string. VALUE is optional; if not provided or is
+`nil', the environment variable VARIABLE will be removed.
+This function works by modifying `process-environment'."
+ (interactive "sSet environment variable: \nsSet %s to value: ")
+ (if (string-match "=" variable)
+ (error "Environment variable name `%s' contains `='" variable)
+ (let ((pattern (concat "\\`" (regexp-quote (concat variable "="))))
+ (case-fold-search nil)
+ (scan process-environment))
+ (while scan
+ (cond
+ ((string-match pattern (car scan))
+ (if (eq nil value)
+ (setq process-environment (delq (car scan)
+ process-environment))
+ (setcar scan (concat variable "=" value)))
+ (setq scan nil))
+ ((null (setq scan (cdr scan)))
+ (setq process-environment
+ (cons (concat variable "=" value)
+ process-environment)))))))))
+
+;;;; end of send-pr.el
diff --git a/gnu/usr.bin/send-pr/send-pr.1 b/gnu/usr.bin/send-pr/send-pr.1
new file mode 100644
index 0000000..49fd42b
--- /dev/null
+++ b/gnu/usr.bin/send-pr/send-pr.1
@@ -0,0 +1,355 @@
+.\" -*- nroff -*-
+.\" ---------------------------------------------------------------------------
+.\" man page for send-pr (by Heinz G. Seidl, hgs@cygnus.com)
+.\" updated Feb 1993 for GNATS 3.00 by Jeffrey Osier, jeffrey@cygnus.com
+.\"
+.\" This file is part of the Problem Report Management System (GNATS)
+.\" Copyright 1992 Cygnus Support
+.\"
+.\" This program is free software; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public
+.\" License as published by the Free Software Foundation; either
+.\" version 2 of the License, or (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+.\" General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU Library General Public
+.\" License along with this program; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA
+.\"
+.\" ---------------------------------------------------------------------------
+.\"
+.\" $FreeBSD$
+.nh
+.TH SEND-PR 1 3.113 "October 2006"
+.SH NAME
+send-pr \- send problem report (PR) to a central support site
+.SH SYNOPSIS
+.B send-pr
+[
+.I site
+]
+[
+.B \-f
+.I problem-report
+]
+[
+.B \-t
+.I mail-address
+]
+.br
+.in +0.8i
+[
+.B \-P
+]
+[
+.B \-L
+]
+[
+.B \-s
+.I severity
+]
+[
+.B \-V
+]
+.br
+[
+.B \-\-version
+]
+[
+.B \-c
+.I address
+]
+[
+.B \-a
+.I file
+]
+.SH DESCRIPTION
+.B send-pr
+is a tool used to submit
+.I problem reports
+.\" SITE ADMINISTRATORS - change this if you use a local default
+(PRs) to a central support site. In most cases the correct
+.I site
+will be the default. This argument indicates the support site which
+is responsible for the category of problem involved. Some sites may
+use a local address as a default.
+.I site
+values are defined by using the
+.BR aliases (5).
+.LP
+.B send-pr
+invokes an editor on a problem report template (after trying to fill
+in some fields with reasonable default values). When you exit the
+editor,
+.B send-pr
+sends the completed form to the
+.I Problem Report Management System
+(\fBGNATS\fR) at a central support site. At the support site, the PR
+is assigned a unique number and is stored in the \fBGNATS\fR database
+according to its category and submitter-id. \fBGNATS\fR automatically
+replies with an acknowledgement, citing the category and the PR
+number.
+.LP
+To ensure that a PR is handled promptly, it should contain
+one of the available \fIcategories\fR to identify the
+problem area. (Use
+.B `send-pr -L'
+to see a list of categories.)
+.LP
+The more precise your problem description and the more complete your
+information, the faster your support team can solve your problems.
+.LP
+.B send-pr
+depends on a correctly configured mail submission system to work correctly.
+If, for any reason, sending mail is not working, problem reports can be
+submitted over the web, through:
+.IP
+.I http://www.freebsd.org/send-pr.html
+.SH OPTIONS
+.TP
+.BI \-f " problem-report"
+specify a file (\fIproblem-report\fR) which already contains a
+complete problem report.
+.B send-pr
+sends the contents of the file without invoking the editor. If
+the value for
+.I problem-report
+is
+.BR `\|\-\|' ,
+then
+.B send-pr
+reads from standard input.
+.TP
+.BI \-s " severity"
+Give the problem report the severity
+.IR severity .
+.TP
+.BI \-t " mail-address"
+Change mail address at the support site for problem reports. The
+default
+.I mail-address
+is the address used for the default
+.IR site .
+Use the
+.I site
+argument rather than this option in nearly all cases.
+.TP
+.BI \-c " address"
+Put
+.I address
+in the
+.B Cc:
+header of the message.
+.TP
+.BI \-a " file"
+Copy the specified
+.I file
+into the
+.B Fix:
+section.
+Binary files are uuencoded.
+.TP
+.B \-P
+print the form specified by the environment variable
+.B PR_FORM
+on standard output. If
+.B PR_FORM
+is not set, print the standard blank PR template. No mail is sent.
+.TP
+.B \-L
+print the list of available categories. No mail is sent.
+.TP
+.B \-V
+Display the
+.B send-pr
+version number.
+This may also be specified as
+.B \-\-version.
+.LP
+Note: use
+.B send-pr
+to submit problem reports rather than mailing them directly. Using
+both the template and
+.B send-pr
+itself will help ensure all necessary information will reach the
+support site.
+.SH FREEBSD CATEGORIES
+.TP
+.B advocacy
+This used to be for the advocacy WWW pages.
+Now deprecated in favour of the
+.B www
+category, relevant alternative use of this category is encouraged.
+.TP
+.B alpha
+Alpha processor specific problems.
+.TP
+.B amd64
+AMD64 processor specific problems.
+.TP
+.B arm
+ARM processor specific problems.
+.TP
+.B bin
+Corrections or enhancements to system executables.
+.TP
+.B conf
+Corrections or enhancements to the system configuration files.
+.TP
+.B docs
+Corrections or enhancements to the manpages or other documentation.
+.TP
+.B gnu
+Corrections or enhancements to the GNU contributed software.
+.TP
+.B i386
+Intel x86 processor specific problems.
+.TP
+.B ia64
+Intel ia64 processor specific problems.
+.TP
+.B java
+Problems related to Java.
+.TP
+.B kern
+Changes or enhancements to the architecture independent kernel sources.
+.TP
+.B misc
+Problems that do not fit into any of the other categories.
+.TP
+.B ports
+Corrections or enhancements (including new ports) to the ports collection.
+.TP
+.B powerpc
+PowerPC processor specific problems.
+.TP
+.B sparc64
+SPARC processor specific problems.
+.TP
+.B standards
+Standards conformance issues.
+.TP
+.B threads
+Problems related to threading on FreeBSD.
+.TP
+.B usb
+Problems related to the USB subsystem.
+.TP
+.B www
+Changes or enhancements to the FreeBSD website.
+.SH ENVIRONMENT
+The environment variable
+.B EDITOR
+specifies the editor to invoke on the template.
+.br
+default:
+.B vi
+.sp
+If the environment variable
+.B MAIL_AGENT
+is set, its value is used as the path + command line arguments of the
+executable to be invoked for sending the problem report (which will be
+provided via standard input).
+.br
+This can be useful if you either use a MTA other than sendmail or need
+to provide additional parameters, such as the envelope sender on
+machines without a valid FQDN.
+.br
+Default value:
+.B /usr/sbin/sendmail -oi -t
+.sp
+If the environment variable
+.B PR_FORM
+is set, then its value is used as the file name of the template for
+your problem-report editing session. You can use this to start with a
+partially completed form (for example, a form with the identification
+fields already completed).
+.SH "HOW TO FILL OUT A PROBLEM REPORT"
+Problem reports have to be in a particular form so that a program can
+easily manage them. Please remember the following guidelines:
+.IP \(bu 3m
+describe only
+.B one problem
+with each problem report.
+.IP \(bu 3m
+For follow-up mail, use the same subject line as the one in the automatic
+acknowledgement. It consists of category, PR number and the original synopsis
+line. This allows the support site to relate several mail messages to a
+particular PR and to record them automatically.
+.IP \(bu 3m
+Please try to be as accurate as possible in the subject and/or synopsis line.
+.IP \(bu 3m
+The subject and the synopsis line are not confidential. This is
+because open-bugs lists are compiled from them. Avoid confidential
+information there.
+.LP
+See the GNU
+.B Info
+file
+.B send-pr.info
+or the document \fIReporting Problems With send-pr\fR\ for detailed
+information on reporting problems
+.SH "HOW TO SUBMIT TEST CASES, CODE, ETC."
+Submit small code samples with the PR. Contact the support site for
+instructions on submitting larger test cases and problematic source
+code.
+.SH FILES
+.ta \w'/tmp/pbad.XXXXXXXX 'u
+/tmp/pf.XXXXXXXX copy of PR used in editing session
+.br
+/tmp/pf.XXXXXXXX copy of empty PR form, for testing purposes
+.br
+/tmp/pr.XXXXXXXX copy of filled PR form, created on interrupt
+.br
+/tmp/pbad.XXXXXXXX file for rejected PRs
+.SH EMACS USER INTERFACE
+An Emacs user interface for
+.B send-pr
+with completion of field values is part of the
+.B send-pr
+distribution (invoked with
+.BR "M-x send-pr" ).
+See the file
+.B send-pr.info
+or the ASCII file
+.B INSTALL
+in the top level directory of the distribution for configuration and
+installation information. The Emacs LISP template file is
+.B send-pr-el.in
+and is installed as
+.BR send-pr.el .
+.SH INSTALLATION AND CONFIGURATION
+See
+.B send-pr.info
+or
+.B INSTALL
+for installation instructions.
+.SH SEE ALSO
+.I Reporting Problems Using send-pr
+(also installed as the GNU Info file
+.BR send-pr.info ).
+.SH AUTHORS
+Jeffrey Osier, Brendan Kehoe, Jason Merrill, Heinz G. Seidl (Cygnus
+Support)
+.SH COPYING
+Copyright (c) 1992, 1993 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+
diff --git a/gnu/usr.bin/send-pr/send-pr.sh b/gnu/usr.bin/send-pr/send-pr.sh
new file mode 100644
index 0000000..dee0f48
--- /dev/null
+++ b/gnu/usr.bin/send-pr/send-pr.sh
@@ -0,0 +1,591 @@
+#!/bin/sh
+# Submit a problem report to a GNATS site.
+# Copyright (C) 1993 Free Software Foundation, Inc.
+# Contributed by Brendan Kehoe (brendan@cygnus.com), based on a
+# version written by Heinz G. Seidl (hgs@cygnus.com).
+#
+# This file is part of GNU GNATS.
+#
+# GNU GNATS is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU GNATS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU GNATS; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# $FreeBSD$
+
+# The version of this send-pr.
+VERSION=3.114
+
+# The submitter-id for your site.
+# "current-users" is the only allowable value for FreeBSD.
+SUBMITTER="current-users"
+
+# Where the GNATS directory lives, if at all.
+[ -z "$GNATS_ROOT" ] &&
+GNATS_ROOT=
+
+# The default mail address for PR submissions.
+GNATS_ADDR=FreeBSD-gnats-submit@freebsd.org
+
+# Where the gnats category tree lives.
+DATADIR=@DATADIR@
+
+# If we've been moved around, try using GCC_EXEC_PREFIX.
+[ ! -d $DATADIR/gnats -a -d "$GCC_EXEC_PREFIX" ] && DATADIR="$GCC_EXEC_PREFIX"
+
+# The default release for this host.
+DEFAULT_RELEASE="@DEFAULT_RELEASE@"
+
+# The default organization.
+DEFAULT_ORGANIZATION=
+
+# The default site to look for.
+GNATS_SITE=freefall
+
+# Newer config information?
+[ -f ${GNATS_ROOT}/gnats-adm/config ] && . ${GNATS_ROOT}/gnats-adm/config
+
+# What mailer to use. This must come after the config file, since it is
+# host-dependent.
+MAIL_AGENT="${MAIL_AGENT:-/usr/sbin/sendmail -oi -t}"
+
+# Path to pw(8)
+PW="/usr/sbin/pw"
+
+ECHON=bsd
+
+if [ $ECHON = bsd ] ; then
+ ECHON1="echo -n"
+ ECHON2=
+elif [ $ECHON = sysv ] ; then
+ ECHON1=echo
+ ECHON2='\c'
+else
+ ECHON1=echo
+ ECHON2=
+fi
+
+#
+
+# find a user name
+if [ "$LOGNAME" = "" ]; then
+ if [ "$USER" != "" ]; then
+ LOGNAME="$USER"
+ else
+ LOGNAME="UNKNOWN"
+ fi
+fi
+
+# Find out the name of the originator of this PR.
+if [ -n "$NAME" ]; then
+ ORIGINATOR="$NAME"
+elif [ -f $HOME/.fullname ]; then
+ ORIGINATOR="`sed -e '1q' $HOME/.fullname`"
+else
+ PTEMP=`mktemp -t p` || exit 1
+ PTEMP2=`mktemp -t p` || exit 1
+ # Must use temp file due to incompatibilities in quoting behavior
+ # and to protect shell metacharacters in the expansion of $LOGNAME
+ $ECHON1 $LOGNAME | awk '{print toupper(substr($1,1,1))substr($1,2)}' > $PTEMP2
+ ICLOGNAME="`cat $PTEMP2`"
+ $PW usershow $LOGNAME | awk -F: '{ print $8 }' \
+ | sed -e "s/\&/$ICLOGNAME/" \
+ | sed -e 's/,.*//' > $PTEMP
+ ORIGINATOR="`cat $PTEMP`"
+ rm -f "$PTEMP" "$PTEMP2"
+fi
+
+FROM="$ORIGINATOR <$LOGNAME>"
+REPLY_TO="$ORIGINATOR <${REPLY_TO:-${REPLYTO:-$LOGNAME}}>"
+
+if [ -n "$ORGANIZATION" ]; then
+ if [ -f "$ORGANIZATION" ]; then
+ ORGANIZATION="`cat $ORGANIZATION`"
+ fi
+else
+ if [ -n "$DEFAULT_ORGANIZATION" ]; then
+ ORGANIZATION="$DEFAULT_ORGANIZATION"
+ elif [ -f $HOME/.organization ]; then
+ ORGANIZATION="`cat $HOME/.organization`"
+ fi
+fi
+
+# If they don't have a preferred editor set, then use
+if [ -z "$VISUAL" ]; then
+ if [ -z "$EDITOR" ]; then
+ EDIT=vi
+ else
+ EDIT="$EDITOR"
+ fi
+else
+ EDIT="$VISUAL"
+fi
+
+# Find out some information.
+SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \
+ ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""`
+ARCH=`[ -f /bin/arch ] && /bin/arch`
+MACHINE=`[ -f /bin/machine ] && /bin/machine`
+
+COMMAND=`echo $0 | sed -e 's,.*/,,'`
+USAGE="Usage: $COMMAND [-PVL] [-t address] [-f filename] [-s severity]
+ [-c address] [-a file] [--version]"
+REMOVE=
+BATCH=
+CC=
+SEVERITY_C=
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -r) ;; # Ignore for backward compat.
+ -t | --to) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi
+ shift ; GNATS_ADDR="$1"
+ EXPLICIT_GNATS_ADDR=true
+ ;;
+ -f | --file) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi
+ shift ; IN_FILE="$1"
+ if [ "$IN_FILE" != "-" -a ! -r "$IN_FILE" ]; then
+ echo "$COMMAND: cannot read $IN_FILE"
+ exit 1
+ fi
+ ;;
+ -b | --batch) BATCH=true ;;
+ -c | --cc) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi
+ shift ; CC="$1"
+ ;;
+ -s | --severity) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi
+ shift ; SEVERITY_C="$1"
+ ;;
+ -p | -P | --print) PRINT=true ;;
+ -L | --list) FORMAT=norm ;;
+ -l | -CL | --lisp) FORMAT=lisp ;;
+ -h | --help) echo "$USAGE"; exit 0 ;;
+ -V | --version) echo "$VERSION"; exit 0 ;;
+ -a | --attach) if [ -z "$2" ]; then
+ echo "$USAGE" ; exit 1;
+ fi
+ if [ -e "$2" -a ! -d "$2" ]; then
+ PRETTY_NAME=`basename $2`
+ if file $2 | grep "text" >/dev/null 2>/dev/null ; then
+ ATTACHED_FILES="$ATTACHED_FILES
+--- $PRETTY_NAME begins here ---
+`cat \"$2\"`
+--- $PRETTY_NAME ends here ---
+"
+ else
+ ATTACHED_FILES="$ATTACHED_FILES
+`uuencode \"$PRETTY_NAME\" < \"$2\"`
+"
+ fi
+ shift;
+ fi;
+ ;;
+ -*) echo "$USAGE" ; exit 1 ;;
+ *) if [ -z "$USER_GNATS_SITE" ]; then
+ if [ ! -r "$DATADIR/gnats/$1" ]; then
+ echo "$COMMAND: the GNATS site $1 does not have a categories list."
+ exit 1
+ else
+ # The site name is the alias they'll have to have created.
+ USER_GNATS_SITE=$1
+ fi
+ else
+ echo "$USAGE" ; exit 1
+ fi
+ ;;
+ esac
+ shift
+done
+
+if [ -n "$USER_GNATS_SITE" ] && [ "$USER_GNATS_SITE" != "$GNATS_SITE" ]; then
+ GNATS_SITE=$USER_GNATS_SITE
+ GNATS_ADDR=$USER_GNATS_SITE-gnats
+fi
+
+if [ "$SUBMITTER" = "unknown" -a -z "$IN_FILE" ]; then
+ SUBMITTER="current-users"
+fi
+
+if [ -r "$DATADIR/gnats/$GNATS_SITE" ]; then
+ CATEGORIES=`grep -v '^#' $DATADIR/gnats/$GNATS_SITE | sort`
+else
+ echo "$COMMAND: could not read $DATADIR/gnats/$GNATS_SITE for categories list."
+ exit 1
+fi
+
+if [ -z "$CATEGORIES" ]; then
+ echo "$COMMAND: the categories list for $GNATS_SITE was empty!"
+ exit 1
+fi
+
+case "$FORMAT" in
+ lisp) echo "$CATEGORIES" | \
+ awk 'BEGIN {printf "( "} {printf "(\"%s\") ",$0} END {printf ")\n"}'
+ exit 0
+ ;;
+ norm) l=`echo "$CATEGORIES" | \
+ awk 'BEGIN {max = 0; } { if (length($0) > max) { max = length($0); } }
+ END {print max + 1;}'`
+ c=`expr 70 / $l`
+ if [ $c -eq 0 ]; then c=1; fi
+ echo "$CATEGORIES" | \
+ awk 'BEGIN {print "Known categories:"; i = 0 }
+ { printf ("%-'$l'.'$l's", $0); if ((++i % '$c') == 0) { print "" } }
+ END { print ""; }'
+ exit 0
+ ;;
+esac
+
+ORIGINATOR_C='<name of the PR author (one line)>'
+ORGANIZATION_C='<organization of PR author (multiple lines)>'
+CONFIDENTIAL_C='no <FreeBSD PRs are public data>'
+SYNOPSIS_C='<synopsis of the problem (one line)>'
+if [ -z "$SEVERITY_C" ]; then
+ SEVERITY_C='<[ non-critical | serious | critical ] (one line)>'
+fi
+PRIORITY_C='<[ low | medium | high ] (one line)>'
+CATEGORY_C='<choose from the list of categories above (one line)>'
+CLASS_C='<[ sw-bug | doc-bug | change-request | update | maintainer-update ] (one line)>'
+RELEASE_C='<release number or tag (one line)>'
+ENVIRONMENT_C='<machine, os, target, libraries (multiple lines)>'
+DESCRIPTION_C='<precise description of the problem (multiple lines)>'
+HOW_TO_REPEAT_C='<code/input/activities to reproduce the problem (multiple lines)>'
+FIX_C='<how to correct or work around the problem, if known (multiple lines)>'
+
+# Create temporary files, safely
+REF=`mktemp -t pf` || exit 1
+TEMP=`mktemp -t pf` || exit 1
+# Catch some signals. ($xs kludge needed by Sun /bin/sh)
+xs=0
+trap 'rm -f $REF $TEMP; exit $xs' 0
+trap 'SAV=`mktemp -t pr`;echo "$COMMAND: Aborting ... saving unfinished PR into $SAV"; rm -f $REF ; mv $TEMP $SAV; xs=1; exit' 1 2 3 13 15
+
+# If they told us to use a specific file, then do so.
+if [ -n "$IN_FILE" ]; then
+ if [ "$IN_FILE" = "-" ]; then
+ # The PR is coming from the standard input.
+ if [ -n "$EXPLICIT_GNATS_ADDR" ]; then
+ sed -e "s;^[Tt][Oo]:.*;To: $GNATS_ADDR;" > $TEMP
+ else
+ cat > $TEMP
+ fi
+ else
+ # Use the file they named.
+ if [ -n "$EXPLICIT_GNATS_ADDR" ]; then
+ sed -e "s;^[Tt][Oo]:.*;To: $GNATS_ADDR;" $IN_FILE > $TEMP
+ else
+ cat $IN_FILE > $TEMP
+ fi
+ fi
+else
+
+ if [ -n "$PR_FORM" -a -z "$PRINT_INTERN" ]; then
+ # If their PR_FORM points to a bogus entry, then bail.
+ if [ ! -f "$PR_FORM" -o ! -r "$PR_FORM" -o ! -s "$PR_FORM" ]; then
+ echo "$COMMAND: can't seem to read your template file (\`$PR_FORM'), ignoring PR_FORM"
+ sleep 1
+ PRINT_INTERN=bad_prform
+ fi
+ fi
+
+ if [ -n "$PR_FORM" -a -z "$PRINT_INTERN" ]; then
+ cp $PR_FORM $TEMP ||
+ ( echo "$COMMAND: could not copy $PR_FORM" ; xs=1; exit )
+ [ -n "$ATTACHED_FILES" ] && echo "$ATTACHED_FILES" >> $TEMP
+ else
+ for file in $TEMP $REF ; do
+ cat > $file << '__EOF__'
+SEND-PR: -*- send-pr -*-
+SEND-PR: vim: syntax=sendpr
+SEND-PR:
+SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as
+SEND-PR: will all comments (text enclosed in `<' and `>').
+SEND-PR:
+SEND-PR: Please consult the following URL if you are not sure how to
+SEND-PR: fill out a problem report:
+SEND-PR: http://www.freebsd.org/doc/en/articles/problem-reports/
+SEND-PR:
+SEND-PR: Note that the Synopsis field is mandatory.
+SEND-PR:
+SEND-PR: Please note that (unless you state otherwise) if your report
+SEND-PR: includes a patch then it will be taken under the same license as
+SEND-PR: the one on the file(s) you want to change.
+SEND-PR:
+SEND-PR: BE ADVISED THAT FREEBSD PROBLEM REPORTS ARE PUBLIC INFORMATION AND
+SEND-PR: WILL BE PUBLISHED AS-IS ON THE PROJECT'S MAILING LISTS AND WEB SITES.
+SEND-PR: DO NOT SUBMIT ANY INFORMATION YOU DO NOT WANT MADE PUBLIC.
+SEND-PR:
+SEND-PR: If you wish to submit a problem report confidentially, then contact
+SEND-PR: the FreeBSD bugmaster (bugmaster@FreeBSD.org) to arrange for a
+SEND-PR: relevant developer to be contacted.
+SEND-PR:
+SEND-PR: For sensitive security issues, consider contacting the FreeBSD
+SEND-PR: security officer team (security-officer@freebsd.org) directly.
+SEND-PR:
+SEND-PR: Choose from the following categories:
+SEND-PR:
+__EOF__
+
+ # Format the categories so they fit onto lines.
+ l=`echo "$CATEGORIES" | \
+ awk 'BEGIN {max = 0; } { if (length($0) > max) { max = length($0); } }
+ END {print max + 1;}'`
+ c=`expr 61 / $l`
+ if [ $c -eq 0 ]; then c=1; fi
+ echo "$CATEGORIES" | \
+ awk 'BEGIN {printf "SEND-PR: "; i = 0 }
+ { printf ("%-'$l'.'$l's", $0);
+ if ((++i % '$c') == 0) { printf "\nSEND-PR: " } }
+ END { printf "\nSEND-PR:\n"; }' >> $file
+
+ cat >> $file << __EOF__
+To: $GNATS_ADDR
+From: $FROM
+Reply-To: $REPLY_TO
+Cc: $CC
+X-send-pr-version: $VERSION
+X-GNATS-Notify:
+
+
+>Submitter-Id: $SUBMITTER
+>Originator: $ORIGINATOR
+>Organization: ${ORGANIZATION-$ORGANIZATION_C}
+>Confidential: $CONFIDENTIAL_C
+>Synopsis: $SYNOPSIS_C
+>Severity: $SEVERITY_C
+>Priority: $PRIORITY_C
+>Category: $CATEGORY_C
+>Class: $CLASS_C
+>Release: ${DEFAULT_RELEASE-$RELEASE_C}
+>Environment:
+`[ -n "$SYSTEM" ] && echo System: $SYSTEM`
+`[ -n "$ARCH" ] && echo Architecture: $ARCH`
+`[ -n "$MACHINE" ] && echo Machine: $MACHINE`
+ $ENVIRONMENT_C
+>Description:
+ $DESCRIPTION_C
+>How-To-Repeat:
+ $HOW_TO_REPEAT_C
+>Fix:
+
+ $FIX_C
+$ATTACHED_FILES
+
+__EOF__
+
+ done
+ fi
+
+ if [ "$PRINT" = true -o "$PRINT_INTERN" = true ]; then
+ cat $TEMP
+ xs=0; exit
+ fi
+
+ chmod u+w $TEMP
+ eval $EDIT $TEMP
+
+ if cmp -s $REF $TEMP ; then
+ echo "$COMMAND: problem report not filled out, therefore not sent"
+ xs=1; exit
+ fi
+fi
+
+#
+# Check the enumeration fields
+
+# This is a "sed-subroutine" with one keyword parameter
+# (with workaround for Sun sed bug)
+#
+SED_CMD='{
+s|||
+s|<.*>||
+s|^[ ]*||
+s|[ ]*$||
+p
+q
+}'
+
+
+while true; do
+ CNT=0
+
+ # 1) Confidential
+ #
+ PATTERN=">Confidential:"
+ CONFIDENTIAL=`eval sed -n -e "\"/$PATTERN/$SED_CMD\"" $TEMP`
+ case "$CONFIDENTIAL" in
+ ""|no) CNT=`expr $CNT + 1` ;;
+ *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;;
+ esac
+ #
+ # 2) Severity
+ #
+ PATTERN=">Severity:"
+ SEVERITY=`eval sed -n -e "\"/$PATTERN/$SED_CMD\"" $TEMP`
+ case "$SEVERITY" in
+ ""|non-critical|serious|critical) CNT=`expr $CNT + 1` ;;
+ *) echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'."
+ esac
+ #
+ # 3) Priority
+ #
+ PATTERN=">Priority:"
+ PRIORITY=`eval sed -n -e "\"/$PATTERN/$SED_CMD\"" $TEMP`
+ case "$PRIORITY" in
+ ""|low|medium|high) CNT=`expr $CNT + 1` ;;
+ *) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'."
+ esac
+ #
+ # 4) Category
+ #
+ PATTERN=">Category:"
+ CATEGORY=`eval sed -n -e "\"/$PATTERN/$SED_CMD\"" $TEMP`
+ FOUND=
+ for C in $CATEGORIES
+ do
+ if [ "$C" = "$CATEGORY" ]; then FOUND=true ; break ; fi
+ done
+ if [ -n "$FOUND" ]; then
+ CNT=`expr $CNT + 1`
+ else
+ if [ -z "$CATEGORY" ]; then
+ echo "$COMMAND: you must include a Category: field in your report."
+ else
+ echo "$COMMAND: \`$CATEGORY' is not a known category."
+ fi
+ fi
+ #
+ # 5) Class
+ #
+ PATTERN=">Class:"
+ CLASS=`eval sed -n -e "\"/$PATTERN/$SED_CMD\"" $TEMP`
+ case "$CLASS" in
+ ""|sw-bug|doc-bug|change-request|update|maintainer-update) CNT=`expr $CNT + 1` ;;
+ *) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'."
+ esac
+ #
+ # 6) Check that synopsis is not empty
+ #
+ if grep "^>Synopsis:[ ]*${SYNOPSIS_C}\$" $TEMP > /dev/null
+ then
+ echo "$COMMAND: Synopsis must not be empty."
+ else
+ CNT=`expr $CNT + 1`
+ fi
+
+ [ $CNT -lt 6 -a -z "$BATCH" ] &&
+ echo "Errors were found with the problem report."
+
+ while true; do
+ if [ -z "$BATCH" ]; then
+ $ECHON1 "s)end, e)dit or a)bort? $ECHON2"
+ read input
+ else
+ if [ $CNT -eq 6 ]; then
+ input=s
+ else
+ input=a
+ fi
+ fi
+ case "$input" in
+ a*)
+ if [ -z "$BATCH" ]; then
+ BAD=`mktemp -t pbad`
+ echo "$COMMAND: the problem report remains in $BAD and is not sent."
+ mv $TEMP $BAD
+ else
+ echo "$COMMAND: the problem report is not sent."
+ fi
+ xs=1; exit
+ ;;
+ e*)
+ eval $EDIT $TEMP
+ continue 2
+ ;;
+ s*)
+ if [ $CNT -lt 6 ]; then
+ if [ -z "$BATCH" ]; then
+ echo "But there are still errors in the problem report!"
+ continue 2
+ else
+ echo "Errors found in PR"
+ exit 1
+ fi
+ fi
+ break 2
+ ;;
+ esac
+ done
+done
+
+#
+# Remove the subject field if one is already there. There's no reason
+# for it to be any different than the synopsis.
+#
+if grep '^Subject:' $TEMP > /dev/null
+then
+ ed -s $TEMP << __EOF__
+/^Subject:/d
+w
+q
+__EOF__
+fi
+
+#
+# Add the subject field with the value of $SYNOPSIS. We use the To:
+# field as an anchor, which had better be there.
+#
+SYNOPSIS=`grep '^>Synopsis:' $TEMP | sed -e 's/^>Synopsis:[ ]*//' |
+ sed -e "s;$SYNOPSIS_C;;"`
+ed -s $TEMP << __EOF__
+/^To:/a
+Subject: $SYNOPSIS
+.
+w
+q
+__EOF__
+
+#
+# Remove comments and send the problem report
+# (we have to use patterns, where the comment contains regex chars)
+#
+# /^>Originator:/s;$ORIGINATOR;;
+sed -e "
+/^SEND-PR:/d
+/^>Organization:/,/^>[A-Za-z-]*:/s;$ORGANIZATION_C;;
+/^>Confidential:/s;<.*>;;
+/^>Synopsis:/s;$SYNOPSIS_C;;
+/^>Severity:/s;<.*>;;
+/^>Priority:/s;<.*>;;
+/^>Category:/s;$CATEGORY_C;;
+/^>Class:/s;<.*>;;
+/^>Release:/,/^>[A-Za-z-]*:/s;$RELEASE_C;;
+/^>Environment:/,/^>[A-Za-z-]*:/s;$ENVIRONMENT_C;;
+/^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;;
+/^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;;
+/^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;;
+" $TEMP > $REF
+
+if $MAIL_AGENT < $REF; then
+ echo "$COMMAND: problem report sent"
+ xs=0; exit
+else
+ echo "$COMMAND: mysterious mail failure."
+ if [ -z "$BATCH" ]; then
+ BAD=`mktemp -t pbad`
+ echo "$COMMAND: the problem report remains in $BAD and is not sent."
+ mv $TEMP $BAD
+ else
+ echo "$COMMAND: the problem report is not sent."
+ fi
+ xs=1; exit
+fi
diff --git a/gnu/usr.bin/texinfo/info/Makefile.depend b/gnu/usr.bin/texinfo/info/Makefile.depend
new file mode 100644
index 0000000..5f2bf77
--- /dev/null
+++ b/gnu/usr.bin/texinfo/info/Makefile.depend
@@ -0,0 +1,21 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/texinfo/libtxi \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+ lib/ncurses/ncursesw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/texinfo/infokey/Makefile.depend b/gnu/usr.bin/texinfo/infokey/Makefile.depend
new file mode 100644
index 0000000..ffe9a50
--- /dev/null
+++ b/gnu/usr.bin/texinfo/infokey/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/texinfo/libtxi \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/texinfo/install-info/Makefile.depend b/gnu/usr.bin/texinfo/install-info/Makefile.depend
new file mode 100644
index 0000000..ffe9a50
--- /dev/null
+++ b/gnu/usr.bin/texinfo/install-info/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/texinfo/libtxi \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/texinfo/libtxi/Makefile.depend b/gnu/usr.bin/texinfo/libtxi/Makefile.depend
new file mode 100644
index 0000000..639d45d
--- /dev/null
+++ b/gnu/usr.bin/texinfo/libtxi/Makefile.depend
@@ -0,0 +1,14 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/texinfo/makeinfo/Makefile.depend b/gnu/usr.bin/texinfo/makeinfo/Makefile.depend
new file mode 100644
index 0000000..ffe9a50
--- /dev/null
+++ b/gnu/usr.bin/texinfo/makeinfo/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/texinfo/libtxi \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/gnu/usr.bin/texinfo/texindex/Makefile.depend b/gnu/usr.bin/texinfo/texindex/Makefile.depend
new file mode 100644
index 0000000..ffe9a50
--- /dev/null
+++ b/gnu/usr.bin/texinfo/texindex/Makefile.depend
@@ -0,0 +1,20 @@
+# Autogenerated - do NOT edit!
+
+DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
+
+DIRDEPS = \
+ gnu/lib/csu \
+ gnu/lib/libgcc \
+ gnu/usr.bin/texinfo/libtxi \
+ include \
+ include/xlocale \
+ lib/${CSU_DIR} \
+ lib/libc \
+ lib/libcompiler_rt \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
OpenPOWER on IntegriCloud