Annotation of nono/Makefile.rule, revision 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.