SHELL := /bin/sh
CC = gcc
MAKE = make
KVER  ?= $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build
KDIR := /lib/modules/$(KVER)/build
PWD := $(shell pwd)
CLR_MODULE_FILES := *.mod.c *.mod *.o .*.cmd *.ko *~ .tmp_versions* modules.order Module.symvers
SYMBOL_FILE := Module.symvers
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/acpi
MODULE_NAME := bbswitch

obj-m := $(MODULE_NAME).o


ifdef DEBUG
CFLAGS_$(obj-m) := -DDEBUG
endif

all:
	$(MAKE) -C $(KDIR) M=$(PWD) modules

install:
	mkdir -p $(MODDESTDIR)
	install -p -m 644 $(MODULE_NAME).ko  $(MODDESTDIR)
	xz -f $(MODDESTDIR)/$(MODULE_NAME).ko
	depmod -a ${KVER}

uninstall:
	rm -f $(MODDESTDIR)/$(MODULE_NAME).ko*
	depmod -a ${KVER}

.PHONY: modules clean
clean:
	cd hal ; rm -fr */*/*/*.mod.c */*/*/*.mod */*/*/*.o */*/*/.*.cmd */*/*/*.ko*
	cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko*
	cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko*
	cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko*
	cd core ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko*
	cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko*
	cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko* *.o.d
	cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko*
	cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko*
	rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
	rm -fr *.mod.c *.mod *.o .*.cmd *.ko* *~
	rm -fr .tmp_versions
