summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 80b0a6d4290a64c6a30a2d659efce3c3b6c36b93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
sbindir=@sbindir@
libexecdir=@libexecdir@
mandir=@mandir@
sysconfdir=@sysconfdir@

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

CC=@CC@
PATHS=-DETCDIR=\"$(sysconfdir)\" -DSSH_PROGRAM=\"$(SSH_PROGRAM)\" -DSSH_ASKPASS_DEFAULT=\"$(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@
INSTALL=@INSTALL@
LFLAGS=@LDFLAGS@

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

OBJS= atomicio.o authfd.o authfile.o auth-passwd.o auth-rhosts.o \
  auth-rh-rsa.o auth-rsa.o auth-skey.o bsd-daemon.o bsd-login.o \
  bsd-mktemp.o bsd-snprintf.o bsd-strlcat.o bsd-strlcpy.o bufaux.o \
  buffer.o canohost.o channels.o cipher.o clientloop.o compress.o \
  crc32.o deattack.o helper.o helper.o hostfile.o log-client.o \
  login.o log-server.o match.o md5crypt.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 
all: $(OBJS) $(TARGETS)

libssh.a: atomicio.o authfd.o authfile.o bsd-daemon.o bsd-mktemp.o \
  bsd-snprintf.o bsd-strlcat.o bsd-strlcpy.o bufaux.o \
  buffer.o canohost.o channels.o cipher.o compat.o \
  compress.o crc32.o deattack.o fingerprint.o helper.o \
  hostfile.o log.o match.o mpaux.o nchan.o packet.o \
  readpass.o rsa.o tildexpand.o ttymodes.o uidswap.o xmalloc.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 \
  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 ssh $(bindir)/ssh
	$(INSTALL) -s scp $(bindir)/scp
	$(INSTALL) -s ssh-add $(bindir)/ssh-add
	$(INSTALL) -s ssh-agent $(bindir)/ssh-agent
	$(INSTALL) -s ssh-keygen $(bindir)/ssh-keygen
	$(INSTALL) -s sshd $(sbindir)/sshd
	$(INSTALL) -m644 ssh.1 $(mandir)/man1/ssh.1
	$(INSTALL) -m644 scp.1 $(mandir)/man1/scp.1
	$(INSTALL) -m644 ssh-add.1 $(mandir)/man1/ssh-add.1
	$(INSTALL) -m644 ssh-agent.1 $(mandir)/man1/ssh-agent.1
	$(INSTALL) -m644 ssh-keygen.1 $(mandir)/man1/ssh-keygen.1
	$(INSTALL) -m644 sshd.8 $(mandir)/man8/sshd.8
	-rm -f $(bindir)/slogin
	ln -s ssh $(bindir)/slogin
	-rm -f $(mandir)/man1/slogin.1
	ln -s ssh.1 $(mandir)/man1/slogin.1

	$(INSTALL) -d $(libexecdir) ;
	$(INSTALL) -d $(libexecdir)/ssh ;
	if [ ! -z "@GNOME_ASKPASS@" ] ; then \
		$(INSTALL) -s @GNOME_ASKPASS@ ${ASKPASS_PROGRAM} ; \
	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