159243SobrienXCOMM
2100616SmpXCOMM Imakefile for tcsh 6.12
359243SobrienXCOMM Marc Horowitz, MIT SIPB
459243SobrienXCOMM
559243Sobrien
659243Sobrien#ifdef DestDir
759243Sobrien#undef DestDir
859243Sobrien#endif
959243Sobrien#ifdef ManSuffix
1059243Sobrien#undef ManSuffix
1159243Sobrien#endif
1259243Sobrien
1359243Sobrien/* All config options go in a separate file. */
1459243Sobrien
1559243Sobrien#include "imake.config"
1659243Sobrien
1759243Sobrien#ifndef HasGcc
1859243Sobrien# define HasGcc 0
1959243Sobrien#endif
2059243Sobrien
2159243Sobrien#ifndef HasGcc2
2259243Sobrien# define HasGcc2 0
2359243Sobrien#endif
2459243Sobrien
2559243Sobrien/* This is a giant conditional block.  It should be set up right for
2659243Sobrienplatforms which are in here, but it may need to be changed for new
2759243Sobrienones.  Please send in your fixes and additions! */
2859243Sobrien
2959243Sobrien/**** tcsh configuration defines ****/
3059243Sobrien
3159243Sobrien/* specific platforms */
3259243Sobrien
3359243Sobrien#ifndef ConfigH
3459243Sobrien# ifdef UltrixArchitecture
3559243Sobrien#  define ConfigH ultrix
3659243Sobrien# endif
3759243Sobrien
3859243Sobrien# ifdef UxpArchitecture
3959243Sobrien#  define ConfigH sysv4
4059243Sobrien# endif
4159243Sobrien
42145479Smp# if defined(LinuxArchitecture) || defined(GNUArchitecture)
4359243Sobrien#  define ConfigH linux
4459243Sobrien# endif
4559243Sobrien
4659243Sobrien# ifdef AlphaArchitecture
47145479Smp#  if !defined(LinuxArchitecture) && !defined(GNUArchitecture)
4859243Sobrien#    define ConfigH decosf1
4959243Sobrien#  endif
5059243Sobrien#  if !HasGcc
5159243Sobrien#   define MyCflags -std1 -Olimit 2000
5259243Sobrien#  else
5359243Sobrien#   define NoCombineRegs
5459243Sobrien#  endif
5559243Sobrien# endif
5659243Sobrien
5759243Sobrien# if defined(VaxArchitecture) && !defined(UltrixArchitecture)
5859243Sobrien#  define ConfigH bsd
5959243Sobrien# endif
6059243Sobrien
6159243Sobrien# ifdef NeXTArchitecture
6259243Sobrien#  define ConfigH mach
6359243Sobrien# endif
6459243Sobrien
6559243Sobrien# if defined(SunArchitecture)
6659243Sobrien#  if (OSMajorVersion == 3)
6759243Sobrien#   define ConfigH sunos35
6859243Sobrien#  else
6959243Sobrien#   if (OSMajorVersion == 4)
7059243Sobrien#    if (OSMinorVersion == 0)
7159243Sobrien#     define ConfigH sunos40
7259243Sobrien#    else /* OSMinorVersion == 1 */
7359243Sobrien#     if (OSTeenyVersion == 3)
7459243Sobrien#      define ConfigH sunos413
7559243Sobrien#     else /* OsTeenyVersion in [0,1,2] */
7659243Sobrien#      define ConfigH sunos41
7759243Sobrien#     endif
7859243Sobrien#    endif
7959243Sobrien#    define NoCombineRegs
8059243Sobrien#   else /* OSMajorVersion == 5 */
8159243Sobrien#    if (OSMinorVersion < 3)
8259243Sobrien#     if (OSMinorVersion < 2)
8359243Sobrien#      define ConfigH sol2
8459243Sobrien#     else
8559243Sobrien#      define ConfigH sol22
8659243Sobrien#     endif
8759243Sobrien#    else
8859243Sobrien#     if (OSMinorVersion < 4)
8959243Sobrien#      define ConfigH sol23
9059243Sobrien#     else
9159243Sobrien#      if (OSMinorVersion < 6)
9259243Sobrien#       define ConfigH sol24
9359243Sobrien#      else
94231990Smp#       if (OSMinorVersion < 9)
95231990Smp#        define ConfigH sol26
96231990Smp#       else
97231990Smp#        define ConfigH sol29
98231990Smp#       endif
9959243Sobrien#      endif
10059243Sobrien#     endif
10159243Sobrien#    endif
10259243Sobrien#    define NoCombineRegs
10359243Sobrien#   endif
10459243Sobrien#  endif
10559243Sobrien# endif
10659243Sobrien
10759243Sobrien# ifdef HPArchitecture
10859243Sobrien/* For some stupid reason makedepend on HP requires this */
10959243SobrienDEPENDFLAGS = -o.o
11059243Sobrien#  if (OSMajorVersion >= 8)
11159243Sobrien#   define ConfigH hpux8
11259243Sobrien#  else
11359243Sobrien#   define ConfigH hpux7
11459243Sobrien#  endif
11559243Sobrien# endif
11659243Sobrien
11759243Sobrien# ifdef CrayArchitecture
11859243Sobrien#  define ConfigH cray
11959243Sobrien# endif
12059243Sobrien
12159243Sobrien# ifdef SGIArchitecture
12259243Sobrien#   define ConfigH irix
12359243Sobrien#   define UseLibBSD
12459243Sobrien#  if (OSMajorVersion < 5)
12559243Sobrien#   ifdef you_are_using_yp
12659243Sobrien#    define UseSunLib 
12759243Sobrien#   endif
12859243Sobrien#   if !HasGCC
12959243Sobrien#    define MyStdc -D__STDC__
13059243Sobrien#    if SGICompilerMajorVersion < 4
13159243SobrienCCOPTIONS=-float	# We don't want -cckr and -prototypes
13259243Sobrien#    endif
13359243Sobrien#   endif
13459243Sobrien#  endif
13559243Sobrien#  if (OSMajorVersion == 6)
13659243Sobrien#   if (OSMinorVersion >= 2)
13759243Sobrien#    undef UseLibBSD
13859243Sobrien#    define ConfigH irix62
13959243Sobrien#   endif
14059243Sobrien#  endif
14159243Sobrien# endif
14259243Sobrien
14359243Sobrien# ifdef IBMArchitecture
14459243Sobrien#  undef UseLibBSD
14559243Sobrien#  if (SystemV == YES)
14659243Sobrien#   define ConfigH aix
14759243Sobrien#   if OSMajorVersion < 3 
14859243Sobrien#    if OSMinorVersion < 2
14959243Sobrien#     define UseLibBSD
15059243Sobrien#    endif
15159243Sobrien#   endif
15259243Sobrien#  else
15359243Sobrien#   define ConfigH bsd
15459243Sobrien#   define AOSArchitecture
15559243Sobrien#  endif
15659243Sobrien# endif
15759243Sobrien
15859243Sobrien
15959243Sobrien#ifdef AOSArchitecture
16059243Sobrien#define MyStdc -U__STDC__
16159243Sobrien#endif
16259243Sobrien
16359243Sobrien# if defined(MipsBsdArchitecture) || defined(MipsSysvArchitecture)
16459243Sobrien#  define ConfigH mips
16559243Sobrien# endif
16659243Sobrien
16759243Sobrien# ifdef DguxArchitecture
16859243Sobrien#  define ConfigH dgux
16959243Sobrien# endif
17059243Sobrien
17159243Sobrien# ifdef ConvexArchitecture
17259243Sobrien#  define ConfigH convex
17359243Sobrien# endif
17459243Sobrien
17559243Sobrien# if defined(SQNTArchitecture) || defined(SequentArchitecture)
17659243Sobrien#  define ConfigH sequent
17759243Sobrien# endif
17859243Sobrien
17959243Sobrien# ifdef MacIIArchitecture
18059243Sobrien#  define ConfigH mac2
18159243Sobrien# endif
18259243Sobrien
18359243Sobrien# ifdef MinixArchitecture
18459243Sobrien/* Maybe conditional on MACH? */
18559243SobrienSYSSRCS=mi.termios.c mi.wait.h mi.varargs.h
18659243SobrienSYSOBJS=mi.termios.${SUF}
18759243SobrienEXTF=ma.setp.c vms.termcap.c
18859243Sobrien# else
18959243Sobrien/* Maybe conditional on MACH? */
19059243SobrienSYSSRCS=ma.setp.c
19159243SobrienSYSOBJS=ma.setp.${SUF}
19259243SobrienEXTF=mi.termios.c mi.wait.h mi.varargs.h vms.termcap.c
19359243Sobrien# endif
19459243Sobrien
19559243Sobrien# ifdef i386Isc
19659243Sobrien#  if IscVersion != 202
19759243Sobrien#   define ConfigH isc
19859243Sobrien#   define UseLibCposix
19959243Sobrien#  else
20059243Sobrien#   define ConfigH isc202
20159243Sobrien#  endif
20259243Sobrien# endif /* i386Isc */
20359243Sobrien
20459243Sobrien# ifdef OpenBSDArchitecture
20559243Sobrien#  define ConfigH bsd4.4
20659243Sobrien# endif /* OpenBsdArchitecture */
20759243Sobrien
20859243Sobrien# ifdef NetBSDArchitecture
20959243Sobrien#  define ConfigH bsd4.4
21059243Sobrien# endif /* NetBsdArchitecture */
21159243Sobrien
21259243Sobrien# ifdef FreeBSDArchitecture
21359243Sobrien#  define ConfigH bsd4.4
21459243Sobrien# endif /* FreeBsdArchitecture */
21559243Sobrien
216195609Smp# ifdef MidnightBSDArchitecture
217195609Smp#  define ConfigH bsd4.4
218195609Smp# endif /* MidnightBsdArchitecture */
219195609Smp
22059243Sobrien# ifdef i386SVR4Architecture
22159243Sobrien#  define ConfigH sysv4
22259243Sobrien#  ifdef DELL
22359243Sobrien#   define NoCombineRegs
22459243Sobrien#  endif
22559243Sobrien# endif
22659243Sobrien
22759243Sobrien#endif /* !ConfigH */
22859243Sobrien
22959243Sobrien/* generic os's */
23059243Sobrien
23159243Sobrien#ifndef ConfigH
23259243Sobrien
23359243Sobrien#if (SystemV == YES)
23459243Sobrien#define ConfigH sysv3
23559243Sobrien#else
23659243Sobrien/* why this as a default?  Why not? */
23759243Sobrien#define ConfigH bsd
23859243Sobrien#endif
23959243Sobrien
24059243Sobrien#endif /* !ConfigH */
24159243Sobrien
24259243Sobrien/**** libraries ****/
24359243Sobrien
24459243Sobrien#if (SystemV == NO) || defined(HPArchitecture) || \
24559243Sobrien	defined(SQNTArchitecture) || defined(SequentArchitecture) || \
24659243Sobrien	defined(MacIIArchitecture) || defined(UseLibTermcap)
24759243SobrienLIBTERMCAP = -ltermcap
24859243Sobrien#else
24959243SobrienLIBTERMCAP =
25059243Sobrien#endif
25159243Sobrien
25259243Sobrien#if defined(SQNTArchitecture) || defined(SequentArchitecture)
25359243SobrienLIBSQNT=-lsocket -linet -lnsl -lseq
25459243Sobrien#endif
25559243Sobrien
25659243Sobrien/* This may not be good enough - I don't have access to enough systems
25759243Sobriento really test it. */
25859243Sobrien#if (SystemV == YES) || defined(UseLibCurses) && !defined(HPArchitecture)
25959243SobrienLIBCURSES = -lcurses
26059243Sobrien#else
26159243SobrienLIBCURSES =
26259243Sobrien#endif
26359243Sobrien
26459243Sobrien#if defined(UseLibNet)
26559243SobrienLIBNET = -lnet
26659243Sobrien#else
26759243SobrienLIBNET =
26859243Sobrien#endif
26959243Sobrien
27059243Sobrien#if defined(UseLibSocket)
27159243SobrienLIBSOCKET = -lsocket
27259243Sobrien#else
27359243SobrienLIBSOCKET =
27459243Sobrien#endif
27559243Sobrien
27659243Sobrien#if defined(UseLibBSD)
27759243SobrienLIBBSD = -lbsd
27859243Sobrien#else
27959243SobrienLIBBSD = 
28059243Sobrien#endif
28159243Sobrien
28259243Sobrien#if (defined(SGIArchitecture) && \
28359243Sobrien     (OSMajorVersion == 3) && (OSMinorVersion == 3)) || \
28459243Sobrien	defined(UseLibC_S)
28559243SobrienLIBC_S = -lc_s
28659243Sobrien#else
28759243SobrienLIBC_S =
28859243Sobrien#endif
28959243Sobrien
29059243Sobrien#if defined(UseLibSun)
29159243SobrienLIBSUN = -lsun
29259243Sobrien#else
29359243SobrienLIBSUN =
29459243Sobrien#endif
29559243Sobrien
29659243Sobrien#if defined(UseLibCposix)
29759243SobrienLIBCPOSIX = -lcposix
29859243Sobrien#else
29959243SobrienLIBCPOSIX =
30059243Sobrien#endif
30159243Sobrien
30259243Sobrien#if defined(UseLibInet)
30359243SobrienLIBINET = -linet
30459243Sobrien#else
30559243SobrienLIBINET =
30659243Sobrien#endif
30759243Sobrien
30859243Sobrien#if defined(UseLibDir)
30959243SobrienLIBDIRECT = -ldir
31059243Sobrien#else
31159243SobrienLIBDIRECT = 
31259243Sobrien#endif
31359243Sobrien
31459243Sobrien#if defined(UseLibX)
31559243SobrienLIBX = -lx
31659243Sobrien#else
31759243SobrienLIBX =
31859243Sobrien#endif
31959243Sobrien
32059243Sobrien#if defined(UseLibIntl)
32159243SobrienLIBINTL = -lintl
32259243Sobrien#else
32359243SobrienLIBINTL =
32459243Sobrien#endif
32559243Sobrien
32659243Sobrien#if (HasLibCrypt == YES)
32759243SobrienLIBCRYPT = -lcrypt
32859243Sobrien#else
32959243SobrienLIBCRYPT =
33059243Sobrien#endif
33159243Sobrien
33259243Sobrien#if defined(MacIIArchitecture) || defined(UseLibPosix)
33359243SobrienLIBPOSIX = -lposix
33459243Sobrien#else
33559243SobrienLIBPOSIX =
33659243Sobrien#endif
33759243Sobrien
33859243Sobrien#if defined(ATTArchitecture) || defined(UseLibDirent)
33959243SobrienLIBDIRECTENT = -ldirent
34059243Sobrien#else
34159243SobrienLIBDIRECTENT =
34259243Sobrien#endif
34359243Sobrien
34459243Sobrien/* The order here is significant.  Although nothing uses all of these, 
34559243Sobriensome platforms which use more than one do care about the order. */
34659243Sobrien
34759243SobrienSYSLIBS = $(LIBPOSIX) $(LIBDIRECTENT) $(LIBTERMCAP) $(LIBCURSES) \
34859243Sobrien	$(LIBNET) $(LIBINTL) $(LIBSOCKET) $(LIBSUN) $(LIBBSD) $(LIBCPOSIX) \
34959243Sobrien	$(LIBINET) $(LIBDIRECT) $(LIBX) $(LIBC_S) $(LIBSQNT) $(LIBCRYPT)
35059243Sobrien
35159243Sobrien/* Past here, nothing should need to be changed to compile on a different
35259243Sobrienplatform, unless you have a really weird architecture. */
35359243Sobrien
35459243Sobrien#ifdef MyCC
35559243SobrienCC = MyCC
35659243Sobrien#else
35759243Sobrien# if HasGcc
35859243Sobrien#  if HasGcc2
35959243SobrienCC = gcc 
36059243Sobrien#  else
36159243Sobrien#   ifdef NoCombineRegs
36259243SobrienCC = gcc -finline-functions -fstrength-reduce
36359243Sobrien#   else
36459243SobrienCC = gcc -fcombine-regs -finline-functions -fstrength-reduce
36559243Sobrien#   endif
36659243Sobrien#  endif
36759243Sobrien# else
36859243SobrienCC = cc
36959243Sobrien# endif
37059243Sobrien#endif
37159243Sobrien
37259243Sobrien#ifdef HESIOD
37359243SobrienHESLIB = -L/usr/athena/lib -lhesiod
37459243Sobrien/* it seems to me that the -I shouldn't be necessary, but there seems
37559243Sobriento be a bug in the Imake stuff, so here it is. */
37659243SobrienHESDEF = -DHESIOD -I/usr/athena/include
37759243Sobrien#else
37859243SobrienHESLIB =
37959243SobrienHESDEF =
38059243Sobrien#endif
38159243Sobrien
38259243Sobrien#ifdef AFS
38359243Sobrien#ifndef AFSDIR
38459243SobrienAFSDIR = /usr/afsws
38559243Sobrien#endif
38659243Sobrien#ifdef AFS33
38759243Sobrien#define AFS33LIB -laudit
38859243Sobrien#else
38959243Sobrien#define AFS33LIB
39059243Sobrien#endif
39159243Sobrien/* Auxilliary libs needed for AFS */
39259243Sobrien/* Both HPUX and Solaris need the BSD libraries.  We need -lc before
39359243Sobrien * the bsd library to avoid using any more of it than is necessary.
39459243Sobrien */
39559243Sobrien#if defined(HPArchitecture)
39659243Sobrien#define AFSAUXLIB -lc -lBSD
39759243Sobrien/* This is probably a kludge, but so is imake. */
39859243Sobrien#else
39959243Sobrien#if defined(SunArchitecture) && (OSMajorVersion == 5)
40059243Sobrien#define AFSAUXLIB -lsocket -lnsl -lc -lucb
40159243Sobrien#else
40259243Sobrien#define AFSAUXLIB
40359243Sobrien#endif
40459243Sobrien#endif /* AFSAUXLIB */
40559243SobrienAFSLIB = -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lkauth -lprot -lubik\
40659243Sobrien	 -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\
40759243Sobrien	 $(AFSDIR)/lib/afs/util.a AFS33LIB AFSAUXLIB
40859243SobrienAFSDEF = -DAFS -I$(AFSDIR)/include
40959243Sobrien#else
41059243SobrienAFSLIB =
41159243SobrienAFSDEF =
41259243Sobrien#endif
41359243Sobrien
41459243Sobrien/* This is encore specific, but I don't know what encore's #define is,
41559243Sobrienand it shouldn't hurt to have it here, so here it is */
41659243SobrienPARALLEL=12				# Make the multi-max run fast.
41759243Sobrien
41859243Sobrien#ifndef TcshTop
41959243Sobrien#define TcshTop /usr/local
42059243Sobrien#endif
42159243SobrienTCSHTOP = TcshTop
42259243Sobrien
42359243Sobrien#ifndef ManSuffix
42459243Sobrien#define ManSuffix 1
42559243Sobrien#endif
42659243SobrienMANSUFFIX = ManSuffix
42759243Sobrien
42859243Sobrien#ifdef TcshPath
42959243SobrienPATH_TCSHELL = TcshPath
43059243SobrienTCSHPATH = -D_PATH_TCSHELL='"$(PATH_TCSHELL)"'
43159243Sobrien#else
43259243SobrienTCSHPATH =
43359243Sobrien#endif
43459243Sobrien
43559243Sobrien#ifdef DestBin
43659243SobrienTCSH_BINDIR = DestBin
43759243Sobrien#else
43859243SobrienTCSH_BINDIR = $(TCSHTOP)/bin
43959243Sobrien#endif
44059243Sobrien#ifdef DestMan
44159243SobrienTCSH_MANDIR = DestMan
44259243Sobrien#else
44359243SobrienTCSH_MANDIR = $(TCSHTOP)/man/man$(MANSUFFIX)
44459243Sobrien#endif
44559243Sobrien
44659243SobrienLOCALLIBS =
44759243Sobrien
44859243Sobrien#ifndef MyCflags
44959243Sobrien#define MyCflags
45059243Sobrien#endif
45159243Sobrien
45259243Sobrien#ifndef MyDefines
45359243Sobrien#define MyDefines
45459243Sobrien#endif
45559243Sobrien
45659243Sobrien#ifndef MyIncludes
45759243Sobrien#define MyIncludes
45859243Sobrien#endif
45959243Sobrien
46059243Sobrien#ifndef MyStdc
46159243Sobrien#define MyStdc
46259243Sobrien#endif
46359243Sobrien
46459243Sobrien#ifdef CDebugFlags
46559243SobrienCDEBUGFLAGS = CDebugFlags
46659243Sobrien#else
46759243Sobrien# if HasGcc2
46859243SobrienCDEBUGFLAGS = -O2
46959243Sobrien# else
47059243SobrienCDEBUGFLAGS = -O
47159243Sobrien# endif
47259243Sobrien#endif
47359243Sobrien
47459243Sobrien
47559243Sobrien#ifdef HostType
47659243SobrienHOSTTYPE=HostType
47759243SobrienHTDEF = -DHOSTTYPE='"$(HOSTTYPE)"'
47859243Sobrien#else
47959243SobrienHTDEF =
48059243Sobrien#endif
48159243Sobrien
48259243SobrienDEFINES = $(TCSHPATH) $(HESDEF) $(AFSDEF) $(HTDEF) MyDefines MyCflags MyStdc
48359243SobrienINCLUDES = -I. MyIncludes
48459243Sobrien#ifdef MyLibs
48559243SobrienLDLIBS = MyLibs
48659243Sobrien#endif
48759243Sobrien
48859243SobrienSUF = o
489100616SmpVERSION = 6.12
49059243Sobrien
491131962SmpSHSRCS=	sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c \
492131962Smp	sh.char.c sh.exp.c sh.file.c sh.func.c \
493131962Smp	sh.glob.c sh.hist.c sh.init.c sh.lex.c \
494131962Smp	sh.misc.c sh.parse.c sh.print.c sh.proc.c \
495131962Smp	sh.sem.c sh.set.c sh.time.c glob.c \
496131962Smp	sh.char.h sh.dir.h sh.proc.h sh.h \
497131962Smp	sh.decls.h glob.h ${SYSSRCS}
49859243SobrienSHOBJS=	sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \
499131962Smp	sh.char.${SUF} sh.exp.${SUF} sh.file.${SUF} sh.func.${SUF} \
500131962Smp	sh.glob.${SUF} sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} \
501131962Smp	sh.misc.${SUF} sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} \
502131962Smp	sh.sem.${SUF} sh.set.${SUF} sh.time.${SUF} glob.${SUF} ${SYSOBJS}
50359243Sobrien
50459243SobrienTWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \
50559243Sobrien	tw.comp.c tw.color.c
50659243SobrienTWOBJS=	tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \
50759243Sobrien	tw.comp.${SUF} tw.color.${SUF}
50859243Sobrien
50959243SobrienEDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \
51059243Sobrien	ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h
51159243SobrienEDOBJS=	ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \
51259243Sobrien	ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF}
51359243Sobrien
51459243SobrienTCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \
51559243Sobrien	tc.func.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \
51659243Sobrien	tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \
51759243Sobrien	tc.who.c tc.h 
51859243SobrienTCOBJS=	tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \
51959243Sobrien	tc.disc.${SUF} tc.func.${SUF} tc.os.${SUF} tc.printf.${SUF} \
52059243Sobrien	tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \
52159243Sobrien	tc.vers.${SUF} tc.who.${SUF} 
52259243Sobrien
523354195SbrooksMISCF = Makefile.std BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md \
524354195Sbrooks	FAQ WishList config_f.h eight-bit.me glob.3 patchlevel.h pathnames.h \
525354195Sbrooks	tcsh.man Ported src.desc Imakefile imake.config complete.tcsh \
526354195Sbrooks	Makefile.vms termcap.vms snames.h host.defs gethost.c tcsh.man2html \
527354195Sbrooks	Makefile.in configure.ac Makefile.win32 aclocal.m4
52859243SobrienCONFSRCS=config/[a-z]*
52959243Sobrien
53059243Sobrien
53159243SobrienSRCS = $(SHSRCS) $(TWSRCS) $(EDSRCS) $(TCSRCS)
53259243SobrienOBJS = $(SHOBJS) $(TWOBJS) $(EDOBJS) $(TCOBJS)
53359243Sobrien
53459243SobrienALLSRCS= $(MISCF) $(SRCS) $(EXTF)
53559243Sobrien
53659243SobrienAllTarget(tcsh)
53759243Sobrien
53859243Sobriened.defns.h: config.h ed.defns.c
53959243Sobrien	@rm -f $@
54059243Sobrien	@echo '/* Do not edit this file, make creates it. */' > $@
54159243Sobrien	@echo '#ifndef _h_ed_defns' >> $@
54259243Sobrien	@echo '#define _h_ed_defns' >> $@
54359243Sobrien	egrep '[FV]_' ed.defns.c | egrep '^#define' >> $@
54459243Sobrien	@echo '#endif /* _h_ed_defns */' >> $@
54559243Sobrien
54659243Sobriensh.err.h: config.h sh.err.c
54759243Sobrien	@rm -f $@
54859243Sobrien	@echo '/* Do not edit this file, make creates it. */' > $@
54959243Sobrien	@echo '#ifndef _h_sh_err' >> $@
55059243Sobrien	@echo '#define _h_sh_err' >> $@
55159243Sobrien	egrep 'ERR_' sh.err.c | egrep '^#define' >> $@
55259243Sobrien	@echo '#endif /* _h_sh_err */' >> $@
55359243Sobrien
55459243Sobrientc.const.h: config.h tc.const.c
55559243Sobrien	@rm -f $@
55659243Sobrien	@echo '/* Do not edit this file, make creates it. */' > $@
55759243Sobrien	@echo '#ifndef _h_tc_const' >> $@
55859243Sobrien	@echo '#define _h_tc_const' >> $@
55959243Sobrien	${CC} -E $(INCLUDES) ${DEFINES} -D_h_tc_const tc.const.c | \
56059243Sobrien	    grep 'Char STR' | \
56159243Sobrien	    sed -e 's/Char \([a-zA-Z0-9_]*\)\[\].*/extern Char \1[];/' | \
56259243Sobrien	    sort >> $@
56359243Sobrien	@echo '#endif /* _h_tc_const */' >> $@
56459243Sobrien
56559243Sobrienconfig.h: config_f.h
56659243Sobrien	cp config/ConfigH config.h
56759243Sobrien
56859243Sobrien$(OBJS): sh.err.h tc.const.h ed.defns.h
56959243Sobrien
57059243Sobrientar.Z:
57159243Sobrien	rm -f tcsh-${VERSION}.tar.Z
57259243Sobrien	rm -rf tcsh-${VERSION} 
57359243Sobrien	mkdir tcsh-${VERSION} tcsh-${VERSION}/config
57459243Sobrien	cp ${ALLSRCS} tcsh-${VERSION}
57559243Sobrien	cp ${CONFSRCS} tcsh-${VERSION}/config
57659243Sobrien	tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -)
57759243Sobrien	tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z
57859243Sobrien	rm -rf tcsh-${VERSION}
57959243Sobrien
58059243Sobrientar.gz:
58159243Sobrien	rm -f tcsh-${VERSION}.tar.gz
58259243Sobrien	rm -rf tcsh-${VERSION} 
58359243Sobrien	mkdir tcsh-${VERSION} tcsh-${VERSION}/config
58459243Sobrien	cp ${ALLSRCS} tcsh-${VERSION}
58559243Sobrien	cp ${CONFSRCS} tcsh-${VERSION}/config
58659243Sobrien	tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -)
58759243Sobrien	tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz
58859243Sobrien	rm -rf tcsh-${VERSION}
58959243Sobrien
59059243Sobrienshar:
59159243Sobrien	rm -f tcsh-*.shar
59259243Sobrien	rm -rf tcsh-${VERSION} 
59359243Sobrien	mkdir tcsh-${VERSION} tcsh-${VERSION}/config
59459243Sobrien	cp ${ALLSRCS} tcsh-${VERSION}
59559243Sobrien	cp ${CONFSRCS} tcsh-${VERSION}/config
59659243Sobrien	tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -)
59759243Sobrien	MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \
59859243Sobrien		 tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \
59959243Sobrien		 tcsh-${VERSION}/?*/set?*
60059243Sobrien	rm -rf tcsh-${VERSION}
60159243Sobrien
60259243Sobriencatalogs:
60359243Sobrien	@(cd nls; make catalogs)
60459243Sobrien	
60559243Sobrienworld:
60659243Sobrien	$(MAKE) clean ; $(MAKE) depend ; $(MAKE) tcsh ; $(MAKE) install
60759243Sobrien
60859243Sobrienclean::
60959243Sobrien	rm -f ed.defns.h sh.err.h tc.const.h config.h tc.defs.*
61059243Sobrien	rm -f tcsh.*.m tcsh.*.cat
61159243Sobrien
61259243Sobriendepend:: config.h ed.defns.h sh.err.h tc.const.h $(SRCS) tc.defs.c
61359243Sobrien
61459243Sobrientc.defs.${SUF}:	tc.defs.c sh.h
61559243Sobrien
61659243Sobrientc.defs.c:	gethost host.defs
61759243Sobrien	@rm -f $@
61859243Sobrien	@echo "/* Do not edit this file, make creates it */" > $@
61959243Sobrien	./gethost host.defs >> $@
62059243Sobrien
62159243SobrienALIB=$(HESLIB) $(AFSLIB) $(SYSLIBS)
62259243SobrienAINC=ed.defns.h sh.err.h tc.const.h sh.h
62359243Sobrien
62459243SobrienNormalProgramTarget(tcsh, $(OBJS), $(AINC), $(LOCALLIBS), $(ALIB))
62559243SobrienNormalProgramTarget(gethost, gethost.${SUF}, $(AINC), $(LOCALLIBS), $(ALIB))
62659243Sobrien
62759243SobrienInstallProgram(tcsh,$(TCSH_BINDIR))
62859243SobrienInstallManPage(tcsh,$(TCSH_MANDIR))
62959243SobrienDependTarget()
630