Annotation of nono/Makefile.rule, revision 1.1.1.1

1.1       root        1: #
                      2: # nono
                      3: # Copyright (C) 2020 nono project
                      4: # Licensed under nono-license.txt
                      5: #
                      6: 
                      7: # 共通のルール。
                      8: # サブディレクトリの Makefile の末尾で .include すること。
                      9: 
                     10: # 必要に応じて以下の変数を定義しておく。
                     11: #
                     12: # TARGETS
                     13: #      ターゲット。複数でもよい。
                     14: #      ターゲットをビルドするためのルールは各自で定義のこと。
                     15: #
                     16: # CSRCS
                     17: #      ターゲットをビルドするための C ソース。
                     18: #
                     19: # CXXSRCS
                     20: #      ターゲットをビルドするための C++ ソース。
                     21: #
                     22: # CFLAGS.{srcfile}
                     23: # CXXFLAGS.{srcfile}
                     24: # CPPFLAGS.{srcfile}
                     25: #      個別のソースファイルに適用するオプション。
                     26: #
                     27: # CLEANFILES
                     28: #      make clean で削除する追加のファイル。
                     29: #
                     30: # CLEANDIRFILES
                     31: #      make cleandir で削除する追加のファイル。
                     32: 
                     33: all:   ${TARGETS}
                     34: 
                     35: .PHONY: clean
                     36: clean:
                     37:        rm -rf ${TARGETS} *.o ${CLEANFILES}
                     38: 
                     39: .PHONY: cleandir
                     40: cleandir:
                     41:        rm -rf .depends ${CLEANDIRFILES}
                     42: 
                     43: ${BINDIR}:
                     44:        mkdir -p ${BINDIR}
                     45: 
                     46: .PHONY: install
                     47: install:
                     48: 
                     49: .PHONY: depend
                     50: .if "${CSRCS}" != "" || "${CXXSRCS}" != ""
                     51: .PHONY: ${CSRCS:.c=.d} ${CXXSRCS:.cpp=.d}
                     52: depend: ${CSRCS:.c=.d} ${CXXSRCS:.cpp=.d}
                     53:        cat ${.ALLSRC} > .depends
                     54:        rm -f *.d
                     55: .endif
                     56: 
                     57: .for f in ${CSRCS}
                     58: ${f:.c=.d}:
                     59:        ${CC} ${CPPFLAGS} -E -MM $f > $@
                     60: .endfor
                     61: .for f in ${CXXSRCS}
                     62: ${f:.cpp=.d}:
                     63:        ${CXX} ${CPPFLAGS} -E -MM $f > $@
                     64: .endfor
                     65: 
                     66: .if exists(${.CURDIR}/.depends)
                     67: .include "${.CURDIR}/.depends"
                     68: .endif
                     69: 
                     70: .c.o:
                     71:        ${CC}  ${CFLAGS}   ${CFLAGS.$<}   ${CPPFLAGS} ${CPPFLAGS.$<} -c $< -o $@
                     72: 
                     73: .cpp.o:
                     74:        ${CXX} ${CXXFLAGS} ${CXXFLAGS.$<} ${CPPFLAGS} ${CPPFLAGS.$<} -c $< -o $@

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.