blob: b803fa2d730cfd8a2abdeb872cad2d1b70d75374 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
obj-m += tfe-kmod.o
tfe-kmod-y := core.o util.o stat.o cmsg.o
ccflags-n := -DDEBUG -g
version := $(shell git log --pretty=format:'%h' -n 1)
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PREFIX ?= /usr
DESTDIR ?=
SRCDIR ?= $(PREFIX)/src
VERSION ?= $(subst -,.,$(shell git describe --dirty 2>/dev/null))
DKMSDIR ?= $(SRCDIR)/tfe-kmod
DEPMOD ?= depmod
.PHONY: all module clean dkms-install dkms-package version.h dkms.conf
all: module
debug: module-debug
version.h:
@export GIT_CEILING_DIRECTORIES="$$(readlink -f ../..)" && \
ver="#define TFE_KMOD_VERSION \"$(VERSION)\"" && \
[ "$$(cat version.h 2>/dev/null)" != "$$ver" ] && \
echo "$$ver" > version.h && \
git update-index --assume-unchanged version.h || true
dkms.conf:
@export GIT_CEILING_DIRECTORIES="$$(readlink -f ../..)" && \
ver=$(VERSION) && \
. ./dkms.conf && \
[ "$$PACKAGE_VERSION" != "$$ver" ] && \
sed -i "s/PACKAGE_VERSION=.*/PACKAGE_VERSION=\"$$ver\"/" dkms.conf && \
git update-index --assume-unchanged dkms.conf || true
module: version.h
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
DKMS_SOURCES := Makefile dkms.conf $(wildcard *.c *.h)
dkms-install: $(DKMS_SOURCES)
@$(foreach f,$(DKMS_SOURCES),install -v -m0644 -D $(f) $(DESTDIR)$(DKMSDIR)/$(f);)
dkms-package: dkms-install
dkms add $(DKMSDIR)
dkms mkrpm -m tfe-kmod -v $(VERSION) --source-only
|