Home | History | Annotate | Line # | Download | only in lib
Makefile revision 1.42.2.1
      1  1.42.2.1    martin #	$NetBSD: Makefile,v 1.42.2.1 2026/01/22 19:51:52 martin Exp $
      2  1.42.2.1    martin 
      3  1.42.2.1    martin # libssh is not meant for applications to link against -- it's a
      4  1.42.2.1    martin # private library of the ssh/sshd/&c. executables we ship.  So don't
      5  1.42.2.1    martin # install compat versions (we don't ship ssh/sshd/&c. as compat
      6  1.42.2.1    martin # executables, only as native ones) or expose the .so symlink or .a
      7  1.42.2.1    martin # static library for applications to link against.
      8  1.42.2.1    martin #
      9  1.42.2.1    martin # Note that while NOLINKLIB suppresses _installing_ the .so symlink,
     10  1.42.2.1    martin # the .so symlink is still created in the objdir so bin/ssh can still
     11  1.42.2.1    martin # use it to link.
     12  1.42.2.1    martin 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 dh.c \
     38      1.10  christos dispatch.c \
     39      1.10  christos dns.c \
     40      1.14  christos ed25519.c \
     41      1.10  christos fatal.c \
     42      1.25  christos freezero.c \
     43      1.14  christos hash.c \
     44      1.14  christos hmac.c \
     45      1.10  christos hostfile.c \
     46      1.10  christos kex.c \
     47      1.39  christos kex-names.c \
     48      1.10  christos kexdh.c \
     49      1.10  christos kexecdh.c \
     50      1.27  christos kexgen.c \
     51      1.10  christos kexgex.c \
     52      1.10  christos kexgexc.c \
     53      1.40  christos kexmlkem768x25519.c \
     54      1.34  christos kexsntrup761x25519.c \
     55      1.12  christos krl.c \
     56      1.10  christos log.c \
     57      1.10  christos mac.c \
     58      1.10  christos match.c \
     59      1.10  christos misc.c \
     60      1.10  christos monitor_fdpass.c \
     61      1.10  christos msg.c \
     62      1.10  christos nchan.c \
     63      1.10  christos packet.c \
     64      1.14  christos poly1305.c \
     65      1.10  christos progressmeter.c \
     66      1.10  christos readpass.c \
     67      1.23  christos recallocarray.c \
     68      1.14  christos smult_curve25519_ref.c \
     69      1.34  christos sntrup761.c \
     70      1.27  christos ssh-ed25519.c \
     71      1.31  christos ssh-ed25519-sk.c \
     72      1.27  christos ssh-pkcs11.c \
     73      1.33  christos ssh-sk-client.c \
     74      1.27  christos ssh-xmss.c \
     75      1.14  christos sshbuf-getput-basic.c \
     76      1.27  christos sshbuf-getput-crypto.c \
     77      1.14  christos sshbuf-misc.c \
     78      1.31  christos sshbuf-io.c \
     79      1.14  christos sshbuf.c \
     80      1.14  christos ssherr.c \
     81      1.27  christos sshkey-xmss.c \
     82      1.14  christos sshkey.c \
     83      1.10  christos ttymodes.c \
     84      1.10  christos uidswap.c \
     85      1.15  christos umac.c \
     86      1.15  christos umac128.c \
     87      1.19  christos utf8.c \
     88      1.25  christos xmalloc.c \
     89      1.25  christos xmss_commons.c \
     90      1.25  christos xmss_fast.c \
     91      1.25  christos xmss_hash.c \
     92      1.25  christos xmss_hash_address.c \
     93      1.25  christos xmss_wots.c
     94      1.25  christos 
     95      1.14  christos OPENSSL_SRCS=\
     96      1.14  christos digest-openssl.c \
     97      1.14  christos kexc25519.c \
     98      1.14  christos ssh-dss.c \
     99      1.14  christos ssh-ecdsa.c \
    100      1.31  christos ssh-ecdsa-sk.c \
    101      1.14  christos ssh-rsa.c
    102      1.14  christos 
    103      1.16  christos SRCS+=	fmt_scaled.c
    104       1.1  christos SRCS+=	readpassphrase.c getpeereid.c getrrsetbyname.c
    105      1.25  christos COPTS.monitor_fdpass.c+=-Wno-stack-protector
    106      1.25  christos COPTS.xmss_fast.c+=	-Wno-stack-protector
    107      1.25  christos COPTS.xmss_hash.c+=	-Wno-stack-protector
    108      1.25  christos COPTS.xmss_wots.c+=	-Wno-stack-protector
    109      1.34  christos COPTS.sntrup761.c+=	-Wno-stack-protector
    110       1.1  christos 
    111      1.14  christos .if WITH_OPENSSL
    112      1.14  christos SRCS+=		${OPENSSL_SRCS}
    113      1.14  christos .else
    114      1.14  christos SRCS+=		digest-libc.c
    115      1.14  christos .endif
    116      1.14  christos 
    117      1.14  christos CPPFLAGS+= -DHAVE_BLF_H
    118      1.14  christos 
    119       1.1  christos CPPFLAGS+=	-I${SSHDIST}
    120       1.1  christos .PATH:		${SSHDIST}
    121       1.1  christos 
    122      1.42       kre LIBDPLIBS+=	crypto	${NETBSDSRCDIR}/crypto/external/${EXTERNAL_OPENSSL_SUBDIR}/lib/libcrypto \
    123       1.1  christos 		crypt	${NETBSDSRCDIR}/lib/libcrypt \
    124       1.1  christos 		z	${NETBSDSRCDIR}/lib/libz
    125       1.1  christos 
    126       1.7      adam .for f in dns channels hostfile ssh-pkcs11
    127       1.1  christos COPTS.${f}.c+=	-Wno-pointer-sign
    128       1.1  christos .endfor
    129       1.9       mrg 
    130       1.9       mrg # XXX
    131       1.9       mrg COPTS.channels.c+=	-fno-strict-aliasing
    132      1.11     joerg 
    133      1.36     lukem COPTS.hostfile.c+=	${CC_WNO_FORMAT_TRUNCATION}
    134      1.36     lukem COPTS.sshkey.c+=	${CC_WNO_FORMAT_TRUNCATION}
    135      1.35  christos COPTS.cipher.c+=	-Wno-error=deprecated-declarations
    136      1.35  christos COPTS.dh.c+=		-Wno-error=deprecated-declarations
    137      1.35  christos COPTS.kex.c+=		-Wno-error=deprecated-declarations
    138      1.35  christos COPTS.kexdh.c+=		-Wno-error=deprecated-declarations
    139      1.35  christos COPTS.kexecdh.c+=	-Wno-error=deprecated-declarations
    140      1.35  christos COPTS.kexgexc.c+=	-Wno-error=deprecated-declarations
    141      1.35  christos COPTS.ssh-dss.c+=	-Wno-error=deprecated-declarations
    142      1.35  christos COPTS.ssh-ecdsa-sk.c+=	-Wno-error=deprecated-declarations
    143      1.35  christos COPTS.ssh-ecdsa.c+=	-Wno-error=deprecated-declarations
    144      1.35  christos COPTS.ssh-pkcs11.c+=	-Wno-error=deprecated-declarations
    145      1.35  christos COPTS.ssh-rsa.c+=	-Wno-error=deprecated-declarations
    146      1.35  christos COPTS.sshbuf-getput-crypto.c+=	-Wno-error=deprecated-declarations
    147      1.35  christos COPTS.sshkey.c+=	-Wno-error=deprecated-declarations
    148      1.35  christos COPTS.umac.c+=		-Wno-error=deprecated-declarations
    149      1.35  christos COPTS.umac128.c+=	-Wno-error=deprecated-declarations
    150      1.41  christos COPTS.kexmlkem768x25519.c+=${${ACTIVE_CC} == "clang":? -Wno-error=missing-noreturn:}
    151      1.41  christos 
    152      1.41  christos 
    153      1.29       mrg 
    154      1.11     joerg .include <bsd.lib.mk>
    155