TOUT ?= a.out
TOUT := $(strip $(TOUT))
-# Allow override for the cryptest.exe recipe. Change to
-# ./libcryptopp.so or ./libcryptopp.dylib to suit your
+# Allow override for the cryptest recipe. Change to
+# ./libcrypto++.so or ./libcryptopp.dylib to suit your
# taste. https://github.com/weidai11/cryptopp/issues/866
-LINK_LIBRARY ?= libcryptopp.a
+LINK_LIBRARY ?= libcrypto++.a
LINK_LIBRARY_PATH ?= ./
# Command and arguments
ifneq ($(IS_LINUX)$(IS_HURD),00)
# Linux uses full version suffix for shared library
SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
-SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
+SOLIB_FLAGS=-Wl,-soname,libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
endif
# Solaris uses -Wl,-h
ifeq ($(IS_SUN),1)
# The minor version allows previous version to remain and not overwritten.
# https://blogs.oracle.com/solaris/how-to-name-a-solaris-shared-object-v2
SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR)
-SOLIB_FLAGS=-Wl,-h,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
+SOLIB_FLAGS=-Wl,-h,libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
endif
endif # HAS_SOLIB_VERSION
# Default builds program with static library only
.PHONY: default
-default: cryptest.exe
+default: cryptest
.PHONY: all static dynamic
-all: static dynamic cryptest.exe
+all: static dynamic cryptest
ifneq ($(IS_DARWIN),0)
-static: libcryptopp.a
+static: libcrypto++.a
shared dynamic dylib: libcryptopp.dylib
else
-static: libcryptopp.a
-shared dynamic: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+static: libcrypto++.a
+shared dynamic: libcrypto++.so$(SOLIB_VERSION_SUFFIX)
endif
# CXXFLAGS are tuned earlier.
.PHONY: native no-asm asan ubsan
-native no-asm asan ubsan: cryptest.exe
+native no-asm asan ubsan: cryptest
# CXXFLAGS are tuned earlier. Applications must use linker flags
# -Wl,--gc-sections (Linux and Unix) or -Wl,-dead_strip (OS X)
.PHONY: lean
-lean: static dynamic cryptest.exe
+lean: static dynamic cryptest
# May want to export CXXFLAGS="-g3 -O1"
.PHONY: lcov coverage
-lcov coverage: cryptest.exe
+lcov coverage: cryptest
@-$(RM) -r ./TestCoverage/
lcov --base-directory . --directory . --zerocounters -q
- ./cryptest.exe v
- ./cryptest.exe tv all
- ./cryptest.exe b 0.25
+ ./cryptest v
+ ./cryptest tv all
+ ./cryptest b 0.25
lcov --base-directory . --directory . -c -o cryptest.info
lcov --remove cryptest.info "adhoc.*" -o cryptest.info
lcov --remove cryptest.info "fips140.*" -o cryptest.info
# Travis CI and CodeCov rule
.PHONY: gcov codecov
-gcov codecov: cryptest.exe
+gcov codecov: cryptest
@-$(RM) -r ./TestCoverage/
- ./cryptest.exe v
- ./cryptest.exe tv all
+ ./cryptest v
+ ./cryptest tv all
gcov -r $(SRCS)
# Should use CXXFLAGS="-g3 -O1"
.PHONY: valgrind
-valgrind: cryptest.exe
- valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest.exe v
+valgrind: cryptest
+ valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest v
.PHONY: test check
-test check: cryptest.exe
- ./cryptest.exe v
+test check: cryptest
+ ./cryptest v
# Used to generate list of source files for Autotools, CMakeList, Android.mk, etc
.PHONY: sources
.PHONY: clean
clean:
-$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(CLEAN_OBJS) rdrand-*.o
- @-$(RM) libcryptopp.a libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a
- @-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) libcryptopp.so$(SOLIB_VERSION_SUFFIX)
- @-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.info ct et
+ @-$(RM) libcrypto++.a libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a
+ @-$(RM) libcrypto++.so libcrypto++.so$(SOLIB_COMPAT_SUFFIX) libcrypto++.so$(SOLIB_VERSION_SUFFIX)
+ @-$(RM) cryptest dlltest.exe cryptest.import.exe cryptest.info ct et
@-$(RM) *.la *.lo *.gcov *.gcno *.gcda *.stackdump core core-*
@-$(RM) /tmp/adhoc.exe
@-$(RM) -r /tmp/cryptopp_test/
@-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
@-$(RM) -f config.guess config.status config.sub config.h.in compile depcomp
@-$(RM) -f install-sh stamp-h1 ar-lib *.lo *.la *.m4 local.* lt*.sh missing
- @-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcryptopp.pc*
+ @-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcrypto++.pc*
@-$(RM) -rf build-aux/ m4/ auto*.cache/ .deps/ .libs/
.PHONY: cmake-clean
.PHONY: distclean
distclean: clean autotools-clean cmake-clean android-clean
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt
- @-$(RM) cryptest-*.txt cryptopp.tgz libcryptopp.pc *.o *.bc *.ii *~
- @-$(RM) -r cryptlib.lib cryptest.exe *.suo *.sdf *.pdb Win32/ x64/ ipch/
+ @-$(RM) cryptest-*.txt cryptopp.tgz libcrypto++.pc *.o *.bc *.ii *~
+ @-$(RM) -r cryptlib.lib cryptest *.suo *.sdf *.pdb Win32/ x64/ ipch/
@-$(RM) -r $(LIBOBJS:.o=.obj) $(TESTOBJS:.o=.obj)
@-$(RM) -r $(LIBOBJS:.o=.lst) $(TESTOBJS:.o=.lst)
@-$(RM) -r TestCoverage/ ref*/
@-$(RM) cryptopp$(LIB_VER)\.* CryptoPPRef.zip
-# Install cryptest.exe, libcryptopp.a, libcryptopp.so and libcryptopp.pc.
+# Install cryptest, libcrypto++.a, libcrypto++.so and libcrypto++.pc.
# The library install was broken-out into its own recipe at GH #653.
.PHONY: install
-install: cryptest.exe install-lib
+install: cryptest install-lib
@-$(MKDIR) $(DESTDIR)$(BINDIR)
- $(CP) cryptest.exe $(DESTDIR)$(BINDIR)
- $(CHMOD) 0755 $(DESTDIR)$(BINDIR)/cryptest.exe
- @-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestData
- @-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
- $(CP) TestData/*.dat $(DESTDIR)$(DATADIR)/cryptopp/TestData
- $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/cryptopp/TestData/*.dat
- $(CP) TestVectors/*.txt $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
- $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/cryptopp/TestVectors/*.txt
-
-# A recipe to install only the library, and not cryptest.exe. Also
+ $(CP) cryptest $(DESTDIR)$(BINDIR)
+ $(CHMOD) 0755 $(DESTDIR)$(BINDIR)/cryptest
+ @-$(MKDIR) $(DESTDIR)$(DATADIR)/crypto++/TestData
+ @-$(MKDIR) $(DESTDIR)$(DATADIR)/crypto++/TestVectors
+ $(CP) TestData/*.dat $(DESTDIR)$(DATADIR)/crypto++/TestData
+ $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/crypto++/TestData/*.dat
+ $(CP) TestVectors/*.txt $(DESTDIR)$(DATADIR)/crypto++/TestVectors
+ $(CHMOD) 0644 $(DESTDIR)$(DATADIR)/crypto++/TestVectors/*.txt
+
+# A recipe to install only the library, and not cryptest. Also
# see https://github.com/weidai11/cryptopp/issues/653. Some users
-# already have a libcryptopp.pc. Install the *.pc file if the file
-# is present. If you want one, then issue 'make libcryptopp.pc'.
+# already have a libcrypto++.pc. Install the *.pc file if the file
+# is present. If you want one, then issue 'make libcrypto++.pc'.
.PHONY: install-lib
install-lib:
- @-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/cryptopp
- $(CP) *.h $(DESTDIR)$(INCLUDEDIR)/cryptopp
- $(CHMOD) 0644 $(DESTDIR)$(INCLUDEDIR)/cryptopp/*.h
-ifneq ($(wildcard libcryptopp.a),)
+ @-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/crypto++
+ $(CP) *.h $(DESTDIR)$(INCLUDEDIR)/crypto++
+ $(CHMOD) 0644 $(DESTDIR)$(INCLUDEDIR)/crypto++/*.h
+ifneq ($(wildcard libcrypto++.a),)
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
- $(CP) libcryptopp.a $(DESTDIR)$(LIBDIR)
- $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/libcryptopp.a
+ $(CP) libcrypto++.a $(DESTDIR)$(LIBDIR)
+ $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/libcrypto++.a
endif
ifneq ($(wildcard libcryptopp.dylib),)
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
$(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
-install_name_tool -id $(DESTDIR)$(LIBDIR)/libcryptopp.dylib $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
endif
-ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
+ifneq ($(wildcard libcrypto++.so$(SOLIB_VERSION_SUFFIX)),)
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
- $(CP) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)
- $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+ $(CP) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)
+ $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
+ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcrypto++.so
$(LDCONF) $(DESTDIR)$(LIBDIR)
endif
endif
-ifneq ($(wildcard libcryptopp.pc),)
+ifneq ($(wildcard libcrypto++.pc),)
@-$(MKDIR) $(DESTDIR)$(LIBDIR)/pkgconfig
- $(CP) libcryptopp.pc $(DESTDIR)$(LIBDIR)/pkgconfig
- $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/pkgconfig/libcryptopp.pc
+ $(CP) libcrypto++.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+ $(CHMOD) 0644 $(DESTDIR)$(LIBDIR)/pkgconfig/libcrypto++.pc
endif
.PHONY: remove uninstall
remove uninstall:
- -$(RM) -r $(DESTDIR)$(INCLUDEDIR)/cryptopp
- -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.a
- -$(RM) $(DESTDIR)$(BINDIR)/cryptest.exe
+ -$(RM) -r $(DESTDIR)$(INCLUDEDIR)/crypto++
+ -$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.a
+ -$(RM) $(DESTDIR)$(BINDIR)/cryptest
ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcryptopp.dylib),)
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
endif
-ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcryptopp.so),)
- -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so
+ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcrypto++.so),)
+ -$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so
endif
- @-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
- @-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
- @-$(RM) $(DESTDIR)$(LIBDIR)/pkgconfig/libcryptopp.pc
+ @-$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_VERSION_SUFFIX)
+ @-$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
+ @-$(RM) $(DESTDIR)$(LIBDIR)/pkgconfig/libcrypto++.pc
@-$(RM) -r $(DESTDIR)$(DATADIR)/cryptopp
-libcryptopp.a: $(LIBOBJS)
+libcrypto++.a: $(LIBOBJS)
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
ifeq ($(IS_SUN),0)
$(RANLIB) $@
endif
ifeq ($(HAS_SOLIB_VERSION),1)
-.PHONY: libcryptopp.so
-libcryptopp.so: libcryptopp.so$(SOLIB_VERSION_SUFFIX) | so_warning
+.PHONY: libcrypto++.so
+libcrypto++.so: libcrypto++.so$(SOLIB_VERSION_SUFFIX) | so_warning
endif
-libcryptopp.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
+libcrypto++.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
ifeq ($(XLC_COMPILER),1)
$(CXX) -qmkshrobj $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS)
else
$(CXX) -shared $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS)
endif
ifeq ($(HAS_SOLIB_VERSION),1)
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
+ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) libcrypto++.so
+ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
endif
libcryptopp.dylib: $(LIBOBJS)
$(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names $(LDFLAGS) $(LIBOBJS)
-cryptest.exe: $(LINK_LIBRARY) $(TESTOBJS)
+cryptest: $(LINK_LIBRARY) $(TESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) $(LINK_LIBRARY_PATH)$(LINK_LIBRARY) $(LDFLAGS) $(LDLIBS)
# Makes it faster to test changes
dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
-# Some users already have a libcryptopp.pc. We install it if the file
-# is present. If you want one, then issue 'make libcryptopp.pc'. Be sure
+# Some users already have a libcrypto++.pc. We install it if the file
+# is present. If you want one, then issue 'make libcrypto++.pc'. Be sure
# to use/verify PREFIX and LIBDIR below after writing the file.
-libcryptopp.pc:
- @echo '# Crypto++ package configuration file' > libcryptopp.pc
- @echo '' >> libcryptopp.pc
- @echo 'prefix=$(PC_PREFIX)' >> libcryptopp.pc
- @echo 'libdir=$(PC_LIBDIR)' >> libcryptopp.pc
- @echo 'includedir=$(PC_INCLUDEDIR)' >> libcryptopp.pc
- @echo 'datadir=$(PC_DATADIR)' >> libcryptopp.pc
- @echo '' >> libcryptopp.pc
- @echo 'Name: Crypto++' >> libcryptopp.pc
- @echo 'Description: Crypto++ cryptographic library' >> libcryptopp.pc
- @echo 'Version: 8.4' >> libcryptopp.pc
- @echo 'URL: https://cryptopp.com/' >> libcryptopp.pc
- @echo '' >> libcryptopp.pc
- @echo 'Cflags: -I$${includedir}' >> libcryptopp.pc
- @echo 'Libs: -L$${libdir} -lcryptopp' >> libcryptopp.pc
+libcrypto++.pc:
+ @echo '# Crypto++ package configuration file' > libcrypto++.pc
+ @echo '' >> libcrypto++.pc
+ @echo 'prefix=$(PC_PREFIX)' >> libcrypto++.pc
+ @echo 'libdir=$(PC_LIBDIR)' >> libcrypto++.pc
+ @echo 'includedir=$(PC_INCLUDEDIR)' >> libcrypto++.pc
+ @echo 'datadir=$(PC_DATADIR)' >> libcrypto++.pc
+ @echo '' >> libcrypto++.pc
+ @echo 'Name: Crypto++' >> libcrypto++.pc
+ @echo 'Description: Crypto++ cryptographic library' >> libcrypto++.pc
+ @echo 'Version: 8.4' >> libcrypto++.pc
+ @echo 'URL: https://cryptopp.com/' >> libcrypto++.pc
+ @echo '' >> libcrypto++.pc
+ @echo 'Cflags: -I$${includedir}' >> libcrypto++.pc
+ @echo 'Libs: -L$${libdir} -lcryptopp' >> libcrypto++.pc
# This recipe prepares the distro files
TEXT_FILES := *.h *.cpp License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestPrograms/*.cxx TestScripts/*.sh TestScripts/*.cmd
# CRYPTOPP_CPU_FREQ in GHz
CRYPTOPP_CPU_FREQ ?= 0.0
.PHONY: bench benchmark benchmarks
-bench benchmark benchmarks: cryptest.exe
+bench benchmark benchmarks: cryptest
@-$(RM) -f benchmarks.html
- ./cryptest.exe b 2 $(CRYPTOPP_CPU_FREQ)
+ ./cryptest b 2 $(CRYPTOPP_CPU_FREQ)
adhoc.cpp: adhoc.cpp.proto
ifeq ($(wildcard adhoc.cpp),)