Makefile 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. PROG= scrypt
  2. SRCS= main.c
  3. LDADD+= -lcrypto
  4. WARNS?= 6
  5. # We have a config file for FreeBSD
  6. CFLAGS += -I .
  7. CFLAGS += -DCONFIG_H_FILE=\"config_freebsd.h\"
  8. .PATH.c : libcperciva/alg
  9. SRCS += sha256.c
  10. CFLAGS += -I libcperciva/alg
  11. .PATH.c : libcperciva/cpusupport
  12. SRCS += cpusupport_x86_aesni.c
  13. SRCS += cpusupport_x86_sse2.c
  14. CFLAGS += -I libcperciva/cpusupport
  15. .PATH.c : libcperciva/crypto
  16. SRCS += crypto_aes.c
  17. SRCS += crypto_aes_aesni.c
  18. SRCS += crypto_aesctr.c
  19. SRCS += crypto_entropy.c
  20. CFLAGS += -I libcperciva/crypto
  21. .PATH.c : libcperciva/util
  22. SRCS += entropy.c
  23. SRCS += insecure_memzero.c
  24. SRCS += readpass.c
  25. SRCS += warnp.c
  26. CFLAGS += -I libcperciva/util
  27. .PATH.c : lib/crypto
  28. SRCS += crypto_scrypt.c
  29. SRCS += crypto_scrypt_smix.c
  30. SRCS += crypto_scrypt_smix_sse2.c
  31. CFLAGS += -I lib/crypto
  32. .PATH.c : lib/scryptenc
  33. SRCS += scryptenc.c
  34. SRCS += scryptenc_cpuperf.c
  35. CFLAGS += -I lib/scryptenc
  36. .PATH.c : lib/util
  37. SRCS += memlimit.c
  38. CFLAGS += -I lib/util
  39. # CPU features compiler support detection
  40. SRCS += cpusupport-config.h
  41. cpusupport-config.h:
  42. ( export CC="${CC}"; export CFLAGS="${CFLAGS}"; command -p sh libcperciva/cpusupport/Build/cpusupport.sh ) > cpusupport-config.h.tmp && command -p mv cpusupport-config.h.tmp cpusupport-config.h
  43. CLEANFILES+= cpusupport-config.h cpusupport-config.h.tmp
  44. CFLAGS += -I . -D CPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\"
  45. # Building crypto_aes_aesni.o needs CFLAGS_X86_AESNI
  46. crypto_aes_aesni.o: crypto_aes_aesni.c cpusupport-config.h
  47. . ./cpusupport-config.h; ${CC} ${CFLAGS} $${CFLAGS_X86_AESNI} -c $< -o $@
  48. # Building crypto_scrypt_smix_sse2.o needs CFLAGS_X86_SSE2
  49. crypto_scrypt_smix_sse2.o: crypto_scrypt_smix_sse2.c cpusupport-config.h
  50. . ./cpusupport-config.h; ${CC} ${CFLAGS} $${CFLAGS_X86_SSE2} -c $< -o $@
  51. #======== public code ends here
  52. PKGNAME=scrypt-${SCRYPTVERSION}
  53. PKGSIGS=scrypt-sigs-${SCRYPTVERSION}
  54. publish-at:
  55. @if [ -z "${SCRYPTVERSION}" ]; then \
  56. echo "SCRYPTVERSION must be set for a release"; \
  57. false; \
  58. fi
  59. mkdir -p ${PKGNAME} ${PKGNAME}/autocrap
  60. cp -R lib libcperciva ${PKGNAME}
  61. cp scrypt_platform.h main.c FORMAT scrypt.1 ${PKGNAME}
  62. cp Makefile.am configure.ac ${PKGNAME}/autocrap
  63. echo -n '${SCRYPTVERSION}' > scrypt-version
  64. autoreconf -i
  65. mv Makefile.in config.h.in configure ${PKGNAME}/
  66. rm aclocal.m4
  67. mv config.aux ${PKGNAME}/
  68. rm scrypt-version
  69. tar -czf ${PKGNAME}.tgz ${PKGNAME}
  70. rm -rf ${PKGNAME}
  71. publish: publish-at
  72. sha256 ${PKGNAME}.tgz | \
  73. gpg --secret-keyring $GPGKEYFILE --clearsign -u $GPGKEYID \
  74. > ${PKGSIGS}.asc
  75. .include <bsd.prog.mk>