<nav id="gb9pn"></nav>

  1. <form id="gb9pn"><legend id="gb9pn"></legend></form>

    <form id="gb9pn"><legend id="gb9pn"><video id="gb9pn"></video></legend></form>
  2. Hi£¬»¶Ó­À´µ½Ç¶ÈëʽÅàѵ¸ß¶ËÆ·ÅÆ - »ªÇåÔ¶¼û½ÌÓý¼¯ÍÅ<±±¾©×ܲ¿¹ÙÍø>£¬×¨×¢Ç¶Èëʽ¹¤³ÌʦÅàÑø15Ä꣡
    µ±Ç°Î»ÖÃ: > »ªÇåÔ¶¼û½ÌÓý¼¯ÍÅ > ǶÈëʽѧϰ > ½²Ê¦²©ÎÄ > Çý¶¯Ä£¿éMakefile½âÎö
    Çý¶¯Ä£¿éMakefile½âÎö
    ʱ¼ä£º2017-01-05×÷Õߣº»ªÇåÔ¶¼û

    ÏÈ¿´Ò»Ï´úÂë

    ifeq ($(KERNELRELEASE),)
            KERNELDIR ?= /home/linux/linux-2.6.22.6
            PWD := $(shell pwd)
            modules:
                    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
            modules_install:
                    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
            clean:
                    rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
            .PHONY: modules modules_install clean
            else
                    obj-m := myhello.o
            endif

    ÆäÖÐÓÐһЩÊÇÎÒÃdz£¼û»òÊǼû¹ýµÄ£¬µÚÒ»¸öifeq ($(KERNELRELEASE),)Ŀǰ£¬²¢ÎÞÓô¦£¬ËüµÄÓÉÀ´ÊÇÖ¸ÔÚLinuxÔ´Âë¸ùĿ¼ÏµÄMakefile±àÒëÄÚºËʱ£¬KERNELRELEASEºê»á±»¶¨Ò壬ÄÇôÈç¹ûÊÇ´ÓÔ´Âë¸ùĿ¼¿ªÊ¼µÄmakeÔò»á½«myhello.oÄ£¿é±àÒë½øÄںˡ£

    KERNELDIR ?= /home/linux/linux-2.6.22.6£¬Õâ¾äÊǶÔKERNELDIR½øÐи³Öµ£¬Õâ¸ö±äÁ¿ÊǺóÃæÎÒÃÇÓõ½µÄÖ¸´úÄÚºËÔ´ÂëĿ¼ÓõÄ¡£

    PWD := $(shell pwd)£¬Õâ¾äÊǶÔPWD±äÁ¿½øÐи³Öµ£¬×÷ÓÃÊǽ«$(shell pwd)µÄ·µ»Ø½á¹û¼ÈÇóµÃµ±Ç°Ä¿Â¼µÄ·¾¶¸³Öµ¸øPWD£¬Õâ¸ö±äÁ¿ÎÒÃÇÔÚºóÃæÖ¸´úÎÒÃÇÒª±àÒëµÄÇý¶¯³ÌÐòËùÔÚµÄλÖá£

    modules:
            $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

    Õâ¾äÊÇMakefileµÄ¹æÔò£ºÕâÀïµÄ$(MAKE)¾ÍÏ൱ÓÚmake£¬-C Ñ¡ÏîµÄ×÷ÓÃÊÇÖ¸½«µ±Ç°¹¤×÷Ä¿Â¼×ªÒÆµ½ÄãËùÖ¸¶¨µÄλÖᣓM=”Ñ¡ÏîµÄ×÷ÓÃÊÇ£¬µ±Óû§ÐèÒªÒÔij¸öÄÚºËΪ»ù´¡±àÒëÒ»¸öÍⲿÄ£¿éµÄ»°£¬ÐèÒªÔÚmake modules ÃüÁîÖмÓÈë“M=dir”£¬³ÌÐò»á×Ô¶¯µ½ÄãËùÖ¸¶¨µÄdirĿ¼ÖвéÕÒÄ£¿éÔ´Â룬½«Æä±àÒ룬Éú³ÉKOÎļþ¡£

    modules_install:
                    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

    Õâ¸öÃüÁîÊÇÄ£¿éµÄ°²×°£¬ÔÚMakefileÖÐËÑË÷“lib\/modules”¿ÉÒÔ¿´µ½ÏÂÃæµÄÓï¾ä£¬Í¨¹ýÔĶÁÄã²»ÄÑÕÒµ½Õâ¸ö“MODLIB”µÄÓô¦£¬ËüÊÇÓÃÀ´Ö¸¶¨°²×°Â·¾¶µÄ£¬¶ø±äÁ¿“INSTALL_MOD_PATH”ÍùÍùΪ¿Õ¡£

    MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
            Export MODLIB

    .PHONY: modules modules_install clean

    Õâ¾ä»°ÊǵÄ×÷ÓÃÊDZ£Ö¤modules,modules_install,cleanÕâÈý¸öÃüÁîÄÜÕý³£Íê³É¡£.PHONY ÕâÊÇÒ»¸öÌØÊâÄ¿±êÃû³Æ£¬»¹ÓÐÆäËüµÄ£¬È磺

    .SUFFIXES£¬.DEFAULT£¬.PRECIOUS£¬.INTERMEDIATE£¬.SECONDARY£¬.SECONDEXPANSION£¬.DELETE_ON_ERROR£¬.IGNORE .LOW_RESOLUTION_TIME .SILENT .EXPORT_ALL_VARIABLES .NOTPARALLEL

    ËüÃǵľßÌåÓ÷¨¿ÉÒԲο¼GNUÊÖ²áÖеÄSpecial Built-in Target NamesÕ½Ú¡£

    .PHONYÄ¿±êµÄ¾ßÌåÒâ˼ÊÇÈç¹ûÔÚMakefileµÄ¹¤×÷Ŀ¼ÖÐÓÐÃûÈ磺modules,modules_install,cleanµÈÎļþʱÃüÁî»á³ö´í¡£ËüÊÇ·ÀÖ¹Õâ³ö´íµÄ·½Ê½¡£

    ·¢±íÆÀÂÛ
    ÆÀÂÛÁÐ±í£¨ÍøÓÑÆÀÂÛ½ö¹©ÍøÓѱí´ï¸öÈË¿´·¨£¬²¢²»±íÃ÷±¾Õ¾Í¬ÒâÆä¹Ûµã»ò֤ʵÆäÃèÊö£©
    welcome¹º²ÊÖÐÐÄ