Home | History | Annotate | Line # | Download | only in lib
Makefile revision 1.48
      1  1.48  christos #	$NetBSD: Makefile,v 1.48 2026/04/08 18:58:42 christos Exp $
      2  1.45  riastrad 
      3  1.45  riastrad # libssh is not meant for applications to link against -- it's a
      4  1.45  riastrad # private library of the ssh/sshd/&c. executables we ship.  So don't
      5  1.45  riastrad # install compat versions (we don't ship ssh/sshd/&c. as compat
      6  1.45  riastrad # executables, only as native ones) or expose the .so symlink or .a
      7  1.45  riastrad # static library for applications to link against.
      8  1.45  riastrad #
      9  1.45  riastrad # Note that while NOLINKLIB suppresses _installing_ the .so symlink,
     10  1.45  riastrad # the .so symlink is still created in the objdir so bin/ssh can still
     11  1.45  riastrad # use it to link.
     12  1.45  riastrad NOLINKLIB=		# defined
     13   1.1  christos 
     14   1.1  christos .include <bsd.own.mk>
     15   1.1  christos 
     16  1.14  christos .include "../Makefile.inc"
     17  1.14  christos 
     18  1.30     joerg CWARNFLAGS.clang+=	-Wno-error=sizeof-array-div
     19  1.32    mgorny CWARNFLAGS.clang+=	-Wno-error=format-nonliteral
     20   1.1  christos LIB=	ssh
     21  1.10  christos SRCS=\
     22  1.34  christos addr.c \
     23  1.10  christos addrmatch.c \
     24  1.10  christos atomicio.c \
     25  1.10  christos authfd.c \
     26  1.10  christos authfile.c \
     27  1.14  christos bcrypt_pbkdf.c \
     28  1.17  christos bitmap.c \
     29  1.14  christos blowfish.c \
     30  1.10  christos canohost.c \
     31  1.27  christos chacha.c \
     32  1.10  christos channels.c \
     33  1.14  christos cipher-chachapoly.c \
     34  1.10  christos cipher.c \
     35  1.10  christos cleanup.c \
     36  1.10  christos compat.c \
     37  1.10  christos dispatch.c \
     38  1.10  christos dns.c \
     39  1.14  christos ed25519.c \
     40  1.10  christos fatal.c \
     41  1.25  christos freezero.c \
     42  1.14  christos hmac.c \
     43  1.10  christos hostfile.c \
     44  1.10  christos kex.c \
     45  1.47       nia kexc25519.c \
     46  1.39  christos kex-names.c \
     47  1.27  christos kexgen.c \
     48  1.40  christos kexmlkem768x25519.c \
     49  1.34  christos kexsntrup761x25519.c \
     50  1.12  christos krl.c \
     51  1.10  christos log.c \
     52  1.10  christos mac.c \
     53  1.10  christos match.c \
     54  1.10  christos misc.c \
     55  1.10  christos monitor_fdpass.c \
     56  1.10  christos msg.c \
     57  1.10  christos nchan.c \
     58  1.10  christos packet.c \
     59  1.14  christos poly1305.c \
     60  1.10  christos progressmeter.c \
     61  1.10  christos readpass.c \
     62  1.23  christos recallocarray.c \
     63  1.14  christos smult_curve25519_ref.c \
     64  1.34  christos sntrup761.c \
     65  1.27  christos ssh-ed25519.c \
     66  1.31  christos ssh-ed25519-sk.c \
     67  1.27  christos ssh-pkcs11.c \
     68  1.33  christos ssh-sk-client.c \
     69  1.14  christos sshbuf-getput-basic.c \
     70  1.14  christos sshbuf-misc.c \
     71  1.31  christos sshbuf-io.c \
     72  1.14  christos sshbuf.c \
     73  1.14  christos ssherr.c \
     74  1.48  christos ssherr-libcrypto.c \
     75  1.14  christos sshkey.c \
     76  1.10  christos ttymodes.c \
     77  1.10  christos uidswap.c \
     78  1.15  christos umac.c \
     79  1.15  christos umac128.c \
     80  1.19  christos utf8.c \
     81  1.44  christos xmalloc.c 
     82  1.25  christos 
     83  1.14  christos OPENSSL_SRCS=\
     84  1.47       nia dh.c \
     85  1.14  christos digest-openssl.c \
     86  1.47       nia kexdh.c \
     87  1.47       nia kexecdh.c \
     88  1.47       nia kexgex.c \
     89  1.47       nia kexgexc.c \
     90  1.47       nia sshbuf-getput-crypto.c \
     91  1.14  christos ssh-ecdsa.c \
     92  1.31  christos ssh-ecdsa-sk.c \
     93  1.14  christos ssh-rsa.c
     94  1.14  christos 
     95  1.16  christos SRCS+=	fmt_scaled.c
     96   1.1  christos SRCS+=	readpassphrase.c getpeereid.c getrrsetbyname.c
     97  1.25  christos COPTS.monitor_fdpass.c+=-Wno-stack-protector
     98  1.34  christos COPTS.sntrup761.c+=	-Wno-stack-protector
     99   1.1  christos 
    100  1.47       nia .ifdef WITH_OPENSSL
    101  1.14  christos SRCS+=		${OPENSSL_SRCS}
    102  1.47       nia LIBDPLIBS+=	crypto	${NETBSDSRCDIR}/crypto/external/${EXTERNAL_OPENSSL_SUBDIR}/lib/libcrypto
    103  1.14  christos .else
    104  1.47       nia SRCS+=		cipher-aesctr.c digest-libc.c rijndael.c
    105  1.14  christos .endif
    106  1.14  christos 
    107  1.14  christos CPPFLAGS+= -DHAVE_BLF_H
    108  1.14  christos 
    109   1.1  christos CPPFLAGS+=	-I${SSHDIST}
    110   1.1  christos .PATH:		${SSHDIST}
    111   1.1  christos 
    112  1.47       nia LIBDPLIBS+=	crypt	${NETBSDSRCDIR}/lib/libcrypt \
    113   1.1  christos 		z	${NETBSDSRCDIR}/lib/libz
    114   1.1  christos 
    115   1.7      adam .for f in dns channels hostfile ssh-pkcs11
    116   1.1  christos COPTS.${f}.c+=	-Wno-pointer-sign
    117   1.1  christos .endfor
    118   1.9       mrg 
    119   1.9       mrg # XXX
    120   1.9       mrg COPTS.channels.c+=	-fno-strict-aliasing
    121  1.11     joerg 
    122  1.36     lukem COPTS.hostfile.c+=	${CC_WNO_FORMAT_TRUNCATION}
    123  1.36     lukem COPTS.sshkey.c+=	${CC_WNO_FORMAT_TRUNCATION}
    124  1.35  christos COPTS.cipher.c+=	-Wno-error=deprecated-declarations
    125  1.35  christos COPTS.dh.c+=		-Wno-error=deprecated-declarations
    126  1.47       nia COPTS.digest-libc.c+=	-Wno-error=cast-function-type
    127  1.35  christos COPTS.kex.c+=		-Wno-error=deprecated-declarations
    128  1.35  christos COPTS.kexdh.c+=		-Wno-error=deprecated-declarations
    129  1.35  christos COPTS.kexecdh.c+=	-Wno-error=deprecated-declarations
    130  1.35  christos COPTS.kexgexc.c+=	-Wno-error=deprecated-declarations
    131  1.35  christos COPTS.ssh-ecdsa-sk.c+=	-Wno-error=deprecated-declarations
    132  1.35  christos COPTS.ssh-ecdsa.c+=	-Wno-error=deprecated-declarations
    133  1.35  christos COPTS.ssh-pkcs11.c+=	-Wno-error=deprecated-declarations
    134  1.35  christos COPTS.ssh-rsa.c+=	-Wno-error=deprecated-declarations
    135  1.35  christos COPTS.sshbuf-getput-crypto.c+=	-Wno-error=deprecated-declarations
    136  1.35  christos COPTS.sshkey.c+=	-Wno-error=deprecated-declarations
    137  1.35  christos COPTS.umac.c+=		-Wno-error=deprecated-declarations
    138  1.35  christos COPTS.umac128.c+=	-Wno-error=deprecated-declarations
    139  1.48  christos COPTS.ssherr-libcrypto.c+=	-Wno-error=deprecated-declarations
    140  1.41  christos COPTS.kexmlkem768x25519.c+=${${ACTIVE_CC} == "clang":? -Wno-error=missing-noreturn:}
    141  1.41  christos 
    142  1.41  christos 
    143  1.29       mrg 
    144  1.11     joerg .include <bsd.lib.mk>
    145