Makefile: Add support for compressed modules

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Guenter Roeck
2017-09-15 08:15:05 -07:00
parent aeafb7be7c
commit e140a1cda3

View File

@@ -14,12 +14,20 @@ DRIVER := it87
# Directory below /lib/modules/$(TARGET)/kernel into which to install
# the module:
MOD_SUBDIR = drivers/hwmon
MODDESTDIR=$(KERNEL_MODULES)/kernel/$(MOD_SUBDIR)
obj-m := $(patsubst %,%.o,$(DRIVER))
obj-ko := $(patsubst %,%.ko,$(DRIVER))
MAKEFLAGS += --no-print-directory
ifneq ("","$(wildcard $(MODDESTDIR)/*.ko.gz)")
COMPRESS_GZIP := y
endif
ifneq ("","$(wildcard $(MODDESTDIR)/*.ko.xz)")
COMPRESS_XZ := y
endif
.PHONY: all install modules modules_install clean
all: modules
@@ -32,6 +40,12 @@ modules clean:
install: modules_install
modules_install:
mkdir -p $(KERNEL_MODULES)/kernel/$(MOD_SUBDIR)
cp $(DRIVER).ko $(KERNEL_MODULES)/kernel/$(MOD_SUBDIR)/
mkdir -p $(MODDESTDIR)
cp $(DRIVER).ko $(MODDESTDIR)/
ifeq ($(COMPRESS_GZIP), y)
@gzip -f $(MODDESTDIR)/$(DRIVER).ko
endif
ifeq ($(COMPRESS_XZ), y)
@xz -f $(MODDESTDIR)/$(DRIVER).ko
endif
depmod -a -F $(SYSTEM_MAP) $(TARGET)