-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMakefile
More file actions
74 lines (48 loc) · 1.3 KB
/
Makefile
File metadata and controls
74 lines (48 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
all: u2f-enroll u2f-sign pam
UNAME := $(shell uname)
#your own libcrypto install
#SSL=/usr/local/ssl
CXX=c++
CC=cc
LDFLAGS=-lcrypto
LDFLAGS=-L$(SSL)/lib -Wl,--rpath=$(SSL)/lib -lcrypto
CFLAGS=-I$(SSL)/include
CFLAGS+=-fPIC -c -O2
ifeq ($(UNAME), Linux)
LDFLAGS+=-Wl,-soname=pam_fido-u2f.so
CFLAGS+=-Wall
CFLAGS+=-Ihidapi/hidapi -D__OS_LINUX
HIDAPI=hid.o
hid.o: hidapi/linux/hid.c
$(CC) $(CFLAGS) -o hid.o hidapi/linux/hid.c
endif # Linux
ifeq ($(UNAME), Darwin)
LDFLAGS+=-framework IOKit -framework CoreFoundation
CFLAGS+=-w
CFLAGS+=-Ihidapi/hidapi -D__OS_DARWIN
HIDAPI=hid.o
hid.o: hidapi/mac/hid.c
$(CC) $(CFLAGS) -o hid.o hidapi/mac/hid.c
endif # Darwin
CXXFLAGS=$(CFLAGS) -std=c++11
pam: pam_fido-u2f.o
$(CXX) $^ -shared $(LDFLAGS) -lpam -o pam_fido-u2f.so
pam_fido-u2f.o: pam_fido-u2f.cc
$(CXX) $(CXXFLAGS) $<
u2f_util.o: u2f_util.cc u2f_util.h u2f.h u2f_hid.h
$(CXX) $(CXXFLAGS) -o $@ u2f_util.cc
enroll.o: enroll.cc
$(CXX) $(CXXFLAGS) $<
sign.o: sign.cc
$(CXX) $(CXXFLAGS) $<
u2f-enroll: enroll.o u2f_util.o $(HIDAPI)
$(CXX) $^ $(LDFLAGS) -lrt -ludev -o $@
u2f-sign: sign.o u2f_util.o $(HIDAPI)
$(CXX) $^ $(LDFLAGS) -lrt -ludev -o $@
install:
cp u2f-sign /usr/local/bin
cp u2f-enroll /usr/local/bin
cp pam-enroll /usr/local/bin
cp pam_fido-u2f.so /lib64/security
clean:
rm -rf *.o