source: trunk/third/ssh/Makefile.in @ 13552

Revision 13552, 25.0 KB checked in by ghudson, 25 years ago (diff)
Do a better job of making install directories.
Line 
1#
2# Makefile.in
3#
4# Author: Tatu Ylonen <ylo@cs.hut.fi>
5#
6# Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
7#                    All rights reserved
8#
9# Created: Wed Mar 22 17:37:49 1995 ylo
10#
11# $Id: Makefile.in,v 1.14 1999-09-02 14:47:15 ghudson Exp $
12# $Log: not supported by cvs2svn $
13# Revision 1.13  1999/03/21 21:03:25  ghudson
14# Revert unstripped hack; this is handled in
15# packs/build/finish/os/solaris now.
16#
17# Revision 1.12  1999/03/11 04:10:30  danw
18# liblockerize
19#
20# Revision 1.11  1999/03/08 18:19:59  danw
21# merge changes
22#
23# Revision 1.10  1998/06/17 17:29:36  ghudson
24# Add code from a CORE SDI advisory to prevent connection hijacking.
25#
26# Revision 1.9  1998/05/30 16:03:39  danw
27# ssh 1.2.23 by default installs files as "foo1" with a "foo" -> "foo1"
28# symlink. This reverts back to the old (not "foo1") behavior
29#
30# Revision 1.8  1998/05/13 20:18:45  danw
31# merge in changes from 1.2.23
32#
33# Revision 1.7  1998/04/16 22:31:56  ghudson
34# Install sshd stripped, but install an unstripped "sshd.unstripped" to
35# help debugging.  It won't get tracked in.
36#
37# Revision 1.6  1998/04/08 02:28:43  ghudson
38# Don't create .old files in the install directory.
39#
40# Revision 1.5  1998/01/24 01:47:20  danw
41# merge in changes for 1.2.22
42#
43# Revision 1.4  1998/01/01 18:17:31  danw
44# put sshd in the right place
45#
46# Revision 1.3  1997/11/19 20:52:02  danw
47# Fix make depend rule
48#
49# Revision 1.2  1997/11/12 21:16:07  danw
50# Athena-login changes (including some krb4 stuff)
51#
52# Revision 1.1.1.1  1997/10/17 22:25:52  danw
53# Import of ssh 1.2.21
54#
55# Revision 1.1.1.2  1998/01/24 01:25:07  danw
56# Import of ssh 1.2.22
57#
58# Revision 1.1.1.3  1998/05/13 19:10:56  danw
59# Import of ssh 1.2.23
60#
61# Revision 1.1.1.4  1999/03/08 17:42:51  danw
62# Import of ssh 1.2.26
63#
64# Revision 1.49  1998/07/08 01:20:28  kivinen
65#       Changed SSH_PROGRAM to be ssh1.
66#
67# Revision 1.48  1998/06/12 08:04:37  kivinen
68#       Moved removing of suid bit in the beginnin of the installation
69#       process.
70#
71# Revision 1.47  1998/06/11 14:00:37  kivinen
72#       Added README.DEATTACK to DISTFILES.
73#
74# Revision 1.46  1998/06/11 00:02:59  kivinen
75#       Added deattack.{o,h}
76#
77# Revision 1.45  1998/05/23  20:17:11  kivinen
78#       Rerun autoheader/automake/autoconf.
79#
80# Revision 1.44  1998/05/11  17:21:27  kivinen
81#       Fixed removing of suid bit from ssh.old.
82#
83# Revision 1.43  1998/04/30 03:59:42  kivinen
84#       Changed installation process so that everything is installed
85#       as <program>1 and if <program>2 is not found the <program> is
86#       made symbolic link to <program>1.
87#
88# Revision 1.42  1998/03/27 17:28:57  kivinen
89#       Removed TSS.
90#
91# Revision 1.41  1998/03/27 16:52:30  kivinen
92#       Fixed order of kerberos libraries.
93#
94# Revision 1.40  1997/09/02 13:21:56  kivinen
95#       Fixed free & commercial dist making.
96#
97# Revision 1.39  1997/06/25 08:35:29  kivinen
98#       Removed clenaup.free, and cleanup.commercial from
99#       COMMERCIALDISTFILES.
100#
101# Revision 1.38  1997/06/18 20:58:53  kivinen
102#       Fixed edd man page installing.
103#
104# Revision 1.37  1997/05/13 22:32:53  kivinen
105#       Fixed EDD installation and uninstallation. Removed idea from
106#       EDD_OBJS and added CONFOBJS there.
107#
108# Revision 1.36  1997/05/08 02:54:16  kivinen
109#       Removed edd-block.c from COMMERCIALDISTFILES.
110#       Added OTHER_PROGRAMS.
111#
112# Revision 1.35  1997/05/07 16:55:12  mkojo
113#       Edited edd.
114#
115# Revision 1.34  1997/04/27 21:47:42  kivinen
116#       F-Secure commercial distribution stuff.
117#
118# Revision 1.33  1997/04/22 23:56:10  kivinen
119#       Added WARPLIBS.
120#
121# Revision 1.32  1997/04/17 03:53:52  kivinen
122#       Fixed typo in SBIN_PROGRAMS backup copy mv.
123#
124# Revision 1.31  1997/04/05 21:43:50  kivinen
125#       Changed make install so it will rename old ssh to ssh.old and
126#       then install new version.
127#
128# Revision 1.30  1997/03/27 05:59:25  kivinen
129#       Added LIBS to XLIBS.
130#
131# Revision 1.29  1997/03/27 03:17:29  kivinen
132#       Added kerberos patches from Glenn Machin.
133#       Added README.CIPHER to DISTFILES.
134#
135# Revision 1.28  1997/03/25 06:18:38  kivinen
136# *** empty log message ***
137#
138# Revision 1.27  1997/03/19 22:05:42  kivinen
139#       Fixed RFC target to compile on object directory.
140#
141# Revision 1.26  1997/03/19 21:09:11  kivinen
142#       Added AR variable. Added SSH_INSTALL_MODE support (can be
143#       installed non-suid).
144#
145# Revision 1.25  1997/03/19 18:01:54  kivinen
146#       Added TIS authentication code from Andre April
147#       <Andre.April@cediti.be>.
148#       Update zlib to 1.0.4.
149#       Rewrote the make dist support so it works if you are using
150#       separate object directory too.
151#
152# Revision 1.24  1996/11/19 22:43:03  kivinen
153#       Added rm -f TAGS before making them (etags -a only appends new
154#       tags to TAGS file).
155#
156# Revision 1.23  1996/10/30 04:21:58  kivinen
157#       Changed to tar to use p flag.
158#
159# Revision 1.22  1996/10/29 22:39:38  kivinen
160#       Changed gmp-2.0.2 to gmp-2.0.2-ssh-2.
161#
162# Revision 1.21  1996/10/24 14:04:40  ttsalo
163#       Removed check-fds.c from DISTFILES
164#
165# Revision 1.20  1996/10/23 16:00:19  ttsalo
166#       BINDIR (in .c.o) is back, this time named SSH_BINDIR
167#
168# Revision 1.19  1996/10/22 13:15:16  ttsalo
169#       Removed permanent-fd stuff
170#
171# Revision 1.18  1996/10/20 02:59:29  ylo
172#       Removed BINDIR.  It is not used anywhere, and causes problems
173#       on DGUX.
174#
175# Revision 1.17  1996/10/14 17:32:59  ttsalo
176#       Don't pack minfd.h in distribution
177#
178# Revision 1.16  1996/10/14 14:17:14  ttsalo
179#         Install X_PROGRAMS too
180#
181# Revision 1.15  1996/10/08 14:05:16  ttsalo
182#       Make distclean in gmp-dir instead of just make clean
183#       when making dist.
184#
185# Revision 1.14  1996/09/29 22:46:09  kivinen
186#       Updated gmp-2.0 to gmp-2.0.2. Added tags target.
187#
188# Revision 1.13  1996/09/27 13:55:33  ttsalo
189#       Added blowfish
190#
191# Revision 1.12  1996/09/08 17:45:51  ttsalo
192#       Distclean makes distclean in zlib too
193#
194# Revision 1.11  1996/08/29 15:18:18  ttsalo
195#       make distclean makes disclean in gmp too
196#
197# Revision 1.10  1996/08/27 12:59:30  ttsalo
198#       Changed gmp 1.3.2 to gmp 2.0
199#
200# Revision 1.9  1996/07/12 07:07:40  ttsalo
201#       Changed zlib version to zlib-1.0.3, detached ssh-askpass from
202#       NORMAL_PROGRAMS to X_PROGRAMS, which is conditionally defined.
203#
204# Revision 1.8  1996/06/24 14:40:27  ttsalo
205#       Changed zlib to version 1.0.2, zlibdir = zlib-1.0.2
206#
207# Revision 1.7  1996/06/03 20:06:14  ylo
208#       Removed ssh-askpass.wish from DISTFILES.
209#       Removed explicit rule for ssh-askpass.o.  It breaks
210#       compilations in separate object directory.
211#       Added X_CFLAGS in .c.o rule; it is needed for ssh-askpass.
212#
213# Revision 1.6  1996/05/28 12:46:10  ylo
214#       Cosmetic changes.
215#
216# Revision 1.5  1996/04/26 00:42:37  ylo
217#       Don't include make-ssh-known-hosts.1 in DISTFILES (it is generated).
218#       Avoid double -m options to install; some machines don't like it.
219#       Removed some obsolete rm commands that were there for compatibility.
220#
221# Revision 1.4  1996/04/22 23:31:32  huima
222# Added ssh-askpass in C. Added general support for X programs.
223#
224# Revision 1.3  1996/03/05  18:38:31  huima
225# Edd target. Edd not included in 'all'.
226#
227# Revision 1.1  1996/02/18  21:38:13  ylo
228# Initial revision
229#
230# Revision 1.18  1995/10/02  01:17:20  ylo
231#       Added PIDDIR.
232#       Added missing socketpair.c to EXTRA_SRCS.
233#       Some manual pages now generated by configure.
234#       Remove old /etc/sshd_pid.
235#       Fixed install_prefix.
236#
237# Revision 1.17  1995/09/27  02:09:12  ylo
238#       Made etcdir configurable with --with-etcdir=PATH.
239#
240# Revision 1.16  1995/09/24  23:56:51  ylo
241#       New file clientloop.c.
242#
243# Revision 1.15  1995/09/10  23:25:10  ylo
244#       Added osfc2.c to EXTRA_SRCS.
245#
246# Revision 1.14  1995/09/10  22:44:02  ylo
247#       Reorganized OBJS lists.
248#       Added serverloop.o.
249#
250# Revision 1.13  1995/09/09  21:26:18  ylo
251#       Added uidswap.o, ChangeLog.
252#
253# Revision 1.12  1995/09/06  15:56:25  ylo
254#       Replace ETCDIR in server_config.sample.
255#
256# Revision 1.11  1995/08/31  09:42:47  ylo
257#       Added $(exec_prefix) and $(etcdir) to the list of directories
258#       to create.
259#
260# Revision 1.10  1995/08/31  09:18:05  ylo
261#       Added $(etcdir).
262#
263# Revision 1.9  1995/08/29  22:17:26  ylo
264#       Moved sshd to $prefix/sbin.
265#       Added improved file descriptor code from David Mazieres.
266#       Changed ssh-keygen to use file name option.
267#       Added missing files to clean.
268#
269# Revision 1.8  1995/08/22  14:04:56  ylo
270#       Removed references to obsolete DESDEP.
271#
272# Revision 1.7  1995/08/21  23:19:06  ylo
273#       Added server config stuff.
274#
275# Revision 1.6  1995/08/18  22:40:28  ylo
276#       Added install_prefix.
277#       Added CONFOBJS, and moved idea.o to CONFOBJS.
278#       Added config.guess and config.sub to DISTFILES.
279#
280# Revision 1.5  1995/07/26  17:09:21  ylo
281#       Added mpaux.o.
282#
283# Revision 1.4  1995/07/15  13:26:55  ylo
284#       Added putenv.c to EXTRA_SRCS.
285#
286# Revision 1.3  1995/07/13  01:06:27  ylo
287#       Added cvs log.
288#
289# $Endlog$
290
291srcdir          = @srcdir@
292
293VPATH           = $(srcdir)
294
295install_prefix  =
296prefix          = @prefix@
297exec_prefix     = @exec_prefix@
298bindir          = @bindir@
299sbindir         = /etc/athena
300mandir          = @mandir@
301man1dir         = $(mandir)/man1
302man8dir         = $(mandir)/man8
303etcdir          = @ETCDIR@
304piddir          = @PIDDIR@
305
306COMMERCIAL      =
307CC              = @CC@
308CFLAGS          = @CFLAGS@
309LDFLAGS         = @LDFLAGS@
310DEFS            = @DEFS@ $(COMMERCIAL)
311LIBS            = @LIBS@
312LIBOBJS         = @LIBOBJS@
313CONFOBJS        = @CONFOBJS@
314SSHCONFOBJS     = @SSHCONFOBJS@
315SSHDCONFOBJS    = @SSHDCONFOBJS@
316
317MAKEDEP         = @MAKEDEP@
318LN_S            = @LN_S@
319RANLIB          = @RANLIB@
320AR              = @AR@
321INSTALL         = @INSTALL@
322INSTALL_PROGRAM = @INSTALL_PROGRAM@
323INSTALL_DATA    = @INSTALL_DATA@
324WISH            = @WISH@
325PERL            = @PERL@
326
327KERBEROS_ROOT   = @KERBEROS_ROOT@
328KERBEROS_INCS   = @KERBEROS_INCS@
329KERBEROS_LIBS   = @KERBEROS_LIBS@
330KERBEROS_OBJS   = @KERBEROS_OBJS@
331
332RSAREFDEP       = @RSAREFDEP@
333
334WRAPLIBS        = @WRAPLIBS@
335
336ATHENA_LIBS     = -L${ATHTOOLROOT}/usr/athena/lib -lal -llocker -lzephyr \
337                        -lhesiod @ATHENA_LIBS@
338ATHENA_INCS     = -I${ATHTOOLROOT}/usr/athena/include \
339        -I${ATHTOOLROOT}/usr/athena/include/kerberosIV
340
341SSH_INSTALL_MODE= @SSHINSTALLMODE@
342
343transform       = @program_transform_name@
344
345HOST_KEY_FILE   = $(etcdir)/ssh_host_key
346HOST_CONFIG_FILE = $(etcdir)/ssh_config
347SERVER_CONFIG_FILE = $(etcdir)/sshd_config
348TIS_MAP_FILE    = $(etcdir)/sshd_tis.map
349
350SHELL = /bin/sh
351
352GMPDIR          = gmp-2.0.2-ssh-2
353GMPLIBS         = -L$(GMPDIR) -lgmp
354GMPDEP          = $(GMPDIR)/gmp.h $(GMPDIR)/libgmp.a
355
356ZLIBDIR         = zlib-1.0.4
357ZLIBDEP         = $(ZLIBDIR)/libz.a
358ZLIBLIBS        = -L$(ZLIBDIR) -lz
359
360RSAREFDIR       = rsaref2
361RSAREFSRCDIR    = $(RSAREFDIR)/source
362
363X_CFLAGS        = @X_CFLAGS@
364X_LIBS          = @X_LIBS@
365X_PRE_LIBS      = @X_PRE_LIBS@
366X_EXTRA_LIBS    = @X_EXTRA_LIBS@
367
368XLIBS           = $(X_LIBS) $(X_PRE_LIBS) -lX11 $(X_EXTRA_LIBS) $(LIBS)
369
370COMMON_OBJS = $(LIBOBJS) $(CONFOBJS) \
371        rsa.o randoms.o md5.o buffer.o emulate.o packet.o compress.o \
372        xmalloc.o ttymodes.o newchannels.o bufaux.o authfd.o authfile.o \
373        crc32.o rsaglue.o cipher.o des.o match.o arcfour.o mpaux.o \
374        userfile.o signals.o blowfish.o deattack.o
375SSHD_OBJS = sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o pty.o \
376        log-server.o login.o hostfile.o canohost.o servconf.o tildexpand.o \
377        serverloop.o $(COMMON_OBJS) $(KERBEROS_OBJS) $(SSHDCONFOBJS)
378SSH_OBJS = ssh.o sshconnect.o log-client.o readconf.o hostfile.o readpass.o \
379        tildexpand.o clientloop.o canohost.o $(COMMON_OBJS) $(SSHCONFOBJS)
380KEYGEN_OBJS = ssh-keygen.o log-client.o readpass.o rsa.o randoms.o md5.o \
381        buffer.o xmalloc.o authfile.o cipher.o des.o arcfour.o mpaux.o \
382        bufaux.o userfile.o signals.o blowfish.o $(LIBOBJS) $(CONFOBJS)
383AGENT_OBJS = ssh-agent.o log-client.o rsa.o randoms.o md5.o buffer.o \
384        xmalloc.o bufaux.o authfd.o authfile.o rsaglue.o cipher.o \
385        des.o arcfour.o mpaux.o userfile.o signals.o blowfish.o \
386        $(LIBOBJS) $(CONFOBJS)
387ADD_OBJS = ssh-add.o log-client.o readpass.o rsa.o randoms.o md5.o buffer.o \
388        xmalloc.o bufaux.o authfd.o authfile.o cipher.o blowfish.o \
389        des.o arcfour.o mpaux.o userfile.o signals.o $(LIBOBJS) \
390        $(CONFOBJS)
391SCP_OBJS = scp.o xmalloc.o
392#ifdef F_SECURE_COMMERCIAL
393#
394#
395#
396#
397#
398#endif F_SECURE_COMMERCIAL
399SSH_ASKPASS_OBJS = ssh-askpass.o xmalloc.o
400
401SRCS = $(SSHD_OBJS:.o=.c) $(SSH_OBJS:.o=.c) $(KEYGEN_OBJS:.o=.c) \
402        $(AGENT_OBJS:.o=.c) $(ADD_OBJS:.o=.c) \
403        $(SCP_OBJS:.o=.c) \
404        $(SSH_ASKPASS_OBJS:.o=.c)
405EXTRA_SRCS = memmove.c strerror.c remove.c random.c putenv.c crypt.c osfc2.c \
406        socketpair.c auth-kerberos.c
407MAN1PAGES = ssh-keygen ssh-agent ssh-add scp $(EDD_MANPAGES)
408MAN1GENERATED = ssh make-ssh-known-hosts
409MAN1SOURCES = ssh.1.in ssh-keygen.1 ssh-agent.1 ssh-add.1 scp.1 \
410        make-ssh-known-hosts.1.in
411MAN8GENERATED = sshd
412MAN8SOURCES = sshd.8.in
413
414HEADERS = cipher.h getput.h pty.h arcfour.h compress.h idea.h \
415        randoms.h ttymodes.h authfd.h crc32.h includes.h \
416        readconf.h userfile.h blowfish.h des.h md5.h rsa.h version.h bufaux.h \
417        mpaux.h servconf.h xmalloc.h buffer.h emulate.h packet.h ssh.h \
418        deattack.h
419
420DISTFILES = $(srcdir)/COPYING $(srcdir)/README $(srcdir)/README.SECURID \
421        $(srcdir)/README.TIS $(srcdir)/README.SECURERPC \
422        $(srcdir)/README.CIPHERS $(srcdir)/README.DEATTACK \
423        $(srcdir)/INSTALL $(srcdir)/TODO $(srcdir)/libdes-README \
424        $(srcdir)/libdes-COPYING $(srcdir)/libdes-ARTISTIC \
425        $(srcdir)/gnu-COPYING-GPL $(srcdir)/OVERVIEW \
426        $(srcdir)/configure $(srcdir)/configure.in $(srcdir)/config.guess \
427        $(srcdir)/config.sub $(srcdir)/Makefile.in \
428        $(srcdir)/host_config.sample $(srcdir)/config.sample \
429        $(srcdir)/acconfig.h $(srcdir)/config.h.in \
430        $(srcdir)/server_config.sample \
431        $(srcdir)/install-sh \
432        $(srcdir)/make-ssh-known-hosts.pl $(srcdir)/RFC.nroff \
433        $(srcdir)/RFC $(srcdir)/rfc-pg.c \
434        $(srcdir)/ChangeLog
435DISTSRCS = $(MAN1SOURCES) $(MAN8SOURCES) $(SRCS) $(EXTRA_SRCS) $(HEADERS)
436#ifdef F_SECURE_COMMERCIAL
437#
438#endif F_SECURE_COMMERCIAL
439
440DISTNAME = ssh-`sed 's/.*"\(.*\)".*/\1/' $(srcdir)/version.h`
441CDISTNAME = f-secure-ssh-`sed 's/.*"\(.*\)".*/\1/' $(srcdir)/version.h`
442
443NORMAL_PROGRAMS = ssh-keygen ssh-agent ssh-add scp
444X_PROGRAMS = @X_PROGRAMS@
445#ifdef F_SECURE_COMMERCIAL
446#
447#endif F_SECURE_COMMERCIAL
448SCRIPT_PROGRAMS = make-ssh-known-hosts
449SBIN_PROGRAMS = sshd
450PROGRAMS = ssh $(SBIN_PROGRAMS) $(NORMAL_PROGRAMS) $(SCRIPT_PROGRAMS) \
451$(X_PROGRAMS) $(OTHER_PROGRAMS)
452SSH_PROGRAM = $(bindir)/ssh
453
454all: $(PROGRAMS)
455
456RFC: RFC.nroff rfc-pg
457        tbl $(srcdir)/RFC.nroff | nroff -ms | sed 's/FORMFEED\[Page/        [Page/' | ./rfc-pg -n5 >RFC
458
459rfc-pg: rfc-pg.o
460        $(CC) -o rfc-pg rfc-pg.o
461
462.c.o:
463        $(CC) -c -I. $(KERBEROS_INCS) -I$(srcdir)/$(GMPDIR) -I$(srcdir)/$(ZLIBDIR) $(ATHENA_INCS) $(DEFS) -DHOST_KEY_FILE=\"$(HOST_KEY_FILE)\" -DHOST_CONFIG_FILE=\"$(HOST_CONFIG_FILE)\" -DSERVER_CONFIG_FILE=\"$(SERVER_CONFIG_FILE)\" -DSSH_PROGRAM=\"$(SSH_PROGRAM)\" -DETCDIR=\"$(etcdir)\" -DPIDDIR=\"$(piddir)\" -DSSH_BINDIR=\"$(bindir)\" -DTIS_MAP_FILE=\"$(TIS_MAP_FILE)\" $(CFLAGS) $(X_CFLAGS) $<
464
465sshd: $(SSHD_OBJS) $(GMPDEP) $(RSAREFDEP) $(ZLIBDEP)
466        -rm -f sshd
467        $(CC) $(LDFLAGS) -o sshd $(SSHD_OBJS) \
468                $(GMPLIBS) $(ZLIBLIBS) $(WRAPLIBS) $(ATHENA_LIBS) $(LIBS) \
469                $(KERBEROS_LIBS)
470
471ssh: $(SSH_OBJS) $(GMPDEP) $(RSAREFDEP) $(ZLIBDEP)
472        -rm -f ssh
473        $(CC) $(LDFLAGS) -o ssh $(SSH_OBJS) \
474                $(GMPLIBS) $(ZLIBLIBS) $(WRAPLIBS) $(LIBS) $(KERBEROS_LIBS)
475
476ssh-keygen: $(KEYGEN_OBJS) $(GMPDEP) $(RSAREFDEP)
477        -rm -f ssh-keygen
478        $(CC) $(LDFLAGS) -o ssh-keygen $(KEYGEN_OBJS) $(GMPLIBS) $(LIBS)
479
480ssh-agent: $(AGENT_OBJS) $(GMPDEP) $(RSAREFDEP)
481        -rm -f ssh-agent
482        $(CC) $(LDFLAGS) -o ssh-agent $(AGENT_OBJS) $(GMPLIBS) $(LIBS) $(KERBEROS_LIBS)
483
484ssh-add: $(ADD_OBJS) $(GMPDEP) $(RSAREFDEP)
485        -rm -f ssh-add
486        $(CC) $(LDFLAGS) -o ssh-add $(ADD_OBJS) $(GMPLIBS) $(LIBS)
487
488scp: $(SCP_OBJS) $(LIBOBJS) $(RSAREFDEP)
489        -rm -f scp
490        $(CC) $(LDFLAGS) -o scp $(SCP_OBJS) $(LIBOBJS) $(LIBS)
491
492#ifdef F_SECURE_COMMERCIAL
493#
494#
495#
496#endif F_SECURE_COMMERCIAL
497
498ssh-askpass: $(SSH_ASKPASS_OBJS)
499        -rm -f ssh-askpass
500        $(CC) $(LDFLAGS) -o ssh-askpass $(SSH_ASKPASS_OBJS) $(XLIBS)
501
502make-ssh-known-hosts: make-ssh-known-hosts.pl
503        -rm -f make-ssh-known-hosts
504        sed "s#&PERL&#$(PERL)#" <$(srcdir)/make-ssh-known-hosts.pl >make-ssh-known-hosts
505        chmod +x make-ssh-known-hosts
506
507GMP_COPY_SOURCES = mpz_gcd.c mpz_powm.c mpz_pow_ui.c mpz_add.c mpz_sub.c \
508                mpz_mul.c mpz_cmp.c mpz_sqrtrem.c
509$(GMPDIR)/libgmp.a:
510        cd $(GMPDIR); $(MAKE)
511
512$(ZLIBDEP):
513        -if test '!' -d $(ZLIBDIR); then \
514          mkdir $(ZLIBDIR); \
515          cp $(srcdir)/$(ZLIBDIR)/Makefile $(ZLIBDIR); \
516        fi
517        cd $(ZLIBDIR); $(MAKE) VPATH=$(srcdir)/$(ZLIBDIR):../$(srcdir)/$(ZLIBDIR) \
518          CC="$(CC)" CFLAGS="$(CFLAGS) -I. -I$(srcdir)/$(ZLIBDIR) \
519            -I../$(srcdir)/$(GMPDIR)" RANLIB="$(RANLIB)" libz.a
520
521$(RSAREFSRCDIR)/librsaref.a:
522        -if test '!' -d $(RSAREFDIR); then \
523          (cd $(srcdir); tar pcf - $(RSAREFSRCDIR)) | tar pxf -; fi
524        cd $(RSAREFSRCDIR); $(MAKE) -f ../../Makefile librsaref.a
525
526RSAREFSRCS = desc.c digit.c md2c.c md5c.c nn.c prime.c r_dh.c r_encode.c \
527        r_enhanc.c r_keygen.c r_random.c r_stdlib.c rsa.c
528
529# Note: this target is used in a recursive make, with VPATH pointing to source
530librsaref.a:
531        for i in $(RSAREFSRCS); do $(CC) $(CFLAGS) -c $$i; done
532        $(AR) rc librsaref.a $(RSAREFSRCS:.c=.o)
533        $(RANLIB) librsaref.a
534
535# Creates /etc/ssh_host_key
536generate-host-key:
537        -@if test -f $(install_prefix)$(HOST_KEY_FILE); \
538          then echo "You already have a host key in $(install_prefix)$(HOST_KEY_FILE)."; \
539          else \
540            umask 022; echo "Generating 1024 bit host key."; \
541            ./ssh-keygen -b 1024 -f $(install_prefix)$(HOST_KEY_FILE) -N ''; \
542          fi
543
544# Creates install directories
545make-dirs:
546        mkdir -p $(install_prefix)$(prefix)
547        -umask 022; if test '!' -d $(install_prefix)$(prefix); then \
548          mkdir $(install_prefix)$(prefix); fi; \
549        if test '!' -d $(install_prefix)$(exec_prefix); then \
550          mkdir $(install_prefix)$(exec_prefix); fi; \
551        if test '!' -d $(install_prefix)$(etcdir); then \
552          mkdir $(install_prefix)$(etcdir); fi; \
553        if test '!' -d $(install_prefix)$(bindir); then \
554          mkdir $(install_prefix)$(bindir); fi; \
555        if test '!' -d $(install_prefix)$(sbindir); then \
556          mkdir $(install_prefix)$(sbindir); fi; \
557        if test '!' -d $(install_prefix)$(mandir); then \
558          mkdir $(install_prefix)$(mandir); fi; \
559        if test '!' -d $(install_prefix)$(man1dir); then \
560          mkdir $(install_prefix)$(man1dir); fi; \
561        if test '!' -d $(install_prefix)$(man8dir); then \
562          mkdir $(install_prefix)$(man8dir); fi
563
564# This target can be used to install the host key and configuration files on
565# other machines in a networked environment after the binaries have first
566# been installed on one machine into a common binary directory.
567hostinstall: $(PROGRAMS) make-dirs generate-host-key install-configs
568
569# Ssh is preferably installed suid root.  It can also be used non-root,
570# but then it cannot connect from a privileged socket, and rhosts
571# authentication will be disabled.
572#
573# Sshd is not suid root, but should preferably be run as root
574# (otherwise it can only log in as the user it runs as, and must be
575# bound to a non-privileged port).  Also, password authentication may
576# not be available if non-root and using shadow passwords.
577install: $(PROGRAMS) make-dirs
578        $(INSTALL_PROGRAM) -o root -m $(SSH_INSTALL_MODE) ssh $(install_prefix)$(bindir)/ssh
579        -if test "`echo ssh | sed '$(transform)'`" '!=' ssh; then \
580          rm -f $(install_prefix)$(bindir)/`echo ssh | sed '$(transform)'`; \
581          $(LN_S) ssh \
582            $(install_prefix)$(bindir)/`echo ssh | sed '$(transform)'`; fi
583        rm -f $(install_prefix)$(bindir)/slogin
584        $(LN_S) ssh $(install_prefix)$(bindir)/slogin
585        -if test "`echo slogin | sed '$(transform)'`" '!=' slogin; then \
586          rm -f $(install_prefix)$(bindir)/`echo slogin | sed '$(transform)'`;\
587          $(LN_S) ssh \
588            $(install_prefix)$(bindir)/`echo slogin | sed '$(transform)'`; fi
589        -for p in $(NORMAL_PROGRAMS) $(X_PROGRAMS) $(OTHER_PROGRAMS); do \
590          $(INSTALL_PROGRAM) -m 0755 $$p $(install_prefix)$(bindir)/$${p}; \
591          if test "`echo $$p | sed '$(transform)'`" '!=' $$p; then \
592            rm -f $(install_prefix)$(bindir)/`echo $$p | sed '$(transform)'`; \
593            $(LN_S) $$p \
594              $(install_prefix)$(bindir)/`echo $$p | sed '$(transform)'`; fi; \
595        done
596        -for p in $(SCRIPT_PROGRAMS); do \
597          $(INSTALL_DATA) $$p $(install_prefix)$(bindir)/$${p}; \
598          chmod 755 $(install_prefix)$(bindir)/$${p}; \
599          if test "`echo $$p | sed '$(transform)'`" '!=' $$p; then \
600            rm -f $(install_prefix)$(bindir)/`echo $$p | sed '$(transform)'`; \
601            $(LN_S) $$p \
602              $(install_prefix)$(bindir)/`echo $$p | sed '$(transform)'`; fi; \
603        done
604        -for p in $(SBIN_PROGRAMS); do \
605          $(INSTALL_PROGRAM) -m 0755 $$p $(install_prefix)$(sbindir)/$${p}; \
606          if test "`echo $$p | sed '$(transform)'`" '!=' $$p; then \
607            rm -f $(install_prefix)$(sbindir)/`echo $$p | sed '$(transform)'`;\
608            $(LN_S) $$p \
609              $(install_prefix)$(sbindir)/`echo $$p | sed '$(transform)'`; fi;\
610        done
611        -for p in $(MAN1PAGES); do \
612          $(INSTALL_DATA) -m 0644 $(srcdir)/$$p.1 $(install_prefix)$(man1dir)/$${p}.1 ; \
613          if test "`echo $$p | sed '$(transform)'`" '!=' $$p; then \
614            rm -f $(install_prefix)$(man1dir)/`echo $$p | sed '$(transform)'`.1;\
615            $(LN_S) $${p}1.1 \
616              $(install_prefix)$(man1dir)/`echo $$p | sed '$(transform)'`.1; \
617          fi; \
618        done
619        rm -f $(install_prefix)$(man1dir)/slogin.1
620        $(LN_S) ssh.1 $(install_prefix)$(man1dir)/slogin.1
621        -if test "`echo slogin.1 | sed '$(transform)'`" '!=' slogin.1; then \
622          rm -f $(install_prefix)$(man1dir)/`echo slogin.1 | sed '$(transform)'`;\
623          $(LN_S) ssh.1 \
624            $(install_prefix)$(man1dir)/`echo slogin.1 | sed '$(transform)'`; \
625        fi
626        -for p in $(MAN1GENERATED); do \
627          $(INSTALL_DATA) -m 0644 $$p.1 $(install_prefix)$(man1dir)/$${p}.1 ; \
628          if test "`echo $$p | sed '$(transform)'`" '!=' $$p; then \
629            rm -f $(install_prefix)$(man1dir)/`echo $$p | sed '$(transform)'`.1;\
630            $(LN_S) $${p}1.1 \
631              $(install_prefix)$(man1dir)/`echo $$p | sed '$(transform)'`.1; \
632          fi; \
633        done
634        -for p in $(MAN8GENERATED); do \
635          $(INSTALL_DATA) -m 0644 $$p.8 $(install_prefix)$(man8dir)/$${p}.8; \
636          if test "`echo $$p | sed '$(transform)'`" '!=' $$p; then \
637            rm -f $(install_prefix)$(man8dir)/`echo $$p | sed '$(transform)'`.8;\
638            $(LN_S) $${p}1.8 \
639              $(install_prefix)$(man8dir)/`echo $$p | sed '$(transform)'`.8; fi;\
640        done
641
642install-configs:
643        -if test '!' -f $(install_prefix)$(HOST_CONFIG_FILE); then \
644          $(INSTALL_DATA) -m 0644 $(srcdir)/host_config.sample \
645            $(install_prefix)$(HOST_CONFIG_FILE); fi
646        -if test '!' -f $(install_prefix)$(SERVER_CONFIG_FILE); then \
647          cat $(srcdir)/server_config.sample | \
648          sed "s#_ETCDIR_#$(etcdir)#g" >/tmp/ssh_inst.$$$$; \
649          $(INSTALL_DATA) -m 0644 /tmp/ssh_inst.$$$$ \
650            $(install_prefix)$(SERVER_CONFIG_FILE); \
651          rm -f /tmp/ssh_inst.$$$$; fi
652
653uninstall:
654        for p in ssh $(NORMAL_PROGRAMS) $(X_PROGRAMS) $(OTHER_PROGRAMS) $(SCRIPT_PROGRAMS); do \
655          rm -f $(install_prefix)$(bindir)/$$p; \
656          rm -f $(install_prefix)$(bindir)/$$p.old; \
657          rm -f $(install_prefix)$(bindir)/$${p}1; \
658          rm -f $(install_prefix)$(bindir)/$${p}1.old; \
659          rm -f $(install_prefix)$(bindir)/`echo $$p | sed '$(transform)'`; \
660        done
661        for p in $(SBIN_PROGRAMS); do \
662          rm -f $(install_prefix)$(sbindir)/$$p; \
663          rm -f $(install_prefix)$(sbindir)/$$p.old; \
664          rm -f $(install_prefix)$(sbindir)/$${p}1; \
665          rm -f $(install_prefix)$(sbindir)/$${p}1.old; \
666          rm -f $(install_prefix)$(sbindir)/`echo $$p | sed '$(transform)'`; \
667        done
668        rm -f $(install_prefix)$(bindir)/slogin
669        rm -f $(install_prefix)$(bindir)/slogin1
670        rm -f $(install_prefix)$(bindir)/`echo slogin | sed '$(transform)'`
671        for p in $(MAN1PAGES) $(MAN1GENERATED); do \
672          rm -f $(install_prefix)$(man1dir)/$$p.1; \
673          rm -f $(install_prefix)$(man1dir)/$${p}1.1; \
674          rm -f $(install_prefix)$(man1dir)/`echo $$p | sed '$(transform)'`.1; \
675        done
676        rm -f $(install_prefix)$(man1dir)/slogin.1
677        rm -f $(install_prefix)$(man1dir)/slogin1.1
678        rm -f $(install_prefix)$(man1dir)/`echo slogin.1 | sed '$(transform)'`
679        for p in $(MAN8GENERATED); do \
680          rm -f $(install_prefix)$(man8dir)/$$p.8; \
681          rm -f $(install_prefix)$(man8dir)/$${p}1.8; \
682          rm -f $(install_prefix)$(man8dir)/`echo $$p | sed '$(transform)'`.8; \
683        done
684
685clean:
686        -rm -f *.o gmon.out *core $(PROGRAMS) rfc-pg
687        cd $(GMPDIR); $(MAKE) clean
688#       cd $(RSAREFSRCDIR); rm -f *.o *.a
689        cd $(ZLIBDIR); $(MAKE) clean
690
691distclean: clean
692        -rm -f Makefile config.status config.cache config.log config.h
693        -rm -f ssh.1 sshd.8 make-ssh-known-hosts.1
694        cd $(GMPDIR); $(MAKE) distclean
695        cd $(ZLIBDIR); $(MAKE) distclean
696
697dist: dist-free
698
699dist-free: dist-make-dir dist-free-cleanup \
700        dist-free-make-tar dist-increment-version
701#ifdef F_SECURE_COMMERCIAL
702#
703#
704#
705#endif F_SECURE_COMMERCIAL
706dist-free-cleanup:
707#ifdef F_SECURE_COMMERCIAL
708#
709#
710#
711
712#
713#
714#
715#
716#
717#endif F_SECURE_COMMERCIAL
718
719dist-make-dir:
720        -rm -rf $(DISTNAME)
721        -mkdir $(DISTNAME)
722        cp $(DISTFILES) $(DISTNAME)
723        for i in $(DISTSRCS); do cp $(srcdir)/$$i $(DISTNAME); done
724        (cd $(GMPDIR); make dist)
725        gzip -cd $(GMPDIR)/$(GMPDIR).tar.gz | (cd $(DISTNAME); tar pxf - )
726#       tar cf - $(RSAREFDIR) | (cd $(DISTNAME); tar xf -)
727#       cd $(DISTNAME)/$(RSAREFSRCDIR); rm -f *.o *.a
728        (cd  $(srcdir); tar pcf - $(ZLIBDIR) )| (cd $(DISTNAME); tar pxf -)
729        cd $(DISTNAME)/$(ZLIBDIR); rm -f *.o *.a; rm -rf CVS
730
731#ifdef F_SECURE_COMMERCIAL
732#
733#
734#endif F_SECURE_COMMERCIAL
735
736dist-free-make-tar:
737        tar pcf $(DISTNAME).tar $(DISTNAME)
738        -rm -f $(DISTNAME).tar.gz
739        gzip $(DISTNAME).tar
740        rm -rf $(DISTNAME)
741        @echo Distribution left in $(DISTNAME).tar.gz
742
743dist-commercial-make-tar:
744        tar pcf $(CDISTNAME).tar $(CDISTNAME)
745        -rm -f $(CDISTNAME).tar.gz
746        gzip $(CDISTNAME).tar
747        rm -rf $(CDISTNAME)
748        @echo Distribution left in $(CDISTNAME).tar.gz
749
750dist-increment-version:
751        @echo Incrementing version number...
752        @old_version=`sed 's/.*\.\([0-9][0-9]*\)"$$/\1/' $(srcdir)/version.h`; \
753         new_version=`expr $$old_version + 1`; \
754         (echo "s/\.$$old_version\"/.$$new_version\"/g"; echo w; echo q) | ed $(srcdir)/version.h >/dev/null
755
756depend:
757        $(MAKEDEP) -I$(srcdir) -I. $(KERBEROS_INCS) -I$(GMPDIR) -I$(ZLIBDIR) $(ATHENA_INCS) $(X_CFLAGS) $(DEFS) $(SRCS)
758
759tags:
760        -rm -f TAGS
761        find config.h $(srcdir) -name '*.[chly]' -print | xargs etags -a
Note: See TracBrowser for help on using the repository browser.