You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
200 lines
5.0 KiB
200 lines
5.0 KiB
bin_PROGRAMS = utun |
|
noinst_LIBRARIES = libutun.a |
|
|
|
# Sources that are always compiled |
|
utun_CORE_SOURCES = \ |
|
utun.c \ |
|
utun_instance.c \ |
|
config_parser.c \ |
|
config_updater.c \ |
|
routing_layer/route_lib.c \ |
|
routing_layer/route6_lib.c \ |
|
routing_layer/topo_group.c \ |
|
routing_layer/route_ping.c \ |
|
routing_layer/nat_detection.c \ |
|
routing_layer/topo_node.c \ |
|
routing_layer/topo_node_sqlite.c \ |
|
routing_layer/route_connectivity.c \ |
|
routing_layer/conn_mgr_core.c \ |
|
routing_layer/conn_mgr_indirect.c \ |
|
routing_layer/conn_mgr_monitor.c \ |
|
routing_layer/topo_recovery.c \ |
|
routing_layer/topo_group_connect.c \ |
|
chat/db_sync.c \ |
|
routing_layer/routing.c \ |
|
tun_if.c \ |
|
tun_route.c \ |
|
tun_linux.c \ |
|
tun_freebsd.c \ |
|
tun_windows.c \ |
|
transport_layer/etcp.c \ |
|
transport_layer/etcp_connections.c \ |
|
transport_layer/etcp_bbr.c \ |
|
transport_layer/etcp_loadbalancer.c \ |
|
transport_layer/etcp_debug.c \ |
|
transport_layer/etcp_dump.c \ |
|
transport_layer/secure_channel.c \ |
|
transport_layer/crc32.c \ |
|
transport_layer/stcp_link.c \ |
|
transport_layer/stcp.c \ |
|
transport_layer/stcp_server.c \ |
|
transport_layer/stcp_client.c \ |
|
transport_layer/pkt_normalizer.c \ |
|
transport_layer/packet_dump.c \ |
|
transport_layer/etcp_api.c \ |
|
transport_layer/etcp_connect.c \ |
|
transport_layer/node_conn_direct.c \ |
|
control_server.c \ |
|
firewall.c \ |
|
eim_nat.c \ |
|
nat_transport.c \ |
|
media_delivery/media_delivery.c \ |
|
media_delivery/media_download.c \ |
|
media_delivery/media_index.c \ |
|
media_async/media_async.c \ |
|
transport_layer/dummynet.c \ |
|
ntp_time.c \ |
|
ntp_node_time.c \ |
|
proxy/tcp_proxy_client.c \ |
|
routing_layer/etcp_router.c \ |
|
proxy/tcp_proxy_server.c \ |
|
proxy/udp_proxy.c \ |
|
proxy/socks_proxy.c \ |
|
proxy/icmp_proxy.c \ |
|
lwip_tcp/lwip_pbuf.c \ |
|
lwip_tcp/lwip_tcp.c \ |
|
lwip_tcp/lwip_tcp_in.c \ |
|
lwip_tcp/lwip_tcp_out.c \ |
|
chat/chat_event.c \ |
|
chat/chat_setting.c \ |
|
chat/chat_core.c \ |
|
chat/chat_msg.c \ |
|
chat/chat_channel.c \ |
|
chat/chat_profile.c \ |
|
chat/chat_status.c \ |
|
chat/chat_sync.c \ |
|
chat/member_sync.c \ |
|
chat/merkle_sync.c |
|
|
|
# libutun: all core sources except main() |
|
libutun_a_SOURCES = \ |
|
utun_instance.c \ |
|
config_parser.c \ |
|
config_updater.c \ |
|
routing_layer/route_lib.c \ |
|
routing_layer/route6_lib.c \ |
|
routing_layer/topo_group.c \ |
|
routing_layer/route_ping.c \ |
|
routing_layer/nat_detection.c \ |
|
routing_layer/topo_node.c \ |
|
routing_layer/topo_node_sqlite.c \ |
|
routing_layer/route_connectivity.c \ |
|
routing_layer/conn_mgr_core.c \ |
|
routing_layer/conn_mgr_indirect.c \ |
|
routing_layer/conn_mgr_monitor.c \ |
|
routing_layer/topo_recovery.c \ |
|
routing_layer/topo_group_connect.c \ |
|
chat/db_sync.c \ |
|
routing_layer/routing.c \ |
|
tun_if.c \ |
|
tun_route.c \ |
|
tun_linux.c \ |
|
tun_freebsd.c \ |
|
tun_windows.c \ |
|
transport_layer/etcp.c \ |
|
transport_layer/etcp_connections.c \ |
|
transport_layer/etcp_bbr.c \ |
|
transport_layer/etcp_loadbalancer.c \ |
|
transport_layer/etcp_debug.c \ |
|
transport_layer/etcp_dump.c \ |
|
transport_layer/secure_channel.c \ |
|
transport_layer/crc32.c \ |
|
transport_layer/stcp_link.c \ |
|
transport_layer/stcp.c \ |
|
transport_layer/stcp_server.c \ |
|
transport_layer/stcp_client.c \ |
|
transport_layer/pkt_normalizer.c \ |
|
transport_layer/packet_dump.c \ |
|
transport_layer/etcp_api.c \ |
|
transport_layer/etcp_connect.c \ |
|
transport_layer/node_conn_direct.c \ |
|
control_server.c \ |
|
firewall.c \ |
|
eim_nat.c \ |
|
nat_transport.c \ |
|
media_delivery/media_delivery.c \ |
|
media_delivery/media_download.c \ |
|
media_delivery/media_index.c \ |
|
media_async/media_async.c \ |
|
transport_layer/dummynet.c \ |
|
ntp_time.c \ |
|
ntp_node_time.c \ |
|
proxy/tcp_proxy_client.c \ |
|
routing_layer/etcp_router.c \ |
|
proxy/tcp_proxy_server.c \ |
|
proxy/udp_proxy.c \ |
|
proxy/socks_proxy.c \ |
|
proxy/icmp_proxy.c \ |
|
lwip_tcp/lwip_pbuf.c \ |
|
lwip_tcp/lwip_tcp.c \ |
|
lwip_tcp/lwip_tcp_in.c \ |
|
lwip_tcp/lwip_tcp_out.c \ |
|
chat/chat_event.c \ |
|
chat/chat_setting.c \ |
|
chat/chat_core.c \ |
|
chat/chat_msg.c \ |
|
chat/chat_channel.c \ |
|
chat/chat_profile.c \ |
|
chat/chat_status.c \ |
|
chat/chat_sync.c \ |
|
chat/member_sync.c \ |
|
chat/merkle_sync.c |
|
libutun_a_CFLAGS = $(utun_CFLAGS) |
|
|
|
# Platform-specific TUN libs (Windows only) |
|
utun_TUN_LIBS = @TUN_LIBS@ |
|
|
|
utun_SOURCES = utun.c |
|
|
|
# Include paths |
|
utun_CFLAGS = \ |
|
-I$(top_srcdir)/lib \ |
|
-I$(top_srcdir)/src \ |
|
-I$(top_srcdir)/src/transport_layer \ |
|
-I$(top_srcdir)/src/routing_layer \ |
|
-I$(top_srcdir)/src/media_delivery \ |
|
-I$(top_srcdir)/src/media_async \ |
|
-I$(top_srcdir)/src/uip \ |
|
-g \ |
|
-DUSE_SQLITE \ |
|
-DSQLITE_THREADSAFE=1 \ |
|
$(DEBUG_FLAGS) |
|
|
|
# Libraries |
|
utun_LDADD = \ |
|
libutun.a \ |
|
$(top_builddir)/lib/libuasync.a \ |
|
$(top_builddir)/lib/libopus/libopus_internal.a \ |
|
-lpthread \ |
|
-lm \ |
|
-lcrypto \ |
|
$(utun_TUN_LIBS) |
|
|
|
# Copy binary to project root after building |
|
all-local: copy-to-root |
|
|
|
copy-to-root: utun$(EXEEXT) |
|
@cp -f utun$(EXEEXT) $(top_srcdir)/ |
|
@cp -f $(top_srcdir)/lib/wintun.dll $(top_srcdir)/ 2>/dev/null || echo "Warning: wintun.dll not found in lib/" |
|
if OS_WINDOWS |
|
@cp -f $(srcdir)/utun.manifest $(top_srcdir)/utun.exe.manifest 2>/dev/null || true |
|
endif |
|
|
|
# Clean |
|
clean-local: |
|
@true |
|
|
|
# Install directories |
|
install-exec-hook: |
|
$(MKDIR_P) $(DESTDIR)$(bindir) |
|
$(MKDIR_P) $(DESTDIR)$(sysconfdir)/utun
|
|
|