forked from badly-drawn-wizards/vangogh_oc_fix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
56 lines (42 loc) · 1.74 KB
/
Makefile
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
49
50
51
52
53
54
55
56
UNAME ?= $(shell uname -r)
MODULES_DIR ?= /lib/modules/$(UNAME)
HEADERS_BUILD ?= $(MODULES_DIR)/build
HEADERS_KERNEL_VERSION = $(shell make -s -C $(HEADERS_BUILD) kernelversion)
MODULES_EXTRA_DIR = $(MODULES_DIR)/extra
MODULES_LOAD_DIR = /etc/modules-load.d
MODULE_LOAD_LINE = "vangogh_oc_fix"
MODULE_FREQ ?= 3500
MODPROBE_DIR = /etc/modprobe.d
MODPROBE_LINE = "options vangogh_oc_fix cpu_default_soft_max_freq=$(MODULE_FREQ)"
CONFIG_MODULE_AMD_HEADERS_DIR = $(PWD)/module/amd_headers/$(HEADERS_KERNEL_VERSION)
MAKE = make -C $(HEADERS_BUILD) CONFIG_MODULE_AMD_HEADERS_DIR=$(CONFIG_MODULE_AMD_HEADERS_DIR) CONFIG_GCC_PLUGINS=n M=$(shell pwd)/module
PHONEY := build
build: module/vangogh_oc_fix.ko.xz
$(HEADERS_BUILD):
$(error "Could not find $(HEADERS_BUILD). You probably don't have headers installed. Run 'sudo pacman -Ss linux-neptune' to find which linux header package to install")
PHONEY += clean
clean: $(HEADERS_DIR)
$(MAKE) M=$(shell pwd)/module clean
PHONEY += install
install: $(MODULES_EXTRA_DIR)/vangogh_oc_fix.ko.xz
depmod -a
PHONEY += install-conf
install-conf: $(MODULES_LOAD_DIR)/vangogh_oc_fix.conf $(MODPROBE_DIR)/vangogh_oc_fix.conf
PHONEY += uname
uname:
@echo $(UNAME)
module/vangogh_oc_fix.ko: $(HEADERS_BUILD) module/Makefile module/*.c
$(MAKE) modules
module/vangogh_oc_fix.ko.xz: module/vangogh_oc_fix.ko
xz --keep --check=crc32 --lzma2=dict=512KiB $< -c > $@
$(MODULES_EXTRA_DIR): | $(MODULES_DIR)
mkdir $(MODULES_EXTRA_DIR)
$(MODULES_EXTRA_DIR)/vangogh_oc_fix.ko.xz: module/vangogh_oc_fix.ko.xz | $(MODULES_EXTRA_DIR)
cp $< $@
PHONEY += _always
_always:
$(MODULES_LOAD_DIR)/vangogh_oc_fix.conf: _always
@echo $(MODULE_LOAD_LINE) > $@
$(MODPROBE_DIR)/vangogh_oc_fix.conf: _always
@echo $(MODPROBE_LINE) > $@
.PHONEY: $(PHONEY)