obj-m += tdevmon.o

tdevmon-objs :=  module.o Device.o Hook.o Connection.o HashTable.o ScatterGather.o FileNameFilter.o lkmUtils.o stringUtils.o

ifndef LINUX_BUILD_DIR
	LINUX_BUILD_DIR := /lib/modules/$(shell uname -r)/build/
endif

ifndef TDEVMON_LKM_DIR
	export TDEVMON_LKM_DIR := $(shell pwd)
endif

ccflags-y := \
	-I$(TDEVMON_LKM_DIR)/../../../../include/tdevmon \
	-fvisibility=hidden \
	-Wno-date-time \
	-Wno-parentheses

X86_WPR_PTE ?= 0
ifeq ($(X86_WPR_PTE), 1)
    ccflags-y += -DTDEVMON_X86_WPR_PTE=1
endif

default:
	make -C $(LINUX_BUILD_DIR) M=$(PWD) modules

modules_install:
	make -C $(LINUX_BUILD_DIR) M=$(PWD) modules_install

clean:
	make -C $(LINUX_BUILD_DIR) M=$(PWD) clean
