mirror of
https://github.com/avrdudes/avrdude.git
synced 2026-09-28 12:06:59 +03:00
Add basic elf2tag(1) manpage
Add basic elf2tag(1) manpage using asciidoc/asciidoctor. To update the elf2tag.1 file from elf2tag.1.adoc, run the update-elf2tag-manpage script. No CI or buildsystem or git precommit hook integration yet.
This commit is contained in:
62
src/elf2tag.1
Normal file
62
src/elf2tag.1
Normal file
@@ -0,0 +1,62 @@
|
||||
'\" t
|
||||
.\" Title: elf2tag
|
||||
.\" Author: [see the "AUTHOR(S)" section]
|
||||
.\" Generator: Asciidoctor 2.0.20
|
||||
.\" Date: 2024-11-23
|
||||
.\" Manual: avrdude Manual
|
||||
.\" Source: avrdude
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "ELF2TAG" "1" "2024-11-23" "avrdude" "avrdude Manual"
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.ss \n[.ss] 0
|
||||
.nh
|
||||
.ad l
|
||||
.de URL
|
||||
\fI\\$2\fP <\\$1>\\$3
|
||||
..
|
||||
.als MTO URL
|
||||
.if \n[.g] \{\
|
||||
. mso www.tmac
|
||||
. am URL
|
||||
. ad l
|
||||
. .
|
||||
. am MTO
|
||||
. ad l
|
||||
. .
|
||||
. LINKSTYLE blue R < >
|
||||
.\}
|
||||
.SH "NAME"
|
||||
elf2tag \- output a tagfile for the avrdude disasm command
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
\fBelf2tag\fP <file.elf>
|
||||
.sp
|
||||
\fBelf2tag\fP [\fB\-h\fP | \fB\-\-help\fP]
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
\fIelf2tag\fP generates a tagfile for use with the \fIavrdude disasm\fP command.
|
||||
.SH "OPTIONS"
|
||||
.sp
|
||||
\fB\-h\fP \fB\-\-help\fP
|
||||
.RS 4
|
||||
Prints the help message and exits.
|
||||
.RE
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.if n .RS 4
|
||||
.nf
|
||||
.fam C
|
||||
$ elf2tag blink.elf > blink.tag
|
||||
$ avrdude \-qq \-c dryrun \-p m328p \-U blink.elf \-t
|
||||
avrdude> disasm \-t=blink.tag flash 0 512
|
||||
.fam
|
||||
.fi
|
||||
.if n .RE
|
||||
.SH "AUTHORS"
|
||||
.sp
|
||||
\fIelf2tag\fP was written by Johannes Bauer with small modifications by Stefan Rueger.
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
\fBavrdude(1)\fP, \fBavr\-nm(1)\fP, \fBavr\-objdump(1)\fP
|
||||
47
src/elf2tag.1.adoc
Normal file
47
src/elf2tag.1.adoc
Normal file
@@ -0,0 +1,47 @@
|
||||
ELF2TAG(1)
|
||||
==========
|
||||
:doctype: manpage
|
||||
:man source: avrdude
|
||||
:man manual: avrdude Manual
|
||||
|
||||
NAME
|
||||
----
|
||||
|
||||
elf2tag - output a tagfile for the avrdude disasm command
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
*elf2tag* <file.elf>
|
||||
|
||||
*elf2tag* [*-h* | *--help*]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
_elf2tag_ generates a tagfile for use with the _avrdude disasm_ command.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
*-h* *--help*::
|
||||
Prints the help message and exits.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
....
|
||||
$ elf2tag blink.elf > blink.tag
|
||||
$ avrdude -qq -c dryrun -p m328p -U blink.elf -t
|
||||
avrdude> disasm -t=blink.tag flash 0 512
|
||||
....
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
|
||||
_elf2tag_ was written by Johannes Bauer with small modifications by Stefan Rueger.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
*avrdude(1)*, *avr-nm(1)*, *avr-objdump(1)*
|
||||
115
src/update-elf2tag-manpage
Executable file
115
src/update-elf2tag-manpage
Executable file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# update-elf2tag-manpage - update the elf2tag.1 manpage from adoc source
|
||||
#
|
||||
# Usage:
|
||||
# ./path/to/update-elf2tag-manpage
|
||||
#
|
||||
# Changes into the directory where update-elf2tag-manpage and
|
||||
# elf2tag.1.adoc are, runs asciidoctor to produce a man page elf2tag.1
|
||||
# from elf2tag.1.adoc, but only updates the elf2tag.1 file in the case
|
||||
# of actual changes.
|
||||
#
|
||||
# Just the asciidoctor version or the current date being different
|
||||
# from the last asciidoctor run is not considered an actual change.
|
||||
#
|
||||
# Requires asciidoctor to be installed.
|
||||
#
|
||||
# Environment variables used (if unset, uses the command from PATH):
|
||||
# ASCIIDOCTOR the asciidoctor command to run
|
||||
# CMP the cmp command to run (e.g. "busybox cmp")
|
||||
# SED the sed command to run (e.g. "busybox sed")
|
||||
|
||||
# This script uses the shell feature called "process substitution" which
|
||||
# is implemented by bash and busybox sh, but not by e.g. dash and can
|
||||
# therefore not be a /bin/sh script.
|
||||
|
||||
set -e
|
||||
|
||||
prog="$(basename "$0")"
|
||||
|
||||
if test "$#" -gt 1; then
|
||||
echo "$prog: Too many command line arguments"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if test "$#" -eq 1; then
|
||||
case "$1" in
|
||||
-h | --help )
|
||||
${SED-sed} -n '/^#\( .*\)$/,$p' "$0" \
|
||||
| ${SED-sed} '/^#\( .*\)\?$/!q' \
|
||||
| ${SED-sed} '/^$/d' \
|
||||
| ${SED-sed} 's|^#$||; s|^# ||'
|
||||
exit 0
|
||||
;;
|
||||
* )
|
||||
echo "$prog: Unhandled command line argument."
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
test -s elf2tag.1.adoc
|
||||
test -s elf2tag
|
||||
|
||||
# Usage: normalize_manpage original.1 normalized.1
|
||||
#
|
||||
# Normalizes a man page generated by asciidoctor by replacing data not
|
||||
# present in the sources such as generation date, asciidoctor version.
|
||||
normalize_manpage() {
|
||||
${SED-sed} -f <(cat<<EOF
|
||||
#s|^\.\\\\|==TITLE==|
|
||||
s|^\.\\\\" Generator: Asciidoctor .*|.\\" Generator: GENERATOR|
|
||||
s|^\.\\\\" Date: 20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]|.\\" Date: DATE|
|
||||
s|^\.TH "ELF2TAG" "1" "20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]" "avrdude" "avrdude Manual"|\.\\" TH HEADER|
|
||||
EOF
|
||||
) < "$1" > "$2"
|
||||
}
|
||||
|
||||
tmpdir="tmp$$"
|
||||
|
||||
if ! ${ASCIIDOCTOR-asciidoctor} -b manpage -D "$tmpdir" elf2tag.1.adoc; then
|
||||
echo "$prog: Error updating elf2tag.1"
|
||||
rm -rf "$tmpdir"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# Have sed ensure a trailing newline character by appending empty string
|
||||
#
|
||||
# This is necessary as asciidoctor likes to create files without a
|
||||
# trailing newline, while it is good form for text editors to add one.
|
||||
if ${SED-sed} '$a\' < "$tmpdir/elf2tag.1" > "$tmpdir/elf2tag.1.newline"; then
|
||||
mv -f "$tmpdir/elf2tag.1.newline" "$tmpdir/elf2tag.1"
|
||||
else
|
||||
echo "$prog: Error ensuring trailing newline character"
|
||||
rm -rf "$tmpdir"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if ! test -e elf2tag.1; then
|
||||
echo "$prog: Generate elf2tag.1"
|
||||
mv -f "$tmpdir/elf2tag.1" elf2tag.1
|
||||
rmdir "$tmpdir"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
normalize_manpage elf2tag.1 "$tmpdir/elf2tag.1.norm-old"
|
||||
normalize_manpage "$tmpdir/elf2tag.1" "$tmpdir/elf2tag.1.norm-new"
|
||||
|
||||
if ${CMP-cmp} "$tmpdir/elf2tag.1.norm-old" "$tmpdir/elf2tag.1.norm-new" > /dev/null; then
|
||||
echo "$prog: elf2tag.1 is up to date"
|
||||
rm -f "$tmpdir/elf2tag.1"
|
||||
rm -f "$tmpdir/elf2tag.1.norm-old"
|
||||
rm -f "$tmpdir/elf2tag.1.norm-new"
|
||||
rmdir "$tmpdir"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Updating elf2tag.1"
|
||||
mv -f "$tmpdir/elf2tag.1" elf2tag.1
|
||||
rm -f "$tmpdir/elf2tag.1.norm-old"
|
||||
rm -f "$tmpdir/elf2tag.1.norm-new"
|
||||
rmdir "$tmpdir"
|
||||
exit 0
|
||||
Reference in New Issue
Block a user