0
|
1 .\" @(MHWARNING)
|
|
2 .\" written by MH-plus project
|
|
3 .SC MH-HACK 8
|
|
4 .NA
|
|
5 mh-hack \- MH をハックする方法
|
|
6 .SY
|
|
7 big hack attack
|
|
8 .DE
|
|
9 これは、\fIMH\fR システムをどのように変更できるかを書いたものです。
|
|
10 \fIMH\fR は非常に複雑な相互関係があるので、コードに手を加える前に、
|
|
11 これを読んで何がどうなるかを理解すべきでしょう。
|
|
12
|
|
13 .in +.5i
|
|
14 .ti -.5i
|
|
15 新しいプログラムの追加
|
|
16 .br
|
|
17 例えば、\*(lqpickle\*(rq という新しい \fIMH\fR command を作りたいとします。
|
|
18 まず最初に、\fBuip/\fR ディレクトリに \*(lqpickle.c\*(rq を作り、編集します。
|
|
19 次に、\fBconf/makefiles/uip\fR を \*(lqpickle\*(rq が含まれるように編集します。
|
|
20 どのように修正すれば良いかについて、このファイル内に指示があります。
|
|
21 次に、ドキュメントを更新します(詳細は下に)。
|
|
22 この時点で、 \fIMH\fR の再コンフィグが出来ます。
|
|
23 どのようにやるかの説明については、\fImh\-gen(8)\fR を参照して下さい
|
|
24 (基本的に、 \*(lqmhconfig MH\*(rq することになるでしょう)。
|
|
25
|
|
26 .ti -.5i
|
|
27 新しいサブルーチンの追加
|
|
28 .br
|
|
29 例えば、\*(lqpickle\*(rq という新しい \fIMH\fR ルーチンを作りたいとします。
|
|
30 まず最初に、\fBsbr/\fR ディレクトリに \*(lqpickle.c\*(rq を作り、編集します。
|
|
31 次に、 \fBconf/makefiles/sbr\fR が \*(lqpickle\*(rq を含むように編集します。
|
|
32 どのように修正すれば良いかについて、このファイル内に指示があります。
|
|
33 \*(lqpickle ();\*(rq の定義のために、\fBconfig/mh.h\fR を修正しなくては
|
|
34 なりません。また同様に \fIlint\fR のために、\fBsbr/llib\-lsbr\fR を修正
|
|
35 しなくてはなりません。
|
|
36 この時点で、 \fIMH\fR の再コンフィグが出来ます。
|
|
37
|
|
38 .ti -.5i
|
|
39 ドキュメントの更新
|
|
40 .br
|
|
41 \fBconf/doc/\fR の中の希望するファイルを編集して下さい。
|
|
42 新しいプログラムを文書化する時、例えば \*(lqpickle\*(rq であるとすると、
|
|
43 \*(lqpickle.rf\*(rq という名前でマニュアルページを作成しなくてはなりません。
|
|
44 \fBconf/doc/template\fR というファイルは、マニュアルページのテンプレートです。
|
|
45 新しいプログラムを文書化しているなら、他の三つのファイルも更新すべきです:
|
|
46 \fBconf/doc/mh.rf\fR というファイルが、\*(lqpickle.rf\*(rq から
|
|
47 \*(lq\&.NA\*(rq セクションを含むように修正すべきです。
|
|
48 \fBconf/doc/mh\-chart.rf\fR というファイルが、\*(lqpickle.rf\*(rq から
|
|
49 \*(lq\&.SY\*(rq セクションを含むように修正すべきです。
|
|
50 最後に、 \fBconf/doc/MH.rf\fR ファイルが、\*(lq\&.so pickle.me\*(rq を
|
|
51 含むように修正するべきです。
|
|
52
|
|
53 もちろん、実際に \fImhconfig\fR を走らせるまでは、コンフィグレーション中の
|
|
54 どのような変更も反映されません。
|
|
55 .in -.5i
|
|
56 .Fi
|
|
57 言及すべきことが多過ぎます。本当。
|
|
58 .Sa
|
|
59 mh\-gen(8)
|
|
60 .Bu
|
|
61 ハッキングはアートです。
|
|
62 でも多くのプログラマーはヘボで、アーチストではありません。
|
|
63 .En
|