--- nono/Makefile.rule 2026/04/29 17:04:40 1.1.1.3 +++ nono/Makefile.rule 2026/04/29 17:05:47 1.1.1.5 @@ -14,10 +14,18 @@ # ターゲットをビルドするためのルールは各自で定義のこと。 # # CSRCS -# ターゲットをビルドするための C ソース。 +# nono をビルドするための C ソース。 +# +# CSRCS_all +# テストなども含むすべてのターゲットをビルドするための C ソース。 +# 定義されてなければこちらで ${CSRCS} を代入する。 # # CXXSRCS -# ターゲットをビルドするための C++ ソース。 +# nono をビルドするための C++ ソース。 +# +# CXXSRCS_all +# テストなども含むすべてのターゲットをビルドするための C++ ソース。 +# 定義されてなければこちらで ${CXXSRCS} を代入する。 # # CFLAGS.{srcfile} # CXXFLAGS.{srcfile} @@ -34,6 +42,9 @@ # CLEANDIRFILES # make cleandir で削除する追加のファイル。 +CSRCS_all?= ${CSRCS} +CXXSRCS_all?= ${CXXSRCS} + all: ${TARGETS} .PHONY: clean @@ -48,18 +59,18 @@ cleandir: install: .PHONY: depend -.if "${CSRCS}" != "" || "${CXXSRCS}" != "" -.PHONY: ${CSRCS:.c=.d} ${CXXSRCS:.cpp=.d} -depend: ${CSRCS:.c=.d} ${CXXSRCS:.cpp=.d} +.if "${CSRCS_all}" != "" || "${CXXSRCS_all}" != "" +.PHONY: ${CSRCS_all:.c=.d} ${CXXSRCS_all:.cpp=.d} +depend: ${CSRCS_all:.c=.d} ${CXXSRCS_all:.cpp=.d} cat ${.ALLSRC} > .depends rm -f *.d .endif -.for f in ${CSRCS} +.for f in ${CSRCS_all} ${f:.c=.d}: ${CC} ${CPPFLAGS} -E -MM $f > $@ .endfor -.for f in ${CXXSRCS} +.for f in ${CXXSRCS_all} ${f:.cpp=.d}: ${CXX} ${CPPFLAGS} -E -MM $f > $@ .endfor @@ -68,6 +79,14 @@ ${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.$<} ${COPT} -c $< -o $@