Blame kpatch-build/Makefile

Packit Service ac8aad
include ../Makefile.inc
Packit Service ac8aad
Packit Service da4517
CFLAGS += -MMD -MP -I../kmod/patch -Iinsn -Wall -Wsign-compare \
Packit Service da4517
	  -Wconversion -Wno-sign-conversion -g -Werror
Packit Service ac8aad
LDLIBS = -lelf
Packit Service ac8aad
Packit Service ac8aad
TARGETS = create-diff-object create-klp-module create-kpatch-module
Packit Service ac8aad
SOURCES = create-diff-object.c kpatch-elf.c \
Packit Service ac8aad
		  create-klp-module.c \
Packit Service ac8aad
		  create-kpatch-module.c \
Packit Service ac8aad
		  create-kpatch-module.c lookup.c
Packit Service ac8aad
Packit Service ac8aad
ifeq ($(ARCH),x86_64)
Packit Service ac8aad
SOURCES += insn/insn.c insn/inat.c
Packit Service ac8aad
INSN     = insn/insn.o insn/inat.o
Packit Service da4517
insn/%.o: CFLAGS := $(filter-out -Wconversion, $(CFLAGS))
Packit Service ac8aad
else ifeq ($(ARCH),ppc64le)
Packit Service ac8aad
SOURCES += gcc-plugins/ppc64le-plugin.c
Packit Service ac8aad
PLUGIN   = gcc-plugins/ppc64le-plugin.so
Packit Service ac8aad
TARGETS += $(PLUGIN)
Packit Service ac8aad
GCC_PLUGINS_DIR := $(shell gcc -print-file-name=plugin)
Packit Service da4517
PLUGIN_CFLAGS := $(filter-out -Wconversion, $(CFLAGS))
Packit Service da4517
PLUGIN_CFLAGS += -shared -I$(GCC_PLUGINS_DIR)/include \
Packit Service ac8aad
		   -Igcc-plugins -fPIC -fno-rtti -O2 -Wall
Packit Service da4517
else
Packit Service da4517
$(error Unsupported architecture ${ARCH}, check https://github.com/dynup/kpatch/#supported-architectures)
Packit Service ac8aad
endif
Packit Service ac8aad
Packit Service ac8aad
Packit Service ac8aad
all: $(TARGETS)
Packit Service ac8aad
Packit Service ac8aad
-include $(SOURCES:.c=.d)
Packit Service ac8aad
Packit Service ac8aad
create-diff-object: create-diff-object.o kpatch-elf.o lookup.o $(INSN)
Packit Service ac8aad
create-klp-module: create-klp-module.o kpatch-elf.o
Packit Service ac8aad
create-kpatch-module: create-kpatch-module.o kpatch-elf.o
Packit Service ac8aad
Packit Service ac8aad
$(PLUGIN): gcc-plugins/ppc64le-plugin.c
Packit Service ac8aad
	g++ $(PLUGIN_CFLAGS) $< -o $@
Packit Service ac8aad
Packit Service ac8aad
install: all
Packit Service ac8aad
	$(INSTALL) -d $(LIBEXECDIR)
Packit Service ac8aad
	$(INSTALL) $(TARGETS) kpatch-gcc $(LIBEXECDIR)
Packit Service ac8aad
	$(INSTALL) -d $(BINDIR)
Packit Service ac8aad
	$(INSTALL) kpatch-build $(BINDIR)
Packit Service ac8aad
Packit Service ac8aad
uninstall:
Packit Service ac8aad
	$(RM) -R $(LIBEXECDIR)
Packit Service ac8aad
	$(RM) $(BINDIR)/kpatch-build
Packit Service ac8aad
Packit Service ac8aad
clean:
Packit Service ac8aad
	$(RM) $(TARGETS) *.{o,d} insn/*.{o,d} gcc-plugins/*.{so,d}