Next: Link mode, Up: Invoking libtool [Contents][Index]
¥³¥ó¥Ñ¥¤¥ë¥â¡¼¥É¤ËÂФ·¡¤mode-args¤Ï¡¤‘ɸ½àŪ¤Ê’¥ª¥Ö¥¸¥§¥¯ ¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤È¤»ÈÍѤ¹¤ë¥³¥ó¥Ñ¥¤¥ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥¤³¤ì¤é¤Î°ú¿ô¤Ï¡¤ C¥³¥ó¥Ñ¥¤¥é¤Î̾Á°¤Ç»Ï¤Þ¤ê¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¤ß¤òºîÀ®¤¹¤ë¤¿¤á¤Î ‘-c’¥³¥ó¥Ñ¥¤¥é¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤Þ¤¹¡¥
libtool¤Ï¡¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤«¤é¥Ç¥£¥ì¥¯¥È¥êÍ×ÁǤòºï½ü¤·¤Æ½ÐÎÏ¥Õ¥¡¥¤¥ë ̾¤ò·èÄꤷ¡¤¥½¡¼¥¹¥³¡¼¥É¤ÎÀÜÈø»Ò(Î㤨¤Ð¡¤C¥½¡¼¥¹¥³¡¼¥É¤ËÂФ¹¤ë ‘.c’)¤ò¥é¥¤¥Ö¥é¥ê¥ª¥Ö¥¸¥§¥¯¥ÈÀÜÈø»Ò‘.lo’¤ËÃÖ´¹¤·¤Þ¤¹¡¥
¶¦Í¥é¥¤¥Ö¥é¥ê¤ò¥Ó¥ë¥É¤¹¤ë¾ì¹ç¤Ï¡¤É¬ÍפÊPICÀ¸À®¥Õ¥é¥°¤¬¥³¥ó¥Ñ¥¤¥ë¥³¥Þ ¥ó¥É¤ËÃÖ´¹¤µ¤ì¤Þ¤¹¡¥‘-XCClinker flag’¤ò»ÈÍѤ·¤¿¤ê¡¤¥ê¥ó¥«¥Õ ¥é¥°‘-Wl,flag’¤È‘-Xlinker flag’¤òÅϤ¹¤³¤È¤Ç¡¤¥ê ¥ó¥¯»ØÄê¤Î¥Õ¥é¥°¤ò¥³¥ó¥Ñ¥¤¥é¥É¥é¥¤¥Ð¤ËÅϤ¹¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤Þ¤¿¡¤ ‘-Wc,flag’¤È‘-Xcompiler flag’¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¤ ¥³¥ó¥Ñ¥¤¥ë»ØÄê¤Î¥Õ¥é¥°¤òÅϤ¹¤³¤È¤â²Äǽ¤Ç¤¹¡¥
‘-static’¥ª¥×¥·¥ç¥ó¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤libtool¤¬ ‘--disable-static’¤Ç¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ç¤â¡¤ .o¥Õ¥¡¥¤¥ë¤¬¥Ó¥ë¤µ¤ì¤Æ¤Þ¤¹¡¥
¸½ºß¤Ï‘-o’¥ª¥×¥·¥ç¥ó¤¬¡¤´°Á´¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯ ¤À¤µ¤¤¡¥¤½¤ì¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¤(¥ª¥Ö¥¸¥§¥¯¥È ¤Î¥í¥Ã¥¯¤È°Üư¤Ë¤è¤Ã¤Æ)¥¨¥ß¥å¥ì¡¼¥È¤µ¤ì¤ë¤Î¤Ç¡¤Makefile¤ò¾¯¤·ÊÔ½¸¤¹¤ë ¤À¤±¤Çlibtool¤ÏËÜÅö¤Ë´Êñ¤Ë»ÈÍѤǤ¤Þ¤¹¡¥ÆþÎÏÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
libtool gcc -c foo/x.c -o foo/x.lo
will do what you expect.
¤·¤«¤·¡¤¥³¥ó¥Ñ¥¤¥é¤¬‘-c’¤È‘-o’¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤´û¸ ¤Î./x.o¤ò¾å½ñ¤¤»¤º¤Ëfoo/x.c¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤¬ÉÔ²Äǽ ¤Ê¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥¤½¤Î¤¿¤á¡¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë./x.c¤¬¤¢¤ë¾ì ¹ç¡¤./x.o(¤ä./x.lo)¤¬¡¤¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¢¤é¤æ¤ë x.lo¤Î¸å¤ÇºÆºîÀ®¤µ¤ì¤ë¤³¤È¤ò³Î¼Â¤Ë¤¹¤ë¤¿¤á¡¤Makefile¤Ë°Í ¸À¤ÎƳÆþ¤òɬ¤º¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
x.o x.lo: foo/x.lo bar/x.lo
¤³¤ì¤Ï¡¤¥×¥í¥°¥é¥à¤ä¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤¹¤ë¤¿¤á¡¤°ì»þŪ¤Ë²õ¤ì¤¿x.o ¤Î»ÈÍѤò»î¤ß¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤·¤Þ¤¹¡¥¤½¤ì¤Ï¡¤‘-c’¤È‘-o’¤òƱ»þ ¤Ë¥µ¥Ý¡¼¥È¤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¡¤ÉÔɬÍפʺƥ³¥ó¥Ñ¥¤¥ë¤ò°ú¤µ¯¤³¤¹¤«¤â ¤·¤ì¤Þ¤»¤ó¤¬¡¤¤½¤ì¤Ï¡¤¤½¤¦¤Ç¤Ê¤¤¤â¤Î¤ËÂФ·¤Æ°ÂÁ´¤Ë¤¹¤ëÍ£°ì¤ÎÊýË¡¤Ç¤¹¡¥