Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ tp-dkg
python/tests/__pycache__/
src/liboprf-corrupt-dkg.so
src/liboprf.pc
src/liboprf.so.debug
23 changes: 15 additions & 8 deletions src/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ CFLAGS?=-Wall -O2 -g -ffunction-sections -fdata-sections \
-Wformat=2 -Wconversion -Wimplicit-fallthrough \
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 \
-fstack-protector-strong -fasynchronous-unwind-tables -fpic \
-ftrapv -D_GLIBCXX_ASSERTIONS $(DEFINES) $(EXTRA_CFLAGS)
-ftrapv -D_GLIBCXX_ASSERTIONS $(DEFINES) $(EXTRA_CFLAGS)

LIBS=-lsodium -loprf-noiseXK -Lnoise_xk
LIBS=-loprf-noiseXK -Lnoise_xk
CC?=gcc
LD?=ld
OBJCOPY?=objcopy
Expand All @@ -18,7 +18,7 @@ SOVER=0
DEBUGDIR?=lib/debug/usr/lib

# To statically link the noiseXK library, use these LIBS (and comment out the other LIBS)
#LIBS=-lsodium -l:liboprf-noiseXK.a -Wl,--exclude-libs,ALL -Lnoise_xk
#LIBS=-l:liboprf-noiseXK.a -Wl,--exclude-libs,ALL -Lnoise_xk

UNAME := $(if $(UNAME),$(UNAME),$(shell uname -s))
ARCH := $(if $(ARCH),$(ARCH),$(shell uname -m))
Expand Down Expand Up @@ -53,6 +53,9 @@ ifneq ($(SODIUM_MISSING),0)
$(error liboprf: Cannot find libsodium via pkgconf. Check that libsodium has been installed)
endif

CFLAGS+= $(shell pkgconf --cflags libsodium)
LIBS+= $(shell pkgconf --libs libsodium)

SODIUM_NEWER_THAN_1_0_18 := $(shell pkgconf --atleast-version=1.0.19 libsodium; echo $$?)
ifneq ($(SODIUM_NEWER_THAN_1_0_18),0)
INCLUDES+= -Iaux_
Expand Down Expand Up @@ -146,7 +149,7 @@ clean:
make -C tests clean
make -C noise_xk clean

install: install-oprf install-noiseXK
install: liboprf.pc install-oprf install-noiseXK

install-oprf: $(DESTDIR)$(PREFIX)/lib/liboprf.$(SOEXT) \
$(DESTDIR)$(PREFIX)/$(DEBUGDIR)/liboprf.$(SOEXT).debug \
Expand All @@ -163,14 +166,18 @@ install-oprf: $(DESTDIR)$(PREFIX)/lib/liboprf.$(SOEXT) \
install-noiseXK:
make -C noise_xk install

uninstall: uninstall-oprf uninstall-noiseXK
uninstall: uninstall-dircheck uninstall-noiseXK uninstall-oprf

uninstall-oprf:
uninstall-dircheck:
@ \
if [ ! '$(strip $(DESTDIR)$(PREFIX))' ]; then echo 'liboprf: DESTDIR-PREFIX is empty!' && exit 1; fi; \
if [ ! -d '$(strip $(DESTDIR)$(PREFIX))' ]; then echo 'liboprf: DESTDIR-PREFIX is not a folder' && exit 1; fi;

rm -vf '$(DESTDIR)$(PREFIX)/lib/liboprf.$(SOEXT)' '$(DESTDIR)$(PREFIX)/lib/liboprf.$(STATICEXT)'
uninstall-oprf:
rm -vf '$(DESTDIR)$(PREFIX)/lib/liboprf.$(SOEXT)' \
'$(DESTDIR)$(PREFIX)/lib/liboprf.$(SOEXT).$(SOVER)' \
'$(DESTDIR)$(PREFIX)/lib/liboprf.$(STATICEXT)'

rm -vf '$(DESTDIR)$(PREFIX)/include/oprf/oprf.h' '$(DESTDIR)$(PREFIX)/include/oprf/toprf.h'
rm -vf '$(DESTDIR)$(PREFIX)/include/oprf/dkg.h' '$(DESTDIR)$(PREFIX)/include/oprf/toprf-update.h'
rm -vf '$(DESTDIR)$(PREFIX)/include/oprf/utils.h' '$(DESTDIR)$(PREFIX)/lib/pkgconfig/liboprf.pc'
Expand Down Expand Up @@ -233,4 +240,4 @@ test: liboprf-corrupt-dkg.$(SOEXT) liboprf.$(STATICEXT) noise_xk/liboprf-noiseXK
%.o: %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -fPIC $(INCLUDES) -c $< -o $@

PHONY: clean
.PHONY: clean liboprf.pc
12 changes: 8 additions & 4 deletions src/noise_xk/makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PREFIX?=/usr/local
LIBS=-lsodium
LIBS=$(shell pkgconf --libs libsodium)
SOURCES=src/Noise_XK.c src/XK.c
INCLUDES= -Iinclude -I include/karmel -I include/karmel/minimal
CFLAGS ?= -Wall -Wextra -Werror -std=c11 -Wno-unused-variable \
Expand All @@ -9,7 +9,8 @@ CFLAGS ?= -Wall -Wextra -Werror -std=c11 -Wno-unused-variable \
-O2 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 \
-fasynchronous-unwind-tables -fpic \
-Werror=format-security -Werror=implicit-function-declaration \
-ftrapv
-ftrapv \
$(shell pkgconf --cflags libsodium)
CC?=gcc

SOEXT?=so
Expand Down Expand Up @@ -63,8 +64,11 @@ liboprf-noiseXK.$(SOEXT).$(SOVER): liboprf-noiseXK.$(SOEXT)

install: $(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(SOEXT) $(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(STATICEXT) $(DESTDIR)$(PREFIX)/include/oprf/noiseXK

uninstall: $(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(SOEXT) $(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(STATICEXT) $(DESTDIR)$(PREFIX)/include/oprf/noiseXK
rm -rf $^
uninstall:
rm -rf $(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(SOEXT) \
$(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(SOEXT).$(SOVER) \
$(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(STATICEXT) \
$(DESTDIR)$(PREFIX)/include/oprf/noiseXK

$(DESTDIR)$(PREFIX)/lib/liboprf-noiseXK.$(SOEXT): liboprf-noiseXK.$(SOEXT)
mkdir -p $(DESTDIR)$(PREFIX)/lib/
Expand Down