ifndef KVER
KVER := $(shell uname -r)
endif
MODULESROOT := /lib/modules/$(KVER)
ifndef KSRC
KSRC := $(MODULESROOT)/build
endif

ifndef EXTRA_CFLAGS
EXTRA_CFLAGS := -Wall -Wcast-align -Wstrict-prototypes -O2 -DLINUX -I$(SUBDIRS)/../include
endif

obj-m		:= thinkpad.o smapi.o superio.o rtcmosram.o thinkpadpm.o
smapi-objs	:= smapi_core.o smapi_call.o
clean-files	:= $(smapi-objs) $(obj-m)

ifeq ($(KERNELRELEASE),)

PWD	:= $(shell pwd)

default:
	$(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules

endif

clean:
	rm -f *.o *.ko *.mod.? .*.o.cmd .*.ko.cmd

install:
	if [ ! -d $(MODULESROOT)/thinkpad ]; then mkdir -p -m 755 $(MODULESROOT)/thinkpad ; fi
	install -m 444 -o 0 -g 0 thinkpad.ko   $(MODULESROOT)/thinkpad/thinkpad.ko
	install -m 444 -o 0 -g 0 smapi.ko      $(MODULESROOT)/thinkpad/smapi.ko
	install -m 444 -o 0 -g 0 superio.ko    $(MODULESROOT)/thinkpad/superio.ko
	install -m 444 -o 0 -g 0 rtcmosram.ko  $(MODULESROOT)/thinkpad/rtcmosram.ko
	install -m 444 -o 0 -g 0 thinkpadpm.ko $(MODULESROOT)/thinkpad/thinkpadpm.ko
	depmod -a

.PHONY: default clean install
