kpatch/kpatch-build/Makefile
Simon Ruderich 8ab170d402 kpatch-build: use implicit make rules
This removes duplicate code which is already handled by make internally
and also respects CPPFLAGS.

LDFLAGS are general linker flags, LDLIBS should be used for the
libraries itself. Therefore switch to LDLIBS which is put after the
object files in the command line (which is not true for LDFLAGS).
2017-08-22 03:21:00 +02:00

39 lines
894 B
Makefile

include ../Makefile.inc
CFLAGS += -MMD -MP -I../kmod/patch -Iinsn -Wall -g -Werror
LDLIBS = -lelf
TARGETS = create-diff-object create-klp-module create-kpatch-module
SOURCES = create-diff-object.c kpatch-elf.c \
create-klp-module.c \
create-kpatch-module.c \
create-kpatch-module.c lookup.c
ifeq ($(ARCH),x86_64)
SOURCES += insn/insn.c insn/inat.c
INSN = insn/insn.o insn/inat.o
endif
all: $(TARGETS)
-include $(SOURCES:.c=.d)
create-diff-object: create-diff-object.o kpatch-elf.o \
lookup.o $(INSN)
create-klp-module: create-klp-module.o kpatch-elf.o
create-kpatch-module: create-kpatch-module.o kpatch-elf.o
install: all
$(INSTALL) -d $(LIBEXECDIR)
$(INSTALL) $(TARGETS) kpatch-gcc $(LIBEXECDIR)
$(INSTALL) -d $(BINDIR)
$(INSTALL) kpatch-build $(BINDIR)
uninstall:
$(RM) -R $(LIBEXECDIR)
$(RM) $(BINDIR)/kpatch-build
clean:
$(RM) $(TARGETS) *.o *.d insn/*.d