01/10/2018, 10:30 
               
            Phần makefile để biên dịch driver sao lại biên dịch theo cách `make -c `?

Trước giờ mình thấy makefile để biên dịch đều dùng gcc hay g++ chứ chưa thấy dùng make -c bao giờ hết. Ai biết giải thích cho mình với. thanks.
            Bài liên quan
         
                
            




-c nghĩa là nhảy đến thư mục /lib/modules/$(shell uname -r)/build và gõ lệnh make M=… modules.
Bạn nên gõ man make để xem chi tiết về option -c.
Em cảm ơn. Anh có thể giải thích cho em phần
obj-m += hello_driver.ođược không ạ ? E không hiểu phần-mđó là sao, cón phép gán thì e hiểu.hello bạn
obj-m là một biến ở trong hệ thống Makefile của linux kernel, khi bạn gán thêm giá trị cho biến này là hello_driver.o tương đương với bạn thông báo rằng để biên dịch được kernel module hello_driver.ko thì cần file hello_driver.o.
Kernel build system sẽ tìm ra file hello_driver.c của bạn và build ra file hello_driver.o bằng gcc sau đó build ra hello_driver.ko từ hello_driver.o
obj-m ở đây nghĩa là module object.