̾??
style.Makefile
—
FreeBSD ?ˤ?????
Makefile
?ե??????Υ??????륬????
???Υե??????? FreeBSD
???????ĥ?? makefile
?˹??ޤ????????????????????Ƥ??ޤ???
- ???Ƥ? makefile ?ϥե?????????Ƭ?? SCM ID
?????????????˶??Ԥ?³???ޤ???
- ɬ?פʤ??С?????
.PATH
:
??³???ޤ??? “.PATH:
”
?Τ褦?ˡ????????θ???ñ???? ????????
???ڡ?????³???褦???֤??ޤ???
VPATH
?ѿ??ϻȤ??ʤ??Ǥ?????????
- ?ü??ѿ? ( LIB ?? SRCS ?? MLINKS
?ʤ?)
?ϡ??????????????Ρ??Х??ʥ??ι??ۤ˻Ȥ????Ρ?
?Х??ʥ??Υ??ȡ????˻Ȥ????Τν??֤??¤٤ޤ?
(?ֺ???ʪ????)??
???뤤?Ϲ??ۤ????????֡??Ĥޤ????Ȥʤ??ץ???????
(???뤤?ϥ饤?֥???) ??
?Ȥ????Τ????ˤ????褦???¤٤Ƥ???ޤ???
(?ֹ???ʪ????)??
????Ū?ʡֺ???ʪ???פϤ????Ǥ?:
PROG/[SH]LIB/SCRIPTS
FILES LINKS
[NO]MAN
MLINKS INCS
SRCS WARNS
CFLAGS DPADD
LDADD ??
????Ū?ʡֹ???ʪ???פϤ????Ǥ?:
PROG/[SH]LIB/SCRIPTS
SRCS WARNS
CFLAGS DPADD
LDADD INCS
FILES LINKS
[NO]MAN MLINKS
??
<bsd.prog.mk>
???Ȥ??? PROG
??Ʊ??̾????ñ???Υ??????ե??????Ǥ????????ϡ?
SRCS ????ά???ޤ???
<bsd.prog.mk>
???Ȥ??? PROG
??Ʊ??̾???ǡ??????????? 1
?Υޥ˥奢???ڡ????Ǥ??????ϡ?
MAN ????ά???ޤ???
- ?ѿ??ؤ??????Ϥ??٤?
“VAR
=
”
?Τ褦???֤??ޤ???
?Ĥޤꡢ?ѿ?̾?? =
?δ֤ˤ϶??????֤??ޤ?????
??ǽ?ʤ??С??ͤϥ????ե??٥åȽ??˥????Ȥ????褦?ˤ??ޤ???
- ?ѿ??????????????ꤹ??
(?⤷?????ѿ????ǽ??????ꤹ??) ?????ˡ?
+=
???Ȥ??ΤϤ????Ƥ?????????
- ??ñ?? makefile
?ǡ????Ԥ??Ȥ??ΤϤ????Ƥ?????????
??????????ʣ????Ĺ?????Τ??Ф??Ƥϡ???ʬŪ?˴?Ϣ???????ܤ?
?ޤȤ??뤿???˻Ȥ??ޤ???
- ????Ū?? WARNS ?? CFLAGS
?ν????ҤǤ????? CFLAGS
???????֤??ޤ??? WARNS
?Ͻ??פʤ??ΤǤ??ꡢ???̤?
CFLAGS
?ε??Ҥ????Ǹ??????ʤ??褦?ˡ?
CFLAGS
?θ????ǤϤʤ??ơ?
CFLAGS ???????֤??ޤ???
???ޥ??ɥ饤???? /etc/make.conf
?Ǿ??Ǥ????褦?ˡ?
WARNS ??
“
WARNS?=
”
?Τ褦???֤??ޤ???
- “
NO_WERROR= yes
”
?ϻȤ??٤??Ǥ????ޤ???????
WARNS
????Ū??̵???ˤ??Ƥ??ޤ??ޤ???
?????ϥ??ޥ??ɥ饤???ǡ??????ü??ʾ????ǤΤ??Ѥ??????٤??Ǥ???
- CFLAGS ??
“
CFLAGS+=
”
?Τ褦???֤??ޤ???
- CFLAGS ?ˤ????ơ?
-I
?????? -D
?Υꥹ?Ȥ??֤??Τϡ??????ե??٥åȽ??Ȥ??????????⡢?ޤ?
-D
?䤹??????????????ޤ??????ȤǤ???
-D
?Ϥ??Ф??о????Ĥ??Υ????ѥ????˱ƶ??????ޤ?
-I
?ϰճ???Ĺ???ʤ꤬???Ǥ??? Ĺ??
CFLAGS ???????Ǥ? -D
?? -I
?δ֤?ʬ?䤷?ޤ???
- CFLAGS ?ˤ????ơ? GCC
Ū?ʤ??? (
-g
??
-Wall
?Ȥ??ä?????)
???Ȥ??ΤϤ????ޤ??礦??
- ????Ū?ˤ? VAR
=
???ͤδ֤ˡ? ????????
???֤??ҤȤ??????ޤ??? ?ͤ? 9
???ܤ????Ϥޤ??褦?ˤ??뤿???Ǥ???
?ѿ?̾?? 9 ????Ķ?????????ϡ?ñ???? ????????
???ڡ??????ɤ??Ǥ???
?ޤ??ѿ?̾???ȤƤ?Ĺ???????ϡ??ۥ磻?ȥ??ڡ???̵???Ǥ??ɤ??Ǥ???
.include
<bsd.*.mk>
?ϺǸ??Ǥ???
- $< ?䡢 $@
?Ȥ??ä??????????Τ??Τ??Ȥ??ΤϤ????ޤ??礦??
???????? ${.IMPSRC} ??
${.ALLSRC} ???????? ${.TARGET}
???Ȥ??ޤ???
????Ū?ʥ??롼??ʬ????ɽ?????????????ˡ?
?嵭?Τ????Ĥ??˽????ʤ????Ȥ⤷?Ф??Ф????ޤ???
?Ǥ⥷???ץ??ʡ??ץ?????????
Makefile ?Ǥ?:
# $FreeBSD$
PROG= foo
.include <bsd.prog.mk>
?Ǥ⥷???ץ??ʡ??饤?֥?????
Makefile ?Ǥ?:
# $FreeBSD$
LIB= foo
SHLIB_MAJOR= 1
MAN= libfoo.3
SRCS= foo.c
.include <bsd.lib.mk>
???Υޥ˥奢???ڡ????ϡ?
FreeBSD ??
style(9)
?ޥ˥奢???ڡ?????Ʊ?????????˱ƶ??????Ƥ??ޤ???
?㳰???????ʤ????????뵬§?ϡ??ۤȤ??ɤ????ޤ?????
¿???Υ????????ϡ? makefile
???Τ????ơ????뤤?Ϥ????????ιԤ?
??????¸???Ƥ??ޤ???