Makefile.am 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789
  1. ## Process this file with automake to produce Makefile.in
  2. AUTOMAKE_OPTIONS= foreign subdir-objects
  3. #
  4. # What to build and install
  5. #
  6. noinst_LIBRARIES= \
  7. lib/libcperciva_aesni.a \
  8. lib/libcperciva_arm_aes.a \
  9. lib/libcperciva_arm_sha256.a \
  10. lib/libcperciva_cpusupport_detect.a \
  11. lib/libcperciva_crypto_aes.a \
  12. lib/libcperciva_rdrand.a \
  13. lib/libcperciva_shani.a \
  14. lib/libtarsnap.a \
  15. lib/libtarsnap_rsa.a \
  16. lib/libtarsnap_sse2.a \
  17. libarchive/libarchive.a
  18. bin_PROGRAMS= \
  19. tarsnap \
  20. tarsnap-keygen \
  21. tarsnap-keymgmt \
  22. tarsnap-keyregen \
  23. tarsnap-recrypt
  24. noinst_PROGRAMS= \
  25. tests/valgrind/potential-memleaks
  26. man_MANS= \
  27. $(tarsnap_keygen_man_MANS) \
  28. $(tarsnap_keymgmt_man_MANS) \
  29. $(tarsnap_keyregen_man_MANS) \
  30. $(tarsnap_man_MANS) \
  31. $(tarsnap_recrypt_man_MANS)
  32. CLEANFILES= $(man_MANS)
  33. #
  34. # Libarchive headers, source, etc.
  35. #
  36. #
  37. libarchive_libarchive_a_SOURCES= \
  38. libarchive/archive.h \
  39. libarchive/archive_check_magic.c \
  40. libarchive/archive_endian.h \
  41. libarchive/archive_entry.c \
  42. libarchive/archive_entry.h \
  43. libarchive/archive_entry_copy_stat.c \
  44. libarchive/archive_entry_link_resolver.c \
  45. libarchive/archive_entry_private.h \
  46. libarchive/archive_entry_stat.c \
  47. libarchive/archive_entry_strmode.c \
  48. libarchive/archive_platform.h \
  49. libarchive/archive_private.h \
  50. libarchive/archive_read.c \
  51. libarchive/archive_read_data_into_fd.c \
  52. libarchive/archive_read_disk.c \
  53. libarchive/archive_read_disk_entry_from_file.c \
  54. libarchive/archive_read_disk_private.h \
  55. libarchive/archive_read_disk_set_standard_lookup.c \
  56. libarchive/archive_read_extract.c \
  57. libarchive/archive_read_open_fd.c \
  58. libarchive/archive_read_open_file.c \
  59. libarchive/archive_read_open_filename.c \
  60. libarchive/archive_read_open_memory.c \
  61. libarchive/archive_read_private.h \
  62. libarchive/archive_read_support_compression_all.c \
  63. libarchive/archive_read_support_compression_bzip2.c \
  64. libarchive/archive_read_support_compression_compress.c \
  65. libarchive/archive_read_support_compression_gzip.c \
  66. libarchive/archive_read_support_compression_none.c \
  67. libarchive/archive_read_support_compression_program.c \
  68. libarchive/archive_read_support_compression_xz.c \
  69. libarchive/archive_read_support_format_all.c \
  70. libarchive/archive_read_support_format_ar.c \
  71. libarchive/archive_read_support_format_cpio.c \
  72. libarchive/archive_read_support_format_empty.c \
  73. libarchive/archive_read_support_format_iso9660.c \
  74. libarchive/archive_read_support_format_mtree.c \
  75. libarchive/archive_read_support_format_tar.c \
  76. libarchive/archive_read_support_format_zip.c \
  77. libarchive/archive_string.c \
  78. libarchive/archive_string.h \
  79. libarchive/archive_string_sprintf.c \
  80. libarchive/archive_util.c \
  81. libarchive/archive_virtual.c \
  82. libarchive/archive_write.c \
  83. libarchive/archive_write_disk.c \
  84. libarchive/archive_write_disk_private.h \
  85. libarchive/archive_write_disk_set_standard_lookup.c \
  86. libarchive/archive_write_open_fd.c \
  87. libarchive/archive_write_open_file.c \
  88. libarchive/archive_write_open_filename.c \
  89. libarchive/archive_write_open_memory.c \
  90. libarchive/archive_write_private.h \
  91. libarchive/archive_write_set_compression_none.c \
  92. libarchive/archive_write_set_format_pax.c \
  93. libarchive/archive_write_set_format_ustar.c \
  94. libarchive/config_freebsd.h \
  95. libarchive/config_windows.h \
  96. libarchive/filter_fork.c \
  97. libarchive/filter_fork.h
  98. if INC_WINDOWS_FILES
  99. libarchive_libarchive_a_SOURCES+= \
  100. libarchive/archive_windows.c \
  101. libarchive/archive_windows.h \
  102. libarchive/filter_fork_windows.c
  103. endif
  104. libarchive_libarchive_a_CPPFLAGS=-I$(top_builddir)/libarchive
  105. #
  106. # Tarsnap internal library code
  107. #
  108. #
  109. # Don't include crypto_aesctr_shared.c in this list, as it should be included
  110. # directly into other translation unit(s), and not compiled on its own.
  111. lib_libtarsnap_a_SOURCES= \
  112. lib-platform/crypto/crypto_scrypt.c \
  113. lib-platform/crypto/crypto_scrypt.h \
  114. lib-platform/network/tsnetwork_cork.c \
  115. lib-platform/network/tsnetwork_cork.h \
  116. lib-platform/platform.h \
  117. lib-platform/util/fileutil.c \
  118. lib-platform/util/fileutil.h \
  119. lib-platform/util/memlimit.c \
  120. lib-platform/util/memlimit.h \
  121. lib-platform/util/ts_getfstype.c \
  122. lib-platform/util/ts_getfstype.h \
  123. lib/crypto/crypto.h \
  124. lib/crypto/crypto_compat.h \
  125. lib/crypto/crypto_file.c \
  126. lib/crypto/crypto_hash.c \
  127. lib/crypto/crypto_internal.h \
  128. lib/crypto/crypto_keys_init.c \
  129. lib/crypto/crypto_keys_server.c \
  130. lib/crypto/crypto_passwd_to_dh.c \
  131. lib/crypto/crypto_scrypt_smix.c \
  132. lib/crypto/crypto_scrypt_smix.h \
  133. lib/crypto/crypto_scrypt_smix_sse2.h \
  134. lib/crypto/crypto_session.c \
  135. lib/datastruct/patricia.c \
  136. lib/datastruct/patricia.h \
  137. lib/datastruct/rwhashtab.c \
  138. lib/datastruct/rwhashtab.h \
  139. lib/keyfile/keyfile.c \
  140. lib/keyfile/keyfile.h \
  141. lib/netpacket/netpacket.h \
  142. lib/netpacket/netpacket_delete.c \
  143. lib/netpacket/netpacket_directory.c \
  144. lib/netpacket/netpacket_hmac.c \
  145. lib/netpacket/netpacket_internal.h \
  146. lib/netpacket/netpacket_op.c \
  147. lib/netpacket/netpacket_read.c \
  148. lib/netpacket/netpacket_register.c \
  149. lib/netpacket/netpacket_transaction.c \
  150. lib/netpacket/netpacket_write.c \
  151. lib/netproto/netproto.c \
  152. lib/netproto/netproto.h \
  153. lib/netproto/netproto_connect.c \
  154. lib/netproto/netproto_internal.h \
  155. lib/netproto/netproto_keyexchange.c \
  156. lib/netproto/netproto_packet.c \
  157. lib/network/tsnetwork.h \
  158. lib/network/tsnetwork_buf.c \
  159. lib/network/tsnetwork_bwlimit.c \
  160. lib/network/tsnetwork_connect.c \
  161. lib/network/tsnetwork_internal.h \
  162. lib/network/tsnetwork_register.c \
  163. lib/network/tsnetwork_select.c \
  164. lib/network/tsnetwork_sleep.c \
  165. lib/network/tsnetwork_writeq.c \
  166. lib/scryptenc/scryptenc.c \
  167. lib/scryptenc/scryptenc.h \
  168. lib/scryptenc/scryptenc_cpuperf.c \
  169. lib/scryptenc/scryptenc_cpuperf.h \
  170. lib/util/dirutil.c \
  171. lib/util/dirutil.h \
  172. lib/util/hexlink.c \
  173. lib/util/hexlink.h \
  174. lib/util/passphrase_entry.c \
  175. lib/util/passphrase_entry.h \
  176. lib/util/print_separator.c \
  177. lib/util/print_separator.h \
  178. lib/util/sigquit.c \
  179. lib/util/sigquit.h \
  180. lib/util/tvmath.c \
  181. lib/util/tvmath.h \
  182. libcperciva/alg/sha256.c \
  183. libcperciva/alg/sha256.h \
  184. libcperciva/alg/sha256_arm.h \
  185. libcperciva/alg/sha256_shani.h \
  186. libcperciva/alg/sha256_sse2.h \
  187. libcperciva/cpusupport/cpusupport.h \
  188. libcperciva/crypto/crypto_aes.h \
  189. libcperciva/crypto/crypto_aes_aesni.h \
  190. libcperciva/crypto/crypto_aes_aesni_m128i.h \
  191. libcperciva/crypto/crypto_aes_arm.h \
  192. libcperciva/crypto/crypto_aes_arm_u8.h \
  193. libcperciva/crypto/crypto_aesctr.c \
  194. libcperciva/crypto/crypto_aesctr.h \
  195. libcperciva/crypto/crypto_aesctr_aesni.h \
  196. libcperciva/crypto/crypto_aesctr_arm.h \
  197. libcperciva/crypto/crypto_dh.c \
  198. libcperciva/crypto/crypto_dh.h \
  199. libcperciva/crypto/crypto_dh_group14.c \
  200. libcperciva/crypto/crypto_dh_group14.h \
  201. libcperciva/crypto/crypto_entropy.c \
  202. libcperciva/crypto/crypto_entropy.h \
  203. libcperciva/crypto/crypto_entropy_rdrand.h \
  204. libcperciva/crypto/crypto_verify_bytes.c \
  205. libcperciva/crypto/crypto_verify_bytes.h \
  206. libcperciva/datastruct/elasticarray.c \
  207. libcperciva/datastruct/elasticarray.h \
  208. libcperciva/datastruct/mpool.h \
  209. libcperciva/datastruct/ptrheap.c \
  210. libcperciva/datastruct/ptrheap.h \
  211. libcperciva/datastruct/timerqueue.c \
  212. libcperciva/datastruct/timerqueue.h \
  213. libcperciva/events/events.c \
  214. libcperciva/events/events.h \
  215. libcperciva/events/events_immediate.c \
  216. libcperciva/events/events_internal.h \
  217. libcperciva/events/events_network.c \
  218. libcperciva/events/events_network_selectstats.c \
  219. libcperciva/events/events_timer.c \
  220. libcperciva/external/queue/queue.h \
  221. libcperciva/network/network.h \
  222. libcperciva/network/network_accept.c \
  223. libcperciva/network/network_connect.c \
  224. libcperciva/network/network_read.c \
  225. libcperciva/network/network_write.c \
  226. libcperciva/util/align_ptr.h \
  227. libcperciva/util/asprintf.c \
  228. libcperciva/util/asprintf.h \
  229. libcperciva/util/b64encode.c \
  230. libcperciva/util/b64encode.h \
  231. libcperciva/util/ctassert.h \
  232. libcperciva/util/entropy.c \
  233. libcperciva/util/entropy.h \
  234. libcperciva/util/getopt.c \
  235. libcperciva/util/getopt.h \
  236. libcperciva/util/hexify.c \
  237. libcperciva/util/hexify.h \
  238. libcperciva/util/humansize.c \
  239. libcperciva/util/humansize.h \
  240. libcperciva/util/imalloc.h \
  241. libcperciva/util/insecure_memzero.c \
  242. libcperciva/util/insecure_memzero.h \
  243. libcperciva/util/monoclock.c \
  244. libcperciva/util/monoclock.h \
  245. libcperciva/util/parsenum.h \
  246. libcperciva/util/readpass.c \
  247. libcperciva/util/readpass.h \
  248. libcperciva/util/readpass_file.c \
  249. libcperciva/util/sock.c \
  250. libcperciva/util/sock.h \
  251. libcperciva/util/sock_internal.h \
  252. libcperciva/util/sock_util.c \
  253. libcperciva/util/sock_util.h \
  254. libcperciva/util/sysendian.h \
  255. libcperciva/util/ttyfd.c \
  256. libcperciva/util/ttyfd.h \
  257. libcperciva/util/warnp.c \
  258. libcperciva/util/warnp.h
  259. nodist_lib_libtarsnap_a_SOURCES= \
  260. apisupport-config.h \
  261. cpusupport-config.h
  262. lib_libtarsnap_a_CPPFLAGS= \
  263. -I$(top_srcdir)/lib \
  264. -I$(top_srcdir)/lib-platform \
  265. -I$(top_srcdir)/lib-platform/crypto \
  266. -I$(top_srcdir)/lib-platform/network \
  267. -I$(top_srcdir)/lib-platform/util \
  268. -I$(top_srcdir)/lib/crypto \
  269. -I$(top_srcdir)/lib/datastruct \
  270. -I$(top_srcdir)/lib/keyfile \
  271. -I$(top_srcdir)/lib/netpacket \
  272. -I$(top_srcdir)/lib/netproto \
  273. -I$(top_srcdir)/lib/network \
  274. -I$(top_srcdir)/lib/scryptenc \
  275. -I$(top_srcdir)/lib/util \
  276. -I$(top_srcdir)/libarchive \
  277. -I$(top_srcdir)/libcperciva/alg \
  278. -I$(top_srcdir)/libcperciva/cpusupport \
  279. -I$(top_srcdir)/libcperciva/crypto \
  280. -I$(top_srcdir)/libcperciva/datastruct \
  281. -I$(top_srcdir)/libcperciva/events \
  282. -I$(top_srcdir)/libcperciva/external/queue \
  283. -I$(top_srcdir)/libcperciva/network \
  284. -I$(top_srcdir)/libcperciva/util \
  285. -I$(top_srcdir)/tar \
  286. -DAPISUPPORT_CONFIG_FILE=\"apisupport-config.h\" \
  287. -DCPUSUPPORT_CONFIG_FILE=\"cpusupport-config.h\" \
  288. -DTSSERVER=\"$(TSSERVER)\" \
  289. -D_POSIX_C_SOURCE=200809L \
  290. -D_XOPEN_SOURCE=700 \
  291. ${CFLAGS_POSIX}
  292. LIBTARSNAP_A= lib/libtarsnap.a
  293. # apisupport has extra CFLAGS (compared to cpusupport), because it needs to
  294. # access post-configure info: lib-platform/platform.h, config.h, and
  295. # -DHAVE_CONFIG_H.
  296. apisupport-config.h:
  297. ( export CC="${CC}"; export CFLAGS="-I${top_srcdir}/lib-platform -I${builddir} ${DEFS} ${CFLAGS}"; command -p sh $(srcdir)/libcperciva/apisupport/Build/apisupport.sh "$$PATH") > apisupport-config.h.tmp && command -p mv apisupport-config.h.tmp apisupport-config.h
  298. cpusupport-config.h:
  299. ( export CC="${CC}"; export CFLAGS="${CFLAGS}"; command -p sh $(srcdir)/libcperciva/cpusupport/Build/cpusupport.sh "$$PATH" ) > cpusupport-config.h.tmp && command -p mv cpusupport-config.h.tmp cpusupport-config.h
  300. # Add libcperciva files to dist
  301. #
  302. # crypto_aesctr_shared.c is in this list because it can't be included in the
  303. # _SOURCES because it should only be included as part of another translation
  304. # unit.
  305. EXTRA_DIST= \
  306. libcperciva/POSIX/README \
  307. libcperciva/POSIX/posix-abstract-declarator.c \
  308. libcperciva/POSIX/posix-cflags.sh \
  309. libcperciva/POSIX/posix-clock_gettime.c \
  310. libcperciva/POSIX/posix-clock_realtime.c \
  311. libcperciva/POSIX/posix-inet-addrstrlen.c \
  312. libcperciva/POSIX/posix-inet6-addrstrlen.c \
  313. libcperciva/POSIX/posix-l.sh \
  314. libcperciva/POSIX/posix-msg_nosignal.c \
  315. libcperciva/POSIX/posix-restrict.c \
  316. libcperciva/POSIX/posix-stat-st_mtim.c \
  317. libcperciva/POSIX/posix-trivial.c \
  318. libcperciva/cpusupport/Build/cpusupport-ARM-AES.c \
  319. libcperciva/cpusupport/Build/cpusupport-ARM-SHA256.c \
  320. libcperciva/cpusupport/Build/cpusupport-HWCAP-ELF_AUX_INFO.c \
  321. libcperciva/cpusupport/Build/cpusupport-HWCAP-GETAUXVAL.c \
  322. libcperciva/cpusupport/Build/cpusupport-X86-AESNI.c \
  323. libcperciva/cpusupport/Build/cpusupport-X86-CPUID.c \
  324. libcperciva/cpusupport/Build/cpusupport-X86-CPUID_COUNT.c \
  325. libcperciva/cpusupport/Build/cpusupport-X86-RDRAND.c \
  326. libcperciva/cpusupport/Build/cpusupport-X86-SHANI.c \
  327. libcperciva/cpusupport/Build/cpusupport-X86-SSE2.c \
  328. libcperciva/cpusupport/Build/cpusupport-X86-SSSE3.c \
  329. libcperciva/cpusupport/Build/cpusupport.sh \
  330. libcperciva/crypto/crypto_aesctr_shared.c
  331. BUILT_SOURCES= \
  332. apisupport-config.h \
  333. cpusupport-config.h
  334. CLEANFILES+= \
  335. apisupport-config.h \
  336. apisupport-config.h.tmp \
  337. cpusupport-config.h \
  338. cpusupport-config.h.tmp
  339. # libcperciva_crypto_aes depends on libcperciva_cpusupport_detect, so _crypto_aes
  340. # must come before _cpusupport_detect in LIBTARSNAP_A.
  341. lib_libcperciva_crypto_aes_a_SOURCES= \
  342. libcperciva/crypto/crypto_aes.c
  343. nodist_lib_libcperciva_crypto_aes_a_SOURCES= \
  344. apisupport-config.h \
  345. cpusupport-config.h
  346. lib_libcperciva_crypto_aes_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  347. lib_libcperciva_crypto_aes_a_CFLAGS=`. ./apisupport-config.h; echo $${CFLAGS_LIBCRYPTO_LOW_LEVEL_AES}`
  348. LIBTARSNAP_A+= lib/libcperciva_crypto_aes.a
  349. lib_libcperciva_aesni_a_SOURCES= \
  350. libcperciva/crypto/crypto_aes_aesni.c \
  351. libcperciva/crypto/crypto_aesctr_aesni.c
  352. nodist_lib_libcperciva_aesni_a_SOURCES= \
  353. cpusupport-config.h
  354. lib_libcperciva_aesni_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  355. lib_libcperciva_aesni_a_CFLAGS=`. ./cpusupport-config.h; echo $${CFLAGS_X86_AESNI}`
  356. LIBTARSNAP_A+= lib/libcperciva_aesni.a
  357. lib_libcperciva_arm_aes_a_SOURCES= \
  358. libcperciva/crypto/crypto_aes_arm.c \
  359. libcperciva/crypto/crypto_aesctr_arm.c
  360. nodist_lib_libcperciva_arm_aes_a_SOURCES= \
  361. cpusupport-config.h
  362. lib_libcperciva_arm_aes_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  363. lib_libcperciva_arm_aes_a_CFLAGS=`. ./cpusupport-config.h; echo $${CFLAGS_ARM_AES}`
  364. LIBTARSNAP_A+= lib/libcperciva_arm_aes.a
  365. lib_libcperciva_rdrand_a_SOURCES= \
  366. libcperciva/crypto/crypto_entropy_rdrand.c
  367. nodist_lib_libcperciva_rdrand_a_SOURCES= \
  368. cpusupport-config.h
  369. lib_libcperciva_rdrand_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  370. lib_libcperciva_rdrand_a_CFLAGS=`. ./cpusupport-config.h; echo $${CFLAGS_X86_RDRAND}`
  371. LIBTARSNAP_A+= lib/libcperciva_rdrand.a
  372. lib_libtarsnap_sse2_a_SOURCES= \
  373. lib/crypto/crypto_scrypt_smix_sse2.c \
  374. libcperciva/alg/sha256_sse2.c
  375. nodist_lib_libtarsnap_sse2_a_SOURCES= \
  376. cpusupport-config.h
  377. lib_libtarsnap_sse2_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  378. lib_libtarsnap_sse2_a_CFLAGS=`. ./cpusupport-config.h; echo $${CFLAGS_X86_SSE2}`
  379. LIBTARSNAP_A+= lib/libtarsnap_sse2.a
  380. lib_libcperciva_shani_a_SOURCES= \
  381. libcperciva/alg/sha256_shani.c
  382. nodist_lib_libcperciva_shani_a_SOURCES= \
  383. cpusupport-config.h
  384. lib_libcperciva_shani_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  385. lib_libcperciva_shani_a_CFLAGS=`. ./cpusupport-config.h; echo $${CFLAGS_X86_SHANI} $${CFLAGS_X86_SSSE3}`
  386. LIBTARSNAP_A+= lib/libcperciva_shani.a
  387. lib_libcperciva_arm_sha256_a_SOURCES= \
  388. libcperciva/alg/sha256_arm.c
  389. nodist_lib_libcperciva_arm_sha256_a_SOURCES= \
  390. cpusupport-config.h
  391. lib_libcperciva_arm_sha256_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  392. lib_libcperciva_arm_sha256_a_CFLAGS=`. ./cpusupport-config.h; echo $${CFLAGS_ARM_SHA256}`
  393. LIBTARSNAP_A+= lib/libcperciva_arm_sha256.a
  394. lib_libcperciva_cpusupport_detect_a_SOURCES= \
  395. libcperciva/cpusupport/cpusupport_arm_aes.c \
  396. libcperciva/cpusupport/cpusupport_arm_sha256.c \
  397. libcperciva/cpusupport/cpusupport_x86_aesni.c \
  398. libcperciva/cpusupport/cpusupport_x86_rdrand.c \
  399. libcperciva/cpusupport/cpusupport_x86_shani.c \
  400. libcperciva/cpusupport/cpusupport_x86_sse2.c \
  401. libcperciva/cpusupport/cpusupport_x86_ssse3.c
  402. nodist_lib_libcperciva_cpusupport_detect_a_SOURCES= \
  403. cpusupport-config.h
  404. lib_libcperciva_cpusupport_detect_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  405. LIBTARSNAP_A+= lib/libcperciva_cpusupport_detect.a
  406. lib_libtarsnap_rsa_a_SOURCES= \
  407. lib/crypto/crypto_compat.c \
  408. lib/crypto/crypto_keys.c \
  409. lib/crypto/crypto_keys_subr.c \
  410. lib/crypto/crypto_rsa.c
  411. lib_libtarsnap_rsa_a_CPPFLAGS=$(lib_libtarsnap_a_CPPFLAGS)
  412. lib_libtarsnap_rsa_a_CFLAGS=`. ./apisupport-config.h; echo $${CFLAGS_LIBCRYPTO_LOW_LEVEL_RSA}`
  413. LIBTARSNAP_A+= lib/libtarsnap_rsa.a
  414. #
  415. #
  416. # tarsnap source, docs, etc.
  417. #
  418. #
  419. tarsnap_SOURCES= \
  420. tar/bsdtar.c \
  421. tar/bsdtar.h \
  422. tar/bsdtar_platform.h \
  423. tar/ccache/ccache.h \
  424. tar/ccache/ccache_entry.c \
  425. tar/ccache/ccache_internal.h \
  426. tar/ccache/ccache_read.c \
  427. tar/ccache/ccache_write.c \
  428. tar/chunks/chunks.h \
  429. tar/chunks/chunks_delete.c \
  430. tar/chunks/chunks_directory.c \
  431. tar/chunks/chunks_internal.h \
  432. tar/chunks/chunks_read.c \
  433. tar/chunks/chunks_stats.c \
  434. tar/chunks/chunks_stats_internal.c \
  435. tar/chunks/chunks_transaction.c \
  436. tar/chunks/chunks_write.c \
  437. tar/cmdline.c \
  438. tar/getdate.c \
  439. tar/glue/archive_multitape.c \
  440. tar/glue/archive_multitape.h \
  441. tar/glue/tape.c \
  442. tar/matching.c \
  443. tar/multitape/chunkify.c \
  444. tar/multitape/chunkify.h \
  445. tar/multitape/multitape.h \
  446. tar/multitape/multitape_chunkiter.c \
  447. tar/multitape/multitape_delete.c \
  448. tar/multitape/multitape_fsck.c \
  449. tar/multitape/multitape_internal.h \
  450. tar/multitape/multitape_metadata.c \
  451. tar/multitape/multitape_metaindex.c \
  452. tar/multitape/multitape_nuke.c \
  453. tar/multitape/multitape_read.c \
  454. tar/multitape/multitape_recover.c \
  455. tar/multitape/multitape_stats.c \
  456. tar/multitape/multitape_transaction.c \
  457. tar/multitape/multitape_write.c \
  458. tar/read.c \
  459. tar/siginfo.c \
  460. tar/storage/storage.h \
  461. tar/storage/storage_delete.c \
  462. tar/storage/storage_directory.c \
  463. tar/storage/storage_internal.h \
  464. tar/storage/storage_read.c \
  465. tar/storage/storage_read_cache.c \
  466. tar/storage/storage_read_cache.h \
  467. tar/storage/storage_transaction.c \
  468. tar/storage/storage_write.c \
  469. tar/subst.c \
  470. tar/tarsnap_opt.h \
  471. tar/tree.c \
  472. tar/tree.h \
  473. tar/util.c \
  474. tar/write.c
  475. if INC_WINDOWS_FILES
  476. tarsnap_SOURCES+= \
  477. tar/bsdtar_windows.c \
  478. tar/bsdtar_windows.h
  479. endif
  480. if INC_CYGWIN_FILES
  481. tarsnap_SOURCES+= \
  482. tar/bsdtar_cygwin.c \
  483. tar/bsdtar_cygwin.h
  484. endif
  485. tarsnap_DEPENDENCIES = \
  486. $(LIBTARSNAP_A) \
  487. libarchive/archive.h \
  488. libarchive/archive_entry.h \
  489. libarchive/libarchive.a
  490. tarsnap_LDADD= libarchive/libarchive.a $(LIBTARSNAP_A)
  491. tarsnap_CPPFLAGS= \
  492. -I$(top_srcdir)/lib \
  493. -I$(top_srcdir)/lib-platform \
  494. -I$(top_srcdir)/lib-platform/util \
  495. -I$(top_srcdir)/lib/crypto \
  496. -I$(top_srcdir)/lib/datastruct \
  497. -I$(top_srcdir)/lib/keyfile \
  498. -I$(top_srcdir)/lib/netpacket \
  499. -I$(top_srcdir)/lib/netproto \
  500. -I$(top_srcdir)/lib/network \
  501. -I$(top_srcdir)/lib/util \
  502. -I$(top_srcdir)/libarchive \
  503. -I$(top_srcdir)/libcperciva/crypto \
  504. -I$(top_srcdir)/libcperciva/datastruct \
  505. -I$(top_srcdir)/libcperciva/util \
  506. -I$(top_srcdir)/tar \
  507. -I$(top_srcdir)/tar/ccache \
  508. -I$(top_srcdir)/tar/chunks \
  509. -I$(top_srcdir)/tar/glue \
  510. -I$(top_srcdir)/tar/multitape \
  511. -I$(top_srcdir)/tar/storage \
  512. "-DETC_TARSNAP_CONF=\"${sysconfdir}/tarsnap.conf\"" \
  513. -DLIBARCHIVE_STATIC \
  514. -DUSERAGENT=\"tarsnap-${VERSION}\"
  515. tarsnap_man_MANS= tar/tarsnap.1 tar/tarsnap.conf.5
  516. #
  517. # tarsnap-keygen source, docs, etc.
  518. #
  519. #
  520. tarsnap_keygen_SOURCES= \
  521. keygen/keygen.c \
  522. keygen/keygen.h \
  523. keygen/keygen_actual.c \
  524. keygen/keygen_network.c
  525. tarsnap_keygen_LDADD= $(LIBTARSNAP_A)
  526. tarsnap_keygen_CPPFLAGS= \
  527. -I$(top_srcdir)/keygen \
  528. -I$(top_srcdir)/lib \
  529. -I$(top_srcdir)/lib-platform \
  530. -I$(top_srcdir)/lib/crypto \
  531. -I$(top_srcdir)/lib/datastruct \
  532. -I$(top_srcdir)/lib/keyfile \
  533. -I$(top_srcdir)/lib/netpacket \
  534. -I$(top_srcdir)/lib/netproto \
  535. -I$(top_srcdir)/lib/network \
  536. -I$(top_srcdir)/lib/util \
  537. -I$(top_srcdir)/libarchive \
  538. -I$(top_srcdir)/libcperciva/crypto \
  539. -I$(top_srcdir)/libcperciva/util \
  540. -I$(top_srcdir)/tar \
  541. -DUSERAGENT=\"tarsnap-keygen-${VERSION}\"
  542. tarsnap_keygen_man_MANS= keygen/tarsnap-keygen.1
  543. #
  544. # tarsnap-keyregen source, docs, etc.
  545. #
  546. #
  547. tarsnap_keyregen_SOURCES= \
  548. keygen/keygen.h \
  549. keygen/keygen_actual.c \
  550. keygen/keygen_network.c \
  551. keyregen/keyregen.c
  552. tarsnap_keyregen_LDADD= $(LIBTARSNAP_A)
  553. tarsnap_keyregen_CPPFLAGS= \
  554. -I$(top_srcdir)/keygen \
  555. -I$(top_srcdir)/lib \
  556. -I$(top_srcdir)/lib-platform \
  557. -I$(top_srcdir)/lib/crypto \
  558. -I$(top_srcdir)/lib/datastruct \
  559. -I$(top_srcdir)/lib/keyfile \
  560. -I$(top_srcdir)/lib/netpacket \
  561. -I$(top_srcdir)/lib/netproto \
  562. -I$(top_srcdir)/lib/network \
  563. -I$(top_srcdir)/lib/util \
  564. -I$(top_srcdir)/libarchive \
  565. -I$(top_srcdir)/libcperciva/crypto \
  566. -I$(top_srcdir)/libcperciva/util \
  567. -I$(top_srcdir)/tar \
  568. -DUSERAGENT=\"tarsnap-keyregen-${VERSION}\"
  569. tarsnap_keyregen_man_MANS= keyregen/tarsnap-keyregen.1
  570. #
  571. #
  572. # tarsnap-recrypt source, docs, etc.
  573. #
  574. #
  575. tarsnap_recrypt_SOURCES= \
  576. recrypt/recrypt.c \
  577. tar/chunks/chunks_delete.c \
  578. tar/chunks/chunks_directory.c \
  579. tar/chunks/chunks_stats.c \
  580. tar/chunks/chunks_stats_internal.c \
  581. tar/chunks/chunks_transaction.c \
  582. tar/chunks/chunks_write.c \
  583. tar/multitape/multitape_metadata.c \
  584. tar/multitape/multitape_transaction.c \
  585. tar/storage/storage_delete.c \
  586. tar/storage/storage_directory.c \
  587. tar/storage/storage_read.c \
  588. tar/storage/storage_read_cache.c \
  589. tar/storage/storage_read_cache.h \
  590. tar/storage/storage_transaction.c \
  591. tar/storage/storage_write.c
  592. tarsnap_recrypt_LDADD= $(LIBTARSNAP_A)
  593. tarsnap_recrypt_CPPFLAGS= \
  594. -I$(top_srcdir)/lib \
  595. -I$(top_srcdir)/lib-platform \
  596. -I$(top_srcdir)/lib/crypto \
  597. -I$(top_srcdir)/lib/datastruct \
  598. -I$(top_srcdir)/lib/keyfile \
  599. -I$(top_srcdir)/lib/netpacket \
  600. -I$(top_srcdir)/lib/netproto \
  601. -I$(top_srcdir)/lib/network \
  602. -I$(top_srcdir)/lib/util \
  603. -I$(top_srcdir)/libarchive \
  604. -I$(top_srcdir)/libcperciva/crypto \
  605. -I$(top_srcdir)/libcperciva/util \
  606. -I$(top_srcdir)/tar \
  607. -I$(top_srcdir)/tar/chunks \
  608. -I$(top_srcdir)/tar/multitape \
  609. -I$(top_srcdir)/tar/storage \
  610. -DUSERAGENT=\"tarsnap-recrypt-${VERSION}\"
  611. tarsnap_recrypt_man_MANS= recrypt/tarsnap-recrypt.1
  612. #
  613. #
  614. # tarsnap-keymgmt source, docs, etc.
  615. #
  616. #
  617. tarsnap_keymgmt_SOURCES= keymgmt/keymgmt.c
  618. tarsnap_keymgmt_LDADD= $(LIBTARSNAP_A)
  619. tarsnap_keymgmt_CPPFLAGS= \
  620. -I$(top_srcdir)/lib \
  621. -I$(top_srcdir)/lib-platform \
  622. -I$(top_srcdir)/lib/crypto \
  623. -I$(top_srcdir)/lib/datastruct \
  624. -I$(top_srcdir)/lib/keyfile \
  625. -I$(top_srcdir)/lib/util \
  626. -I$(top_srcdir)/libarchive \
  627. -I$(top_srcdir)/libcperciva/crypto \
  628. -I$(top_srcdir)/libcperciva/util \
  629. -I$(top_srcdir)/tar
  630. tarsnap_keymgmt_man_MANS= keymgmt/tarsnap-keymgmt.1
  631. #
  632. # Test framework and support programs
  633. #
  634. #
  635. .PHONY: test
  636. test: all
  637. $(top_srcdir)/tests/test_tarsnap.sh .
  638. # Detect potential memory leaks from libraries.
  639. tests_valgrind_potential_memleaks_SOURCES = tests/valgrind/potential-memleaks.c
  640. tests_valgrind_potential_memleaks_CPPFLAGS = \
  641. -D_POSIX_C_SOURCE=200809L \
  642. -D_XOPEN_SOURCE=700 \
  643. ${CFLAGS_POSIX}
  644. # Add test files to dist
  645. EXTRA_DIST+= \
  646. tests/01-trivial.sh \
  647. tests/01-trivial.sh \
  648. tests/02-c-dry-run-no-keyfile.sh \
  649. tests/03-c-dry-run-fake-keyfile.sh \
  650. tests/04-c-d-real-keyfile.sh \
  651. tests/05-passphrase.sh \
  652. tests/06-progress-output-pb.good \
  653. tests/06-progress-output-v.good \
  654. tests/06-progress-output-vpb-1k.good \
  655. tests/06-progress-output-vpb-20k.good \
  656. tests/06-progress-output.sh \
  657. tests/fake-passphrased.keys \
  658. tests/fake.keys \
  659. tests/shared_test_functions.sh \
  660. tests/shared_valgrind_functions.sh \
  661. tests/test_tarsnap.sh
  662. # Tarsnap configuration file
  663. if INSTALL_CONF_NO_SAMPLE
  664. tar/tarsnap.conf: tar/tarsnap.conf.sample
  665. cp $< $@
  666. sysconf_DATA = tar/tarsnap.conf
  667. CLEANFILES += tar/tarsnap.conf
  668. else
  669. sysconf_DATA = tar/tarsnap.conf.sample
  670. endif
  671. # Use the right version of the man pages depending on whether we have mdoc
  672. # macros available on this system.
  673. tar/tarsnap.1-man tar/tarsnap.1-mdoc \
  674. tar/tarsnap.conf.5-man tar/tarsnap.conf.5-mdoc: tar/tarsnap.1-man.in \
  675. tar/tarsnap.1-mdoc.in tar/tarsnap.conf.5-man.in \
  676. tar/tarsnap.conf.5-mdoc.in
  677. sed -e 's|@sysconfdir[@]|${sysconfdir}|g' ${srcdir}/$@.in > $@.tmp
  678. mv $@.tmp $@
  679. tar/tarsnap.1: tar/tarsnap.1-@MANVER@
  680. cat tar/tarsnap.1-@MANVER@ > tar/tarsnap.1.tmp
  681. mv $@.tmp $@
  682. tar/tarsnap.conf.5: tar/tarsnap.conf.5-@MANVER@
  683. cat tar/tarsnap.conf.5-@MANVER@ > tar/tarsnap.conf.5.tmp
  684. mv $@.tmp $@
  685. keygen/tarsnap-keygen.1: keygen/tarsnap-keygen.1-@MANVER@
  686. cat $(top_srcdir)/keygen/tarsnap-keygen.1-@MANVER@ > keygen/tarsnap-keygen.1.tmp
  687. mv $@.tmp $@
  688. keyregen/tarsnap-keyregen.1: keyregen/tarsnap-keyregen.1-@MANVER@
  689. cat $(top_srcdir)/keyregen/tarsnap-keyregen.1-@MANVER@ > keyregen/tarsnap-keyregen.1.tmp
  690. mv $@.tmp $@
  691. recrypt/tarsnap-recrypt.1: recrypt/tarsnap-recrypt.1-@MANVER@
  692. cat $(top_srcdir)/recrypt/tarsnap-recrypt.1-@MANVER@ > recrypt/tarsnap-recrypt.1.tmp
  693. mv $@.tmp $@
  694. keymgmt/tarsnap-keymgmt.1: keymgmt/tarsnap-keymgmt.1-@MANVER@
  695. cat $(top_srcdir)/keymgmt/tarsnap-keymgmt.1-@MANVER@ > keymgmt/tarsnap-keymgmt.1.tmp
  696. mv $@.tmp $@
  697. # Add man files to dist
  698. EXTRA_DIST+= \
  699. keygen/tarsnap-keygen.1-man \
  700. keygen/tarsnap-keygen.1-mdoc \
  701. keymgmt/tarsnap-keymgmt.1-man \
  702. keymgmt/tarsnap-keymgmt.1-mdoc \
  703. keyregen/tarsnap-keyregen.1-man \
  704. keyregen/tarsnap-keyregen.1-mdoc \
  705. recrypt/tarsnap-recrypt.1-man \
  706. recrypt/tarsnap-recrypt.1-mdoc \
  707. tar/tarsnap.1-man.in \
  708. tar/tarsnap.1-mdoc.in \
  709. tar/tarsnap.conf.5-man.in \
  710. tar/tarsnap.conf.5-mdoc.in \
  711. tar/tarsnap.conf.sample
  712. CLEANFILES+= tar/tarsnap.1-mdoc tar/tarsnap.conf.5-mdoc
  713. # Add misc files to dist
  714. EXTRA_DIST+= \
  715. BUILDING \
  716. lib/netpacket/packets.txt \
  717. libcperciva/COPYRIGHT \
  718. misc/describe-options.txt \
  719. pkg/
  720. #
  721. # Misc helper scripts
  722. #
  723. #
  724. if INSTALL_BASH_COMPLETION
  725. bashcompdir = $(BASH_COMPLETION_DIR)
  726. dist_bashcomp_DATA = \
  727. misc/bash_completion.d/tarsnap \
  728. misc/bash_completion.d/tarsnap-keygen \
  729. misc/bash_completion.d/tarsnap-keymgmt \
  730. misc/bash_completion.d/tarsnap-keyregen \
  731. misc/bash_completion.d/tarsnap-recrypt
  732. endif
  733. if INSTALL_ZSH_COMPLETION
  734. zshcompdir = $(ZSH_COMPLETION_DIR)
  735. dist_zshcomp_DATA = misc/zsh_completion/_tarsnap
  736. endif