1SHELL=@SH@ 2 3AUTORECONF=autoreconf 4 5prefix=@prefix@ 6exec_prefix=@exec_prefix@ 7bindir=@bindir@ 8sbindir=@sbindir@ 9libexecdir=@libexecdir@ 10datadir=@datadir@ 11datarootdir=@datarootdir@ 12mandir=@mandir@ 13mansubdir=@mansubdir@ 14sysconfdir=@sysconfdir@ 15piddir=@piddir@ 16srcdir=@srcdir@ 17top_srcdir=@top_srcdir@ 18abs_top_srcdir=@abs_top_srcdir@ 19abs_top_builddir=@abs_top_builddir@ 20 21VPATH=@srcdir@ 22SSH_PROGRAM=@bindir@/ssh 23ASKPASS_PROGRAM=$(libexecdir)/ssh-askpass 24SFTP_SERVER=$(libexecdir)/sftp-server 25SSH_KEYSIGN=$(libexecdir)/ssh-keysign 26SSHD_SESSION=$(libexecdir)/sshd-session 27SSHD_AUTH=$(libexecdir)/sshd-auth 28SSH_PKCS11_HELPER=$(libexecdir)/ssh-pkcs11-helper 29SSH_SK_HELPER=$(libexecdir)/ssh-sk-helper 30PRIVSEP_PATH=@PRIVSEP_PATH@ 31SSH_PRIVSEP_USER=@SSH_PRIVSEP_USER@ 32STRIP_OPT=@STRIP_OPT@ 33TEST_SHELL=@TEST_SHELL@ 34BUILDDIR=@abs_top_builddir@ 35SK_STANDALONE=@SK_STANDALONE@ 36 37PATHS= -DSSHDIR=\"$(sysconfdir)\" \ 38 -D_PATH_SSH_PROGRAM=\"$(SSH_PROGRAM)\" \ 39 -D_PATH_SSH_ASKPASS_DEFAULT=\"$(ASKPASS_PROGRAM)\" \ 40 -D_PATH_SFTP_SERVER=\"$(SFTP_SERVER)\" \ 41 -D_PATH_SSH_KEY_SIGN=\"$(SSH_KEYSIGN)\" \ 42 -D_PATH_SSHD_SESSION=\"$(SSHD_SESSION)\" \ 43 -D_PATH_SSHD_AUTH=\"$(SSHD_AUTH)\" \ 44 -D_PATH_SSH_PKCS11_HELPER=\"$(SSH_PKCS11_HELPER)\" \ 45 -D_PATH_SSH_SK_HELPER=\"$(SSH_SK_HELPER)\" \ 46 -D_PATH_SSH_PIDDIR=\"$(piddir)\" \ 47 -D_PATH_PRIVSEP_CHROOT_DIR=\"$(PRIVSEP_PATH)\" 48 49CC=@CC@ 50LD=@LD@ 51CFLAGS=@CFLAGS@ 52CFLAGS_NOPIE=@CFLAGS_NOPIE@ 53CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@ 54PICFLAG=@PICFLAG@ 55LIBS=@LIBS@ 56CHANNELLIBS=@CHANNELLIBS@ 57K5LIBS=@K5LIBS@ 58GSSLIBS=@GSSLIBS@ 59SSHDLIBS=@SSHDLIBS@ 60LIBEDIT=@LIBEDIT@ 61LIBFIDO2=@LIBFIDO2@ 62LIBWTMPDB=@LIBWTMPDB@ 63AR=@AR@ 64AWK=@AWK@ 65RANLIB=@RANLIB@ 66INSTALL=@INSTALL@ 67SED=@SED@ 68XAUTH_PATH=@XAUTH_PATH@ 69LDFLAGS=-L. -Lopenbsd-compat/ @LDFLAGS@ 70LDFLAGS_NOPIE=-L. -Lopenbsd-compat/ @LDFLAGS_NOPIE@ 71EXEEXT=@EXEEXT@ 72MANFMT=@MANFMT@ 73MKDIR_P=@MKDIR_P@ 74 75.SUFFIXES: .lo 76 77TARGETS=ssh$(EXEEXT) sshd$(EXEEXT) sshd-session$(EXEEXT) sshd-auth$(EXEEXT) ssh-add$(EXEEXT) ssh-keygen$(EXEEXT) ssh-keyscan${EXEEXT} ssh-keysign${EXEEXT} ssh-pkcs11-helper$(EXEEXT) ssh-agent$(EXEEXT) scp$(EXEEXT) sftp-server$(EXEEXT) sftp$(EXEEXT) ssh-sk-helper$(EXEEXT) $(SK_STANDALONE) 78 79XMSS_OBJS=\ 80 ssh-xmss.o \ 81 sshkey-xmss.o \ 82 xmss_commons.o \ 83 xmss_fast.o \ 84 xmss_hash.o \ 85 xmss_hash_address.o \ 86 xmss_wots.o 87 88LIBOPENSSH_OBJS=\ 89 ssh_api.o \ 90 ssherr.o \ 91 sshbuf.o \ 92 sshkey.o \ 93 sshbuf-getput-basic.o \ 94 sshbuf-misc.o \ 95 sshbuf-getput-crypto.o \ 96 krl.o \ 97 bitmap.o \ 98 ${XMSS_OBJS} 99 100LIBSSH_OBJS=${LIBOPENSSH_OBJS} \ 101 authfd.o authfile.o \ 102 canohost.o channels.o cipher.o cipher-aes.o cipher-aesctr.o \ 103 cleanup.o \ 104 compat.o fatal.o hostfile.o \ 105 log.o match.o moduli.o nchan.o packet.o \ 106 readpass.o ttymodes.o xmalloc.o addr.o addrmatch.o \ 107 atomicio.o dispatch.o mac.o misc.o utf8.o \ 108 monitor_fdpass.o rijndael.o ssh-dss.o ssh-ecdsa.o ssh-ecdsa-sk.o \ 109 ssh-ed25519-sk.o ssh-rsa.o dh.o \ 110 msg.o progressmeter.o dns.o entropy.o gss-genr.o umac.o umac128.o \ 111 ssh-pkcs11.o smult_curve25519_ref.o \ 112 poly1305.o chacha.o cipher-chachapoly.o cipher-chachapoly-libcrypto.o \ 113 ssh-ed25519.o digest-openssl.o digest-libc.o \ 114 hmac.o ed25519.o hash.o \ 115 kex.o kex-names.o kexdh.o kexgex.o kexecdh.o kexc25519.o \ 116 kexgexc.o kexgexs.o \ 117 kexsntrup761x25519.o kexmlkem768x25519.o sntrup761.o kexgen.o \ 118 sftp-realpath.o platform-pledge.o platform-tracing.o platform-misc.o \ 119 sshbuf-io.o 120 121SKOBJS= ssh-sk-client.o 122 123SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \ 124 sshconnect.o sshconnect2.o mux.o $(SKOBJS) 125 126SSHDOBJS=sshd.o \ 127 platform-listen.o \ 128 servconf.o sshpty.o srclimit.o groupaccess.o auth2-methods.o \ 129 dns.o fatal.o compat.o utf8.o authfd.o canohost.o \ 130 $(SKOBJS) 131 132SSHD_SESSION_OBJS=sshd-session.o auth-rhosts.o auth-passwd.o \ 133 audit.o audit-bsm.o audit-linux.o platform.o \ 134 sshpty.o sshlogin.o servconf.o serverloop.o \ 135 auth.o auth2.o auth2-methods.o auth-options.o session.o \ 136 auth2-chall.o groupaccess.o \ 137 auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ 138 auth2-none.o auth2-passwd.o auth2-pubkey.o auth2-pubkeyfile.o \ 139 monitor.o monitor_wrap.o auth-krb5.o \ 140 auth2-gss.o gss-serv.o gss-serv-krb5.o \ 141 loginrec.o auth-pam.o auth-shadow.o auth-sia.o \ 142 sftp-server.o sftp-common.o \ 143 uidswap.o platform-listen.o $(SKOBJS) 144 145SSHD_AUTH_OBJS=sshd-auth.o \ 146 auth2-methods.o \ 147 auth-rhosts.o auth-passwd.o sshpty.o sshlogin.o servconf.o \ 148 serverloop.o auth.o auth2.o auth-options.o session.o auth2-chall.o \ 149 groupaccess.o auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ 150 auth2-none.o auth2-passwd.o auth2-pubkey.o auth2-pubkeyfile.o \ 151 auth2-gss.o gss-serv.o gss-serv-krb5.o \ 152 monitor_wrap.o auth-krb5.o \ 153 audit.o audit-bsm.o audit-linux.o platform.o \ 154 loginrec.o auth-pam.o auth-shadow.o auth-sia.o \ 155 sandbox-null.o sandbox-rlimit.o sandbox-darwin.o \ 156 sandbox-seccomp-filter.o sandbox-capsicum.o sandbox-solaris.o \ 157 sftp-server.o sftp-common.o \ 158 uidswap.o $(SKOBJS) 159 160SFTP_CLIENT_OBJS=sftp-common.o sftp-client.o sftp-glob.o 161 162SCP_OBJS= scp.o progressmeter.o $(SFTP_CLIENT_OBJS) 163 164SSHADD_OBJS= ssh-add.o $(SKOBJS) 165 166SSHAGENT_OBJS= ssh-agent.o ssh-pkcs11-client.o $(SKOBJS) 167 168SSHKEYGEN_OBJS= ssh-keygen.o sshsig.o $(SKOBJS) 169 170SSHKEYSIGN_OBJS=ssh-keysign.o readconf.o uidswap.o $(SKOBJS) 171 172P11HELPER_OBJS= ssh-pkcs11-helper.o ssh-pkcs11.o $(SKOBJS) 173 174SKHELPER_OBJS= ssh-sk-helper.o ssh-sk.o sk-usbhid.o 175 176SSHKEYSCAN_OBJS=ssh-keyscan.o $(SKOBJS) 177 178SFTPSERVER_OBJS=sftp-common.o sftp-server.o sftp-server-main.o 179 180SFTP_OBJS= sftp.o sftp-usergroup.o progressmeter.o $(SFTP_CLIENT_OBJS) 181 182MANPAGES = moduli.5.out scp.1.out ssh-add.1.out ssh-agent.1.out ssh-keygen.1.out ssh-keyscan.1.out ssh.1.out sshd.8.out sftp-server.8.out sftp.1.out ssh-keysign.8.out ssh-pkcs11-helper.8.out ssh-sk-helper.8.out sshd_config.5.out ssh_config.5.out 183MANPAGES_IN = moduli.5 scp.1 ssh-add.1 ssh-agent.1 ssh-keygen.1 ssh-keyscan.1 ssh.1 sshd.8 sftp-server.8 sftp.1 ssh-keysign.8 ssh-pkcs11-helper.8 ssh-sk-helper.8 sshd_config.5 ssh_config.5 184MANTYPE = @MANTYPE@ 185 186CONFIGFILES=sshd_config.out ssh_config.out moduli.out 187CONFIGFILES_IN=sshd_config ssh_config moduli 188 189PATHSUBS = \ 190 -e 's|/etc/ssh/ssh_config|$(sysconfdir)/ssh_config|g' \ 191 -e 's|/etc/ssh/ssh_known_hosts|$(sysconfdir)/ssh_known_hosts|g' \ 192 -e 's|/etc/ssh/sshd_config|$(sysconfdir)/sshd_config|g' \ 193 -e 's|/usr/libexec|$(libexecdir)|g' \ 194 -e 's|/etc/shosts.equiv|$(sysconfdir)/shosts.equiv|g' \ 195 -e 's|/etc/ssh/ssh_host_key|$(sysconfdir)/ssh_host_key|g' \ 196 -e 's|/etc/ssh/ssh_host_ecdsa_key|$(sysconfdir)/ssh_host_ecdsa_key|g' \ 197 -e 's|/etc/ssh/ssh_host_dsa_key|$(sysconfdir)/ssh_host_dsa_key|g' \ 198 -e 's|/etc/ssh/ssh_host_rsa_key|$(sysconfdir)/ssh_host_rsa_key|g' \ 199 -e 's|/etc/ssh/ssh_host_ed25519_key|$(sysconfdir)/ssh_host_ed25519_key|g' \ 200 -e 's|/var/run/sshd.pid|$(piddir)/sshd.pid|g' \ 201 -e 's|/etc/moduli|$(sysconfdir)/moduli|g' \ 202 -e 's|/etc/ssh/moduli|$(sysconfdir)/moduli|g' \ 203 -e 's|/etc/ssh/sshrc|$(sysconfdir)/sshrc|g' \ 204 -e 's|/usr/X11R6/bin/xauth|$(XAUTH_PATH)|g' \ 205 -e 's|/var/empty|$(PRIVSEP_PATH)|g' \ 206 -e 's|/usr/bin:/bin:/usr/sbin:/sbin|@user_path@|g' 207 208FIXPATHSCMD = $(SED) $(PATHSUBS) 209FIXALGORITHMSCMD= $(SHELL) $(srcdir)/fixalgorithms $(SED) \ 210 @UNSUPPORTED_ALGORITHMS@ 211 212all: $(CONFIGFILES) $(MANPAGES) $(TARGETS) 213 214$(LIBSSH_OBJS): Makefile.in config.h 215$(SSHOBJS): Makefile.in config.h 216$(SSHDOBJS): Makefile.in config.h 217 218.c.o: 219 $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ 220 221LIBCOMPAT=openbsd-compat/libopenbsd-compat.a 222$(LIBCOMPAT): always 223 (cd openbsd-compat && $(MAKE)) 224always: 225 226libssh.a: $(LIBSSH_OBJS) 227 $(AR) rv $@ $(LIBSSH_OBJS) 228 $(RANLIB) $@ 229 230ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS) 231 $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(GSSLIBS) $(CHANNELLIBS) 232 233sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS) 234 $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(CHANNELLIBS) 235 236sshd-session$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHD_SESSION_OBJS) 237 $(LD) -o $@ $(SSHD_SESSION_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) $(CHANNELLIBS) $(LIBWTMPDB) 238 239sshd-auth$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHD_AUTH_OBJS) 240 $(LD) -o $@ $(SSHD_AUTH_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) $(CHANNELLIBS) $(LIBWTMPDB) 241 242scp$(EXEEXT): $(LIBCOMPAT) libssh.a $(SCP_OBJS) 243 $(LD) -o $@ $(SCP_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) 244 245ssh-add$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHADD_OBJS) 246 $(LD) -o $@ $(SSHADD_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS) 247 248ssh-agent$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHAGENT_OBJS) 249 $(LD) -o $@ $(SSHAGENT_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS) 250 251ssh-keygen$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYGEN_OBJS) 252 $(LD) -o $@ $(SSHKEYGEN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS) 253 254ssh-keysign$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYSIGN_OBJS) 255 $(LD) -o $@ $(SSHKEYSIGN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS) 256 257ssh-pkcs11-helper$(EXEEXT): $(LIBCOMPAT) libssh.a $(P11HELPER_OBJS) 258 $(LD) -o $@ $(P11HELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS) 259 260ssh-sk-helper$(EXEEXT): $(LIBCOMPAT) libssh.a $(SKHELPER_OBJS) 261 $(LD) -o $@ $(SKHELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) $(LIBFIDO2) $(CHANNELLIBS) 262 263ssh-keyscan$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYSCAN_OBJS) 264 $(LD) -o $@ $(SSHKEYSCAN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS) $(CHANNELLIBS) 265 266sftp-server$(EXEEXT): $(LIBCOMPAT) libssh.a $(SFTPSERVER_OBJS) 267 $(LD) -o $@ $(SFTPSERVER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS) 268 269sftp$(EXEEXT): $(LIBCOMPAT) libssh.a $(SFTP_OBJS) 270 $(LD) -o $@ $(SFTP_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(LIBEDIT) 271 272# test driver for the loginrec code - not built by default 273logintest: logintest.o $(LIBCOMPAT) libssh.a loginrec.o 274 $(LD) -o $@ logintest.o $(LDFLAGS) loginrec.o -lopenbsd-compat -lssh $(LIBS) 275 276# compile libssh objects with -fPIC for use in the sk_libfido2 shared library 277LIBSSH_PIC_OBJS=$(LIBSSH_OBJS:.o=.lo) 278libssh-pic.a: $(LIBSSH_PIC_OBJS) 279 $(AR) rv $@ $(LIBSSH_PIC_OBJS) 280 $(RANLIB) $@ 281 282$(SK_STANDALONE): $(srcdir)/sk-usbhid.c $(LIBCOMPAT) libssh-pic.a 283 $(CC) -o $@ -shared $(CFLAGS_NOPIE) $(CPPFLAGS) -DSK_STANDALONE $(PICFLAG) $(srcdir)/sk-usbhid.c \ 284 libssh-pic.a $(LDFLAGS_NOPIE) -lopenbsd-compat $(LIBS) $(LIBFIDO2) $(CHANNELLIBS) 285 286$(MANPAGES): $(MANPAGES_IN) 287 if test "$(MANTYPE)" = "cat"; then \ 288 manpage=$(srcdir)/`echo $@ | sed 's/\.[1-9]\.out$$/\.0/'`; \ 289 else \ 290 manpage=$(srcdir)/`echo $@ | sed 's/\.out$$//'`; \ 291 fi; \ 292 if test "$(MANTYPE)" = "man"; then \ 293 $(FIXPATHSCMD) $${manpage} | $(FIXALGORITHMSCMD) | \ 294 $(AWK) -f $(srcdir)/mdoc2man.awk > $@; \ 295 else \ 296 $(FIXPATHSCMD) $${manpage} | $(FIXALGORITHMSCMD) > $@; \ 297 fi 298 299$(CONFIGFILES): $(CONFIGFILES_IN) Makefile 300 conffile=`echo $@ | sed 's/.out$$//'`; \ 301 $(FIXPATHSCMD) $(srcdir)/$${conffile} > $@ 302 303# fake rule to stop make trying to compile moduli.o into a binary "moduli.o" 304moduli: 305 echo 306 307clean: regressclean 308 rm -f *.o *.lo *.a $(TARGETS) logintest config.cache config.log 309 rm -f *.out core survey 310 rm -f regress/check-perm$(EXEEXT) 311 rm -f regress/mkdtemp$(EXEEXT) 312 rm -f regress/unittests/test_helper/*.a 313 rm -f regress/unittests/test_helper/*.o 314 rm -f regress/unittests/authopt/*.o 315 rm -f regress/unittests/authopt/test_authopt$(EXEEXT) 316 rm -f regress/unittests/bitmap/*.o 317 rm -f regress/unittests/bitmap/test_bitmap$(EXEEXT) 318 rm -f regress/unittests/conversion/*.o 319 rm -f regress/unittests/conversion/test_conversion$(EXEEXT) 320 rm -f regress/unittests/hostkeys/*.o 321 rm -f regress/unittests/hostkeys/test_hostkeys$(EXEEXT) 322 rm -f regress/unittests/kex/*.o 323 rm -f regress/unittests/kex/test_kex$(EXEEXT) 324 rm -f regress/unittests/match/*.o 325 rm -f regress/unittests/match/test_match$(EXEEXT) 326 rm -f regress/unittests/misc/*.o 327 rm -f regress/unittests/misc/test_misc$(EXEEXT) 328 rm -f regress/unittests/sshbuf/*.o 329 rm -f regress/unittests/sshbuf/test_sshbuf$(EXEEXT) 330 rm -f regress/unittests/sshkey/*.o 331 rm -f regress/unittests/sshkey/test_sshkey$(EXEEXT) 332 rm -f regress/unittests/sshsig/*.o 333 rm -f regress/unittests/sshsig/test_sshsig$(EXEEXT) 334 rm -f regress/unittests/utf8/*.o 335 rm -f regress/unittests/utf8/test_utf8$(EXEEXT) 336 rm -f regress/misc/sk-dummy/*.o 337 rm -f regress/misc/sk-dummy/*.lo 338 rm -f regress/misc/ssh-verify-attestation/ssh-verify-attestation$(EXEEXT) 339 rm -f regress/misc/ssh-verify-attestation/*.o 340 (cd openbsd-compat && $(MAKE) clean) 341 342distclean: regressclean 343 rm -f *.o *.a $(TARGETS) logintest config.cache config.log 344 rm -f *.out core opensshd.init openssh.xml 345 rm -f Makefile buildpkg.sh config.h config.status 346 rm -f survey.sh openbsd-compat/regress/Makefile *~ 347 rm -rf autom4te.cache 348 rm -f regress/check-perm 349 rm -f regress/mkdtemp 350 rm -f regress/unittests/test_helper/*.a 351 rm -f regress/unittests/test_helper/*.o 352 rm -f regress/unittests/authopt/*.o 353 rm -f regress/unittests/authopt/test_authopt 354 rm -f regress/unittests/bitmap/*.o 355 rm -f regress/unittests/bitmap/test_bitmap 356 rm -f regress/unittests/conversion/*.o 357 rm -f regress/unittests/conversion/test_conversion 358 rm -f regress/unittests/hostkeys/*.o 359 rm -f regress/unittests/hostkeys/test_hostkeys 360 rm -f regress/unittests/kex/*.o 361 rm -f regress/unittests/kex/test_kex 362 rm -f regress/unittests/match/*.o 363 rm -f regress/unittests/match/test_match 364 rm -f regress/unittests/misc/*.o 365 rm -f regress/unittests/misc/test_misc 366 rm -f regress/unittests/sshbuf/*.o 367 rm -f regress/unittests/sshbuf/test_sshbuf 368 rm -f regress/unittests/sshkey/*.o 369 rm -f regress/unittests/sshkey/test_sshkey 370 rm -f regress/unittests/sshsig/*.o 371 rm -f regress/unittests/sshsig/test_sshsig 372 rm -f regress/unittests/utf8/*.o 373 rm -f regress/unittests/utf8/test_utf8 374 rm -f regress/misc/sk-dummy/*.o 375 rm -f regress/misc/sk-dummy/*.lo 376 rm -f regress/misc/sk-dummy/sk-dummy.so 377 rm -f regress/misc/ssh-verify-attestation/ssh-verify-attestation$(EXEEXT) 378 rm -f regress/misc/ssh-verify-attestation/*.o 379 (cd openbsd-compat && $(MAKE) distclean) 380 if test -d pkg ; then \ 381 rm -fr pkg ; \ 382 fi 383 384veryclean: distclean 385 rm -f configure config.h.in *.0 386 387cleandir: veryclean 388 389mrproper: veryclean 390 391realclean: veryclean 392 393catman-do: 394 @for f in $(MANPAGES_IN) ; do \ 395 base=`echo $$f | sed 's/\..*$$//'` ; \ 396 echo "$$f -> $$base.0" ; \ 397 $(MANFMT) $$f | cat -v | sed -e 's/.\^H//g' \ 398 >$$base.0 ; \ 399 done 400 401depend: depend-rebuild 402 rm -f .depend.bak 403 404depend-rebuild: 405 mv .depend .depend.old 406 rm -f config.h .depend 407 touch config.h .depend 408 makedepend -w1000 -Y. -f .depend *.c 2>/dev/null 409 (echo '# Automatically generated by makedepend.'; \ 410 echo '# Run "make depend" to rebuild.'; sort .depend ) >.depend.tmp 411 mv .depend.tmp .depend 412 rm -f .depend.bak 413 mv .depend.old .depend.bak 414 rm -f config.h 415 416depend-check: depend-rebuild 417 cmp .depend .depend.bak || (echo .depend stale && exit 1) 418 419distprep: catman-do depend-check 420 $(AUTORECONF) 421 -rm -rf autom4te.cache .depend.bak 422 423install: $(CONFIGFILES) $(MANPAGES) $(TARGETS) install-files install-sysconf host-key check-config 424install-nokeys: $(CONFIGFILES) $(MANPAGES) $(TARGETS) install-files install-sysconf 425install-nosysconf: $(CONFIGFILES) $(MANPAGES) $(TARGETS) install-files 426 427check-config: 428 -$(DESTDIR)$(sbindir)/sshd -t -f $(DESTDIR)$(sysconfdir)/sshd_config 429 430install-files: 431 $(MKDIR_P) $(DESTDIR)$(bindir) 432 $(MKDIR_P) $(DESTDIR)$(sbindir) 433 $(MKDIR_P) $(DESTDIR)$(mandir)/$(mansubdir)1 434 $(MKDIR_P) $(DESTDIR)$(mandir)/$(mansubdir)5 435 $(MKDIR_P) $(DESTDIR)$(mandir)/$(mansubdir)8 436 $(MKDIR_P) $(DESTDIR)$(libexecdir) 437 $(MKDIR_P) -m 0755 $(DESTDIR)$(PRIVSEP_PATH) 438 $(INSTALL) -m 0755 $(STRIP_OPT) ssh$(EXEEXT) $(DESTDIR)$(bindir)/ssh$(EXEEXT) 439 $(INSTALL) -m 0755 $(STRIP_OPT) scp$(EXEEXT) $(DESTDIR)$(bindir)/scp$(EXEEXT) 440 $(INSTALL) -m 0755 $(STRIP_OPT) ssh-add$(EXEEXT) $(DESTDIR)$(bindir)/ssh-add$(EXEEXT) 441 $(INSTALL) -m 0755 $(STRIP_OPT) ssh-agent$(EXEEXT) $(DESTDIR)$(bindir)/ssh-agent$(EXEEXT) 442 $(INSTALL) -m 0755 $(STRIP_OPT) ssh-keygen$(EXEEXT) $(DESTDIR)$(bindir)/ssh-keygen$(EXEEXT) 443 $(INSTALL) -m 0755 $(STRIP_OPT) ssh-keyscan$(EXEEXT) $(DESTDIR)$(bindir)/ssh-keyscan$(EXEEXT) 444 $(INSTALL) -m 0755 $(STRIP_OPT) sshd$(EXEEXT) $(DESTDIR)$(sbindir)/sshd$(EXEEXT) 445 $(INSTALL) -m 0755 $(STRIP_OPT) sshd-session$(EXEEXT) $(DESTDIR)$(SSHD_SESSION)$(EXEEXT) 446 $(INSTALL) -m 0755 $(STRIP_OPT) sshd-auth$(EXEEXT) $(DESTDIR)$(SSHD_AUTH)$(EXEEXT) 447 $(INSTALL) -m 4711 $(STRIP_OPT) ssh-keysign$(EXEEXT) $(DESTDIR)$(SSH_KEYSIGN)$(EXEEXT) 448 $(INSTALL) -m 0755 $(STRIP_OPT) ssh-pkcs11-helper$(EXEEXT) $(DESTDIR)$(SSH_PKCS11_HELPER)$(EXEEXT) 449 $(INSTALL) -m 0755 $(STRIP_OPT) ssh-sk-helper$(EXEEXT) $(DESTDIR)$(SSH_SK_HELPER)$(EXEEXT) 450 $(INSTALL) -m 0755 $(STRIP_OPT) sftp$(EXEEXT) $(DESTDIR)$(bindir)/sftp$(EXEEXT) 451 $(INSTALL) -m 0755 $(STRIP_OPT) sftp-server$(EXEEXT) $(DESTDIR)$(SFTP_SERVER)$(EXEEXT) 452 $(INSTALL) -m 644 ssh.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh.1 453 $(INSTALL) -m 644 scp.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/scp.1 454 $(INSTALL) -m 644 ssh-add.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-add.1 455 $(INSTALL) -m 644 ssh-agent.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-agent.1 456 $(INSTALL) -m 644 ssh-keygen.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keygen.1 457 $(INSTALL) -m 644 ssh-keyscan.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keyscan.1 458 $(INSTALL) -m 644 moduli.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/moduli.5 459 $(INSTALL) -m 644 sshd_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/sshd_config.5 460 $(INSTALL) -m 644 ssh_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/ssh_config.5 461 $(INSTALL) -m 644 sshd.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8 462 $(INSTALL) -m 644 sftp.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sftp.1 463 $(INSTALL) -m 644 sftp-server.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sftp-server.8 464 $(INSTALL) -m 644 ssh-keysign.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-keysign.8 465 $(INSTALL) -m 644 ssh-pkcs11-helper.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-pkcs11-helper.8 466 $(INSTALL) -m 644 ssh-sk-helper.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-sk-helper.8 467 468install-sysconf: 469 $(MKDIR_P) $(DESTDIR)$(sysconfdir) 470 @if [ ! -f $(DESTDIR)$(sysconfdir)/ssh_config ]; then \ 471 $(INSTALL) -m 644 ssh_config.out $(DESTDIR)$(sysconfdir)/ssh_config; \ 472 else \ 473 echo "$(DESTDIR)$(sysconfdir)/ssh_config already exists, install will not overwrite"; \ 474 fi 475 @if [ ! -f $(DESTDIR)$(sysconfdir)/sshd_config ]; then \ 476 $(INSTALL) -m 644 sshd_config.out $(DESTDIR)$(sysconfdir)/sshd_config; \ 477 else \ 478 echo "$(DESTDIR)$(sysconfdir)/sshd_config already exists, install will not overwrite"; \ 479 fi 480 @if [ ! -f $(DESTDIR)$(sysconfdir)/moduli ]; then \ 481 if [ -f $(DESTDIR)$(sysconfdir)/primes ]; then \ 482 echo "moving $(DESTDIR)$(sysconfdir)/primes to $(DESTDIR)$(sysconfdir)/moduli"; \ 483 mv "$(DESTDIR)$(sysconfdir)/primes" "$(DESTDIR)$(sysconfdir)/moduli"; \ 484 else \ 485 $(INSTALL) -m 644 moduli.out $(DESTDIR)$(sysconfdir)/moduli; \ 486 fi ; \ 487 else \ 488 echo "$(DESTDIR)$(sysconfdir)/moduli already exists, install will not overwrite"; \ 489 fi 490 491host-key: ssh-keygen$(EXEEXT) 492 @if [ -z "$(DESTDIR)" ] ; then \ 493 ./ssh-keygen -A; \ 494 fi 495 496host-key-force: ssh-keygen$(EXEEXT) ssh$(EXEEXT) 497 ./ssh-keygen -t dsa -f $(DESTDIR)$(sysconfdir)/ssh_host_dsa_key -N "" 498 ./ssh-keygen -t rsa -f $(DESTDIR)$(sysconfdir)/ssh_host_rsa_key -N "" 499 ./ssh-keygen -t ed25519 -f $(DESTDIR)$(sysconfdir)/ssh_host_ed25519_key -N "" 500 if ./ssh -Q key | grep ecdsa >/dev/null ; then \ 501 ./ssh-keygen -t ecdsa -f $(DESTDIR)$(sysconfdir)/ssh_host_ecdsa_key -N ""; \ 502 fi 503 504uninstallall: uninstall 505 -rm -f $(DESTDIR)$(sysconfdir)/ssh_config 506 -rm -f $(DESTDIR)$(sysconfdir)/sshd_config 507 -rmdir $(DESTDIR)$(sysconfdir) 508 -rmdir $(DESTDIR)$(bindir) 509 -rmdir $(DESTDIR)$(sbindir) 510 -rmdir $(DESTDIR)$(mandir)/$(mansubdir)1 511 -rmdir $(DESTDIR)$(mandir)/$(mansubdir)8 512 -rmdir $(DESTDIR)$(mandir) 513 -rmdir $(DESTDIR)$(libexecdir) 514 515uninstall: 516 -rm -f $(DESTDIR)$(bindir)/ssh$(EXEEXT) 517 -rm -f $(DESTDIR)$(bindir)/scp$(EXEEXT) 518 -rm -f $(DESTDIR)$(bindir)/ssh-add$(EXEEXT) 519 -rm -f $(DESTDIR)$(bindir)/ssh-agent$(EXEEXT) 520 -rm -f $(DESTDIR)$(bindir)/ssh-keygen$(EXEEXT) 521 -rm -f $(DESTDIR)$(bindir)/ssh-keyscan$(EXEEXT) 522 -rm -f $(DESTDIR)$(bindir)/sftp$(EXEEXT) 523 -rm -f $(DESTDIR)$(sbindir)/sshd$(EXEEXT) 524 -rm -r $(DESTDIR)$(SFTP_SERVER)$(EXEEXT) 525 -rm -f $(DESTDIR)$(SSH_KEYSIGN)$(EXEEXT) 526 -rm -f $(DESTDIR)$(SSH_PKCS11_HELPER)$(EXEEXT) 527 -rm -f $(DESTDIR)$(SSH_SK_HELPER)$(EXEEXT) 528 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh.1 529 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/scp.1 530 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-add.1 531 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-agent.1 532 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keygen.1 533 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/sftp.1 534 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/ssh-keyscan.1 535 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8 536 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/sftp-server.8 537 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-keysign.8 538 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-pkcs11-helper.8 539 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-sk-helper.8 540 541regress-prep: 542 $(MKDIR_P) `pwd`/regress/unittests/test_helper 543 $(MKDIR_P) `pwd`/regress/unittests/authopt 544 $(MKDIR_P) `pwd`/regress/unittests/bitmap 545 $(MKDIR_P) `pwd`/regress/unittests/conversion 546 $(MKDIR_P) `pwd`/regress/unittests/hostkeys 547 $(MKDIR_P) `pwd`/regress/unittests/kex 548 $(MKDIR_P) `pwd`/regress/unittests/match 549 $(MKDIR_P) `pwd`/regress/unittests/misc 550 $(MKDIR_P) `pwd`/regress/unittests/sshbuf 551 $(MKDIR_P) `pwd`/regress/unittests/sshkey 552 $(MKDIR_P) `pwd`/regress/unittests/sshsig 553 $(MKDIR_P) `pwd`/regress/unittests/utf8 554 $(MKDIR_P) `pwd`/regress/misc/sk-dummy 555 $(MKDIR_P) `pwd`/regress/misc/ssh-verify-attestation 556 [ -f `pwd`/regress/Makefile ] || \ 557 ln -s `cd $(srcdir) && pwd`/regress/Makefile `pwd`/regress/Makefile 558 559REGRESSLIBS=libssh.a $(LIBCOMPAT) 560TESTLIBS=$(LIBS) $(CHANNELLIBS) 561 562regress/modpipe$(EXEEXT): $(srcdir)/regress/modpipe.c $(REGRESSLIBS) 563 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/modpipe.c \ 564 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 565 566regress/timestamp$(EXEEXT): $(srcdir)/regress/timestamp.c $(REGRESSLIBS) 567 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/timestamp.c \ 568 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 569 570regress/setuid-allowed$(EXEEXT): $(srcdir)/regress/setuid-allowed.c $(REGRESSLIBS) 571 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/setuid-allowed.c \ 572 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 573 574regress/netcat$(EXEEXT): $(srcdir)/regress/netcat.c $(REGRESSLIBS) 575 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/netcat.c \ 576 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 577 578regress/check-perm$(EXEEXT): $(srcdir)/regress/check-perm.c $(REGRESSLIBS) 579 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/check-perm.c \ 580 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 581 582regress/mkdtemp$(EXEEXT): $(srcdir)/regress/mkdtemp.c $(REGRESSLIBS) 583 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/mkdtemp.c \ 584 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 585 586UNITTESTS_TEST_HELPER_OBJS=\ 587 regress/unittests/test_helper/test_helper.o \ 588 regress/unittests/test_helper/fuzz.o 589 590regress/unittests/test_helper/libtest_helper.a: ${UNITTESTS_TEST_HELPER_OBJS} 591 $(AR) rv $@ $(UNITTESTS_TEST_HELPER_OBJS) 592 $(RANLIB) $@ 593 594UNITTESTS_TEST_SSHBUF_OBJS=\ 595 regress/unittests/sshbuf/tests.o \ 596 regress/unittests/sshbuf/test_sshbuf.o \ 597 regress/unittests/sshbuf/test_sshbuf_getput_basic.o \ 598 regress/unittests/sshbuf/test_sshbuf_getput_crypto.o \ 599 regress/unittests/sshbuf/test_sshbuf_misc.o \ 600 regress/unittests/sshbuf/test_sshbuf_fuzz.o \ 601 regress/unittests/sshbuf/test_sshbuf_getput_fuzz.o \ 602 regress/unittests/sshbuf/test_sshbuf_fixed.o 603 604regress/unittests/sshbuf/test_sshbuf$(EXEEXT): ${UNITTESTS_TEST_SSHBUF_OBJS} \ 605 regress/unittests/test_helper/libtest_helper.a libssh.a 606 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_SSHBUF_OBJS) \ 607 regress/unittests/test_helper/libtest_helper.a \ 608 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 609 610UNITTESTS_TEST_SSHKEY_OBJS=\ 611 regress/unittests/sshkey/test_fuzz.o \ 612 regress/unittests/sshkey/tests.o \ 613 regress/unittests/sshkey/common.o \ 614 regress/unittests/sshkey/test_file.o \ 615 regress/unittests/sshkey/test_sshkey.o \ 616 $(SKOBJS) 617 618regress/unittests/sshkey/test_sshkey$(EXEEXT): ${UNITTESTS_TEST_SSHKEY_OBJS} \ 619 regress/unittests/test_helper/libtest_helper.a libssh.a 620 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_SSHKEY_OBJS) \ 621 regress/unittests/test_helper/libtest_helper.a \ 622 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 623 624UNITTESTS_TEST_SSHSIG_OBJS=\ 625 sshsig.o \ 626 regress/unittests/sshsig/tests.o \ 627 $(SKOBJS) 628 629regress/unittests/sshsig/test_sshsig$(EXEEXT): ${UNITTESTS_TEST_SSHSIG_OBJS} \ 630 regress/unittests/test_helper/libtest_helper.a libssh.a 631 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_SSHSIG_OBJS) \ 632 regress/unittests/test_helper/libtest_helper.a \ 633 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 634 635UNITTESTS_TEST_BITMAP_OBJS=\ 636 regress/unittests/bitmap/tests.o 637 638regress/unittests/bitmap/test_bitmap$(EXEEXT): ${UNITTESTS_TEST_BITMAP_OBJS} \ 639 regress/unittests/test_helper/libtest_helper.a libssh.a 640 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_BITMAP_OBJS) \ 641 regress/unittests/test_helper/libtest_helper.a \ 642 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 643 644UNITTESTS_TEST_AUTHOPT_OBJS=\ 645 regress/unittests/authopt/tests.o \ 646 auth-options.o \ 647 $(SKOBJS) 648 649regress/unittests/authopt/test_authopt$(EXEEXT): \ 650 ${UNITTESTS_TEST_AUTHOPT_OBJS} \ 651 regress/unittests/test_helper/libtest_helper.a libssh.a 652 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_AUTHOPT_OBJS) \ 653 regress/unittests/test_helper/libtest_helper.a \ 654 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 655 656UNITTESTS_TEST_CONVERSION_OBJS=\ 657 regress/unittests/conversion/tests.o 658 659regress/unittests/conversion/test_conversion$(EXEEXT): \ 660 ${UNITTESTS_TEST_CONVERSION_OBJS} \ 661 regress/unittests/test_helper/libtest_helper.a libssh.a 662 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_CONVERSION_OBJS) \ 663 regress/unittests/test_helper/libtest_helper.a \ 664 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 665 666UNITTESTS_TEST_KEX_OBJS=\ 667 regress/unittests/kex/tests.o \ 668 regress/unittests/kex/test_kex.o \ 669 regress/unittests/kex/test_proposal.o \ 670 $(SKOBJS) 671 672regress/unittests/kex/test_kex$(EXEEXT): ${UNITTESTS_TEST_KEX_OBJS} \ 673 regress/unittests/test_helper/libtest_helper.a libssh.a 674 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_KEX_OBJS) \ 675 regress/unittests/test_helper/libtest_helper.a \ 676 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 677 678UNITTESTS_TEST_HOSTKEYS_OBJS=\ 679 regress/unittests/hostkeys/tests.o \ 680 regress/unittests/hostkeys/test_iterate.o \ 681 $(SKOBJS) 682 683regress/unittests/hostkeys/test_hostkeys$(EXEEXT): \ 684 ${UNITTESTS_TEST_HOSTKEYS_OBJS} \ 685 regress/unittests/test_helper/libtest_helper.a libssh.a 686 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_HOSTKEYS_OBJS) \ 687 regress/unittests/test_helper/libtest_helper.a \ 688 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 689 690UNITTESTS_TEST_MATCH_OBJS=\ 691 regress/unittests/match/tests.o 692 693regress/unittests/match/test_match$(EXEEXT): \ 694 ${UNITTESTS_TEST_MATCH_OBJS} \ 695 regress/unittests/test_helper/libtest_helper.a libssh.a 696 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_MATCH_OBJS) \ 697 regress/unittests/test_helper/libtest_helper.a \ 698 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 699 700UNITTESTS_TEST_MISC_OBJS=\ 701 regress/unittests/misc/tests.o \ 702 regress/unittests/misc/test_parse.o \ 703 regress/unittests/misc/test_expand.o \ 704 regress/unittests/misc/test_convtime.o \ 705 regress/unittests/misc/test_argv.o \ 706 regress/unittests/misc/test_strdelim.o \ 707 regress/unittests/misc/test_hpdelim.o \ 708 regress/unittests/misc/test_ptimeout.o 709 710regress/unittests/misc/test_misc$(EXEEXT): \ 711 ${UNITTESTS_TEST_MISC_OBJS} \ 712 regress/unittests/test_helper/libtest_helper.a libssh.a 713 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_MISC_OBJS) \ 714 regress/unittests/test_helper/libtest_helper.a \ 715 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 716 717UNITTESTS_TEST_UTF8_OBJS=\ 718 regress/unittests/utf8/tests.o 719 720regress/unittests/utf8/test_utf8$(EXEEXT): \ 721 ${UNITTESTS_TEST_UTF8_OBJS} \ 722 regress/unittests/test_helper/libtest_helper.a libssh.a 723 $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_UTF8_OBJS) \ 724 regress/unittests/test_helper/libtest_helper.a \ 725 -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(TESTLIBS) 726 727# These all need to be compiled -fPIC, so they are treated differently. 728SK_DUMMY_OBJS=\ 729 regress/misc/sk-dummy/sk-dummy.lo \ 730 regress/misc/sk-dummy/fatal.lo \ 731 ed25519.lo hash.lo 732 733SK_DUMMY_LIBRARY=@SK_DUMMY_LIBRARY@ 734 735.c.lo: Makefile.in config.h 736 $(CC) $(CFLAGS_NOPIE) $(PICFLAG) $(CPPFLAGS) -c $< -o $@ 737 738regress/misc/sk-dummy/sk-dummy.so: $(SK_DUMMY_OBJS) 739 $(CC) $(CFLAGS) $(CPPFLAGS) $(PICFLAG) -shared -o $@ $(SK_DUMMY_OBJS) \ 740 -L. -Lopenbsd-compat -lopenbsd-compat $(LDFLAGS_NOPIE) $(TESTLIBS) 741 742SSH_VERIFY_ATTESTATION_OBJS=\ 743 regress/misc/ssh-verify-attestation/ssh-verify-attestation.o \ 744 $(SKOBJS) 745 746ssh-verify-attestation: regress/misc/ssh-verify-attestation/ssh-verify-attestation$(EXEEXT) 747 748regress/misc/ssh-verify-attestation/ssh-verify-attestation$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSH_VERIFY_ATTESTATION_OBJS) 749 $(LD) -o $@ $(SSH_VERIFY_ATTESTATION_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS) $(LIBFIDO2) 750 751 752regress-binaries: regress-prep $(LIBCOMPAT) \ 753 regress/modpipe$(EXEEXT) \ 754 regress/timestamp$(EXEEXT) \ 755 regress/setuid-allowed$(EXEEXT) \ 756 regress/netcat$(EXEEXT) \ 757 regress/check-perm$(EXEEXT) \ 758 regress/mkdtemp$(EXEEXT) \ 759 $(SK_DUMMY_LIBRARY) 760 761regress-unit-binaries: regress-prep $(REGRESSLIBS) \ 762 regress/unittests/authopt/test_authopt$(EXEEXT) \ 763 regress/unittests/bitmap/test_bitmap$(EXEEXT) \ 764 regress/unittests/conversion/test_conversion$(EXEEXT) \ 765 regress/unittests/hostkeys/test_hostkeys$(EXEEXT) \ 766 regress/unittests/kex/test_kex$(EXEEXT) \ 767 regress/unittests/match/test_match$(EXEEXT) \ 768 regress/unittests/misc/test_misc$(EXEEXT) \ 769 regress/unittests/sshbuf/test_sshbuf$(EXEEXT) \ 770 regress/unittests/sshkey/test_sshkey$(EXEEXT) \ 771 regress/unittests/sshsig/test_sshsig$(EXEEXT) \ 772 regress/unittests/utf8/test_utf8$(EXEEXT) 773 774tests: file-tests t-exec interop-tests extra-tests unit 775 echo all tests passed 776 777unit: regress-unit-binaries 778 cd $(srcdir)/regress || exit $$?; \ 779 $(MAKE) \ 780 .CURDIR="$(abs_top_srcdir)/regress" \ 781 .OBJDIR="$(BUILDDIR)/regress" \ 782 OBJ="$(BUILDDIR)/regress" \ 783 $@ && echo $@ tests passed 784 785TEST_SSH_SSHD="$(BUILDDIR)/sshd" 786 787interop-tests t-exec file-tests extra-tests: regress-prep regress-binaries $(TARGETS) 788 cd $(srcdir)/regress || exit $$?; \ 789 EGREP='@EGREP@' \ 790 OPENSSL_BIN='@OPENSSL_BIN@' \ 791 $(MAKE) \ 792 .CURDIR="$(abs_top_srcdir)/regress" \ 793 .OBJDIR="$(BUILDDIR)/regress" \ 794 BUILDDIR="$(BUILDDIR)" \ 795 OBJ="$(BUILDDIR)/regress" \ 796 PATH="$(BUILDDIR):$${PATH}" \ 797 TEST_ENV=MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \ 798 TEST_MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \ 799 TEST_SSH_SCP="$(BUILDDIR)/scp" \ 800 TEST_SSH_SSH="$(BUILDDIR)/ssh" \ 801 TEST_SSH_SSHD="$(TEST_SSH_SSHD)" \ 802 TEST_SSH_SSHD_SESSION="$(BUILDDIR)/sshd-session" \ 803 TEST_SSH_SSHD_AUTH="$(BUILDDIR)/sshd-auth" \ 804 TEST_SSH_SSHAGENT="$(BUILDDIR)/ssh-agent" \ 805 TEST_SSH_SSHADD="$(BUILDDIR)/ssh-add" \ 806 TEST_SSH_SSHKEYGEN="$(BUILDDIR)/ssh-keygen" \ 807 TEST_SSH_SSHPKCS11HELPER="$(BUILDDIR)/ssh-pkcs11-helper" \ 808 TEST_SSH_SSHKEYSCAN="$(BUILDDIR)/ssh-keyscan" \ 809 TEST_SSH_SFTP="$(BUILDDIR)/sftp" \ 810 TEST_SSH_PKCS11_HELPER="$(BUILDDIR)/ssh-pkcs11-helper" \ 811 TEST_SSH_SK_HELPER="$(BUILDDIR)/ssh-sk-helper" \ 812 TEST_SSH_SFTPSERVER="$(BUILDDIR)/sftp-server" \ 813 TEST_SSH_MODULI_FILE="$(abs_top_srcdir)/moduli" \ 814 TEST_SSH_PLINK="@PLINK@" \ 815 TEST_SSH_PUTTYGEN="@PUTTYGEN@" \ 816 TEST_SSH_CONCH="@CONCH@" \ 817 TEST_SSH_DROPBEAR="@DROPBEAR@" \ 818 TEST_SSH_DROPBEARKEY="@DROPBEARKEY@" \ 819 TEST_SSH_DROPBEARCONVERT="@DROPBEARCONVERT@" \ 820 TEST_SSH_DBCLIENT="@DBCLIENT@" \ 821 TEST_SSH_IPV6="@TEST_SSH_IPV6@" \ 822 TEST_SSH_UTF8="@TEST_SSH_UTF8@" \ 823 TEST_SHELL="$(TEST_SHELL)" \ 824 EXEEXT="$(EXEEXT)" \ 825 $@ && echo all $@ passed 826 827compat-tests: $(LIBCOMPAT) 828 (cd openbsd-compat/regress && $(MAKE)) 829 830regressclean: 831 if [ -f regress/Makefile ] && [ -r regress/Makefile ]; then \ 832 (cd regress && $(MAKE) clean) \ 833 fi 834 835survey: survey.sh ssh 836 @$(SHELL) ./survey.sh > survey 837 @echo 'The survey results have been placed in the file "survey" in the' 838 @echo 'current directory. Please review the file then send with' 839 @echo '"make send-survey".' 840 841send-survey: survey 842 mail portable-survey@mindrot.org <survey 843 844package: $(CONFIGFILES) $(MANPAGES) $(TARGETS) 845 if [ "@MAKE_PACKAGE_SUPPORTED@" = yes ]; then \ 846 sh buildpkg.sh; \ 847 fi 848 849# @DEPEND@ 850