summaryrefslogtreecommitdiff
path: root/Makefile.proto
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@mit.edu>2015-03-14 19:47:09 -0400
committerGravatar Benjamin Barenblat <bbaren@mit.edu>2015-03-14 19:47:09 -0400
commitaadb9e2e90925a187877241e50110e4ce7ea80a1 (patch)
tree7cb115e040db2a73c10e5da3f0fe4c16c9f39f9b /Makefile.proto
Imported Upstream version 1.3upstream/1.3
Diffstat (limited to 'Makefile.proto')
-rw-r--r--Makefile.proto100
1 files changed, 100 insertions, 0 deletions
diff --git a/Makefile.proto b/Makefile.proto
new file mode 100644
index 0000000..e932ed4
--- /dev/null
+++ b/Makefile.proto
@@ -0,0 +1,100 @@
+##############################################################################
+# USER CONFIGURATION
+# You MUST set all of the following variables for the compilation to succeed.
+##############################################################################
+
+##
+# paths to crypto library headers and archives. if they are not in the
+# standard system locations (this really depends on the OS you are using),
+# then UNCOMMENT the CRYPTO_INCLUDE_PATH and CRYPTO_LIBRARY_PATH and add the
+# appropriate paths immediately after -I, resp. -L.
+#
+# OpenSSL
+# -------
+# The include path is the directory containing the openssl include
+# directory (e.g. if OpenSSL is installed in /usr/local/ssl, its include
+# files are in /usr/local/ssl/include/openssl and you must set the
+# CRYPTO_INCLUDE_PATH to -I/usr/local/ssl/include).
+#
+# The library path for OpenSSL is the one containing libcrypto.so or
+# libcrypto.a (e.g. set CRYPTO_LIBRARY_PATH to -L/usr/local/ssl/lib)
+#
+# cryptlib
+# --------
+# The include directory is the one containing the cryptlib.h file.
+# The library path is the one containing libcl.so or libcl.a.
+##
+#CRYPTO_INCLUDE_PATH = -I/replace/this/with/real/path
+#CRYPTO_LIBRARY_PATH = -L/replace/this/with/real/path
+
+##
+# If using OpenSSL, uncomment the following 3 lines.
+##
+#CRYPTO_CFLAGS =
+#CRYPTO_OBJS = secure_random_openssl.o
+#CRYPTO_LIBS = -lcrypto
+
+##
+# If using cryptlib, uncomment the following 3 lines.
+##
+#CRYPTO_CFLAGS = -D_REENTRANT
+#CRYPTO_OBJS = secure_random_cryptlib.o
+#CRYPTO_LIBS = -lcl -lpthread
+
+##
+# Change PREFIX to install to different directories. The binary is installed
+# in $PREFIX/bin, and the man in $PREFIX/man/man1
+##
+PREFIX = /usr/local
+
+##
+# On some operating systems (most notably Linux 2.6 kernels) using mlockall
+# causes the program to fail with segmentation fault because it tries to
+# allocate memory beyond its current resource limits for locked memory. If
+# you experience crashes immediately at startup, uncomment the following line.
+##
+#
+#NO_MLOCKALL = -DDISABLE_MLOCKALL
+
+##
+# Sometimes you have only dynamic libraries available. In that case COMMENT
+# the following line.
+##
+LINK_STATIC = -static
+
+##############################################################################
+# NO USER MODIFIABLE PARTS AFTER THIS POINT
+##############################################################################
+CFLAGS = -Wall $(CRYPTO_INCLUDE_PATH) $(CRYPTO_CFLAGS) $(NO_MLOCKALL)
+LDFLAGS = $(CRYPTO_LIBRARY_PATH) $(LINK_STATIC) $(CRYPTO_LIBS) -lm
+
+.PHONY : all install-strip install clean
+
+OBJS = diceware8k.o main.o pwgen.o secure_memory_unix.o \
+ $(CRYPTO_OBJS) skeylist.o
+
+all: secpwgen
+
+secpwgen: $(OBJS)
+ $(CC) -o $@ $(OBJS) $(LDFLAGS)
+
+install-strip: secpwgen
+ strip secpwgen
+ $(MAKE) install
+
+install: secpwgen
+ cp -i secpwgen $(PREFIX)/bin
+ cp -i secpwgen.1 $(PREFIX)/man/man1
+
+clean:
+ rm -f *.o secpwgen
+
+diceware8k.o: diceware8k.c
+main.o: main.c secure_memory.h secure_random.h pwgen.h exceptions.h \
+ cexcept.h
+pwgen.o: pwgen.c secure_random.h pwgen.h exceptions.h cexcept.h
+secure_memory_unix.o: secure_memory_unix.c secure_random.h \
+ secure_memory.h exceptions.h cexcept.h
+secure_random_cryptlib.o: secure_random_cryptlib.c exceptions.h cexcept.h
+secure_random_openssl.o: secure_random_openssl.c exceptions.h cexcept.h
+skeylist.o: skeylist.c