ޡȤ CONFIG_* ¸ط
1999 ǯ 8  1 

Michael Chastain   <mec@shout.net>
Werner Almesberger <almesber@lrc.di.epfl.ch>
Martin von Loewis  <martin@mira.isdn.cs.tu-berlin.de>


Τ褦꤬ޤ

    drivers/net/foo.c Τ褦ʵҤޤǤȤޤ礦

        #include <linux/config.h>

        ...

        #ifdef CONFIG_FOO_AUTOFROB
            /* ưǲ򤪤ʤ */
        #else
            /* ȤǤʤȤΤ */
        #endif

        ...

        #ifdef CONFIG_FOO_MODEL_TWO
            /* ǥ II ѤΥ */
        #endif

    桼 (ͥӥɤ) ϢΤʤܤѹ褦
    򤪤ʤȤޤ礦κȤǡinclude/linux/autoconf.h
    ե뤬Τǡinclude/linux/config.h ŤΤȤʤꡢ
    ̤Ȥ drivers/net/foo.c ƥѥ뤵뤳Ȥˤʤޤ

    ۤȤɤΥͥ륽ɡ餯 80% 餤ϡʤȤ
    ɤ˰Ĥ CONFIG_* ¸äƤޤΤᡢĤǤ
    CONFIG_* ܤѹȡۤȤƤΥͥ륽ɤ
    ƥѥ뤬ɬפˤʤäƤޤޤ


ˡϼΤ褦ˤʤޤ

    ¸طץ mkdep.c 򡢤ꥹޡȤˤޤ
    褦ʰ¸ط

        drivers/net/foo.c: include/linux/config.h

    뤫ˡߤϼΤ褦ʰ¸طԤޤ

        drivers/net/foo.c: \
            include/config/foo/autofrob.h \
            include/config/foo/model/two.h

    ˤäơdrivers/net/foo.c ϡȤºݤ˻Ѥ CONFIG_*
    ԤΤߤ˰¸뤳Ȥˤʤޤ

    ץ split-include.c ϡѥ (make bzImage
    ޤ make zImage) λϤ˼¹Ԥޤsplit-include  include/
    linux/autoconf.h ɤ߹ߡinclude/config/ ĥ꡼򹹿Ĥ
    ץ󤴤Ȥ˰ĤΥե񤭽Фޤsplit-include ϡ
    ѹˤʤäץбեΤߤ򹹿ޤ

    mkdep.c 礱Ƥ <linux/config.h> Ԥޤɬפ <linux/
    config.h> ԤФٹå뤳Ȥϡ⤦ޤ
    ȥåץ٥οå 'make checkconfig' ǡ
    å򤪤ʤޤ


ե饰¸ط

    Martin Von Loewis ϡΥѥåˤ⤦Ĥεǽ 'ե饰¸ط'
    󶡤Ƥޤͤϡ.o եϡӥɤ
    Ѥ줿ѥե饰˰¸롢ȤΤǤե foo.o
    ǤϡΥե饰 .flags.foo.o ¸ޤ

    桼foo ɥ饤Ф󷿤⥸塼뷿ؤѹȤޤ礦
    'make' ϡߤ foo.o  -DMODULE դǥѥ뤵ƤʤȤ
    ǧfoo.c ƥѥ뤷ޤ

    C ɤƤ .o եϡե饰¸ط
    ޤld Ǻ .o ե ar Ǻ .a ե
    ƱͤǤ֥꥽ɤ .o ե
    ե饰¸طޤ (ߤïɬפȤƤޤ󤬡
    Τϲͤ뤳ȤǤ礦)


ե뤴ȤΥե饰

    ե饰¸طϡե뤴ȤΥե饰ȤȤ˻ȤäƤⵡǽ
    ޤΤ褦ˡġΥե뤴Ȥ˥ѥե饰
    ꤹ뤳ȤǤޤ

        CFLAGS_foo.o = -DSPECIAL_FOO_DEFINE

    ϡdrivers/net/Maefile, drivers/scsi/Makefile, Ӥ¾
    Ĥ Makefile 򤭤줤ˤΤΩĤǤ礦


ռ

    Werner Almesberger ϡȤʤ륢ǥФ Υѥå
    ǽΥСޤ

    Michael Chastain ϤѤȯ³ޤϸߡ
    γȯԤǤꡢƥʡǤХ𤷤Ƥ

    Martin von Loewis ϡե饰¸طMichael Chastain
    Ϥޤ

    ƤΦ¥ƥ˴դޤ

------------------------------------------------------------
Ρ JF ץ < http://www.linux.or.jp/JF/ >
   2004/04/15
ԡ    ɧ <takahiko(a)hakubi.co.jp>
ԡ     <VEC05526(a)nifty.ne.jp>
