Blame kmod/patch/Makefile

Packit Service ac8aad
KPATCH_BUILD ?= /lib/modules/$(shell uname -r)/build
Packit Service ac8aad
KPATCH_MAKE = $(MAKE) -C $(KPATCH_BUILD) M=$(PWD)
Packit Service ac8aad
LDFLAGS += $(KPATCH_LDFLAGS)
Packit Service ac8aad
Packit Service ac8aad
# ppc64le kernel modules are expected to compile with the
Packit Service ac8aad
# -mcmodel=large flag.  This enables 64-bit relocations
Packit Service ac8aad
# instead of a 32-bit offset from the TOC pointer.
Packit Service ac8aad
PROCESSOR = $(shell uname -m)
Packit Service ac8aad
ifeq ($(PROCESSOR), ppc64le)
Packit Service ac8aad
KBUILD_CFLAGS_MODULE += -mcmodel=large
Packit Service ac8aad
endif
Packit Service ac8aad
Packit Service ac8aad
obj-m += $(KPATCH_NAME).o
Packit Service da4517
ldflags-y += -T $(src)/kpatch.lds
Packit Service da4517
extra-y := kpatch.lds
Packit Service ac8aad
Packit Service da4517
$(KPATCH_NAME)-objs += patch-hook.o output.o
Packit Service ac8aad
Packit Service ac8aad
all: $(KPATCH_NAME).ko
Packit Service ac8aad
Packit Service ac8aad
$(KPATCH_NAME).ko:
Packit Service da4517
	$(KPATCH_MAKE)
Packit Service ac8aad
Packit Service ac8aad
patch-hook.o: patch-hook.c kpatch-patch-hook.c livepatch-patch-hook.c
Packit Service ac8aad
	$(KPATCH_MAKE) patch-hook.o
Packit Service ac8aad
Packit Service ac8aad
clean:
Packit Service ac8aad
	$(RM) -Rf .*.o.cmd .*.ko.cmd .tmp_versions *.o *.ko *.mod.c \
Packit Service ac8aad
	Module.symvers