X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Makefile;h=1b88e2a01ce096f7a5e697b9cc51f297ac5c0150;hb=98fa33ddad109dc6132b1fb82a3a8ea40670a0e3;hp=023674067083a8d64739f50baf11583ebf109951;hpb=af0c89e86e1fe8ea707f9ca0926ceeeeee276505;p=groeck-it87 diff --git a/Makefile b/Makefile index 0236740..1b88e2a 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,18 @@ TARGET := $(shell uname -r) # Or specific version #TARGET := 2.6.33.5 KERNEL_MODULES := /lib/modules/$(TARGET) + +ifneq ("","$(wildcard /usr/src/linux-headers-$(TARGET)/*)") +# Ubuntu +KERNEL_BUILD := /usr/src/linux-headers-$(TARGET) +else +ifneq ("","$(wildcard /usr/src/kernels/$(TARGET)/*)") +# Fedora +KERNEL_BUILD := /usr/src/kernels/$(TARGET) +else KERNEL_BUILD := $(KERNEL_MODULES)/build -# KERNEL_BUILD := /usr/src/linux-headers-$(TARGET) +endif +endif #SYSTEM_MAP := $(KERNEL_BUILD)/System.map SYSTEM_MAP := /boot/System.map-$(TARGET) @@ -14,22 +24,47 @@ 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 := $(DRIVER).o +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 # Targets for running make directly in the external module directory: -modules clean: +ifneq ("","$(wildcard .git/*)") +IT87_CFLAGS=-DIT87_DRIVER_VERSION='\"$(shell git describe --long)\"' +else +IT87_CFLAGS=-DIT87_DRIVER_VERSION='\"\"' +endif + +modules: + @$(MAKE) EXTRA_CFLAGS="$(IT87_CFLAGS)" -C $(KERNEL_BUILD) M=$(CURDIR) $@ + +clean: @$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) $@ install: modules_install modules_install: - 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)