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