mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
c2mdoc is an awk/shell script wot I wrote to aid in documenting our many
wonderful kernel APIs. c2man seems to choke on tcp_subr.c (which I was using as a baseline), so let's do it the long way round instead. This script spits out mdoc(7) markup ready for pasting into the SYNOPSIS section of our wonderful mdoc.template.
This commit is contained in:
parent
bb61b57fa6
commit
ba73e13881
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=102705
@ -90,6 +90,7 @@
|
||||
SUBDIR += byaccj
|
||||
SUBDIR += c2lib
|
||||
SUBDIR += c2man
|
||||
SUBDIR += c2mdoc
|
||||
SUBDIR += c4
|
||||
SUBDIR += c_c++_reference
|
||||
SUBDIR += c_parser
|
||||
|
34
devel/c2mdoc/Makefile
Normal file
34
devel/c2mdoc/Makefile
Normal file
@ -0,0 +1,34 @@
|
||||
# New ports collection makefile for: c2mdoc
|
||||
# Date created: 2 March 2004
|
||||
# Whom: Bruce M. Simpson <bms@FreeBSD.org>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= c2mdoc
|
||||
PORTVERSION= 20040302
|
||||
CATEGORIES= devel textproc
|
||||
MASTER_SITES= #
|
||||
DISTFILES=
|
||||
|
||||
MAINTAINER= bms@FreeBSD.org
|
||||
COMMENT= Script to generate mdoc(7) markup from C functions
|
||||
|
||||
RUN_DEPENDS= cproto:${PORTSDIR}/devel/cproto
|
||||
|
||||
NOMAN=
|
||||
|
||||
USE_REINPLACE= yes
|
||||
NO_BUILD= yes
|
||||
NO_WRKSUBDIR= yes
|
||||
|
||||
PKG_PLIST= bin/c2mdoc libexec/c2mdoc.awk
|
||||
|
||||
do-install:
|
||||
${INSTALL_SCRIPT} ${FILESDIR}/c2mdoc.awk ${PREFIX}/libexec
|
||||
${CP} ${FILESDIR}/c2mdoc ${WRKDIR}
|
||||
${REINPLACE_CMD} -e "s|%%LIBEXECDIR%%|${PREFIX}/libexec|g;" \
|
||||
${WRKDIR}/c2mdoc
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/c2mdoc ${PREFIX}/bin
|
||||
|
||||
.include <bsd.port.mk>
|
1
devel/c2mdoc/distinfo
Normal file
1
devel/c2mdoc/distinfo
Normal file
@ -0,0 +1 @@
|
||||
#
|
15
devel/c2mdoc/files/c2mdoc
Normal file
15
devel/c2mdoc/files/c2mdoc
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# c2mdoc -- Front-end which abuses the cproto parser to spit out
|
||||
# mdoc(7) format prototypes for use in FreeBSD documentation.
|
||||
#
|
||||
|
||||
AWKSCRIPT="%%LIBEXECDIR%%/c2mdoc.awk"
|
||||
CPROTO='-P"int\tf\t(\ta\t,\tb\t)" -pq -f3'
|
||||
CPROTO_BIN=cproto
|
||||
export CPROTO
|
||||
|
||||
${CPROTO_BIN} $1 | \
|
||||
grep -v '/\*.*\*/' | \
|
||||
sed -e 's/[,();]//g' | \
|
||||
${AWKSCRIPT}
|
13
devel/c2mdoc/files/c2mdoc.awk
Normal file
13
devel/c2mdoc/files/c2mdoc.awk
Normal file
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/awk -f
|
||||
#
|
||||
# c2mdoc.awk -- Takes tabulated output from cproto(1) and turns it into
|
||||
# mdoc(7) markup.
|
||||
#
|
||||
BEGIN { FS="\t" }
|
||||
{
|
||||
printf ".Fa %s\n", $1 ;
|
||||
printf ".Fn %s", $2 ;
|
||||
for (i = 4; i < NF; i++)
|
||||
printf " \"%s\"", $i
|
||||
printf "\n" ;
|
||||
}
|
8
devel/c2mdoc/pkg-descr
Normal file
8
devel/c2mdoc/pkg-descr
Normal file
@ -0,0 +1,8 @@
|
||||
c2mdoc is a shell and awk script wrapper which abuses devel/cproto's parser
|
||||
to spit out function prototypes in a format ready to paste into FreeBSD
|
||||
developer documentation. c2man already claims to do such a thing, but seems
|
||||
crippled in the face of our kernel source. The toolchain used by this port
|
||||
whinges but still generates markup.
|
||||
|
||||
Bruce
|
||||
bms@FreeBSD.org
|
Loading…
Reference in New Issue
Block a user