1--- a/Make.defaults
2+++ b/Make.defaults
3@@ -18,19 +18,20 @@
4 ABIDIFF := abidiff
5 ABIDW := abidw
6 prefix ?= /usr/
7-prefix := $(abspath $(prefix))/
8+prefix := $(abspath $(prefix))
9+exec_prefix ?= $(prefix)
10 ARCH = $(shell $(CC) -dumpmachine | cut -f1 -d- | sed s,i[3456789]86,ia32,)
11 ifeq ($(ARCH),x86_64)
12- LIBDIR ?= $(prefix)lib64
13+ LIBDIR ?= $(exec_prefix)/lib64
14 endif
15 ifeq ($(ARCH),ia32)
16- LIBDIR ?= $(prefix)lib
17+ LIBDIR ?= $(exec_prefix)/lib
18 endif
19 ifeq ($(ARCH),aarch64)
20- LIBDIR ?= $(prefix)lib64
21+ LIBDIR ?= $(exec_prefix)/lib64
22 endif
23 ifeq ($(ARCH),arm)
24- LIBDIR ?= $(prefix)lib
25+ LIBDIR ?= $(exec_prefix)/lib
26 endif
27 LIBDIR ?= unknown
28 ifeq ($(LIBDIR),unknown)
29@@ -45,13 +46,13 @@
30 GNUEFIDIR ?= $(LIBDIR)/gnuefi
31 libdir ?= $(LIBDIR)
32 pcdir ?= $(libdir)/pkgconfig
33-mandir ?= $(prefix)share/man
34-includedir ?= $(prefix)include
35-bindir ?= $(prefix)bin
36-datadir ?= $(prefix)share
37+mandir ?= $(prefix)/share/man
38+includedir ?= $(prefix)/include
39+bindir ?= $(exec_prefix)/bin
40+datadir ?= $(prefix)/share
41 localedir ?= $(datadir)/locale
42-libexecdir ?= $(prefix)libexec
43-libdatadir ?= $(prefix)lib
44+libexecdir ?= $(exec_prefix)/libexec
45+libdatadir ?= $(exec_prefix)/lib
46 sharedstatedir ?= /var/lib
47
48 EFIDIR ?= $(shell x=$$(which --skip-alias --skip-functions git 2>/dev/null) ; [ -n "$$x" ] && git config --get fwupdate.efidir)
49@@ -63,8 +64,8 @@
50 ESPMOUNTPOINT = "/boot/efi"
51 endif
52
53-DEBUGINFO ?= $(prefix)lib/debug
54-DEBUGSOURCE ?= $(prefix)src/debug
55+DEBUGINFO ?= $(exec_prefix)/lib/debug
56+DEBUGSOURCE ?= $(prefix)/src/debug
57 TARGETDIR ?= $(ESPMOUNTPOINT)/EFI/$(EFIDIR)
58
59 .PHONY: check_efidir_error
60--- a/linux/Makefile
61+++ b/linux/Makefile
62@@ -93,16 +93,19 @@
63 sed -e "s,@@VERSION@@,$(VERSION),g" \
64 -e "s,@@FWUP_MAJOR_VERSION@@,$(MAJOR_VERSION),g" \
65 -e "s,@@FWUP_MINOR_VERSION@@,$(MINOR_VERSION),g" \
66+ -e "s,@@PREFIX@@,$(prefix),g" \
67+ -e "s,@@EXEC_PREFIX@@,$(exec_prefix),g" \
68 -e "s,@@SHAREDSTATEDIR@@,$(sharedstatedir),g" \
69 -e "s,@@ESPMOUNTPOINT@@,$(ESPMOUNTPOINT),g" \
70 -e "s,@@EFIDIR@@,$(EFIDIR),g" \
71 -e "s,@@LIBDIR@@,$(libdir),g" \
72 -e "s,@@LIBEXECDIR@@,$(libexecdir),g" \
73+ -e "s,@@INCLUDEDIR@@,$(includedir),g" \
74 $< > $@
75
76 tester : tester.c
77- $(CC) -Wall -Werror -ggdb -L. -I./include -I/usr/include/efivar \
78- -lefivar -lfwup -o $@ $^
79+ $(CC) -Wall -Werror -ggdb -L. -I./include $(shell $(PKG_CONFIG) --cflags efivar) \
80+ $(shell $(PKG_CONFIG) --libs efivar) -lfwup -o $@ $^
81
82 test : tester
83 LD_LIBRARY_PATH=$(shell pwd) ./tester
84@@ -134,6 +137,6 @@
85 $(INSTALL) -d -m 755 $(DESTDIR)$(libdatadir)/systemd/system
86 $(INSTALL) -m 644 cleanup.service \
87 $(DESTDIR)$(libdatadir)/systemd/system/fwupdate-cleanup.service
88- $(INSTALL) -d -m 755 $(DESTDIR)/usr/share/bash-completion/completions/
89+ $(INSTALL) -d -m 755 $(DESTDIR)$(datadir)/bash-completion/completions/
90 $(INSTALL) -m 755 $(VPATH)/bash-completion \
91- $(DESTDIR)/usr/share/bash-completion/completions/fwupdate
92+ $(DESTDIR)$(datadir)/bash-completion/completions/fwupdate
93--- a/linux/fwup.pc.in
94+++ b/linux/fwup.pc.in
95@@ -1,7 +1,7 @@
96-prefix=/usr
97-exec_prefix=/usr
98+prefix=@@PREFIX@@
99+exec_prefix=@@EXEC_PREFIX@@
100 libdir=@@LIBDIR@@
101-includedir=/usr/include
102+includedir=@@INCLUDEDIR@@
103
104 Name: fwup
105 Description: Library for deployment of UEFI firmware updates.
106--- a/linux/libfwup.c
107+++ b/linux/libfwup.c
108@@ -35,7 +35,7 @@
109
110 #include <dell-wmi-smi.h>
111 #ifdef FWUPDATE_HAVE_LIBSMBIOS__
112-#include </usr/include/smbios_c/token.h>
113+#include <smbios_c/token.h>
114 #include <smbios_c/smi.h>
115 #endif
116