179 lines
5.0 KiB
Diff
179 lines
5.0 KiB
Diff
--- phc-winner-argon2-20190702/Makefile.orig 2019-05-20 12:18:00.000000000 +0300
|
|
+++ phc-winner-argon2-20190702/Makefile 2019-07-03 08:38:14.045372200 +0300
|
|
@@ -36,6 +36,12 @@
|
|
SRC_BENCH = src/bench.c
|
|
SRC_GENKAT = src/genkat.c
|
|
OBJ = $(SRC:.c=.o)
|
|
+AR ?= ar
|
|
+LN_S = 'ln -s'
|
|
+TAR ?= 'tar'
|
|
+MKDIR ?= 'mkdir -p'
|
|
+RM ?= 'rm -f'
|
|
+RMDIR ?= 'rm -rf'
|
|
|
|
CFLAGS += -std=c89 -O3 -Wall -g -Iinclude -Isrc
|
|
|
|
@@ -51,6 +57,16 @@
|
|
OPTTARGET ?= native
|
|
OPTTEST := $(shell $(CC) -Iinclude -Isrc -march=$(OPTTARGET) src/opt.c -c \
|
|
-o /dev/null 2>/dev/null; echo $$?)
|
|
+# Try with -msse2 flag
|
|
+ifneq ($(OPTTEST), 0)
|
|
+OPTTEST := $(shell $(CC) -Iinclude -Isrc -march=$(OPTTARGET) -msse2 src/opt.c -c \
|
|
+ -o /dev/null 2>/dev/null; echo $$?)
|
|
+#if we have -msse2 flag, use it
|
|
+ifeq ($(OPTTEST), 0)
|
|
+ CFLAGS += -msse2
|
|
+ CI_CFLAGS += -msse2
|
|
+endif
|
|
+endif
|
|
# Detect compatible platform
|
|
ifneq ($(OPTTEST), 0)
|
|
$(info Building without optimizations)
|
|
@@ -66,6 +82,7 @@
|
|
MACHINE_NAME := $(shell uname -m)
|
|
|
|
LIB_NAME = argon2
|
|
+LIB_SH_RT=
|
|
PC_NAME = lib$(LIB_NAME).pc
|
|
PC_SRC = $(PC_NAME).in
|
|
|
|
@@ -73,7 +90,7 @@
|
|
LIB_EXT := so.$(ABI_VERSION)
|
|
LIB_CFLAGS := -shared -fPIC -fvisibility=hidden -DA2_VISCTL=1
|
|
SO_LDFLAGS := -Wl,-soname,lib$(LIB_NAME).$(LIB_EXT)
|
|
- LINKED_LIB_EXT := so
|
|
+ LN_SED_LIB_EXT := so
|
|
PC_EXTRA_LIBS ?= -lrt -ldl
|
|
endif
|
|
ifeq ($(KERNEL_NAME), $(filter $(KERNEL_NAME),DragonFly FreeBSD NetBSD OpenBSD))
|
|
@@ -84,21 +101,27 @@
|
|
ifeq ($(KERNEL_NAME), Darwin)
|
|
LIB_EXT := $(ABI_VERSION).dylib
|
|
LIB_CFLAGS := -dynamiclib -install_name @rpath/lib$(LIB_NAME).$(LIB_EXT)
|
|
- LINKED_LIB_EXT := dylib
|
|
+ LN_SED_LIB_EXT := dylib
|
|
PC_EXTRA_LIBS ?=
|
|
endif
|
|
ifeq ($(findstring CYGWIN, $(KERNEL_NAME)), CYGWIN)
|
|
LIB_EXT := dll
|
|
+ LN_S = 'cp -p'
|
|
+ LIB_SH_RT := cyg$(LIB_NAME).$(LIB_EXT)
|
|
LIB_CFLAGS := -shared -Wl,--out-implib,lib$(LIB_NAME).$(LIB_EXT).a
|
|
PC_EXTRA_LIBS ?=
|
|
endif
|
|
ifeq ($(findstring MINGW, $(KERNEL_NAME)), MINGW)
|
|
LIB_EXT := dll
|
|
+ LN_S = 'cp -p'
|
|
+ LIB_SH_RT := lib$(LIB_NAME).$(LIB_EXT)
|
|
LIB_CFLAGS := -shared -Wl,--out-implib,lib$(LIB_NAME).$(LIB_EXT).a
|
|
PC_EXTRA_LIBS ?=
|
|
endif
|
|
ifeq ($(findstring MSYS, $(KERNEL_NAME)), MSYS)
|
|
LIB_EXT := dll
|
|
+ LN_S = 'cp -p'
|
|
+ LIB_SH_RT := msys-$(LIB_NAME).$(LIB_EXT)
|
|
LIB_CFLAGS := -shared -Wl,--out-implib,lib$(LIB_NAME).$(LIB_EXT).a
|
|
PC_EXTRA_LIBS ?=
|
|
endif
|
|
@@ -116,11 +139,15 @@
|
|
endif
|
|
endif
|
|
|
|
+ifeq ($(LIB_SH_RT),)
|
|
LIB_SH := lib$(LIB_NAME).$(LIB_EXT)
|
|
+else
|
|
+LIB_SH := lib$(LIB_NAME).$(LIB_EXT).a
|
|
+endif
|
|
LIB_ST := lib$(LIB_NAME).a
|
|
|
|
-ifdef LINKED_LIB_EXT
|
|
-LINKED_LIB_SH := lib$(LIB_NAME).$(LINKED_LIB_EXT)
|
|
+ifdef LN_SED_LIB_EXT
|
|
+LN_SED_LIB_SH := lib$(LIB_NAME).$(LN_SED_LIB_EXT)
|
|
endif
|
|
|
|
|
|
@@ -178,21 +205,28 @@
|
|
$(GENKAT): $(SRC) $(SRC_GENKAT)
|
|
$(CC) $(CFLAGS) $^ -o $@ -DGENKAT
|
|
|
|
+ifeq ($(LIB_SH_RT),)
|
|
$(LIB_SH): $(SRC)
|
|
$(CC) $(CFLAGS) $(LIB_CFLAGS) $(LDFLAGS) $(SO_LDFLAGS) $^ -o $@
|
|
+else
|
|
+$(LIB_SH_RT): $(SRC)
|
|
+ $(CC) $(CFLAGS) $(LIB_CFLAGS) $(LDFLAGS) $(SO_LDFLAGS) $^ -o $@
|
|
+
|
|
+$(LIB_SH): $(LIB_SH_RT)
|
|
+endif
|
|
|
|
$(LIB_ST): $(OBJ)
|
|
- ar rcs $@ $^
|
|
+ $(AR) rcs $@ $^
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
- rm -f '$(RUN)' '$(BENCH)' '$(GENKAT)'
|
|
- rm -f '$(LIB_SH)' '$(LIB_ST)' kat-argon2* '$(PC_NAME)'
|
|
- rm -f testcase
|
|
- rm -rf *.dSYM
|
|
- cd src/ && rm -f *.o
|
|
- cd src/blake2/ && rm -f *.o
|
|
- cd kats/ && rm -f kat-* diff* run_* make_*
|
|
+ $(RM) '$(RUN)' '$(BENCH)' '$(GENKAT)'
|
|
+ $(RM) '$(LIB_SH)' '$(LIB_ST)' kat-argon2* '$(PC_NAME)'
|
|
+ $(RM) testcase
|
|
+ $(RMDIR) *.dSYM
|
|
+ cd src/ && $(RM) *.o
|
|
+ cd src/blake2/ && $(RM) *.o
|
|
+ cd kats/ && $(RM) kat-* diff* run_* make_*
|
|
|
|
|
|
# all substitutions to pc template
|
|
@@ -211,7 +245,7 @@
|
|
.PHONY: dist
|
|
dist:
|
|
cd ..; \
|
|
- tar -c --exclude='.??*' -z -f $(DIST)-`date "+%Y%m%d"`.tgz $(DIST)/*
|
|
+ $(TAR) -c --exclude='.??*' -z -f $(DIST)-`date "+%Y%m%d"`.tgz $(DIST)/*
|
|
|
|
.PHONY: test
|
|
test: $(SRC) src/test.c
|
|
@@ -237,17 +271,28 @@
|
|
$(INSTALL) -m 0644 $(HEADERS) $(INST_INCLUDE)
|
|
$(INSTALL) -d $(INST_LIBRARY)
|
|
$(INSTALL) -m 0644 $(LIBRARIES) $(INST_LIBRARY)
|
|
-ifdef LINKED_LIB_SH
|
|
- cd $(INST_LIBRARY) && ln -s $(notdir $(LIB_SH) $(LINKED_LIB_SH))
|
|
-endif
|
|
+ifneq ($(LIB_SH_RT),)
|
|
+ $(INSTALL) -d $(INST_BINARY)
|
|
+ $(INSTALL) -m 0755 $(LIB_SH_RT) $(INST_BINARY)
|
|
+ $(INSTALL) -m 0644 $(LIB_SH) $(INST_LIBRARY)
|
|
+ $(INSTALL) -m 0644 $(LIB_ST) $(INST_LIBRARY)
|
|
+else
|
|
$(INSTALL) -d $(INST_BINARY)
|
|
+endif
|
|
+ifdef LN_SED_LIB_SH
|
|
+ cd $(INST_LIBRARY) && $(LN_S) $(notdir $(LIB_SH) $(LN_SED_LIB_SH))
|
|
+endif
|
|
$(INSTALL) $(RUN) $(INST_BINARY)
|
|
$(INSTALL) -d $(INST_PKGCONFIG)
|
|
$(INSTALL) -m 0644 $(PC_NAME) $(INST_PKGCONFIG)
|
|
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
- cd $(INST_INCLUDE) && rm -f $(notdir $(HEADERS))
|
|
- cd $(INST_LIBRARY) && rm -f $(notdir $(LIBRARIES) $(LINKED_LIB_SH))
|
|
- cd $(INST_BINARY) && rm -f $(notdir $(RUN))
|
|
- cd $(INST_PKG_CONFIG) && rm -f $(notdir $(PC_NAME))
|
|
+ cd $(INST_INCLUDE) && $(RM) $(notdir $(HEADERS))
|
|
+ cd $(INST_LIBRARY) && $(RM) $(notdir $(LIBRARIES) $(LN_SED_LIB_SH))
|
|
+ifneq ($(LIB_SH_RT),)
|
|
+ cd $(INST_BINARY) && $(RM) $(notdir $(LIB_SH_RT))
|
|
+endif
|
|
+ cd $(INST_BINARY) && $(RM) $(notdir $(RUN))
|
|
+ cd $(INST_PKG_CONFIG) && $(RM) $(notdir $(PC_NAME))
|
|
+
|