LinuxÏÂMakefile µÄautomakeÉú³ÉÏê½â
Ò»¡¢Makefile½éÉÜ
¡¡¡¡MakefileÊÇÓÃÓÚ×Ô¶¯±àÒëºÍÁ´½ÓµÄ£¬Ò»¸ö¹¤³ÌÓкܶàÎļþ×é³É£¬Ã¿Ò»¸öÎļþµÄ¸Ä±ä¶¼»áµ¼Ö¹¤³ÌµÄÖØÐÂÁ´½Ó£¬µ«ÊDz»ÊÇËùÓеÄÎļþ¶¼ÐèÒªÖØÐ±àÒ룬MakefileÖмͼÓÐÎļþµÄÐÅÏ¢£¬ÔÚmakeʱ»á¾ö¶¨ÔÚÁ´½ÓµÄʱºòÐèÒªÖØÐ±àÒëÄÄЩÎļþ¡£
¡¡¡¡MakefileµÄ×ÚÖ¼¾ÍÊÇ£ºÈñàÒëÆ÷ÖªµÀÒª±àÒëÒ»¸öÎļþÐèÒªÒÀÀµÆäËûµÄÄÄЩÎļþ¡£µ±ÄÇЩÒÀÀµÎļþÓÐÁ˸ı䣬±àÒëÆ÷»á×Ô¶¯µÄ·¢ÏÖ×îÖÕµÄÉú³ÉÎļþÒѾ¹ýʱ£¬¶øÖØÐ±àÒëÏàÓ¦µÄÄ£¿é¡£
¡¡¡¡MakefileµÄ»ù±¾½á¹¹²»ÊǺܸ´ÔÓ£¬µ«µ±Ò»¸ö³ÌÐò¿ª·¢ÈËÔ±¿ªÊ¼Ð´Makefileʱ£¬¾³£»á»³ÒÉ×Ô¼ºÐ´µÄÊÇ·ñ·ûºÏ¹ßÀý£¬¶øÇÒ×Ô¼ºÐ´µÄMakefile¾³£ºÍ×Ô¼ºµÄ¿ª·¢»·¾³Ïà¹ØÁª£¬µ±ÏµÍ³»·¾³±äÁ¿»ò·¾¶·¢ÉúÁ˱仯ºó£¬Makefile¿ÉÄÜ»¹Òª¸ú×ÅÐ޸ġ£ÕâÑù¾ÍÔì³ÉÁËÊÖ¹¤ÊéдMakefileµÄÖî¶àÎÊÌ⣬automakeÇ¡ºÃÄܺܺõذïÖúÎÒÃǽâ¾öÕâЩÎÊÌâ¡£
¡¡¡¡Ê¹ÓÃautomake£¬³ÌÐò¿ª·¢ÈËÔ±Ö»ÐèҪдһЩ¼òµ¥µÄº¬ÓÐÔ¤¶¨ÒåºêµÄÎļþ£¬ÓÉautoconf¸ù¾ÝÒ»¸öºêÎļþÉú³Éconfigure£¬ÓÉautomake¸ù¾ÝÁíÒ»¸öºêÎļþÉú³ÉMakefile.in£¬ÔÙʹÓÃconfigureÒÀ¾ÝMakefile.inÀ´Éú³ÉÒ»¸ö·ûºÏ¹ßÀýµÄMakefile¡£ÏÂÃæÎÒÃǽ«Ïêϸ½éÉÜMakefileµÄautomakeÉú³É·½·¨¡£
¶þ¡¢Ê¹ÓõĻ·¾³
¡¡¡¡±¾ÎÄËùÌáµ½µÄ³ÌÐòÊÇ»ùÓÚLinux·¢Ðа汾£ºFedora Core release 1£¬Ëü°üº¬ÁËÎÒÃÇÒªÓõ½µÄautoconf£¬automake¡£
Èý¡¢´ÓhelloworldÈëÊÖ
ÎÒÃÇ´Ó´ó¼Ò×ʹÓõÄÀý×Ó³ÌÐòhelloworld¿ªÊ¼¡£
ÏÂÃæµÄ¹ý³ÌÈç¹û¼òµ¥µØËµÀ´¾ÍÊÇ£º
н¨Èý¸öÎļþ£º
helloworld.c
configure.in
Makefile.am
È»ºóÖ´ÐУº
aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld
¾Í¿ÉÒÔ¿´µ½Makefile±»²úÉú³öÀ´£¬¶øÇÒ¿ÉÒÔ½«helloworld.c±àÒëͨ¹ý¡£
ºÜ¼òµ¥°É£¬¼¸ÌõÃüÁî¾Í¿ÉÒÔ×ö³öÒ»¸ö·ûºÏ¹ßÀýµÄMakefile£¬¸Ð¾õÈçºÎѽ¡£
ÏÖÔÚ¿ªÊ¼½éÉÜÏêϸµÄ¹ý³Ì£º
1¡¢½¨Ä¿Â¼
ÔÚÄãµÄ¹¤×÷Ŀ¼Ï½¨Ò»¸öhelloworldĿ¼£¬ÎÒÃÇÓÃËüÀ´´æ·Åhelloworld³ÌÐò¼°Ïà¹ØÎļþ£¬ÈçÔÚ/home/my/buildÏ£º
$ mkdir helloword
$ cd helloworld
2¡¢ helloworld.c
È»ºóÓÃÄã×Ô¼º×îϲ»¶µÄ±à¼Æ÷дһ¸öhellowrold.cÎļþ£¬ÈçÃüÁvi helloworld.c¡£Ê¹ÓÃÏÂÃæµÄ´úÂë×÷Ϊhelloworld.cµÄÄÚÈÝ¡£
int main(int argc, char** argv)
{
printf("Hello, Linux World!\n");
return 0;
}
Íê³Éºó±£´æÍ˳ö¡£
ºÃÁË£¬ÏÖÔÚÔÚhelloworldĿ¼Ï¾ÍÓ¦¸ÃÓÐÒ»¸öÄã×Ô¼ºÐ´µÄhelloworld.cÁË¡£
3¡¢Éú³Éconfigure
ÎÒÃÇʹÓÃautoscanÃüÁîÀ´°ïÖúÎÒÃǸù¾ÝĿ¼ÏµÄÔ´´úÂëÉú³ÉÒ
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
How to change the hostname of a Linux system
Normally we will set the hostname of a system during the installation process. Many peoples don’t care about this, and don’t change the hostname even if for example this was set to something really stupid by the datacenter that installed the ......
LinuxÄں˹¹½¨ÏµÍ³ÔÀí
²¿·ÖÒë×Ô£º¡¶Embedded Linux System Design and Development ¡· BY P. Raghavan / Amol Lad / Sriram Neelakandan
Áõ½¨ÎÄÂÔÒ루http://blog.csdn.net/keminlau £©
KEY£ºÄں˹¹½¨ Äں˱àÒë kbuild Linux
ÄÚºËÓëÓ¦ÓóÌÐò·Ö¿ª¹¹½¨
ÄÚºËÓëÓ¦ÓóÌÐò±»Éè¼Æ³É·Ö¿ª¹¹½¨µÄ£¬ÓÉCÍ·ÎļþºÍC¿âʵÏÖ£ ......