-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.linux
99 lines (80 loc) · 2.81 KB
/
Makefile.linux
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
PROG = kc
DESTDIR ?=
PREFIX ?= usr/local
BCRYPT_DIR = bcrypt
SRCS = kc.c malloc_check.c
SRCS += cmd_c.c cmd_cdel.c cmd_clear.c cmd_clipboard.c cmd_clist.c cmd_cnew.c cmd_copy.c \
cmd_cedit.c cmd_del.c cmd_edit.c cmd_export.c cmd_getnum.c \
cmd_help.c cmd_import.c cmd_info.c cmd_list.c cmd_new.c cmd_near.c \
cmd_passwd.c cmd_quit.c cmd_search.c cmd_searchre.c cmd_status.c \
cmd_swap.c cmd_version.c cmd_write.c \
commands.c commands_init.c ssha.c
OBJS = kc.o malloc_check.o
OBJS += cmd_c.o cmd_cdel.o cmd_clear.o cmd_clipboard.o cmd_clist.o cmd_cnew.o cmd_copy.o \
cmd_cedit.o cmd_del.o cmd_edit.o cmd_export.o cmd_getnum.o \
cmd_help.o cmd_import.o cmd_info.o cmd_list.o cmd_new.o cmd_near.o \
cmd_passwd.o cmd_quit.o cmd_search.o cmd_searchre.o cmd_status.o \
cmd_swap.o cmd_version.o cmd_write.o \
commands.o commands_init.o ssha.o
ifdef HAVE_YUBIKEY
SRCS += ykchalresp.c
OBJS += ykchalresp.o
endif
BCRYPT_OBJS = ${BCRYPT_DIR}/bcrypt_pbkdf.o ${BCRYPT_DIR}/blf.o ${BCRYPT_DIR}/explicit_bzero.o ${BCRYPT_DIR}/sha2.o
CFLAGS += -pedantic -Wall
CFLAGS += `pkg-config --cflags libcrypto`
CFLAGS += `pkg-config --cflags libbsd`
CFLAGS += `pkg-config --cflags libxml-2.0`
ifndef EDITLINE
CFLAGS += -D_READLINE
endif
ifdef HAVE_PCRE
CFLAGS += `pkg-config --cflags libpcre` -D_HAVE_PCRE
endif
ifdef HAVE_LIBSCRYPT
CFLAGS += -D_HAVE_LIBSCRYPT
endif
ifdef HAVE_YUBIKEY
CFLAGS += -D_HAVE_YUBIKEY `pkg-config --cflags ykpers-1`
endif
ifdef HAVE_ARGON2
CFLAGS += -D_HAVE_ARGON2
endif
CFLAGS += -D_BUNDLED_BCRYPT -D_OS_LINUX
export CFLAGS
LDADD += `pkg-config --libs libcrypto`
LDADD += `pkg-config --libs libbsd`
LDADD += `pkg-config --libs libxml-2.0`
ifdef EDITLINE
LDADD += -ledit -lncursesw
else
LDADD += -lreadline
endif
ifdef HAVE_PCRE
LDADD += `pkg-config --libs libpcre`
endif
ifdef HAVE_LIBSCRYPT
LDADD += -lscrypt
endif
ifdef HAVE_YUBIKEY
LDADD += -lyubikey `pkg-config --libs ykpers-1`
endif
CLEANFILES = ${PROG} *.o regress/test*
all: bcrypt ${PROG}
.PHONY: bcrypt
bcrypt:
${MAKE} -C ${BCRYPT_DIR} -f Makefile.linux
CLEANFILES += ${BCRYPT_DIR}/*.o
clean:
rm -f ${CLEANFILES}
install: all
install -D -s -o root -m 755 ${PROG} ${DESTDIR}/${PREFIX}/bin/${PROG}
install -D -o root -m 644 ${PROG}.1 ${DESTDIR}/${PREFIX}/man/man1/${PROG}.1
test:
$(shell) regress/run_tests.sh
set_version:
$(shell) if grep -E -q -e '^\#define\s+VERSION\s+"[0-9]\.[0-9]-dev-' common.h;then sed -i -e "s/\(^\#define\s\+VERSION\s\+\"[0-9]\.[0-9]-dev-\)\(.*\)\"$$/\1`git log -1 --pretty=format:%cd-%h --date=short`\"/" common.h; fi
unset_version:
$(shell) if grep -E -q -e '^\#define\s+VERSION\s+"[0-9]\.[0-9]-dev-' common.h;then sed -i -e "s/\(^\#define\s\+VERSION\s\+\"[0-9]\.[0-9]-dev-\)\(.*\)\"$$/\1GIT_VERSION\"/" common.h; fi
${PROG}: set_version ${OBJS} ${BCRYPT_OBJS} unset_version
${CC} ${LDFLAGS} ${OBJS} ${BCRYPT_OBJS} -o ${PROG} ${LDADD}