# $Id: Makefile,v 1.80.2.1 2001/02/11 04:01:50 tls Exp $ #DEBUG = -g #OPTIMIZE = -O2 #PROF = -pg #WARNINGS = -Wall -Wstrict-prototypes -Wmissing-prototypes \ # -Wpointer-arithmetic -Wreturn-type -Wwrite-strings \ # -Wcast-qual -Wswitch -Werror # -Wshadow # DEFINES += -DUNSAFE_DEBUG # DEFINES += -DFORCE_VALID_LOOPBACK_HOST_KEYS # DEFINES += -DNO_CRC_AT_ALL DEFINES += -DSMALL_CRC_TABLE DEFINES += -DSESSION_KEY_TIMING # Use only one of these. #MEMDEBUG_INCLUDE= -I /usr/pkg/include #MEMDEBUG_LINK= -L /usr/pkg/lib -R /usr/pkg/lib -lefence # XXX This doesn't work quite properly yet. #MEMDEBUG_INCLUDE= -I /usr/pkg/include #MEMDEBUG_LINK= -L /usr/pkg/lib -R /usr/pkg/lib -lleak CPPFLAGS += ${WARNINGS} -I. -Itransport -Icrypto ${MEMDEBUG_INCLUDE} CFLAGS += ${DEBUG} ${OPTIMIZE} ${PROF} ${CPPFLAGS} OS_HDR = ssh_sys_bsd44+.h OS_SRC = ssh_sys_bsd44+.c ssh_sys_posix.c OS_OBJ = ssh_sys_bsd44+.o ssh_sys_posix.o # Use *one* of the two below: LIBS+= ${LDFLAGS} -Llib -lssh # If you have BSD pmake and BSD-style shared libs. SSHLIB= libssh LIBCLEAN= libclean LIBDEP= libdep #LIBS= -L. -lssh # If you don't. #SSHLIB= libssh.a #LIBCLEAN= #LIBDEP= #IDEA_LIB = -lcrypto_idea LIBS+= -lutil -lcrypt -lz ${IDEA_LIB} -lcrypto ${MEMDEBUG_LINK} ${RSAGLUE} INSTALL=install INSTALL_FLAGS=-c -r -m 755 -o bin -g bin FRE=fre HDRS = options.h ssh_buffer.h ssh_channel.h ssh_client.h ssh_defines.h \ ssh_event.h ssh_global.h ssh_keyfile.h ssh_logging.h \ ssh_main.h ssh_parse.h ssh_paths.h ssh_sys.h ${OS_HDR} \ ssh_tty.h ssh_types.h ssh_util.h ssh_v1_child.h \ ssh_v1_messages.h ssh_v1_proto.h sshd.h ssh_ui.h \ ssh_environ.h ssh_authagent.h ssh_threads.h HDRS+= ssh_v1_auth_rhosts.h HDRS+= ssh_v1_auth_rsa.h HDRS+= ssh_v1_auth_passwd.h # HDRS += ssh_v2_messages.h ssh_v2_proto.h HDRS += crypto/ssh_3des.h crypto/ssh_auth.h crypto/ssh_blowfish.h \ crypto/ssh_cipher.h crypto/ssh_crypto.h \ crypto/ssh_crypto_openssl.h crypto/ssh_des.h crypto/ssh_none.h \ crypto/ssh_rsakeys.h HDRS += transport/ssh_transport.h SRCS = ssh-keygen.c ssh_buffer.c ssh_channel.c ssh_client.c \ ssh_event_dispatch.c ssh_global.c ssh_logging.c ssh_main.c \ ssh_parse.c ssh_sys_posix.c ssh_threads.c ssh_util.c \ ssh_v1_auth_client.c ssh_v1_auth_server.c ssh_v1_child.c \ ssh_v1_dispatch_client.c ssh_v1_dispatch_server.c \ sshd_main.c ssh_v1_iactive_client.c ssh_v1_iactive_server.c \ ssh_ui.c ssh_authagent.c SRCS+= ssh_v1_auth_rhosts_client.c SRCS+= ssh_v1_auth_rsa_client.c ssh_v1_auth_rsa_server.c SRCS+= ssh_v1_auth_passwd_client.c ssh_v1_auth_passwd_server.c # ssh-agent SRCS+= ssh-agent.c # ssh-add SRCS+= ssh-add.c SRCS += ${OS_SRC} # SRCS += ssh_v2_dispatch.c SRCS += crypto/ssh_auth.c crypto/ssh_cipher.c \ crypto/ssh_crypto_openssl.c crypto/ssh_none.c crypto/ssh_rsakeys.c SRCS += transport/ssh_deattack.c transport/ssh_intro.c \ transport/ssh_v1_transport.c # SRCS += transport/ssh_v2_transport.c XXXOBJS = ssh_client.o LIBOBJS = ssh_buffer.o ssh_channel.o ssh_event_dispatch.o ssh_global.o \ ssh_logging.o ssh_parse.o ssh_ui.o \ ssh_v1_child.o \ transport/ssh_deattack.o transport/ssh_intro.o \ transport/ssh_v1_transport.o crypto/ssh_auth.o \ crypto/ssh_cipher.o crypto/ssh_crypto_openssl.o \ crypto/ssh_none.o crypto/ssh_rsakeys.o ssh_util.o \ ssh_threads.o $(XXXOBJS) $(OS_OBJ) SERVEROBJS= sshd_main.o ssh_v1_dispatch_server.o ssh_v1_auth_server.o \ ssh_v1_prep_server.o ssh_v1_iactive_server.o SERVEROBJS+=ssh_v1_auth_rsa_server.o SERVEROBJS+=ssh_v1_auth_passwd_server.o KEYGENOBJS= ssh-keygen.o CLIENTOBJS= ssh_main.o ssh_v1_dispatch_client.o ssh_v1_auth_client.o \ ssh_v1_prep_client.o ssh_v1_iactive_client.o \ ssh_authagent.o CLIENTOBJS+=ssh_v1_auth_rhosts_client.o CLIENTOBJS+=ssh_v1_auth_rsa_client.o CLIENTOBJS+=ssh_v1_auth_passwd_client.o AGENTOBJS= ssh-agent.o ADDOBJS= ssh-add.o ssh_authagent.o all: sshd ssh-keygen ssh ssh-agent ssh-add sshd: ${SERVEROBJS} ${SSHLIB} ${CC} -o $@ ${CFLAGS} ${SERVEROBJS} ${LIBS} ssh: ${CLIENTOBJS} ${SSHLIB} ${CC} -o $@ ${CFLAGS} ${CLIENTOBJS} ${LIBS} ssh-keygen: ${KEYGENOBJS} ${SSHLIB} ${CC} -o $@ ${CFLAGS} ${KEYGENOBJS} ${LIBS} ssh-agent: ${AGENTOBJS} ${SSHLIB} ${CC} -o $@ ${CFLAGS} ${AGENTOBJS} ${LIBS} ssh-add: ${ADDOBJS} ${SSHLIB} ${CC} -o $@ ${CFLAGS} ${ADDOBJS} ${LIBS} libssh.a: ${LIBOBJS} ${AR} cq $@ ${LIBOBJS} libssh:: (cd lib ; make) libclean:: (cd lib ; make clean) libdep:: (cd lib ; make depend) install: sshd ${BSD_INSTALL_PROGRAM} sshd ${PREFIX}/sbin/${FRE}sshd ${BSD_INSTALL_PROGRAM} ssh-keygen ${PREFIX}/bin/${FRE}ssh-keygen ${BSD_INSTALL_PROGRAM} ssh ${PREFIX}/bin/${FRE}ssh ${BSD_INSTALL_PROGRAM} ssh-agent ${PREFIX}/bin/${FRE}ssh-agent ${BSD_INSTALL_PROGRAM} ssh-add ${PREFIX}/bin/${FRE}ssh-add clean: ${LIBCLEAN} rm -f *.o crypto/*.o transport/*.o a.out sshd ssh-keygen ssh \ ssh-agent ssh-add cleandir: clean rm -f .depend *.core depend: .depend ${LIBDEP} .depend: ${SRCS} ${HDRS} mkdep -a ${CFLAGS} ${DEFINES} ${SRCS} .SUFFIXES: .c .i .o .c.o: $(CC) -c $(CFLAGS) $(DEFINES) $< -o $@ .c.i: $(CC) -E $(CFLAGS) $(DEFINES) $< -o $@