]> git.sur5r.net Git - groeck-it87/blob - Makefile
Makefile: Add support for compressed modules
[groeck-it87] / Makefile
1 # For building for the current running version of Linux
2 TARGET          := $(shell uname -r)
3 # Or specific version
4 #TARGET         := 2.6.33.5
5 KERNEL_MODULES  := /lib/modules/$(TARGET)
6 # KERNEL_BUILD  := $(KERNEL_MODULES)/build
7 KERNEL_BUILD    := /usr/src/linux-headers-$(TARGET)
8
9 #SYSTEM_MAP     := $(KERNEL_BUILD)/System.map
10 SYSTEM_MAP      := /boot/System.map-$(TARGET)
11
12 DRIVER := it87
13
14 # Directory below /lib/modules/$(TARGET)/kernel into which to install
15 # the module:
16 MOD_SUBDIR = drivers/hwmon
17 MODDESTDIR=$(KERNEL_MODULES)/kernel/$(MOD_SUBDIR)
18
19 obj-m   := $(patsubst %,%.o,$(DRIVER))
20 obj-ko  := $(patsubst %,%.ko,$(DRIVER))
21
22 MAKEFLAGS += --no-print-directory
23
24 ifneq ("","$(wildcard $(MODDESTDIR)/*.ko.gz)")
25 COMPRESS_GZIP := y
26 endif
27 ifneq ("","$(wildcard $(MODDESTDIR)/*.ko.xz)")
28 COMPRESS_XZ := y
29 endif
30
31 .PHONY: all install modules modules_install clean
32
33 all: modules
34
35 # Targets for running make directly in the external module directory:
36
37 modules clean:
38         @$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) $@
39
40 install: modules_install
41
42 modules_install:
43         mkdir -p $(MODDESTDIR)
44         cp $(DRIVER).ko $(MODDESTDIR)/
45 ifeq ($(COMPRESS_GZIP), y)
46         @gzip -f $(MODDESTDIR)/$(DRIVER).ko
47 endif
48 ifeq ($(COMPRESS_XZ), y)
49         @xz -f $(MODDESTDIR)/$(DRIVER).ko
50 endif
51         depmod -a -F $(SYSTEM_MAP) $(TARGET)