Blame kpatch-build/Makefile

Packit c71e3f
include ../Makefile.inc
Packit c71e3f
Packit c71e3f
CFLAGS += -MMD -MP -I../kmod/patch -Iinsn -Wall -Wsign-compare -g -Werror
Packit c71e3f
LDLIBS = -lelf
Packit c71e3f
Packit c71e3f
TARGETS = create-diff-object create-klp-module create-kpatch-module
Packit c71e3f
SOURCES = create-diff-object.c kpatch-elf.c \
Packit c71e3f
		  create-klp-module.c \
Packit c71e3f
		  create-kpatch-module.c \
Packit c71e3f
		  create-kpatch-module.c lookup.c
Packit c71e3f
Packit c71e3f
ifeq ($(ARCH),x86_64)
Packit c71e3f
SOURCES += insn/insn.c insn/inat.c
Packit c71e3f
INSN     = insn/insn.o insn/inat.o
Packit c71e3f
else ifeq ($(ARCH),ppc64le)
Packit c71e3f
SOURCES += gcc-plugins/ppc64le-plugin.c
Packit c71e3f
PLUGIN   = gcc-plugins/ppc64le-plugin.so
Packit c71e3f
TARGETS += $(PLUGIN)
Packit c71e3f
GCC_PLUGINS_DIR := $(shell gcc -print-file-name=plugin)
Packit c71e3f
PLUGIN_CFLAGS    = -shared $(CFLAGS) -I$(GCC_PLUGINS_DIR)/include \
Packit c71e3f
		   -Igcc-plugins -fPIC -fno-rtti -O2 -Wall
Packit c71e3f
endif
Packit c71e3f
Packit c71e3f
Packit c71e3f
all: $(TARGETS)
Packit c71e3f
Packit c71e3f
-include $(SOURCES:.c=.d)
Packit c71e3f
Packit c71e3f
create-diff-object: create-diff-object.o kpatch-elf.o lookup.o $(INSN)
Packit c71e3f
create-klp-module: create-klp-module.o kpatch-elf.o
Packit c71e3f
create-kpatch-module: create-kpatch-module.o kpatch-elf.o
Packit c71e3f
Packit c71e3f
$(PLUGIN): gcc-plugins/ppc64le-plugin.c
Packit c71e3f
	g++ $(PLUGIN_CFLAGS) $< -o $@
Packit c71e3f
Packit c71e3f
install: all
Packit c71e3f
	$(INSTALL) -d $(LIBEXECDIR)
Packit c71e3f
	$(INSTALL) $(TARGETS) kpatch-gcc $(LIBEXECDIR)
Packit c71e3f
	$(INSTALL) -d $(BINDIR)
Packit c71e3f
	$(INSTALL) kpatch-build $(BINDIR)
Packit c71e3f
Packit c71e3f
uninstall:
Packit c71e3f
	$(RM) -R $(LIBEXECDIR)
Packit c71e3f
	$(RM) $(BINDIR)/kpatch-build
Packit c71e3f
Packit c71e3f
clean:
Packit c71e3f
	$(RM) $(TARGETS) *.{o,d} insn/*.{o,d} gcc-plugins/*.{so,d}