--- nono/Makefile.rule 2026/04/29 17:04:33 1.1 +++ nono/Makefile.rule 2026/04/29 17:05:39 1.1.1.4 @@ -14,22 +14,42 @@ # ターゲットをビルドするためのルールは各自で定義のこと。 # # CSRCS -# ターゲットをビルドするための C ソース。 +# nono をビルドするための C ソース。 +# +# CSRCS_all +# テストなども含むすべてのターゲットをビルドするための C ソース。 +# 定義されてなければこちらで ${CSRCS} を代入する。 # # CXXSRCS -# ターゲットをビルドするための C++ ソース。 +# nono をビルドするための C++ ソース。 +# +# CXXSRCS_all +# テストなども含むすべてのターゲットをビルドするための C++ ソース。 +# 定義されてなければこちらで ${CXXSRCS} を代入する。 # # CFLAGS.{srcfile} # CXXFLAGS.{srcfile} # CPPFLAGS.{srcfile} # 個別のソースファイルに適用するオプション。 # +# COPT +# C/C++ ソースコンパイル時に指定する追加のオプション。 +# すべてのオプションより後ろで出力する。 +# # CLEANFILES # make clean で削除する追加のファイル。 # # CLEANDIRFILES # make cleandir で削除する追加のファイル。 +.if "${CSRCS_all}" != "" +CSRCS_all= ${CSRCS} +.endif + +.if "${CXXSRCS_all}" != "" +CXXSRCS_all= ${CXXSRCS} +.endif + all: ${TARGETS} .PHONY: clean @@ -40,9 +60,6 @@ clean: cleandir: rm -rf .depends ${CLEANDIRFILES} -${BINDIR}: - mkdir -p ${BINDIR} - .PHONY: install install: @@ -67,8 +84,16 @@ ${f:.cpp=.d}: .include "${.CURDIR}/.depends" .endif +.PHONY: show-files +show-files: + @echo ${CSRCS} ${CXXSRCS} + +.PHONY: show-allfiles +show-allfiles: + @echo ${CSRCS_all} ${CXXSRCS_all} + .c.o: - ${CC} ${CFLAGS} ${CFLAGS.$<} ${CPPFLAGS} ${CPPFLAGS.$<} -c $< -o $@ + ${CC} ${CFLAGS} ${CFLAGS.$<} ${CPPFLAGS} ${CPPFLAGS.$<} ${COPT} -c $< -o $@ .cpp.o: - ${CXX} ${CXXFLAGS} ${CXXFLAGS.$<} ${CPPFLAGS} ${CPPFLAGS.$<} -c $< -o $@ + ${CXX} ${CXXFLAGS} ${CXXFLAGS.$<} ${CPPFLAGS} ${CPPFLAGS.$<} ${COPT} -c $< -o $@