Imakefile revision 59243
11556SrgrimesXCOMM
21556SrgrimesXCOMM $Id: Imakefile,v 1.76 1999/06/09 19:26:36 christos Exp $
31556SrgrimesXCOMM
41556SrgrimesXCOMM Imakefile for tcsh 6.08
51556SrgrimesXCOMM Marc Horowitz, MIT SIPB
61556SrgrimesXCOMM
71556Srgrimes
81556Srgrimes#ifdef DestDir
91556Srgrimes#undef DestDir
101556Srgrimes#endif
111556Srgrimes#ifdef ManSuffix
121556Srgrimes#undef ManSuffix
131556Srgrimes#endif
141556Srgrimes
151556Srgrimes/* All config options go in a separate file. */
161556Srgrimes
171556Srgrimes#include "imake.config"
181556Srgrimes
191556Srgrimes#ifndef HasGcc
201556Srgrimes# define HasGcc 0
211556Srgrimes#endif
221556Srgrimes
231556Srgrimes#ifndef HasGcc2
241556Srgrimes# define HasGcc2 0
251556Srgrimes#endif
261556Srgrimes
271556Srgrimes/* This is a giant conditional block.  It should be set up right for
281556Srgrimesplatforms which are in here, but it may need to be changed for new
291556Srgrimesones.  Please send in your fixes and additions! */
301556Srgrimes
311556Srgrimes/**** tcsh configuration defines ****/
321556Srgrimes
331556Srgrimes/* specific platforms */
341556Srgrimes
351556Srgrimes#ifndef ConfigH
361556Srgrimes# ifdef UltrixArchitecture
371556Srgrimes#  define ConfigH ultrix
3836150Scharnier# endif
3936150Scharnier
4036150Scharnier# ifdef UxpArchitecture
4136150Scharnier#  define ConfigH sysv4
4245916Scracauer# endif
431556Srgrimes
441556Srgrimes# ifdef LinuxArchitecture
4517987Speter#  define ConfigH linux
4617987Speter# endif
4717987Speter
4817987Speter# ifdef AlphaArchitecture
4917987Speter#  ifndef LinuxArchitecture
5017987Speter#    define ConfigH decosf1
5117987Speter#  endif
5217987Speter#  if !HasGcc
5319281Sache#   define MyCflags -std1 -Olimit 2000
5438887Stegge#  else
5517987Speter#   define NoCombineRegs
561556Srgrimes#  endif
571556Srgrimes# endif
581556Srgrimes
591556Srgrimes# if defined(VaxArchitecture) && !defined(UltrixArchitecture)
601556Srgrimes#  define ConfigH bsd
611556Srgrimes# endif
621556Srgrimes
631556Srgrimes# ifdef NeXTArchitecture
641556Srgrimes#  define ConfigH mach
651556Srgrimes# endif
661556Srgrimes
671556Srgrimes# if defined(SunArchitecture)
681556Srgrimes#  if (OSMajorVersion == 3)
691556Srgrimes#   define ConfigH sunos35
701556Srgrimes#  else
711556Srgrimes#   if (OSMajorVersion == 4)
721556Srgrimes#    if (OSMinorVersion == 0)
731556Srgrimes#     define ConfigH sunos40
741556Srgrimes#    else /* OSMinorVersion == 1 */
751556Srgrimes#     if (OSTeenyVersion == 3)
7617987Speter#      define ConfigH sunos413
7717987Speter#     else /* OsTeenyVersion in [0,1,2] */
781556Srgrimes#      define ConfigH sunos41
791556Srgrimes#     endif
801556Srgrimes#    endif
811556Srgrimes#    define NoCombineRegs
821556Srgrimes#   else /* OSMajorVersion == 5 */
831556Srgrimes#    if (OSMinorVersion < 3)
841556Srgrimes#     if (OSMinorVersion < 2)
851556Srgrimes#      define ConfigH sol2
861556Srgrimes#     else
871556Srgrimes#      define ConfigH sol22
881556Srgrimes#     endif
891556Srgrimes#    else
901556Srgrimes#     if (OSMinorVersion < 4)
911556Srgrimes#      define ConfigH sol23
921556Srgrimes#     else
931556Srgrimes#      if (OSMinorVersion < 6)
941556Srgrimes#       define ConfigH sol24
951556Srgrimes#      else
961556Srgrimes#       define ConfigH sol26
971556Srgrimes#      endif
9817987Speter#     endif
9917987Speter#    endif
10017987Speter#    define NoCombineRegs
10120425Ssteve#   endif
10217987Speter#  endif
10325233Ssteve# endif
10418202Speter
10517987Speter# ifdef HPArchitecture
10638887Stegge/* For some stupid reason makedepend on HP requires this */
10717987SpeterDEPENDFLAGS = -o.o
10817987Speter#  if (OSMajorVersion >= 8)
10917987Speter#   define ConfigH hpux8
11017987Speter#  else
11117987Speter#   define ConfigH hpux7
11217987Speter#  endif
11345514Stegge# endif
11417987Speter
11519281Sache# ifdef CrayArchitecture
1161556Srgrimes#  define ConfigH cray
11719281Sache# endif
11819281Sache
11919281Sache# ifdef SGIArchitecture
12019281Sache#   define ConfigH irix
12119281Sache#   define UseLibBSD
12219281Sache#  if (OSMajorVersion < 5)
12319281Sache#   ifdef you_are_using_yp
12419281Sache#    define UseSunLib 
12519281Sache#   endif
12619281Sache#   if !HasGCC
12719281Sache#    define MyStdc -D__STDC__
12819281Sache#    if SGICompilerMajorVersion < 4
12919281SacheCCOPTIONS=-float	# We don't want -cckr and -prototypes
13019281Sache#    endif
13119281Sache#   endif
13219281Sache#  endif
13319281Sache#  if (OSMajorVersion == 6)
1341556Srgrimes#   if (OSMinorVersion >= 2)
1351556Srgrimes#    undef UseLibBSD
1361556Srgrimes#    define ConfigH irix62
1371556Srgrimes#   endif
1381556Srgrimes#  endif
1391556Srgrimes# endif
1401556Srgrimes
1411556Srgrimes# ifdef IBMArchitecture
1421556Srgrimes#  undef UseLibBSD
1431556Srgrimes#  if (SystemV == YES)
1441556Srgrimes#   define ConfigH aix
14539137Stegge#   if OSMajorVersion < 3 
1461556Srgrimes#    if OSMinorVersion < 2
1471556Srgrimes#     define UseLibBSD
1481556Srgrimes#    endif
1491556Srgrimes#   endif
1501556Srgrimes#  else
1511556Srgrimes#   define ConfigH bsd
1521556Srgrimes#   define AOSArchitecture
1531556Srgrimes#  endif
1541556Srgrimes# endif
1551556Srgrimes
1561556Srgrimes
1571556Srgrimes#ifdef AOSArchitecture
1581556Srgrimes#define MyStdc -U__STDC__
1591556Srgrimes#endif
16017987Speter
16117987Speter# if defined(MipsBsdArchitecture) || defined(MipsSysvArchitecture)
1621556Srgrimes#  define ConfigH mips
1631556Srgrimes# endif
1641556Srgrimes
1651556Srgrimes# ifdef DguxArchitecture
1661556Srgrimes#  define ConfigH dgux
1671556Srgrimes# endif
1681556Srgrimes
1691556Srgrimes# ifdef ConvexArchitecture
1701556Srgrimes#  define ConfigH convex
1711556Srgrimes# endif
1721556Srgrimes
1731556Srgrimes# if defined(SQNTArchitecture) || defined(SequentArchitecture)
1741556Srgrimes#  define ConfigH sequent
1751556Srgrimes# endif
1761556Srgrimes
1771556Srgrimes# ifdef MacIIArchitecture
1781556Srgrimes#  define ConfigH mac2
1791556Srgrimes# endif
1801556Srgrimes
1811556Srgrimes# ifdef MinixArchitecture
1821556Srgrimes/* Maybe conditional on MACH? */
1831556SrgrimesSYSSRCS=mi.termios.c mi.wait.h mi.varargs.h
1841556SrgrimesSYSOBJS=mi.termios.${SUF}
1851556SrgrimesEXTF=ma.setp.c vms.termcap.c
1861556Srgrimes# else
1871556Srgrimes/* Maybe conditional on MACH? */
1881556SrgrimesSYSSRCS=ma.setp.c
1891556SrgrimesSYSOBJS=ma.setp.${SUF}
1901556SrgrimesEXTF=mi.termios.c mi.wait.h mi.varargs.h vms.termcap.c
1911556Srgrimes# endif
1921556Srgrimes
1931556Srgrimes# ifdef i386Isc
1941556Srgrimes#  if IscVersion != 202
1951556Srgrimes#   define ConfigH isc
1961556Srgrimes#   define UseLibCposix
1971556Srgrimes#  else
1981556Srgrimes#   define ConfigH isc202
1991556Srgrimes#  endif
2001556Srgrimes# endif /* i386Isc */
2011556Srgrimes
2021556Srgrimes# ifdef OpenBSDArchitecture
2031556Srgrimes#  define ConfigH bsd4.4
2041556Srgrimes# endif /* OpenBsdArchitecture */
2051556Srgrimes
2061556Srgrimes# ifdef NetBSDArchitecture
2071556Srgrimes#  define ConfigH bsd4.4
2081556Srgrimes# endif /* NetBsdArchitecture */
2091556Srgrimes
2101556Srgrimes# ifdef FreeBSDArchitecture
2111556Srgrimes#  define ConfigH bsd4.4
2121556Srgrimes# endif /* FreeBsdArchitecture */
2131556Srgrimes
2141556Srgrimes# ifdef i386SVR4Architecture
2151556Srgrimes#  define ConfigH sysv4
2161556Srgrimes#  ifdef DELL
21725233Ssteve#   define NoCombineRegs
21817987Speter#  endif
21917987Speter# endif
22025233Ssteve
2211556Srgrimes#endif /* !ConfigH */
2221556Srgrimes
2231556Srgrimes/* generic os's */
2241556Srgrimes
2251556Srgrimes#ifndef ConfigH
2261556Srgrimes
2271556Srgrimes#if (SystemV == YES)
2281556Srgrimes#define ConfigH sysv3
2291556Srgrimes#else
2301556Srgrimes/* why this as a default?  Why not? */
23138887Stegge#define ConfigH bsd
23238887Stegge#endif
23338887Stegge
23438887Stegge#endif /* !ConfigH */
23539137Stegge
23639137Stegge/**** libraries ****/
23738887Stegge
2381556Srgrimes#if (SystemV == NO) || defined(HPArchitecture) || \
2391556Srgrimes	defined(SQNTArchitecture) || defined(SequentArchitecture) || \
2401556Srgrimes	defined(MacIIArchitecture) || defined(UseLibTermcap)
2411556SrgrimesLIBTERMCAP = -ltermcap
2421556Srgrimes#else
2431556SrgrimesLIBTERMCAP =
2441556Srgrimes#endif
2451556Srgrimes
2461556Srgrimes#if defined(SQNTArchitecture) || defined(SequentArchitecture)
2471556SrgrimesLIBSQNT=-lsocket -linet -lnsl -lseq
2481556Srgrimes#endif
2491556Srgrimes
2501556Srgrimes/* This may not be good enough - I don't have access to enough systems
2511556Srgrimesto really test it. */
2521556Srgrimes#if (SystemV == YES) || defined(UseLibCurses) && !defined(HPArchitecture)
2531556SrgrimesLIBCURSES = -lcurses
2541556Srgrimes#else
2551556SrgrimesLIBCURSES =
2561556Srgrimes#endif
2571556Srgrimes
2581556Srgrimes#if defined(UseLibNet)
2591556SrgrimesLIBNET = -lnet
2601556Srgrimes#else
2611556SrgrimesLIBNET =
2621556Srgrimes#endif
2631556Srgrimes
2641556Srgrimes#if defined(UseLibSocket)
2651556SrgrimesLIBSOCKET = -lsocket
2661556Srgrimes#else
2671556SrgrimesLIBSOCKET =
2681556Srgrimes#endif
2691556Srgrimes
2701556Srgrimes#if defined(UseLibBSD)
2711556SrgrimesLIBBSD = -lbsd
2721556Srgrimes#else
2731556SrgrimesLIBBSD = 
2741556Srgrimes#endif
2751556Srgrimes
2761556Srgrimes#if (defined(SGIArchitecture) && \
2771556Srgrimes     (OSMajorVersion == 3) && (OSMinorVersion == 3)) || \
2781556Srgrimes	defined(UseLibC_S)
2791556SrgrimesLIBC_S = -lc_s
2801556Srgrimes#else
2811556SrgrimesLIBC_S =
28217987Speter#endif
28317987Speter
2841556Srgrimes#if defined(UseLibSun)
2851556SrgrimesLIBSUN = -lsun
2861556Srgrimes#else
2871556SrgrimesLIBSUN =
2881556Srgrimes#endif
28917987Speter
2901556Srgrimes#if defined(UseLibCposix)
2911556SrgrimesLIBCPOSIX = -lcposix
2921556Srgrimes#else
29339137SteggeLIBCPOSIX =
29439137Stegge#endif
2951556Srgrimes
2961556Srgrimes#if defined(UseLibInet)
2971556SrgrimesLIBINET = -linet
2981556Srgrimes#else
2991556SrgrimesLIBINET =
3001556Srgrimes#endif
3011556Srgrimes
3021556Srgrimes#if defined(UseLibDir)
3031556SrgrimesLIBDIRECT = -ldir
3041556Srgrimes#else
3051556SrgrimesLIBDIRECT = 
3061556Srgrimes#endif
3071556Srgrimes
3081556Srgrimes#if defined(UseLibX)
3091556SrgrimesLIBX = -lx
3101556Srgrimes#else
3111556SrgrimesLIBX =
3121556Srgrimes#endif
3131556Srgrimes
3141556Srgrimes#if defined(UseLibIntl)
3151556SrgrimesLIBINTL = -lintl
3161556Srgrimes#else
31717987SpeterLIBINTL =
3181556Srgrimes#endif
3191556Srgrimes
3201556Srgrimes#if (HasLibCrypt == YES)
3211556SrgrimesLIBCRYPT = -lcrypt
3221556Srgrimes#else
3231556SrgrimesLIBCRYPT =
3241556Srgrimes#endif
3251556Srgrimes
3261556Srgrimes#if defined(MacIIArchitecture) || defined(UseLibPosix)
3271556SrgrimesLIBPOSIX = -lposix
3281556Srgrimes#else
32938887SteggeLIBPOSIX =
33038887Stegge#endif
33138887Stegge
33238887Stegge#if defined(ATTArchitecture) || defined(UseLibDirent)
33338887SteggeLIBDIRECTENT = -ldirent
33438887Stegge#else
33538887SteggeLIBDIRECTENT =
33638887Stegge#endif
33738887Stegge
33838887Stegge/* The order here is significant.  Although nothing uses all of these, 
33938887Steggesome platforms which use more than one do care about the order. */
34038887Stegge
34138887SteggeSYSLIBS = $(LIBPOSIX) $(LIBDIRECTENT) $(LIBTERMCAP) $(LIBCURSES) \
34238887Stegge	$(LIBNET) $(LIBINTL) $(LIBSOCKET) $(LIBSUN) $(LIBBSD) $(LIBCPOSIX) \
34338887Stegge	$(LIBINET) $(LIBDIRECT) $(LIBX) $(LIBC_S) $(LIBSQNT) $(LIBCRYPT)
34438887Stegge
34538887Stegge/* Past here, nothing should need to be changed to compile on a different
34638887Steggeplatform, unless you have a really weird architecture. */
34738887Stegge
34838887Stegge#ifdef MyCC
34938887SteggeCC = MyCC
35038887Stegge#else
35138887Stegge# if HasGcc
35238887Stegge#  if HasGcc2
35338887SteggeCC = gcc 
35438887Stegge#  else
35538887Stegge#   ifdef NoCombineRegs
35638887SteggeCC = gcc -finline-functions -fstrength-reduce
35738887Stegge#   else
35838887SteggeCC = gcc -fcombine-regs -finline-functions -fstrength-reduce
35938887Stegge#   endif
36038887Stegge#  endif
36138887Stegge# else
36238887SteggeCC = cc
36338887Stegge# endif
36438887Stegge#endif
36538887Stegge
36638887Stegge#ifdef HESIOD
36738887SteggeHESLIB = -L/usr/athena/lib -lhesiod
36838887Stegge/* it seems to me that the -I shouldn't be necessary, but there seems
3691556Srgrimesto be a bug in the Imake stuff, so here it is. */
3701556SrgrimesHESDEF = -DHESIOD -I/usr/athena/include
3711556Srgrimes#else
3721556SrgrimesHESLIB =
3731556SrgrimesHESDEF =
3741556Srgrimes#endif
37517987Speter
37617987Speter#ifdef AFS
3771556Srgrimes#ifndef AFSDIR
3781556SrgrimesAFSDIR = /usr/afsws
37938887Stegge#endif
3801556Srgrimes#ifdef AFS33
38138887Stegge#define AFS33LIB -laudit
3821556Srgrimes#else
38325233Ssteve#define AFS33LIB
3841556Srgrimes#endif
3851556Srgrimes/* Auxilliary libs needed for AFS */
3861556Srgrimes/* Both HPUX and Solaris need the BSD libraries.  We need -lc before
3871556Srgrimes * the bsd library to avoid using any more of it than is necessary.
3881556Srgrimes */
3891556Srgrimes#if defined(HPArchitecture)
3901556Srgrimes#define AFSAUXLIB -lc -lBSD
3911556Srgrimes/* This is probably a kludge, but so is imake. */
3928855Srgrimes#else
3931556Srgrimes#if defined(SunArchitecture) && (OSMajorVersion == 5)
39422777Ssteve#define AFSAUXLIB -lsocket -lnsl -lc -lucb
39522777Ssteve#else
39622777Ssteve#define AFSAUXLIB
39722777Ssteve#endif
3988855Srgrimes#endif /* AFSAUXLIB */
3991556SrgrimesAFSLIB = -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lkauth -lprot -lubik\
4001556Srgrimes	 -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\
4011556Srgrimes	 $(AFSDIR)/lib/afs/util.a AFS33LIB AFSAUXLIB
4021556SrgrimesAFSDEF = -DAFS -I$(AFSDIR)/include
4031556Srgrimes#else
4041556SrgrimesAFSLIB =
4051556SrgrimesAFSDEF =
4061556Srgrimes#endif
4071556Srgrimes
4081556Srgrimes/* This is encore specific, but I don't know what encore's #define is,
40938887Steggeand it shouldn't hurt to have it here, so here it is */
41038887SteggePARALLEL=12				# Make the multi-max run fast.
41138887Stegge
41238887Stegge#ifndef TcshTop
41338887Stegge#define TcshTop /usr/local
41438887Stegge#endif
41538887SteggeTCSHTOP = TcshTop
4161556Srgrimes
41738887Stegge#ifndef ManSuffix
41838887Stegge#define ManSuffix 1
41922777Ssteve#endif
4201556SrgrimesMANSUFFIX = ManSuffix
4211556Srgrimes
42238887Stegge#ifdef TcshPath
42338887SteggePATH_TCSHELL = TcshPath
4241556SrgrimesTCSHPATH = -D_PATH_TCSHELL='"$(PATH_TCSHELL)"'
4251556Srgrimes#else
4261556SrgrimesTCSHPATH =
4271556Srgrimes#endif
4281556Srgrimes
4291556Srgrimes#ifdef DestBin
4301556SrgrimesTCSH_BINDIR = DestBin
4311556Srgrimes#else
4321556SrgrimesTCSH_BINDIR = $(TCSHTOP)/bin
4331556Srgrimes#endif
4341556Srgrimes#ifdef DestMan
4351556SrgrimesTCSH_MANDIR = DestMan
43617987Speter#else
43717987SpeterTCSH_MANDIR = $(TCSHTOP)/man/man$(MANSUFFIX)
43817987Speter#endif
4391556Srgrimes
4401556SrgrimesLOCALLIBS =
4411556Srgrimes
4421556Srgrimes#ifndef MyCflags
4431556Srgrimes#define MyCflags
4441556Srgrimes#endif
4451556Srgrimes
4461556Srgrimes#ifndef MyDefines
4471556Srgrimes#define MyDefines
4481556Srgrimes#endif
4491556Srgrimes
4501556Srgrimes#ifndef MyIncludes
4511556Srgrimes#define MyIncludes
4521556Srgrimes#endif
4531556Srgrimes
4541556Srgrimes#ifndef MyStdc
4551556Srgrimes#define MyStdc
4568855Srgrimes#endif
4571556Srgrimes
4581556Srgrimes#ifdef CDebugFlags
4591556SrgrimesCDEBUGFLAGS = CDebugFlags
4601556Srgrimes#else
4611556Srgrimes# if HasGcc2
4621556SrgrimesCDEBUGFLAGS = -O2
4631556Srgrimes# else
4641556SrgrimesCDEBUGFLAGS = -O
4651556Srgrimes# endif
4661556Srgrimes#endif
4671556Srgrimes
4681556Srgrimes
4691556Srgrimes#ifdef HostType
4701556SrgrimesHOSTTYPE=HostType
4711556SrgrimesHTDEF = -DHOSTTYPE='"$(HOSTTYPE)"'
4721556Srgrimes#else
4731556SrgrimesHTDEF =
4741556Srgrimes#endif
4751556Srgrimes
4761556SrgrimesDEFINES = $(TCSHPATH) $(HESDEF) $(AFSDEF) $(HTDEF) MyDefines MyCflags MyStdc
4771556SrgrimesINCLUDES = -I. MyIncludes
4781556Srgrimes#ifdef MyLibs
4791556SrgrimesLDLIBS = MyLibs
4801556Srgrimes#endif
4811556Srgrimes
4821556SrgrimesSUF = o
4831556SrgrimesVERSION = 6.08
4841556Srgrimes
4851556SrgrimesSHSRCS=	sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \
48617987Speter	sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \
48717987Speter	sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \
48817987Speter	sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h \
4891556Srgrimes	sh.decls.h glob.c glob.h ${SYSSRCS}
49017987SpeterSHOBJS=	sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \
4911556Srgrimes	sh.char.${SUF} sh.exp.${SUF} sh.func.${SUF} sh.glob.${SUF} \
4921556Srgrimes	sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} sh.misc.${SUF} \
4931556Srgrimes	sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} sh.sem.${SUF} \
4941556Srgrimes	sh.set.${SUF} sh.time.${SUF} glob.${SUF} ${SYSOBJS}
4951556Srgrimes
49645916ScracauerTWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \
4971556Srgrimes	tw.comp.c tw.color.c
4981556SrgrimesTWOBJS=	tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \
4991556Srgrimes	tw.comp.${SUF} tw.color.${SUF}
5001556Srgrimes
5011556SrgrimesEDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \
5021556Srgrimes	ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h
5031556SrgrimesEDOBJS=	ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \
5041556Srgrimes	ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF}
5051556Srgrimes
5061556SrgrimesTCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \
5071556Srgrimes	tc.func.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \
5081556Srgrimes	tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \
50917987Speter	tc.who.c tc.h 
51020425SsteveTCOBJS=	tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \
51117987Speter	tc.disc.${SUF} tc.func.${SUF} tc.os.${SUF} tc.printf.${SUF} \
51217987Speter	tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \
51320425Ssteve	tc.vers.${SUF} tc.who.${SUF} 
51417987Speter
51517987SpeterMISCF = Makefile.std Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \
51617987Speter	WishList config_f.h eight-bit.me glob.3 patchlevel.h \
51717987Speter	pathnames.h tcsh.man Ported src.desc Imakefile imake.config \
51817987Speter	README.imake complete.tcsh vmsreadme.txt Makefile.vms termcap.vms \
51917987Speter	snames.h host.defs gethost.c tcsh.man2html Makefile.in configure.in \
52045514Stegge	Makefile.win32
52117987SpeterCONFSRCS=config/[a-z]*
52217987Speter
52317987Speter
52420425SsteveSRCS = $(SHSRCS) $(TWSRCS) $(EDSRCS) $(TCSRCS)
52520425SsteveOBJS = $(SHOBJS) $(TWOBJS) $(EDOBJS) $(TCOBJS)
52617987Speter
52717987SpeterALLSRCS= $(MISCF) $(SRCS) $(EXTF)
52817987Speter
52917987SpeterAllTarget(tcsh)
53017987Speter
53117987Spetered.defns.h: config.h ed.defns.c
53220425Ssteve	@rm -f $@
53320425Ssteve	@echo '/* Do not edit this file, make creates it. */' > $@
53417987Speter	@echo '#ifndef _h_ed_defns' >> $@
53517987Speter	@echo '#define _h_ed_defns' >> $@
53617987Speter	egrep '[FV]_' ed.defns.c | egrep '^#define' >> $@
53717987Speter	@echo '#endif /* _h_ed_defns */' >> $@
53820425Ssteve
53920425Sstevesh.err.h: config.h sh.err.c
54017987Speter	@rm -f $@
54117987Speter	@echo '/* Do not edit this file, make creates it. */' > $@
54217987Speter	@echo '#ifndef _h_sh_err' >> $@
54317987Speter	@echo '#define _h_sh_err' >> $@
54417987Speter	egrep 'ERR_' sh.err.c | egrep '^#define' >> $@
54517987Speter	@echo '#endif /* _h_sh_err */' >> $@
54617987Speter
54717987Spetertc.const.h: config.h tc.const.c
54817987Speter	@rm -f $@
54917987Speter	@echo '/* Do not edit this file, make creates it. */' > $@
55017987Speter	@echo '#ifndef _h_tc_const' >> $@
55117987Speter	@echo '#define _h_tc_const' >> $@
55217987Speter	${CC} -E $(INCLUDES) ${DEFINES} -D_h_tc_const tc.const.c | \
55317987Speter	    grep 'Char STR' | \
55417987Speter	    sed -e 's/Char \([a-zA-Z0-9_]*\)\[\].*/extern Char \1[];/' | \
55517987Speter	    sort >> $@
55625233Ssteve	@echo '#endif /* _h_tc_const */' >> $@
55717987Speter
55817987Speterconfig.h: config_f.h
55945514Stegge	cp config/ConfigH config.h
56017987Speter
56117987Speter$(OBJS): sh.err.h tc.const.h ed.defns.h
56217987Speter
56317987Spetertar.Z:
56445514Stegge	rm -f tcsh-${VERSION}.tar.Z
56545514Stegge	rm -rf tcsh-${VERSION} 
56617987Speter	mkdir tcsh-${VERSION} tcsh-${VERSION}/config
56717987Speter	cp ${ALLSRCS} tcsh-${VERSION}
56817987Speter	cp ${CONFSRCS} tcsh-${VERSION}/config
56917987Speter	tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -)
57045514Stegge	tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z
57117987Speter	rm -rf tcsh-${VERSION}
57217987Speter
57345514Steggetar.gz:
57417987Speter	rm -f tcsh-${VERSION}.tar.gz
57517987Speter	rm -rf tcsh-${VERSION} 
57617987Speter	mkdir tcsh-${VERSION} tcsh-${VERSION}/config
57717987Speter	cp ${ALLSRCS} tcsh-${VERSION}
57845514Stegge	cp ${CONFSRCS} tcsh-${VERSION}/config
57945514Stegge	tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -)
58045514Stegge	tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz
58145514Stegge	rm -rf tcsh-${VERSION}
58245514Stegge
58345514Steggeshar:
58445514Stegge	rm -f tcsh-*.shar
58545514Stegge	rm -rf tcsh-${VERSION} 
58645514Stegge	mkdir tcsh-${VERSION} tcsh-${VERSION}/config
58717987Speter	cp ${ALLSRCS} tcsh-${VERSION}
58817987Speter	cp ${CONFSRCS} tcsh-${VERSION}/config
58917987Speter	tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -)
59017987Speter	MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \
59145514Stegge		 tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \
59245514Stegge		 tcsh-${VERSION}/?*/set?*
59320425Ssteve	rm -rf tcsh-${VERSION}
59420425Ssteve
59517987Spetercatalogs:
59617987Speter	@(cd nls; make catalogs)
59745514Stegge	
59845514Steggeworld:
59945514Stegge	$(MAKE) clean ; $(MAKE) depend ; $(MAKE) tcsh ; $(MAKE) install
60045514Stegge
60145514Steggeclean::
60245514Stegge	rm -f ed.defns.h sh.err.h tc.const.h config.h tc.defs.*
60345514Stegge	rm -f tcsh.*.m tcsh.*.cat
60445514Stegge
60545514Steggedepend:: config.h ed.defns.h sh.err.h tc.const.h $(SRCS) tc.defs.c
60617987Speter
60717987Spetertc.defs.${SUF}:	tc.defs.c sh.h
60817987Speter
60917987Spetertc.defs.c:	gethost host.defs
61017987Speter	@rm -f $@
61145514Stegge	@echo "/* Do not edit this file, make creates it */" > $@
61220425Ssteve	./gethost host.defs >> $@
61320425Ssteve
61417987SpeterALIB=$(HESLIB) $(AFSLIB) $(SYSLIBS)
61517987SpeterAINC=ed.defns.h sh.err.h tc.const.h sh.h
61645514Stegge
61745514SteggeNormalProgramTarget(tcsh, $(OBJS), $(AINC), $(LOCALLIBS), $(ALIB))
61817987SpeterNormalProgramTarget(gethost, gethost.${SUF}, $(AINC), $(LOCALLIBS), $(ALIB))
61917987Speter
62017987SpeterInstallProgram(tcsh,$(TCSH_BINDIR))
62117987SpeterInstallManPage(tcsh,$(TCSH_MANDIR))
62217987SpeterDependTarget()
62317987Speter