luksrku/Makefile
Johannes Bauer 781b10c0c9 Assume system-wide installed OpenSSL v1.1
After Debian has pretty much migrated to v1.1, we now assume that
OpenSSL is preinstalled system-wide -- it's not experimental anymore.
Currently we assume it's preinstalled in /usr/local.
2018-01-16 18:59:50 +01:00

48 lines
1.6 KiB
Makefile

.PHONY: all clean test testclient derive install
all: luksrku luksrku-config
INSTALL_PREFIX := /usr/local/
CFLAGS := -std=c11 -Wall -Wextra -O2 -pthread -D_POSIX_SOURCE -D_XOPEN_SOURCE=500 -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter
#CFLAGS += -g -DDEBUG
LDFLAGS := -lcrypto -lssl
LDFLAGS += -L/usr/local/lib
#LDFLAGS := -static $(LIBDIR)libssl.a $(LIBDIR)libcrypto.a
#LDFLAGS := -static $(LIBDIR)libssl.a $(LIBDIR)libcrypto.a -ldl
OBJS := luksrku.o server.o log.o openssl.o client.o keyfile.o msg.o binkeyfile.o util.o cmdline.o luks.o exec.o blacklist.o
OBJS_CFG := luksrku-config.o keyfile.o binkeyfile.o parse-keyfile.o openssl.o log.o util.o
install: all
strip luksrku luksrku-config
cp luksrku luksrku-config $(INSTALL_PREFIX)sbin/
chown root:root $(INSTALL_PREFIX)sbin/luksrku $(INSTALL_PREFIX)sbin/luksrku-config
chmod 755 $(INSTALL_PREFIX)sbin/luksrku $(INSTALL_PREFIX)sbin/luksrku-config
clean:
rm -f $(OBJS) $(OBJS_CFG) luksrku luksrku-config
valgrind: luksrku
valgrind --leak-check=full --show-leak-kinds=all ./luksrku -v --client-mode -k client_keys.bin
test: luksrku
./luksrku -v --server-mode -k server_key.bin
gdb: luksrku
gdb --args ./luksrku -v --server-mode -k server_key.bin
testclient: luksrku
./luksrku -v --client-mode -k client_keys.bin
derive: luksrku-config
./luksrku-config server server_key.txt server_key.bin
./luksrku-config client client_keys.txt client_keys.bin
.c.o:
$(CC) $(CFLAGS) -c -o $@ $<
luksrku: $(OBJS)
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
luksrku-config: $(OBJS_CFG)
$(CC) $(CFLAGS) -o $@ $(OBJS_CFG) $(LDFLAGS)