[[FrontPage]]

*Makefile

**makedepend

Makefileを書き換えるツール。
Makefileは改行で終わっていないと困ったことになるので注意。
	$ makedepend sourcefiles

** GNUmake

	#	依存関係などの省力化
	#
	#	カレントディレクトリに含まれる .c ファイルだけ .o を作成
	#	また .makefileというMakefile(の一部)を生成する
	#		#includeから生成した依存関係が書かれたファイル
	#		gcc -M の出力を加工したもの
	
	SOURCES = $(wildcard *.c)
	OBJECTS = $(SOURCES:.c=.o)
	all: ${OBJECTS}
	
	include $(OBJECTS:.o=.makefile)
	%.makefile: %.c
		set -e; gcc -M $< \
				| sed 's/$*\.o[ :]/$*.o $@ : /g' > $@; \
				[ -s $@ ] || rm -f $@


	#	依存関係解決ファイルの作成 ver2
	#
	#	-MMによりシステムのヘッダを出力しなくなる
	#	-MTによりいちいちsedを通さなくて良くなる
	#	%の前にディレクトリを指定したりできる
	
	${DEPDIR}/%.makefile: ${SRCDIR}/%.c
		set -e; \
			gcc -MM -MT '${OBJDIR}/$*.o $@' $< > $@; \
			[ -s $@ ] || rm -f $@

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS