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