LinuxÖÐMakefile½éÉÜ
Linux MakefileÎļþµÄ½éÉÜ
1. Makefile½éÉÜ
×¢ÒâÊÇ“Makefile”£¬µÚÒ»¸ö×Öĸ´óд£¬ÆäÓàµÄ¶¼ÊÇСд¡£Makefile¹ØÏµµ½ÁËÕû¸ö¹¤³ÌµÄ±àÒë¹æÔò£¬Ò»¸ö¹¤³ÌÖеÄÔ´Îļþ²»¼ÆÊý£¬Æä°´ÀàÐÍ¡¢¹¦ÄÜ¡¢Ä£¿é·Ö±ð·ÅÔÚÈô¸É¸öĿ¼ÖУ¬Makefile¶¨ÒåÁËһϵÁеĹæÔòÀ´Ö¸¶¨£¬ÄÄЩÎļþÐèÒªÏȱàÒ룬ÄÄЩÎļþÐèÒªºó±àÒ룬ÄÄЩÎļþÐèÒªÖØÐ±àÒ룬ÉõÖÁÓÚ½øÐиü¸´ÔӵŦÄܲÙ×÷£¬ÒòΪMakefile¾ÍÏñÒ»¸öShell½Å±¾Ò»Ñù£¬ÆäÖÐÒ²¿ÉÒÔÖ´ÐвÙ×÷ϵͳµÄÃüÁî¡£
Makefile´øÀ´µÄºÃ´¦¾ÍÊÇ——“×Ô¶¯»¯±àÒ딣¬Ò»µ©Ð´ºÃ£¬Ö»ÐèÒªÒ»¸ömakeÃüÁÕû¸ö¹¤³ÌÍêÈ«×Ô¶¯±àÒ룬¼«´óµÄÌá¸ßÁËÈí¼þ¿ª·¢µÄЧÂÊ¡£
ÆäʵMakefileµÄ±¾ÖÊÊǶ¨ÒåÁËÎļþÖ®¼äµÄÒÀÀµÐÔÎÊÌâ¡£
makeÃüÁîÖ´ÐÐʱ£¬ÐèÒªÒ»¸ö Makefile Îļþ£¬ÒÔ¸æËßmakeÃüÁîÐèÒªÔõôÑùµÄÈ¥±àÒëºÍÁ´½Ó³ÌÐò¡£
2. Àý×Ó
Ê×ÏÈ¿´Ò»Ï£¬ÎÒÃÇÓÃgccÀ´±àÒëºÍÁ´½Ó¶à¸öÎļþµÄÀý×Ó¡£±ÈÈ磬ÎÒÃÇÓÐÈý¸öÎļþ£¬file1.c£¬file2.c£¬file3.c£¬Èý¸öÎÄ»¯¿ÉÒÔ±àÒë³ÉÒ»¸ö¿ÉÖ´ÐгÌÐò¡£ÄÇÎÒÃÇÓÃgcc±àÒëÈçÏ£º
gcc –c file1.c //»áÉú³Éfile1.oÎļþ
gcc –c file2.c //»áÉú³Éfile2.oÎļþ
gcc –c file3.c //»áÉú³Éfile3.oÎļþ
gcc file1.o file2.o file3.o –o file //Éú³ÉÃû×ÖΪfileµÄÎļþ¡£
¿´×ÅÉÏÃæµÄÄã»á¸Ðµ½±È½ÏÂé·³°É£¬Èç¹ûÓкܶàºÜ¶àÎļþµÄ»°ÄǾͻá¸üÂé·³ÁË¡£ÄÇôÏÖÔھͿ´¿´MakefileÔõôȥ¸ã¶¨ËüÄØ£¿
all: file1.o file2.o file3.o
gcc file1.o file2.o file3.o –o file
file1.o:file1.c
gcc -c file1.c
file2.o:file2.c
gcc -c file1.c
file3.o:file3.c
gcc -c file1.c
ÏÂÃæ¼òµ¥µÄ½éÉÜÏÂËüµÄ¹¤×÷¹ý³Ì£º
µ±ÎÒÃÇÇÃÏÂÃüÁîmakeµÄʱºò£¬±àÒëÆ÷¾Í»áÈ¥ÕÒMakefielÕâ¸öÎļþ£¬È»ºó¾Í»áȥѰÕÒMakefileÎļþÀïÃæµÄµÚÒ»¸ö±êºÅall£¬ÏñÉÏÃæÕâ¸öÀý×ÓÀïÃæµÄall £¬file1.o£¬ file2.o £¬file3.o¶¼ÊDZêºÅ£¬
È»ºó¿´±êºÅºóÃæµÄÎļþÊÇ·ñ´æÔÚ£¬Èç¹û²»´æÔÚ£¬¾Í»áÈ¥ÒÀÕÕËüѰÕÒ£¬ÏñÉÏÃæµÄÀý×Ó£¬Èç¹ûfile1.o²»´æÔÚ£¬¾Í»áÌøµ½file1.o:file1.cÕâ¾ä£¬È»ºó¾Í»áÖ´ÐÐÏÂÃæÒ»¾ä gcc -c file1.cÉú³Éfile1.oÕâ¸öÎļþ¡£ºóÃæµÄ»ù±¾ÉÏÒ²ÊÇÒ»Ñù¡£
×¢ÒâÔÚдMakefileÎļþʱ£¬±êºÅÒª¶¨¸ñд£¬ºóÃæµÄÖ´ÐÐÓï¾äÒªÓÃTab¼ü¡£
3. Makefile¹æ
Ïà¹ØÎĵµ£º
Linux»·¾³ÏµÄÈí¼þ°²×°£¬²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇé;Èç¹ûͨ¹ýÔ´´úÂë±àÒëºóÔÚ°²×°£¬µ±È»ÊÂÇé¾Í¸üΪ¸´ÔÓһЩ;ÏÖÔÚ°²×°¸÷ÖÖÈí¼þµÄ½Ì³Ì¶¼·Ç³£ÆÕ±é;µ«
Íò±ä²»ÀëÆäÖУ¬¶Ô»ù´¡ÖªÊ¶µÄÔúÊµÕÆÎÕ£¬°²×°¸÷ÖÖÈí¼þµÄÎÊÌâ¾ÍÓÈжø½âÁË¡£Configure½Å±¾ÅäÖù¤¾ß¾ÍÊÇ»ù´¡Ö®Ò»£¬ËüÊÇautoconfµÄ¹¤¾ßµÄ»ù±¾
Ó¦Óá£
ÓëһЩ¼¼ÇÉÏà±È£¬ConfigureÏԵûù ......
1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒ ......
1. È¥http://java.sun.com/j2se/1.4.2/download.html ÏÂÔØÒ»¸öLinux PlatformµÄJDK£¬½¨ÒéÏÂÔØRPM×Ô½âѹ¸ñʽµÄ£¨RPM in self-extracting file£¬j2sdk-1_4_2_06-linux-i586-rpm.bin£©£»
2. ÉÏÔØµ½Linux·þÎñÆ÷ÉÏ£¬ÔÚshellÏÂÖ´ÐÐÃüÁ
[root@LinuxServer rpm]# chmod 755 j2s ......
ÉÕд2410£S linux ²Ù×÷ϵͳ£º
ÔÚwindows xpϽøÐУ¬ÐèÒªµÄÎļþÔÚ¹âÅÌÖеÄimgĿ¼ºÍflashviviĿ¼ÏÂÌṩ¡£
ÉÕд2410£S linux ²Ù×÷ϵͳ°üÀ¨ÉÕдvivi,kernel,rootÈý¸ö²½Ö裬³ý´ËÎÒÃÇ»¹ÒªÉÕдyaffs.tar£¬ÕâËĸöÎļþÔÚimgĿ¼ÖС£
vivi ----linux²Ù×÷ϵͳÆô¶¯µÄbootloader;
zImage----linu ......