Extract common logic in OpenSSL-specific code
[tinc] / src / Makefile.am
index a6489df..dc124b1 100644 (file)
@@ -1,22 +1,32 @@
 ## Produce this file with automake to get Makefile.in
 
-sbin_PROGRAMS = tincd tinc sptps_test sptps_keypair
+sbin_PROGRAMS = tincd tinc
+check_PROGRAMS = sptps_test sptps_keypair
+EXTRA_PROGRAMS = $(check_PROGRAMS)
 
-## Make sure version.c is always rebuilt with the latest git information
-.PHONY: $(srcdir)/version.c version_git.h
-version_git.h:
-       echo >$@
-       -(cd $(srcdir) && git describe) && echo '#define GIT_DESCRIPTION "'`(cd $(srcdir) && git describe) | sed 's/release-//'`'"' >$@
-$(srcdir)/version.c: version_git.h
+CLEANFILES = version_git.h
 
-if LINUX
-sbin_PROGRAMS += sptps_speed
+.PHONY: extra
+extra: $(EXTRA_PROGRAMS)
+
+.PHONY: version-stamp
+version-stamp:
+
+version_git.h: version-stamp
+       $(AM_V_GEN)echo >$@
+       @-(cd $(srcdir) && git describe 2>/dev/null >/dev/null) && echo '#define GIT_DESCRIPTION "'`(cd $(srcdir) && git describe) | sed 's/release-//'`'"' >$@ ||:
+${srcdir}/version.c: version_git.h
+
+## Now a hack to appease some versions of BSD make that don't understand that "./foo" is the same as "foo".
+if BSD
+version.c: ${srcdir}/version.c
 endif
 
-DEFAULT_INCLUDES =
+if LINUX
+EXTRA_PROGRAMS += sptps_speed
+endif
 
 ed25519_SOURCES = \
-       ed25519/add_scalar.c \
        ed25519/ed25519.h \
        ed25519/fe.c ed25519/fe.h \
        ed25519/fixedint.h \
@@ -34,10 +44,20 @@ chacha_poly1305_SOURCES = \
        chacha-poly1305/chacha-poly1305.c chacha-poly1305/chacha-poly1305.h \
        chacha-poly1305/poly1305.c chacha-poly1305/poly1305.h
 
+if CONFIGURE_LZ4_BUILTIN
+lz4_SOURCES = lib/lz4/lz4.c lib/lz4/lz4.h
+else
+lz4_SOURCES =
+endif
+
 tincd_SOURCES = \
+       address_cache.c address_cache.h \
+       autoconnect.c autoconnect.h \
        buffer.c buffer.h \
        cipher.h \
+       compression.h \
        conf.c conf.h \
+       conf_net.c conf_net.h \
        connection.c connection.h \
        control.c control.h \
        control_common.h \
@@ -52,13 +72,10 @@ tincd_SOURCES = \
        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 \
-       getopt.c getopt.h \
-       getopt1.c \
+       fd_device.c \
        graph.c graph.h \
-       hash.c hash.h \
+       hash.h \
+       keys.c keys.h \
        have.h \
        ipv4.h \
        ipv6.h \
@@ -94,19 +111,23 @@ tincd_SOURCES = \
        tincd.c \
        utils.c utils.h \
        xalloc.h \
+       xoshiro.c \
        version.c version.h \
        ed25519/ecdh.c \
        ed25519/ecdsa.c \
        $(ed25519_SOURCES) \
-       $(chacha_poly1305_SOURCES)
+       $(chacha_poly1305_SOURCES) \
+       $(lz4_SOURCES)
 
 tinc_SOURCES = \
        dropin.c dropin.h \
-       getopt.c getopt.h \
-       getopt1.c \
        fsck.c fsck.h \
+       ifconfig.c ifconfig.h \
        info.c info.h \
        invitation.c invitation.h \
+       conf.c conf.h \
+       keys.c keys.h \
+       splay_tree.c splay_tree.h \
        list.c list.h \
        names.c names.h \
        netutl.c netutl.h \
@@ -120,6 +141,7 @@ tinc_SOURCES = \
        ed25519/ecdh.c \
        ed25519/ecdsa.c \
        ed25519/ecdsagen.c \
+       xoshiro.c \
        $(ed25519_SOURCES) \
        $(chacha_poly1305_SOURCES)
 
@@ -128,6 +150,7 @@ sptps_test_SOURCES = \
        sptps.c sptps.h \
        sptps_test.c \
        utils.c utils.h \
+       xoshiro.c \
        ed25519/ecdh.c \
        ed25519/ecdsa.c \
        $(ed25519_SOURCES) \
@@ -151,7 +174,22 @@ sptps_speed_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.c
+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
@@ -171,10 +209,6 @@ if MINGW
 tincd_SOURCES += mingw/device.c mingw/common.h
 endif
 
-if CYGWIN
-tincd_SOURCES += cygwin/device.c
-endif
-
 if UML
 tincd_SOURCES += uml_device.c
 endif
@@ -185,54 +219,60 @@ endif
 
 if OPENSSL
 tincd_SOURCES += \
-       openssl/cipher.c \
+       openssl/cipher.c openssl/cipher.h \
        openssl/crypto.c \
        openssl/digest.c openssl/digest.h \
        openssl/prf.c \
-       openssl/rsa.c
+       openssl/rsa.c \
+       openssl/log.c openssl/log.h
 tinc_SOURCES += \
-       openssl/cipher.c \
+       openssl/cipher.c openssl/cipher.h \
        openssl/crypto.c \
        openssl/digest.c openssl/digest.h \
        openssl/prf.c \
        openssl/rsa.c \
-       openssl/rsagen.c
+       openssl/rsagen.c \
+       openssl/log.c openssl/log.h
 sptps_test_SOURCES += \
        openssl/crypto.c \
        openssl/digest.c openssl/digest.h \
-       openssl/prf.c
+       openssl/prf.c \
+       openssl/log.c openssl/log.h
 sptps_keypair_SOURCES += \
        openssl/crypto.c
 sptps_speed_SOURCES += \
        openssl/crypto.c \
        openssl/digest.c openssl/digest.h \
-       openssl/prf.c
+       openssl/prf.c \
+       openssl/log.c openssl/log.h
 else
 if GCRYPT
 tincd_SOURCES += \
-       gcrypt/cipher.c \
+       gcrypt/cipher.c gcrypt/cipher.h \
        gcrypt/crypto.c \
        gcrypt/digest.c gcrypt/digest.h \
+       gcrypt/pem.c gcrypt/pem.h \
        gcrypt/prf.c \
-       gcrypt/rsa.c
+       gcrypt/rsa.c gcrypt/rsa.h
 tinc_SOURCES += \
-       gcrypt/cipher.c \
+       gcrypt/cipher.c gcrypt/cipher.h \
        gcrypt/crypto.c \
        gcrypt/digest.c gcrypt/digest.h \
+       gcrypt/pem.c gcrypt/pem.h \
        gcrypt/prf.c \
-       gcrypt/rsa.c \
+       gcrypt/rsa.c gcrypt/rsa.h \
        gcrypt/rsagen.c
 sptps_test_SOURCES += \
-       gcrypt/cipher.c \
+       gcrypt/cipher.c gcrypt/cipher.h \
        gcrypt/crypto.c \
        gcrypt/digest.c gcrypt/digest.h \
        gcrypt/prf.c
 sptps_keypair_SOURCES += \
-       openssl/crypto.c
+       gcrypt/crypto.c
 sptps_speed_SOURCES += \
-       openssl/crypto.c \
-       openssl/digest.c openssl/digest.h \
-       openssl/prf.c
+       gcrypt/crypto.c \
+       gcrypt/digest.c gcrypt/digest.h \
+       gcrypt/prf.c
 else
 tincd_SOURCES += \
        nolegacy/crypto.c \
@@ -251,13 +291,31 @@ sptps_speed_SOURCES += \
 endif
 endif
 
+if WITH_LEGACY_PROTOCOL
+tinc_SOURCES        += digest.c
+tincd_SOURCES       += digest.c cipher.c
+sptps_test_SOURCES  += digest.c
+sptps_speed_SOURCES += digest.c
+endif
+
+if MINIUPNPC
+tincd_SOURCES += upnp.h upnp.c
+tincd_LDADD = $(MINIUPNPC_LIBS)
+tincd_LDFLAGS = -pthread
+endif
+
+if MINGW
+sptps_test_LDFLAGS = -pthread
+endif
+
 tinc_LDADD = $(READLINE_LIBS) $(CURSES_LIBS)
 sptps_speed_LDADD = -lrt
 
-LIBS = @LIBS@ -lm
+LIBS = @LIBS@ -lm $(CODE_COVERAGE_LIBS)
 
 if TUNEMU
 LIBS += -lpcap
 endif
 
-AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\" -iquote.
+AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DRUNSTATEDIR=\"$(runstatedir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\" -iquote. $(CODE_COVERAGE_CFLAGS)
+AM_CPPFLAGS = $(CODE_COVERAGE_CPPFLAGS)