CプリプロセッサでHTMLを作る(1)
ちょっと作業半ばで出かけないといけないのでメモ
#define __TITLE__ ウェブサイトほげほげ
#include "begin.h"
<h1>ほげほげ</h1>
<p>本文以下省略〜〜〜〜
#include "end.h"
みたいなやつ。
拾ってきた記述によると、gccのプリプロセッサは
#プリプロセッサのみ動作
gcc -E hoge.c > hoge.i
#コメント削除を行わない
gcc -E -C hoge.c > hoge.i
#"#line"コマンドを生成しない
gcc -E -P hoge.c > hoge.i
#使用ヘッダファイルも表示
gcc -E -H hoge.c > hoge.i
なので、 gcc -E -C -P hoge.c >hoge.html が適当。
hoge.cのところをhoge.htmlsourceとでもしたいところだが、リンクされないとか言って受け付けてもらえない。C言語に使われる拡張子じゃないと駄目らしい。よくわからんが、とりあえずincludeされるファイルを.hで、htmlになるファイルを.cとでもして作業続行。
文字コードはSJISで問題ないらしい。
で、makefileを組む。実は自分はmakefileは詳しく知らない
shellからls呼び出すとかできるんだね。更新確認して必要なとこだけ処理してくれる。
#Makefile for HTMLs.SUFFIXES: .h .c .html
SRC = $(shell ls *.c)
HEADERS = $(shell ls *.h)
HTMLS = $(SRC:.c=.html).PHONY: all
all: $(HTMLS).PHONY: clean
clean:
-rm -f $(HTMLS)$(HTMLS): $(HEADERS)
.c.html:
$(PREP) $< >$@