# Copyright (C) 2011 Alessandro Ghedini <alessandro@ghedini.me>
# Updated 2012 by Mike Perry to extract syscall table addresses
# Updated 2014 by Francis Brosnan Blázquez to check for ia32 support
obj-m += nokeyctl.o
ifdef M
include $(M)/Makefile.inc
ifndef SYSTEM_MAP_FILE
SYSTEM_MAP_FILE := $(KERNEL_DIR)/System.map
endif
SCT := $(shell grep " sys_call_table" '$(SYSTEM_MAP_FILE)' | awk '{ print $$1; }')
SCT32 := $(shell grep "ia32_sys_call_table" '$(SYSTEM_MAP_FILE)' | awk '{ print $$1; }')
EXTRA_CFLAGS += -Dsys_call_table_addr="((void**)0x$(SCT))"
ifdef SCT32
EXTRA_CFLAGS += -Dia32_sys_call_table_addr="((void**)0x$(SCT32))" -D__enable_32bits_support
endif
else
include Makefile.inc
endif
all:
@echo "Building with " $(EXTRA_CFLAGS)
make -C '$(KERNEL_DIR)' 'M=$(PWD)'
install: all
-mkdir -p '$(DESTDIR)/lib/modules/$(KERNEL_VER)/misc'
cp nokeyctl.ko '$(DESTDIR)/lib/modules/$(KERNEL_VER)/misc/'
clean:
make -C '$(KERNEL_DIR)' 'M=$(PWD)' clean
rm -f Module.symvers built-in.o modules.order nokeyctl.ko nokeyctl.mod.c nokeyctl.mod.o nokeyctl.o
distclean: clean
rm -f Makefile.inc