1 # change KERNELSRC to the location of your kernel build tree only if
2 # autodetection does not work
3 #KERNELSRC=/usr/src/linux
4 #KERNELSRC=/usr/src/kernel-source-2.4.21-acpi-i2c-lmsensors
5 KERNELSRC?
=/lib
/modules
/`uname -r`/build
6 KERNELVERSION
=$(shell awk
-F
\" '/REL/ {print $$2}' $(shell grep
-s
-l REL
$(KERNELSRC
)/include/linux
/version.h
$(KERNELSRC
)/include/linux
/utsrelease.h
))
8 KERNELMAJOR
=$(shell echo
$(KERNELVERSION
)|head
-c3
)
11 # next line is for kernel 2.6, if you integrate the driver in the kernel tree
12 # /usr/src/linux/drivers/acer_acpi - or something similar
13 # don't forget to add the following line to the parent dir's Makefile:
14 # (/usr/src/linux/drivers/Makefile)
19 CFLAGS
+=-c
-Wall
-Wstrict-prototypes
-Wno-trigraphs
-O2
-fomit-frame-pointer
-fno-strict-aliasing
-fno-common
-pipe
20 INCLUDE
=-I
$(KERNELSRC
)/include
22 ifneq ($(KERNELMAJOR
), 2.6)
26 TARGET
:= acer_acpi.ko
32 @echo
"No support for 2.4 series kernels"
35 @echo Possible targets
:
36 @echo
-e
all\\t- default target
, builds kernel module
37 @echo
-e
install\\t- copies module binary to
/lib
/modules
/$(KERNELVERSION
)/extra
/
38 @echo
-e
clean\\t- removes
all binaries and temporary files
40 acer_acpi.ko
: $(SOURCE
)
41 $(MAKE
) -C
$(KERNELSRC
) SUBDIRS
=$(PWD
) modules
43 acer_acpi.o
: $(SOURCE
)
44 $(CC
) $(INCLUDE
) $(CFLAGS
) -DMODVERSIONS
-DMODULE
-D__KERNEL__
-o
$(TARGET
) $(SOURCE
)
47 rm -f
*~
*.o
*.s
*.ko
*.mod.c .
*.cmd Module.symvers
57 mkdir
-p
${DESTDIR}/lib
/modules
/$(KERNELVERSION
)/extra
58 cp
-v
$(TARGET
) ${DESTDIR}/lib
/modules
/$(KERNELVERSION
)/extra
/