Previous: Hello, Up: Examples   [Contents][Index]


3.3 true¤Èfalse¤Î¥Ó¥ë¥É

°Ê²¼¤Ë¤â¤¦°ì¤Ä¤Î¡¤¥È¥ê¥Ã¥­¡¼¤ÊÎ㤬¤¢¤ê¤Þ¤¹¡¥¤½¤ì¤ÏƱ¤¸¥½¡¼¥¹¥Õ¥¡¥¤¥ë (true.c)¤«¤éÆó¤Ä¤Î¥×¥í¥°¥é¥à(true¤Èfalse)¤òÀ¸À®¤¹ ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡¥Æñ¤·¤¤Éôʬ¤Ï¡¤¤½¤ì¤¾¤ì¤Îtrue.c¤Î¥³¥ó¥Ñ¥¤¥ë¤Ç¡¤ °Û¤Ê¤ëcpp¥Õ¥é¥°¤¬É¬Íפˤʤë¤È¤¤¤¦¤³¤È¤Ç¤¹¡¥

bin_PROGRAMS = true false
false_SOURCES =
false_LDADD = false.o

true.o: true.c
        $(COMPILE) -DEXIT_CODE=0 -c true.c

false.o: true.c
        $(COMPILE) -DEXIT_CODE=1 -o false.o -c true.c

true_SOURCES¤ÎÄêµÁ¤¬Ìµ¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥Automake ¤Ï¡¤¥½¡¼ ¥¹¥Õ¥¡¥¤¥ë̾true.c¤¬Â¸ºß¤¹¤ë¤È°ÅÌۤ˲¾Äꤷ¡¤true.o¤Ë¥³¥ó ¥Ñ¥¤¥ë¤·¡¤true¤Ë¥ê¥ó¥¯¤¹¤ë¥ë¡¼¥ë¤òÄêµÁ¤·¤Þ¤¹¡¥¾åµ­¤Î Makefile.am¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ëtrue.o: true.c¤Î¥ë¡¼¥ë¤Ï¡¤ Automake¤¬À¸À®¤¹¤ëtrue.o¤ò¥Ó¥ë¥É¤¹¤ë¤¿¤á¤Î¥ë¡¼¥ë¤ËÍ¥À褷¤Þ¤¹¡¥

false_SOURCES¤Ï¶õ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹ — ¤½¤ÎÊýË¡¤Ç¤Ï¡¤°ÅÌÛ¤ÎÃÍ ¤ÇÃÖ´¹¤µ¤ì¤Þ¤»¤ó¡¥false¤Î¥½¡¼¥¹¤Ç¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¤¥× ¥í¥°¥é¥à¤ò¥ê¥ó¥¯¤¹¤ëÊýË¡¤òAutomake¤ËÅÁ¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤¬ false_LDADD¹Ô¤ÎÌÜŪ¤Ç¤¹¡¥false_DEPENDENCIESÊÑ¿ô¤Ï false¥¿¡¼¥²¥Ã¥È¤Î°Í¸À­¤òÊÝ»ý¤·¤Æ¤¤¤Æ¡¤false_LDADD¤ÎÆâÍÆ ¤«¤éAutomake¤¬¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡¥

¾åµ­¤Î¥ë¡¼¥ë¤Ï¡¤¥³¥ó¥Ñ¥¤¥é¤¬‘-c’¤È‘-o’¤ÎξÊý¤ò¼õ¤±Æþ¤ì¤Ê¤¤¾ì ¹ç¤Ïưºî¤·¤Þ¤»¤ó¡¥¤³¤ì¤ò´Êñ¤Ë½¤Àµ¤¹¤ë¤¿¤á¡¤(ʹԤ·¤¿make¤ÎÌäÂê ¤òÈò¤±¤ë¤¿¤á¤Ë)µ¶¤Î°Í¸À­¤òƳÆþ¤·¤Þ¤¹¡¥

true.o: true.c false.o
        $(COMPILE) -DEXIT_CODE=0 -c true.c

false.o: true.c
        $(COMPILE) -DEXIT_CODE=1 -c true.c && mv true.o false.o

¤Þ¤¿¡¤¤³¤ì¤é¤ÎÌÀ¼¨Åª¤Ê¥ë¡¼¥ë¤Ï¡¤de-ANSI-fication¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¤Ïưºî ¤·¤Þ¤»¤ó(see ANSI)¡¥de-ANSI-fication¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¤Ï¡¤¤â¤¦¾¯ ¤·Â¿¤¯¤Î»Å»ö¤¬É¬ÍפǤ¹¡¥

true_.o: true_.c false_.o
        $(COMPILE) -DEXIT_CODE=0 -c true_.c

false_.o: true_.c
        $(COMPILE) -DEXIT_CODE=1 -c true_.c && mv true_.o false_.o

¤ªÊ¬¤«¤ê¤Î¤è¤¦¤Ë¡¤Æ±¤¸ºî¶È¤ò¹Ô¤Ê¤¦¤¿¤á¡¤¤è¤ê¤¤¤Ã¤½¤¦´Êñ¤ÊÊýË¡¤â¤¢¤ê¤Þ ¤¹¡¥¾åµ­¤Î¥Æ¥¯¥Ë¥Ã¥¯¤Ë¤Ï¡¤¥Þ¥Ë¥å¥¢¥ë¤ÎÎã¤È¤·¤Æ»Ä¤·¤Æ¤ª¤¯¤Ë¤Ï½½Ê¬Ìò¤ËΩ ¤Ä¤â¤Î¤â¤¢¤ê¤Þ¤¹¡¥¤·¤«¤·¡¤true¤Èfalse¤ò¸½¼ÂŪ¤Ë¥Ó¥ë¥É¤¹ ¤ë¾ì¹ç¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ë¡¤¤ª¤½¤é¤¯¥×¥í¥°¥é¥à¤´¤È¤Ë¥³¥ó¥Ñ¥¤¥ë¤Î¥Õ¥é¥°¤ò»È ÍѤ¹¤ë¤³¤È¤Ç¤·¤ç¤¦¡¥

bin_PROGRAMS = false true

false_SOURCES = true.c
false_CPPFLAGS = -DEXIT_CODE=1

true_SOURCES = true.c
true_CPPFLAGS = -DEXIT_CODE=0

¤³¤Î¾õ¶·¤Ç¤Ï¡¤Automake¤Ë¤è¤Ã¤Æ¡¤true.c¤Ï°Û¤Ê¤ë¥Õ¥é¥°¤ÇÆóÅÙ¥³¥ó ¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥de-ANSI-fication¤Ï¼«Æ°Åª¤Ëưºî¤·¤Þ¤¹¡¥¤³¤Î Îã¤Ç¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ïautomake¤¬ÁªÂò¤·¤Þ¤¹¡¥¤½¤ì¤Ï false-true.o¤Ètrue-true.o¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡¥(¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡ ¥¤¥ë¤Î̾Á°¤¬ÌäÂê¤È¤Ê¤ë¤³¤È¤ÏÌÇ¿¤Ë¤¢¤ê¤Þ¤»¤ó¡¥)