Der folgende Code stammt aus Linux
BASEINCLUDE ?= /home/ben/work/runninglinuxkernel_4.0
#BASEINCLUDE ?= /lib/modules/`uname -r`/build
mydemo_misc-objs := mydemodrv_misc.o
obj-m := mydemo_misc.o
all :
$(MAKE) -C $(BASEINCLUDE) M=$(PWD) modules;
clean:
$(MAKE) -C $(BASEINCLUDE) SUBDIRS=$(PWD) clean;
rm -f *.ko;
Wenn das Ziel von make alles ist, gibt -C (BASEINCLUDE) an, zum Kernel-Quellverzeichnis zu springen und dort das Makefile zu lesen; M = (BASEINCLUDE) gibt an, zum Kernel-Quellverzeichnis zu springen und das Makefile dort zu lesen; M =( B A S E das I N C L die U- D E ) bezieht sich auf den nächsten Hop überführt , um den Kernquellencodeziel Aufzeichnung der Lese genommen , dass in der M A K E F I L E ; M= (PWD) zeigt an und kehrt dann zum aktuellen Verzeichnis zurück, um mit dem Lesen und Ausführen des aktuellen Makefiles fortzufahren.
Nach der Kompilierung wird schließlich mydemo_misc.ko generiert.
Zusätzlich:
mydemo_misc-objs: = mydemodrv_misc.o Das vorherige mydemo_misc ist der Name der kompilierten Datei, es sollte ein fester Wortlaut sein und die Kompilierung schlägt nach der Änderung fehl