Enable silent builds by default.
[tinc] / src / Makefile.am
index e383e1f..bd9115b 100644 (file)
 ## Produce this file with automake to get Makefile.in
 
-sbin_PROGRAMS = tincd tincctl sptps_test
+sbin_PROGRAMS = tincd tinc sptps_test sptps_keypair
 
-EXTRA_DIST = linux bsd solaris cygwin mingw openssl gcrypt
+## Make sure version.c is always rebuilt with the latest git information
+.PHONY: ${srcdir}/version.c version_git.h
+version_git.h:
+       $(AM_V_GEN)echo >$@
+       @-(cd $(srcdir) && git describe >/dev/null) && echo '#define GIT_DESCRIPTION "'`(cd $(srcdir) && git describe) | sed 's/release-//'`'"' >$@ ||:
+${srcdir}/version.c: version_git.h
 
-tincd_SOURCES = \
-       utils.c getopt.c getopt1.c list.c splay_tree.c dropin.c fake-getaddrinfo.c fake-getnameinfo.c \
-       buffer.c conf.c connection.c control.c edge.c graph.c logger.c meta.c net.c net_packet.c net_setup.c \
-       net_socket.c netutl.c node.c process.c protocol.c protocol_auth.c protocol_edge.c protocol_misc.c \
-       protocol_key.c protocol_subnet.c route.c sptps.c subnet.c tincd.c \
-       dummy_device.c raw_socket_device.c multicast_device.c
-       
-if UML
-tincd_SOURCES += uml_device.c
+if LINUX
+sbin_PROGRAMS += sptps_speed
 endif
 
-if VDE
-tincd_SOURCES += vde_device.c
-endif
+ed25519_SOURCES = \
+       ed25519/add_scalar.c \
+       ed25519/ed25519.h \
+       ed25519/fe.c ed25519/fe.h \
+       ed25519/fixedint.h \
+       ed25519/ge.c ed25519/ge.h \
+       ed25519/key_exchange.c \
+       ed25519/keypair.c \
+       ed25519/precomp_data.h \
+       ed25519/sc.c ed25519/sc.h \
+       ed25519/sha512.c ed25519/sha512.h \
+       ed25519/sign.c \
+       ed25519/verify.c
 
-nodist_tincd_SOURCES = \
-       device.c cipher.c crypto.c ecdh.c ecdsa.c digest.c prf.c rsa.c
+chacha_poly1305_SOURCES = \
+       chacha-poly1305/chacha.c chacha-poly1305/chacha.h \
+       chacha-poly1305/chacha-poly1305.c chacha-poly1305/chacha-poly1305.h \
+       chacha-poly1305/poly1305.c chacha-poly1305/poly1305.h
 
-tincctl_SOURCES = \
-       utils.c getopt.c getopt1.c dropin.c \
-       list.c tincctl.c top.c
+tincd_SOURCES = \
+       buffer.c buffer.h \
+       cipher.h \
+       conf.c conf.h \
+       connection.c connection.h \
+       control.c control.h \
+       control_common.h \
+       crypto.h \
+       device.h \
+       digest.h \
+       dropin.c dropin.h \
+       dummy_device.c \
+       ecdh.h \
+       ecdsa.h \
+       ecdsagen.h \
+       edge.c edge.h \
+       ethernet.h \
+       event.c event.h \
+       fake-gai-errnos.h \
+       fake-getaddrinfo.c fake-getaddrinfo.h \
+       fake-getnameinfo.c fake-getnameinfo.h \
+       graph.c graph.h \
+       hash.c hash.h \
+       have.h \
+       ipv4.h \
+       ipv6.h \
+       list.c list.h \
+       logger.c logger.h \
+       meta.c meta.h \
+       multicast_device.c \
+       names.c names.h \
+       net.c net.h \
+       net_packet.c \
+       net_setup.c \
+       net_socket.c \
+       netutl.c netutl.h \
+       node.c node.h \
+       prf.h \
+       process.c process.h \
+       protocol.c protocol.h \
+       protocol_auth.c \
+       protocol_edge.c \
+       protocol_key.c \
+       protocol_misc.c \
+       protocol_subnet.c \
+       raw_socket_device.c \
+       route.c route.h \
+       rsa.h \
+       rsagen.h \
+       script.c script.h \
+       splay_tree.c splay_tree.h \
+       sptps.c sptps.h \
+       subnet.c subnet.h \
+       subnet_parse.c \
+       system.h \
+       tincd.c \
+       utils.c utils.h \
+       xalloc.h \
+       version.c version.h \
+       ed25519/ecdh.c \
+       ed25519/ecdsa.c \
+       $(ed25519_SOURCES) \
+       $(chacha_poly1305_SOURCES)
 
-nodist_tincctl_SOURCES = \
-       ecdsagen.c rsagen.c
+tinc_SOURCES = \
+       dropin.c dropin.h \
+       getopt.c getopt.h \
+       getopt1.c \
+       fsck.c fsck.h \
+       info.c info.h \
+       invitation.c invitation.h \
+       list.c list.h \
+       names.c names.h \
+       netutl.c netutl.h \
+       script.c script.h \
+       sptps.c sptps.h \
+       subnet_parse.c subnet.h \
+       tincctl.c tincctl.h \
+       top.c top.h \
+       utils.c utils.h \
+       version.c version.h \
+       ed25519/ecdh.c \
+       ed25519/ecdsa.c \
+       ed25519/ecdsagen.c \
+       $(ed25519_SOURCES) \
+       $(chacha_poly1305_SOURCES)
 
 sptps_test_SOURCES = \
-       logger.c cipher.c crypto.c ecdh.c ecdsa.c digest.c prf.c \
-       sptps.c sptps_test.c utils.c
+       logger.c logger.h \
+       sptps.c sptps.h \
+       sptps_test.c \
+       utils.c utils.h \
+       ed25519/ecdh.c \
+       ed25519/ecdsa.c \
+       $(ed25519_SOURCES) \
+       $(chacha_poly1305_SOURCES)
+
+sptps_keypair_SOURCES = \
+       sptps_keypair.c \
+       utils.c utils.h \
+       ed25519/ecdsagen.c \
+       $(ed25519_SOURCES)
 
+sptps_speed_SOURCES = \
+       logger.c logger.h \
+       sptps.c sptps.h \
+       sptps_speed.c \
+       utils.c utils.h \
+       ed25519/ecdh.c \
+       ed25519/ecdsa.c \
+       ed25519/ecdsagen.c \
+       $(ed25519_SOURCES) \
+       $(chacha_poly1305_SOURCES)
+
+## Conditionally compile device drivers
+
+if !GETOPT
+tincd_SOURCES += \
+       getopt.c getopt.h \
+       getopt1.c
+tinc_SOURCES += \
+       getopt.c getopt.h \
+       getopt1.cendif
+sptps_test_SOURCES += \
+       getopt.c getopt.h \
+       getopt1.c
+sptps_keypair_SOURCES += \
+       getopt.c getopt.h \
+       getopt1.c
+endif
+
+if LINUX
+tincd_SOURCES += linux/device.c
+endif
+
+if BSD
+tincd_SOURCES += bsd/device.c
 if TUNEMU
-tincd_SOURCES += bsd/tunemu.c
+tincd_SOURCES += bsd/tunemu.c bsd/tunemu.h
+endif
 endif
 
-tincctl_LDADD = $(CURSES_LIBS)
+if SOLARIS
+tincd_SOURCES += solaris/device.c
+endif
 
-DEFAULT_INCLUDES =
+if MINGW
+tincd_SOURCES += mingw/device.c mingw/common.h
+endif
 
-INCLUDES = @INCLUDES@ -I$(top_builddir)
+if CYGWIN
+tincd_SOURCES += cygwin/device.c
+endif
 
-noinst_HEADERS = \
-       xalloc.h utils.h getopt.h list.h splay_tree.h dropin.h fake-getaddrinfo.h fake-getnameinfo.h fake-gai-errnos.h ipv6.h ipv4.h ethernet.h \
-       buffer.h conf.h connection.h control.h control_common.h device.h edge.h graph.h logger.h meta.h net.h netutl.h node.h process.h \
-       protocol.h route.h subnet.h tincctl.h top.h bsd/tunemu.h
+if UML
+tincd_SOURCES += uml_device.c
+endif
 
-nodist_noinst_HEADERS = \
-       cipher.h crypto.h ecdh.h ecdsa.h digest.h prf.h rsa.h ecdsagen.h rsagen.h
+if VDE
+tincd_SOURCES += vde_device.c
+endif
 
-LIBS = @LIBS@ @LIBGCRYPT_LIBS@
+if OPENSSL
+tincd_SOURCES += \
+       openssl/cipher.c \
+       openssl/crypto.c \
+       openssl/digest.c openssl/digest.h \
+       openssl/prf.c \
+       openssl/rsa.c
+tinc_SOURCES += \
+       openssl/cipher.c \
+       openssl/crypto.c \
+       openssl/digest.c openssl/digest.h \
+       openssl/prf.c \
+       openssl/rsa.c \
+       openssl/rsagen.c
+sptps_test_SOURCES += \
+       openssl/crypto.c \
+       openssl/digest.c openssl/digest.h \
+       openssl/prf.c
+sptps_keypair_SOURCES += \
+       openssl/crypto.c
+sptps_speed_SOURCES += \
+       openssl/crypto.c \
+       openssl/digest.c openssl/digest.h \
+       openssl/prf.c
+else
+if GCRYPT
+tincd_SOURCES += \
+       gcrypt/cipher.c \
+       gcrypt/crypto.c \
+       gcrypt/digest.c gcrypt/digest.h \
+       gcrypt/prf.c \
+       gcrypt/rsa.c
+tinc_SOURCES += \
+       gcrypt/cipher.c \
+       gcrypt/crypto.c \
+       gcrypt/digest.c gcrypt/digest.h \
+       gcrypt/prf.c \
+       gcrypt/rsa.c \
+       gcrypt/rsagen.c
+sptps_test_SOURCES += \
+       gcrypt/cipher.c \
+       gcrypt/crypto.c \
+       gcrypt/digest.c gcrypt/digest.h \
+       gcrypt/prf.c
+sptps_keypair_SOURCES += \
+       openssl/crypto.c
+sptps_speed_SOURCES += \
+       openssl/crypto.c \
+       openssl/digest.c openssl/digest.h \
+       openssl/prf.c
+else
+tincd_SOURCES += \
+       nolegacy/crypto.c \
+       nolegacy/prf.c
+tinc_SOURCES += \
+       nolegacy/crypto.c \
+       nolegacy/prf.c
+sptps_test_SOURCES += \
+       nolegacy/crypto.c \
+       nolegacy/prf.c
+sptps_keypair_SOURCES += \
+       nolegacy/crypto.c
+sptps_speed_SOURCES += \
+       nolegacy/crypto.c \
+       nolegacy/prf.c
+endif
+endif
+
+if MINIUPNPC
+tincd_SOURCES += upnp.h upnp.c
+tincd_LDADD = $(MINIUPNPC_LIBS)
+tincd_LDFLAGS = -pthread
+endif
+
+tinc_LDADD = $(READLINE_LIBS) $(CURSES_LIBS)
+sptps_speed_LDADD = -lrt
+
+LIBS = @LIBS@ -lm
 
 if TUNEMU
 LIBS += -lpcap
 endif
 
-AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\"
-
-dist-hook:
-       rm -f `find . -type l`
+AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\" -iquote.