prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
sbindir=@sbindir@
libdir=@libdir@
mandir=@mandir@
sysconfdir=@sysconfdir@

SSH_PROGRAM=@bindir@/ssh
ASKPASS_PROGRAM=@libexecdir@/ssh/ssh-askpass

CC=@CC@
PATHS=-DETCDIR=\"$(sysconfdir)\" -DSSH_PROGRAM=\"$(SSH_PROGRAM)\" -DASKPASS_PROGRAM=\"$(ASKPASS_PROGRAM)\"
CFLAGS=@CFLAGS@ $(PATHS) @DEFS@
EXTRA_TARGETS=@GNOME_ASKPASS@
TARGETS=libssh.a ssh sshd ssh-add ssh-keygen ssh-agent scp $(EXTRA_TARGETS)
LIBS=@LIBS@
AR=@AR@
RANLIB=@RANLIB@

GNOME_CFLAGS=`gnome-config --cflags gnome gnomeui`
GNOME_LIBS=`gnome-config --libs gnome gnomeui`

OBJS=	authfd.o authfile.o auth-passwd.o auth-rhosts.o auth-rh-rsa.o \
		auth-rsa.o auth-skey.o bufaux.o buffer.o canohost.o channels.o \
		cipher.o clientloop.o compress.o crc32.o deattack.o helper.o \
		hostfile.o log-client.o login.o log-server.o match.o mpaux.o \
		packet.o pty.o readconf.o readpass.o rsa.o servconf.o serverloop.o \
		sshconnect.o tildexpand.o ttymodes.o uidswap.o xmalloc.o \
		helper.o bsd-mktemp.o bsd-strlcpy.o bsd-daemon.o bsd-login.o rc4.o \
		md5crypt.o

all: $(OBJS) $(TARGETS)

libssh.a: authfd.o authfile.o bufaux.o buffer.o canohost.o channels.o cipher.o compat.o compress.o crc32.o deattack.o hostfile.o match.o mpaux.o nchan.o packet.o readpass.o rsa.o tildexpand.o ttymodes.o uidswap.o xmalloc.o helper.o rc4.o bsd-mktemp.o bsd-strlcpy.o log.o fingerprint.o
	$(AR) rv $@ $^
	$(RANLIB) $@

ssh: ssh.o sshconnect.o log-client.o readconf.o clientloop.o libssh.a
	$(CC) -o $@ $^ $(LFLAGS) $(LIBS) 

sshd:	sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o pty.o log-server.o login.o servconf.o serverloop.o bsd-login.o bsd-daemon.o md5crypt.o libssh.a
	$(CC) -o $@ $^ $(LFLAGS) $(LIBS) 

scp:	scp.o libssh.a
	$(CC) -o $@ $^ $(LFLAGS) $(LIBS) 

ssh-add: ssh-add.o log-client.o libssh.a
	$(CC) -o $@ $^ $(LFLAGS) $(LIBS) 

ssh-agent: ssh-agent.o log-client.o libssh.a
	$(CC) -o $@ $^ $(LFLAGS) $(LIBS) 

ssh-keygen: ssh-keygen.o log-client.o libssh.a
	$(CC) -o $@ $^ $(LFLAGS) $(LIBS) 

gnome-ssh-askpass: gnome-ssh-askpass.c
	$(CC) $(CFLAGS) $(GNOME_CFLAGS) -o $@ gnome-ssh-askpass.c $(GNOME_LIBS)

clean:
	rm -f *.o core $(TARGETS) config.status config.cache config.log

install: all
	install -d $(bindir)
	install -d $(sbindir)
	install -d $(mandir)
	install -d $(mandir)/man1
	install -d $(mandir)/man8
	install -s -c ssh $(bindir)/ssh
	install -s -c scp $(bindir)/scp
	install -s -c ssh-add $(bindir)/ssh-add
	install -s -c ssh-agent $(bindir)/ssh-agent
	install -s -c ssh-keygen $(bindir)/ssh-keygen
	install -s -c sshd $(sbindir)/sshd
	install -m644 -c ssh.1 $(mandir)/man1/ssh.1
	install -m644 -c scp.1 $(mandir)/man1/scp.1
	install -m644 -c ssh-add.1 $(mandir)/man1/ssh-add.1
	install -m644 -c ssh-agent.1 $(mandir)/man1/ssh-agent.1
	install -m644 -c ssh-keygen.1 $(mandir)/man1/ssh-keygen.1
	install -m644 -c sshd.8 $(mandir)/man8/sshd.8
	ln -sf ssh $(bindir)/slogin
	ln -sf ssh.1 $(mandir)/man1/slogin.1

	if [ "x@INSTALL_ASKPASS@" = "xyes" ] ; then \
		install -d $(libdir) ; \
		install -d $(libexecdir)/ssh ; \
		if [ -z "@GNOME_ASKPASS@" ] ; then \
			install -m755 -c ssh-askpass ${ASKPASS_PROGRAM}; \
		else \
			install -m755 -c gnome-ssh-askpass ${ASKPASS_PROGRAM}; \
		fi ; \
	fi

	if [ ! -f $(sysconfdir)/ssh_config -a ! -f $(sysconfdir)/sshd_config ]; then \
		install -d $(sysconfdir); \
		install -m644 ssh_config $(sysconfdir)/ssh_config; \
		install -m644 sshd_config $(sysconfdir)/sshd_config; \
	fi

distclean: clean
	rm -f Makefile config.h core *~

mrproper: distclean

veryclean: distclean
	rm -f configure config.h.in

