.POSIX:
# AUTOGENERATED FILE, DO NOT EDIT
PROG=test_standalone_enc
SRCS=main.c fd_drain.c standalone_aesctr.c standalone_aesctr_hmac.c standalone_hmac.c standalone_pce.c standalone_transfer_noencrypt.c standalone_pipe_socketpair_one.c proto_crypt.c
IDIRS=-I../../lib/proto -I../../libcperciva/alg -I../../libcperciva/cpusupport -I../../libcperciva/crypto -I../../libcperciva/events -I../../libcperciva/util -I../../lib/util
LDADD_REQ=-lcrypto -lpthread
SUBDIR_DEPTH=../..
RELATIVE_DIR=perftests/standalone-enc
LIBALL=../../liball/liball.a ../../liball/optional_mutex_pthread/liball_optional_mutex_pthread.a

all:
	if [ -z "$${HAVE_BUILD_FLAGS}" ]; then \
		cd ${SUBDIR_DEPTH}; \
		${MAKE} BUILD_SUBDIR=${RELATIVE_DIR} \
		    BUILD_TARGET=${PROG} buildsubdir; \
	else \
		${MAKE} ${PROG}; \
	fi

clean:
	rm -f ${PROG} ${SRCS:.c=.o}

${PROG}:${SRCS:.c=.o} ${LIBALL}
	${CC} -o ${PROG} ${SRCS:.c=.o} ${LIBALL} ${LDFLAGS} ${LDADD_EXTRA} ${LDADD_REQ} ${LDADD_POSIX}

main.o: main.c ../../libcperciva/cpusupport/cpusupport.h ../../cpusupport-config.h ../../libcperciva/util/parsenum.h ../../libcperciva/util/warnp.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -c main.c -o main.o
fd_drain.o: fd_drain.c ../../libcperciva/util/fork_func.h ../../libcperciva/util/warnp.h fd_drain.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -c fd_drain.c -o fd_drain.o
standalone_aesctr.o: standalone_aesctr.c ../../libcperciva/crypto/crypto_aes.h ../../libcperciva/crypto/crypto_aesctr.h ../../libcperciva/util/perftest.h ../../libcperciva/util/warnp.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -c standalone_aesctr.c -o standalone_aesctr.o
standalone_aesctr_hmac.o: standalone_aesctr_hmac.c ../../libcperciva/crypto/crypto_aes.h ../../libcperciva/crypto/crypto_aesctr.h ../../libcperciva/util/perftest.h ../../libcperciva/alg/sha256.h ../../libcperciva/util/sysendian.h ../../libcperciva/util/warnp.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -c standalone_aesctr_hmac.c -o standalone_aesctr_hmac.o
standalone_hmac.o: standalone_hmac.c ../../libcperciva/util/perftest.h ../../libcperciva/alg/sha256.h ../../libcperciva/util/sysendian.h ../../libcperciva/util/warnp.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -c standalone_hmac.c -o standalone_hmac.o
standalone_pce.o: standalone_pce.c ../../libcperciva/util/perftest.h ../../lib/proto/proto_crypt.h ../../libcperciva/crypto/crypto_dh.h ../../libcperciva/util/warnp.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -DSTANDALONE_ENC_TESTING -c standalone_pce.c -o standalone_pce.o
standalone_transfer_noencrypt.o: standalone_transfer_noencrypt.c ../../libcperciva/util/noeintr.h ../../libcperciva/util/perftest.h ../../lib/util/pthread_create_blocking_np.h ../../libcperciva/util/warnp.h fd_drain.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -c standalone_transfer_noencrypt.c -o standalone_transfer_noencrypt.o
standalone_pipe_socketpair_one.o: standalone_pipe_socketpair_one.c ../../libcperciva/events/events.h ../../libcperciva/util/fork_func.h ../../libcperciva/util/noeintr.h ../../libcperciva/util/perftest.h ../../lib/proto/proto_crypt.h ../../libcperciva/crypto/crypto_dh.h ../../lib/proto/proto_pipe.h ../../libcperciva/util/warnp.h fd_drain.h standalone.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -DSTANDALONE_ENC_TESTING -c standalone_pipe_socketpair_one.c -o standalone_pipe_socketpair_one.o
proto_crypt.o: ../../lib/proto/proto_crypt.c ../../libcperciva/crypto/crypto_aes.h ../../libcperciva/crypto/crypto_aesctr.h ../../libcperciva/crypto/crypto_verify_bytes.h ../../libcperciva/util/insecure_memzero.h ../../libcperciva/alg/sha256.h ../../libcperciva/util/sysendian.h ../../libcperciva/util/warnp.h ../../lib/proto/proto_crypt.h ../../libcperciva/crypto/crypto_dh.h
	${CC} ${CFLAGS_POSIX} -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" -I../.. ${IDIRS} ${CPPFLAGS} ${CFLAGS} -DSTANDALONE_ENC_TESTING -c ../../lib/proto/proto_crypt.c -o proto_crypt.o

perftest:
	@${MAKE} all > /dev/null
	@printf "# nblks\tbsize\ttime\tspeed\talg\n"
	@for N in 1 2 3 4 5 6 7; do				\
		./test_standalone_enc $$N |			\
		    grep "blocks" |				\
		    awk -v N="$$N"				\
		    '{printf "%d\t%d\t%.6f\t%.6f\t%d\n",	\
			$$1, $$5, $$6, $$8, N}'; \
	done
