valac で *.h をインクルードする *.c を生成する方法
最近 vala やってて、*.c や *.h を生成するオプションはわかったんだけど、
*.c が *.h をインクルードするようなオプションが分からなくて色々やってたらできたのでメモっておく。
ついさっき目コピしたサンプルのコードがこれ[github.com]。
で、このコードの makefile がこちら:
VALAC = valac LIBS = --pkg gtk+-2.0 --pkg webkit-1.0 --thread VALAFLAGS = $(LIBS) TARGET = test-webkit SRC0 = test-webkit.vala HEADER0 = test-webkit.h all: $(TARGET) $(TARGET): $(SRC0) $(VALAC) $(VALAFLAGS) $< -o $@ generate: $(SRC0) $(VALAC) $(VALAFLAGS) $< -C --use-header -H $(HEADER0)
最後の generate っていうのがそれなんだけど、-C で C コード生成、--use-header でヘッダーファイルを使用する、-H でヘッダーファイルの名前指定ってことなんだ。…と思う。
クラスを定義していない時はあんまり意味ないんだけどねw