include.am 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. bin_PROGRAMS+= src/or/tor
  2. noinst_LIBRARIES += \
  3. src/or/libtor.a
  4. if UNITTESTS_ENABLED
  5. noinst_LIBRARIES += \
  6. src/or/libtor-testing.a
  7. endif
  8. if COVERAGE_ENABLED
  9. noinst_PROGRAMS+= src/or/tor-cov
  10. endif
  11. if BUILD_NT_SERVICES
  12. tor_platform_source=src/or/ntmain.c
  13. else
  14. tor_platform_source=
  15. endif
  16. EXTRA_DIST+= src/or/ntmain.c src/or/Makefile.nmake
  17. LIBTOR_A_SOURCES = \
  18. src/or/addressmap.c \
  19. src/or/bridges.c \
  20. src/or/channel.c \
  21. src/or/channelpadding.c \
  22. src/or/channeltls.c \
  23. src/or/circpathbias.c \
  24. src/or/circuitbuild.c \
  25. src/or/circuitlist.c \
  26. src/or/circuitmux.c \
  27. src/or/circuitmux_ewma.c \
  28. src/or/circuitstats.c \
  29. src/or/circuituse.c \
  30. src/or/command.c \
  31. src/or/config.c \
  32. src/or/confparse.c \
  33. src/or/connection.c \
  34. src/or/connection_edge.c \
  35. src/or/connection_or.c \
  36. src/or/conscache.c \
  37. src/or/consdiff.c \
  38. src/or/consdiffmgr.c \
  39. src/or/control.c \
  40. src/or/cpuworker.c \
  41. src/or/dircollate.c \
  42. src/or/directory.c \
  43. src/or/dirserv.c \
  44. src/or/dirvote.c \
  45. src/or/dns.c \
  46. src/or/dnsserv.c \
  47. src/or/dos.c \
  48. src/or/fp_pair.c \
  49. src/or/geoip.c \
  50. src/or/entrynodes.c \
  51. src/or/ext_orport.c \
  52. src/or/git_revision.c \
  53. src/or/hibernate.c \
  54. src/or/hs_cache.c \
  55. src/or/hs_cell.c \
  56. src/or/hs_circuit.c \
  57. src/or/hs_circuitmap.c \
  58. src/or/hs_client.c \
  59. src/or/hs_common.c \
  60. src/or/hs_config.c \
  61. src/or/hs_control.c \
  62. src/or/hs_descriptor.c \
  63. src/or/hs_ident.c \
  64. src/or/hs_intropoint.c \
  65. src/or/hs_ntor.c \
  66. src/or/hs_service.c \
  67. src/or/hs_stats.c \
  68. src/or/keypin.c \
  69. src/or/main.c \
  70. src/or/microdesc.c \
  71. src/or/networkstatus.c \
  72. src/or/nodelist.c \
  73. src/or/onion.c \
  74. src/or/onion_fast.c \
  75. src/or/onion_tap.c \
  76. src/or/shared_random.c \
  77. src/or/shared_random_state.c \
  78. src/or/transports.c \
  79. src/or/parsecommon.c \
  80. src/or/periodic.c \
  81. src/or/protover.c \
  82. src/or/protover_rust.c \
  83. src/or/proto_cell.c \
  84. src/or/proto_control0.c \
  85. src/or/proto_ext_or.c \
  86. src/or/proto_http.c \
  87. src/or/proto_socks.c \
  88. src/or/policies.c \
  89. src/or/reasons.c \
  90. src/or/relay.c \
  91. src/or/rendcache.c \
  92. src/or/rendclient.c \
  93. src/or/rendcommon.c \
  94. src/or/rendmid.c \
  95. src/or/rendservice.c \
  96. src/or/rephist.c \
  97. src/or/replaycache.c \
  98. src/or/router.c \
  99. src/or/routerkeys.c \
  100. src/or/routerlist.c \
  101. src/or/routerparse.c \
  102. src/or/routerset.c \
  103. src/or/scheduler.c \
  104. src/or/scheduler_kist.c \
  105. src/or/scheduler_vanilla.c \
  106. src/or/statefile.c \
  107. src/or/status.c \
  108. src/or/torcert.c \
  109. src/or/tor_api.c \
  110. src/or/onion_ntor.c \
  111. $(tor_platform_source)
  112. src_or_libtor_a_SOURCES = $(LIBTOR_A_SOURCES)
  113. src_or_libtor_testing_a_SOURCES = $(LIBTOR_A_SOURCES)
  114. src_or_tor_SOURCES = src/or/tor_main.c
  115. AM_CPPFLAGS += -I$(srcdir)/src/or -Isrc/or
  116. src/or/tor_main.$(OBJEXT) \
  117. src/or/src_or_tor_cov-tor_main.$(OBJEXT): micro-revision.i
  118. AM_CPPFLAGS += -DSHARE_DATADIR="\"$(datadir)\"" \
  119. -DLOCALSTATEDIR="\"$(localstatedir)\"" \
  120. -DBINDIR="\"$(bindir)\""
  121. src_or_libtor_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
  122. src_or_libtor_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
  123. # -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
  124. # This seems to matter nowhere but on windows, but I assure you that it
  125. # matters a lot there, and is quite hard to debug if you forget to do it.
  126. src_or_tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
  127. src_or_tor_LDADD = src/or/libtor.a src/common/libor.a src/common/libor-ctime.a \
  128. src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \
  129. src/common/libor-event.a src/trunnel/libor-trunnel.a \
  130. src/trace/libor-trace.a \
  131. $(rust_ldadd) \
  132. @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
  133. @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
  134. @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \
  135. @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@
  136. if COVERAGE_ENABLED
  137. src_or_tor_cov_SOURCES = src/or/tor_main.c
  138. src_or_tor_cov_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
  139. src_or_tor_cov_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
  140. src_or_tor_cov_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
  141. src_or_tor_cov_LDADD = src/or/libtor-testing.a src/common/libor-testing.a \
  142. src/common/libor-ctime-testing.a \
  143. src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \
  144. src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.a \
  145. @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
  146. @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \
  147. @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@
  148. endif
  149. ORHEADERS = \
  150. src/or/addressmap.h \
  151. src/or/bridges.h \
  152. src/or/channel.h \
  153. src/or/channelpadding.h \
  154. src/or/channeltls.h \
  155. src/or/circpathbias.h \
  156. src/or/circuitbuild.h \
  157. src/or/circuitlist.h \
  158. src/or/circuitmux.h \
  159. src/or/circuitmux_ewma.h \
  160. src/or/circuitstats.h \
  161. src/or/circuituse.h \
  162. src/or/command.h \
  163. src/or/config.h \
  164. src/or/confparse.h \
  165. src/or/connection.h \
  166. src/or/connection_edge.h \
  167. src/or/connection_or.h \
  168. src/or/conscache.h \
  169. src/or/consdiff.h \
  170. src/or/consdiffmgr.h \
  171. src/or/control.h \
  172. src/or/cpuworker.h \
  173. src/or/dircollate.h \
  174. src/or/directory.h \
  175. src/or/dirserv.h \
  176. src/or/dirvote.h \
  177. src/or/dns.h \
  178. src/or/dns_structs.h \
  179. src/or/dnsserv.h \
  180. src/or/dos.h \
  181. src/or/ext_orport.h \
  182. src/or/fallback_dirs.inc \
  183. src/or/fp_pair.h \
  184. src/or/geoip.h \
  185. src/or/entrynodes.h \
  186. src/or/git_revision.h \
  187. src/or/hibernate.h \
  188. src/or/hs_cache.h \
  189. src/or/hs_cell.h \
  190. src/or/hs_circuit.h \
  191. src/or/hs_circuitmap.h \
  192. src/or/hs_client.h \
  193. src/or/hs_common.h \
  194. src/or/hs_config.h \
  195. src/or/hs_control.h \
  196. src/or/hs_descriptor.h \
  197. src/or/hs_ident.h \
  198. src/or/hs_intropoint.h \
  199. src/or/hs_ntor.h \
  200. src/or/hs_stats.h \
  201. src/or/hs_service.h \
  202. src/or/keypin.h \
  203. src/or/main.h \
  204. src/or/microdesc.h \
  205. src/or/networkstatus.h \
  206. src/or/nodelist.h \
  207. src/or/ntmain.h \
  208. src/or/onion.h \
  209. src/or/onion_fast.h \
  210. src/or/onion_ntor.h \
  211. src/or/onion_tap.h \
  212. src/or/or.h \
  213. src/or/shared_random.h \
  214. src/or/shared_random_state.h \
  215. src/or/transports.h \
  216. src/or/parsecommon.h \
  217. src/or/periodic.h \
  218. src/or/policies.h \
  219. src/or/protover.h \
  220. src/or/proto_cell.h \
  221. src/or/proto_control0.h \
  222. src/or/proto_ext_or.h \
  223. src/or/proto_http.h \
  224. src/or/proto_socks.h \
  225. src/or/reasons.h \
  226. src/or/relay.h \
  227. src/or/rendcache.h \
  228. src/or/rendclient.h \
  229. src/or/rendcommon.h \
  230. src/or/rendmid.h \
  231. src/or/rendservice.h \
  232. src/or/rephist.h \
  233. src/or/replaycache.h \
  234. src/or/router.h \
  235. src/or/routerkeys.h \
  236. src/or/routerlist.h \
  237. src/or/routerkeys.h \
  238. src/or/routerset.h \
  239. src/or/routerparse.h \
  240. src/or/scheduler.h \
  241. src/or/statefile.h \
  242. src/or/status.h \
  243. src/or/torcert.h \
  244. src/or/tor_api_internal.h
  245. # This may someday want to be an installed file?
  246. noinst_HEADERS += src/or/tor_api.h
  247. noinst_HEADERS += $(ORHEADERS) micro-revision.i
  248. micro-revision.i: FORCE
  249. $(AM_V_at)rm -f micro-revision.tmp; \
  250. if test -r "$(top_srcdir)/.git" && \
  251. test -x "`which git 2>&1;true`"; then \
  252. HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \
  253. echo \"$$HASH\" > micro-revision.tmp; \
  254. fi; \
  255. if test ! -f micro-revision.tmp; then \
  256. if test ! -f micro-revision.i; then \
  257. echo '""' > micro-revision.i; \
  258. fi; \
  259. elif test ! -f micro-revision.i || \
  260. test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \
  261. mv micro-revision.tmp micro-revision.i; \
  262. fi; \
  263. rm -f micro-revision.tmp; \
  264. true
  265. CLEANFILES+= micro-revision.i src/or/micro-revision.i micro-revision.tmp
  266. FORCE: