1316958Sdchagin# $tcsh: Makefile.in,v 3.59 2015/08/24 20:09:04 kim Exp $ 259243Sobrien# Makefile.in 4.3 6/11/83 359243Sobrien# 459243Sobrien# C Shell with process control; VM/UNIX VAX Makefile 559243Sobrien# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria 659243Sobrien# 759243Sobrien# With an input editor, command completion, etc. and ported to all sorts of 859243Sobrien# things; Paul Placeway, CIS Dept., Ohio State University 959243Sobrien# 1059243SobrienSHELL=/bin/sh 11167465SmpVERSION=@PACKAGE_VERSION@ 12131962SmpBUILD=tcsh$(EXEEXT) 1359243SobrienVPATH=@srcdir@ 1459243Sobriensrcdir=@srcdir@ 1559243Sobrien 1659243Sobrien################################################################ 1759243Sobrien## CFLAGS. For various -D things, see config.h 1859243Sobrien################################################################ 1959243Sobrien# 2059243Sobrien# These are the default suffixes from .c to .o and -c to get there 2159243Sobrien# but to use the global optimizer on the mips boxes, see below 2259243Sobrien# 2359243SobrienSUF=o 2459243SobrienCF=-c 2559243Sobrien 2659243SobrienCPPFLAGS=-I. -I$(srcdir) 2759243Sobrien 2859243SobrienLFLAGS= 29231990Smp# hpux lint 30231990Smp#LFLAGS= -Zn10000 3159243Sobrien 3259243Sobrien 33231990Smp# This is set by autoconf: 34231990SmpCFLAGS = @CFLAGS@ 35231990Smp# debug: 36231990Smp#CFLAGS= -g 37231990Smp# production: 38231990Smp#CFLAGS= -O 39231990Smp# Broken optimizers.... 40231990Smp#CFLAGS= 4159243Sobrien 4259243Sobrien#CFLAGS= -g -pg -DPROF 4359243Sobrien#CFLAGS= -O -pg -DPROF 4459243Sobrien 4559243Sobrien# gcc 1.00-1.37 46231990Smp#CFLAGS= -O -finline-functions -fstrength-reduce 4759243Sobrien 4859243Sobrien# gcc 1.37-1.40 49231990Smp#CFLAGS= -O -fcombine-regs -finline-functions -fstrength-reduce 5059243Sobrien# add -msoft-float for 68881 machines. 5159243Sobrien 5259243Sobrien# gcc 2.0 5359243Sobrien# On the sparc, don't use -O2; it breaks setjmp() and vfork() 5459243Sobrien#CFLAGS= -O 5559243Sobrien 5659243Sobrien# gcc-2.1+ 5759243Sobrien#CFLAGS= -O2 5859243Sobrien 5959243Sobrien# lucid c on suns 6059243Sobrien#CFLAGS= -O5 6159243Sobrien 6259243Sobrien# gcc 2.1 on linux 6359243Sobrien#CFLAGS= -O6 -fomit-frame-pointer 6459243Sobrien 6559243Sobrien# HP/UX 8.0, 9.0 6659243Sobrien#CFLAGS= +O3 -Aa 6759243Sobrien 6859243Sobrien# Ultrix 4.2a 6959243Sobrien#CFLAGS= -O -Olimit 2000 7059243Sobrien 7159243Sobrien# Intel Paragon OSF/1 with PGI compilers 7259243Sobrien#CFLAGS= -O -Mnodebug -Mnoperfmon 7359243Sobrien 7459243Sobrien# DEC Alpha OSF/1 75231990Smp## Normal Optimization 76231990Smp#CFLAGS= -O2 -Olimit 2000 77231990Smp## Full Optimization - may not work 78231990Smp#CFLAGS= -O3 -Olimit 2000 7959243Sobrien#CF=-j 8059243Sobrien#SUF=u 8159243Sobrien#.SUFFIXES: .u 8259243Sobrien 8359243Sobrien# for silicon graphics (and other mips compilers) -- use the 8459243Sobrien# global optimizer! (-O3). 8559243Sobrien# On SGI 4.0+ you need to add -D__STDC__ too. 8659243Sobrien#CFLAGS= -O3 87231990Smp## Ultrix 4.2a 88231990Smp#CFLAGS= -O3 -Olimit 2000 8959243Sobrien#CF=-j 9059243Sobrien#SUF=u 9159243Sobrien#.SUFFIXES: .u ## Ultrix and gnu-make need that 9259243Sobrien 9359243Sobrien# mips systems 9459243Sobrien# CFLAGS= -O -systype bsd43 -Wf,-XNd5000 -Wf,-XNp6000 -Olimit 2000 9559243Sobrien 9659243Sobrien# for at&t machines 9759243Sobrien#CFLAGS= -O -Ksd 9859243Sobrien 9959243Sobrien# Stardent Titan 10059243Sobrien#CFLAGS = -O -43 10159243Sobrien 10259243Sobrien# Stardent Stellar or sunos4 /bin/cc or Solaris2.1 /opt/SUNWspro/bin/cc 10359243Sobrien#CFLAGS = -O4 10459243Sobrien 10559243Sobrien# Intergraph clipper CLIX 3.1 10659243Sobrien#CFLAGS= -w -O2 10759243Sobrien 10859243Sobrien# Dnix 5.3 10959243Sobrien#CFLAGS = -O -X7 11059243Sobrien 11159243Sobrien# Pyramid OS/x 11259243Sobrien#CFLAGS = -OG 11359243Sobrien 11459243Sobrien# Multiflow (5M binary... if you choose -O5!) 11559243Sobrien#CFLAGS = -O5 -sb_trace 0 11659243Sobrien 11759243Sobrien# DDE Supermax Unix SYSV Rel III. 11859243Sobrien# CFLAGS= -O3 11959243Sobrien 12059243Sobrien# SINIX RMx00 121231990Smp#CFLAGS= -O# -D_POSIX_SOURCE# -kansi 12259243Sobrien 12359243Sobrien# Apollo's with cc [apollo builtins don't work with gcc] 12459243Sobrien# and apollo should not define __STDC__ if it does not have 12559243Sobrien# the standard header files. RT's (aos4.3) need that too; 12659243Sobrien# you might want to skip the -O on the rt's... Not very wise. 12759243Sobrien# AIX/ESA needs -D_IBMESA on command line (this may disappear by GA) 128231990Smp#DFLAGS=-U__STDC__ 12959243Sobrien#DFLAGS=-D_IBMESA 13059243Sobrien# On aix2.2.1 we need more compiler space. 13159243Sobrien#DFLAGS=-Nd4000 -Nn3000 13259243Sobrien# AU/X 2.0 needs a flag for POSIX (read the config file) 13359243Sobrien#DFLAGS=-Zp 13459243Sobrien# Tektronix 4300 running UTek 4.0 (BSD 4.2) needs: 13559243Sobrien#DFLAGS = -DUTek -DBSD 13659243Sobrien# VMS_POSIX needs: 13759243Sobrien#DFLAGS=-D_VMS_POSIX 13859243Sobrien# Multiflow and PCC compilers don't like void typedefs. 13959243Sobrien# You may also need -U__STDC__ if you use pcc (i.e. ibmrt aos4.3). 14059243Sobrien#DFLAGS=-DMULTIFLOW 14159243Sobrien#DFLAGS=-DPCC 14259243Sobrien# DELL SVR4 14359243Sobrien#DFLAGS=-DDELL 14459243Sobrien#DFLAGS= 14559243Sobrien#DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"' 14659243Sobrien## The following is set by autoconf. 147131962SmpDFLAGS = -D_PATH_TCSHELL='"${bindir}/tcsh"' @DFLAGS@ @CPPFLAGS@ 14859243Sobrien 14959243Sobrien 15059243Sobrien################################################################ 15159243Sobrien## LDFLAGS. Define something here if you need to 15259243Sobrien################################################################ 153231990Smp## This is set by autoconf: 154231990SmpLDFLAGS= @LDFLAGS@ 155231990Smp## The simplest, suitable for all. 156231990Smp#LDFLAGS= 157231990Smp## Stripped. Takes less space on disk. 158231990Smp#LDFLAGS= -s 159231990Smp## Pure executable. Spares paging over the network for machines with 160231990Smp## local swap but external /usr/local/bin . 161231990Smp#LDFLAGS= -s -n 162231990Smp## Without dynamic linking. (SunOS/cc) 163231990Smp#LDFLAGS= -s -n -Bstatic 164231990Smp## Without dynamic linking. (SunOS/gcc) 165231990Smp#LDFLAGS= -s -n -static 166231990Smp## Stripped, shared text (Unicos) 167231990Smp#LDFLAGS= -Wl,-s,-n 168231990Smp## Link statically. (linux) 169231990Smp#LDFLAGS= -s -static 170231990Smp## Impure executable (linux) 171231990Smp#LDFLAGS= -s -N 17259243Sobrien 17359243Sobrien################################################################ 17459415Sobrien## SBINLDFLAGS. Flags to build a tcsh suitable for installation in 17559415Sobrien## in /sbin under Solaris with gcc. See the "tcsh.sbin" 17659415Sobrien## target. 17759415Sobrien################################################################ 17859415SobrienSBINLDFLAGS=-Wl,-R/etc/lib,-I/etc/lib/ld.so.1,-ldl,-Bstatic 17959415Sobrien 18059415Sobrien################################################################ 18159243Sobrien## LIBES. Pick one, or roll your own. 18259243Sobrien################################################################ 183231990Smp## This is set by autoconf. 184231990SmpLIBES= @LIBS@ 185231990Smp## BSD style things 186231990Smp#LIBES= -ltermcap 187231990Smp## SunOS, HP-UX, pyramid 188231990Smp#LIBES= -ltermcap 189231990Smp## Linux 190231990Smp#LIBES= -ltermcap 191231990Smp## Linux with PW_SHADOW 192231990Smp#LIBES= -ltermcap -lshadow 193231990Smp## Tek XD88/10 (UTekV) with PW_SHADOW 194231990Smp#LIBES= -ltermcap -lsec 195231990Smp## Motorola MPC (sysV88) with PW_SHADOW 196231990Smp#LIBES= -ltermcap -lsec 197231990Smp## Mach 198231990Smp#LIBES= -ltermcap -lcs 199231990Smp## DEC osf1 on the alpha 200231990Smp#LIBES= -ltermcap -lbsd 201231990Smp## Intel paragon 202231990Smp#LIBES= -ltermcap -lbsd 203231990Smp## Clipper intergraph 204231990Smp#LIBES= -ltermcap -lbsd 205231990Smp## Sequent's Dynix 206231990Smp#LIBES= -ltermcap -lseq 207231990Smp## Ultrix with Enhanced Security 208231990Smp#LIBES= -ltermcap -lauth 209231990Smp## Xenix 386 style things 210231990Smp#LIBES= -ltermcap -ldir -lx 211231990Smp## masscomp RTU6.0 212231990Smp#LIBES= -ltermcap -lndir -lsocket -ljobs 213231990Smp## AIX on the rt 214231990Smp#LIBES= -lcurses 215231990Smp## TitanOS on the stellar 216231990Smp#LIBES= -lcurses 217231990Smp## SysV4 w/o BSDTIMES or Solaris 2 218231990Smp#LIBES= -ltermlib -lsocket -lnsl 219231990Smp## SysV3 w/o networking 220231990Smp#LIBES= -lcurses 221231990Smp## SysV3 with networking 222231990Smp#LIBES= -lcurses -lnet 223231990Smp## SysV2 w/o networking & dirlib 224231990Smp#LIBES= -lcurses -ldir 225231990Smp## SysV2 with networking & dirlib 226231990Smp#LIBES= -lcurses -ldir -lnet 227231990Smp## AIX on the IBM 370 or rs6000 or ps2 228231990Smp#LIBES= -lcurses -lbsd 229231990Smp## ETA10 230231990Smp#LIBES= -lcurses -lbsd 231231990Smp## Irix3.1 on the SGI-IRIS4D 232231990Smp#LIBES= -lcurses -lbsd 233231990Smp## Irix3.3 on the SGI-IRIS4D w/o yp 234231990Smp#LIBES= -lcurses -lbsd -lc_s 235231990Smp## Irix3.3 on the SGI-IRIS4D with yp 236231990Smp#LIBES= -lcurses -lsun -lbsd -lc_s 237231990Smp## Amdahl UTS 2.1 238231990Smp#LIBES= -lcurses -lsocket -lbsd 239231990Smp## Intel's hypercube. 240231990Smp#LIBES= -lcurses -lsocket 241231990Smp## ns32000 based Opus. 242231990Smp#LIBES= -lcurses -lsocket 243231990Smp## ISC 2.2 without networking 244231990Smp#LIBES= -lcurses -lcposix 245231990Smp## ISC 2.2 with networking 246231990Smp#LIBES= -lcposix -lc_s -lcurses -linet 247231990Smp## ISC 2.0.2 without networking 248231990Smp#LIBES= -lcurses -lsec -lc_s 249231990Smp## ISC 2.0.2 with networking 250231990Smp#LIBES= -lcurses -linet -lsec -lc_s 251231990Smp## SCO SysVR3.2v2.0 252231990Smp#LIBES= -lcurses -lintl -lcrypt 253231990Smp## SCO+ODT1.1 254231990Smp#LIBES= -lcurses -lintl -lsocket -lcrypt 255231990Smp## A/UX 2.0 256231990Smp#LIBES= -lposix -ltermcap 257231990Smp## A/UX 3.0 258231990Smp#LIBES= -lposix -ltermcap -lc_s 259231990Smp## att3b1 cc w/o shared lib & dirlib 260231990Smp#LIBES= -ldirent -lcurses 261231990Smp## att3b1 gcc with shared lib & dirlib 262231990Smp#LIBES= -shlib -ldirent -lcurses 263231990Smp## SysV4 with BSDTIMES 264231990Smp#LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a 265231990Smp## Stardent Vistra 266231990Smp#LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a 267231990Smp## emx under OS/2 268231990Smp#LIBES= -ltermc 269231990Smp## Minix, VMS_POSIX 270231990Smp#LIBES= 271231990Smp## Multiflow 272231990Smp#LIBES= -ltermcap -lcrypt 273231990Smp## NetBSD 274231990Smp#LIBES= -ltermcap -lcrypt 275231990Smp## DDE Supermax 276231990Smp#LIBES= -lcurses 27759243Sobrien 27859243Sobrien################################################################ 27959243Sobrien## EXTRAFLAGS and EXTRALIBS 28059243Sobrien################################################################ 28159243Sobrien# Compiling for AFS with kerberos authentication 28259243Sobrien#AFSLIBDIR = /usr/afsws/lib 28359243Sobrien#AFSDEF = -DAFS -I/usr/afsws/include 28459243Sobrien#AFS33LIB = -laudit 28559243Sobrien# 28659243Sobrien#Solaris and HPUX require the BSD libraries with AFS. 28759243Sobrien#We use -lc to use only what we require. 288231990Smp# Solaris 289231990Smp#AFSAUXLIB = -lsocket -lnsl -lc -lucb 290231990Smp# HPUX 291231990Smp#AFSAUXLIB = -lc -lBSD 29259243Sobrien# 29359243Sobrien#AFSLIB = -L$(AFSLIBDIR) -L$(AFSLIBDIR)/afs -lkauth -lprot -lubik\ 29459243Sobrien# -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\ 29559243Sobrien# $(AFSLIBDIR)/afs/util.a $(AFS33LIB) $(AFSAUXLIB) 29659243Sobrien# 29759243Sobrien 29859243SobrienEXTRAFLAGS = @HESDEF@ $(AFSDEF) 299167465SmpEXTRALIBS = @HESLIB@ $(AFSLIB) @LIBICONV@ 30059243Sobrien 30159243Sobrien 302167465Smp 30359243Sobrien# The difficult choice of a c-compiler... 30459243Sobrien# First, you should try your own c-compiler. 30559243Sobrien# Gcc -traditional is also a safe choice. 30659243Sobrien# If you think that you have good include files try gcc -Wall... 30759243Sobrien# If you want to take out -traditional, make sure that your sys/ioctl.h 30859243Sobrien# is fixed correctly, otherwise you'll be stopped for tty input, or you 30959243Sobrien# will lose the editor and job control. 31059243Sobrien 31159243Sobrien# This is for setting your C preprocessor value. 312231990Smp# This is set by autoconf. 313231990SmpCPP = @CPP@ 31459243Sobrien# The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which 31559243Sobrien# on the suns does not know how to make dynamically linked binaries. 316231990Smp# This is set by autoconf. 317231990SmpCC = @CC@ 318316958Sdchagin#CC= gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Werror -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wsign-compare -Wcast-qual -Wreturn-type -Wswitch -Wshadow -Wwrite-strings -Wextra -Wcast-qual -Wwrite-strings -Wold-style-definition -Wuninitialized -Wpointer-sign 319316958Sdchagin# -Wconversion -Wformat=2 -ansi -pedantic 320231990Smp#CC= gcc -Wall -pipe -B/bin/ 321231990Smp# Generate code for Intel 486 (linux) 322231990Smp#CC= gcc -m486 -pipe -Wall 323231990Smp# BSDI2.1 w/ shared libraries 324231990Smp#CC= shlicc 32559243Sobrien#CC= cc 32659243Sobrien#CC= occ 32759243Sobrien#CC= acc 32859243Sobrien#CC= pcc 32959243Sobrien#CC= hc -w 330231990Smp# For VMS/POSIX 331231990Smp#CC= c89 332231990Smp# For suns, w/o gcc and SVR4 333231990Smp#CC= /bin/cc 334231990Smp# FPS 500 (+FPX) with Sun C compiler 335231990Smp#CC= /usr/lib/sun.compile/cc 336231990Smp# Solaris 2.1 337231990Smp#CC= /opt/SUNWspro/bin/cc 338231990Smp# Alliant fx2800 339231990Smp#CC= scc 340231990Smp# for NEC SX-4 341231990Smp#CC= cc -h0,ansi,novector,float0 34259243Sobrien#CC= lcc -wa 343231990SmpCC_FOR_GETHOST = @CC_FOR_GETHOST@ 34459243SobrienED= ed 34559243SobrienAS= as 34659243SobrienRM= rm 34759243SobrienCXREF= /usr/ucb/cxref 34859243SobrienVGRIND= csh /usr/ucb/vgrind 34959243SobrienCTAGS= /usr/ucb/ctags 35059243Sobrien#XSTR= /usr/ucb/xstr 35159243SobrienSCCS= /usr/local/sccs 352231990Smp# Make the multi-max run fast. 353231990SmpPARALLEL=12 354231990Smp# Use Sequent's parallel make 355231990Smp#P=& 35659243SobrienP= 35759243Sobrienprefix=@prefix@ 35859243Sobrienexec_prefix=@exec_prefix@ 35959243Sobrienbindir=@bindir@ 360195609Smpmandir=@datarootdir@/man 36159243SobrienMANSECT=1 36259243SobrienDESTBIN=${DESTDIR}${bindir} 36359243SobrienDESTMAN=${DESTDIR}${mandir}/man${MANSECT} 364231990Smp# A/UX 365231990Smp# DESTMAN=${DESTDIR}/catman/man${MANSECT} 366231990Smp# Stardent Vistra (SysVR4) 367231990Smp# DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} 368231990Smp# Amiga unix (SysVR4) 369231990Smp# DESTMAN=/usr/catman/1l 370131962SmpEXEEXT=@EXEEXT@ 37159243SobrienFTPAREA=/usr/spool/ftp 37259243Sobrien 373231990SmpBUILD_CATALOGS = @BUILD_CATALOGS@ 374231990Smp 37559243SobrienASSRCS= sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \ 37659243Sobrien sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \ 37759243Sobrien sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \ 37859243Sobrien sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h \ 37959243Sobrien tw.color.c 380316958SdchaginPSSRCS= sh.decls.h glob.c glob.h dotlock.c dotlock.h mi.termios.c mi.wait.h mi.varargs.h ma.setp.c \ 38159243Sobrien vms.termcap.c 38259243SobrienSHSRCS= ${ASSRCS} ${PSSRCS} 38359243SobrienSHOBJS= sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \ 384100616Smp sh.char.${SUF} sh.exp.${SUF} sh.file.${SUF} sh.func.${SUF} \ 385100616Smp sh.glob.${SUF} sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} \ 386100616Smp sh.misc.${SUF} sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} \ 387316958Sdchagin sh.sem.${SUF} sh.set.${SUF} sh.time.${SUF} glob.${SUF} dotlock.${SUF} \ 388100616Smp mi.termios.${SUF} ma.setp.${SUF} vms.termcap.${SUF} 38959243Sobrien 39059243SobrienTWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ 39159243Sobrien tw.comp.c tw.color.c 39259243SobrienTWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \ 39359243Sobrien tw.comp.${SUF} tw.color.${SUF} 39459243Sobrien 39559243SobrienEDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ 39659243Sobrien ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h 39759243SobrienEDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \ 39859243Sobrien ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} 39959243Sobrien 40059243SobrienTCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ 401145479Smp tc.func.c tc.nls.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ 40259243Sobrien tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ 40359243Sobrien tc.who.c tc.h 40459243SobrienTCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ 405145479Smp tc.disc.${SUF} tc.func.${SUF} tc.nls.${SUF} tc.os.${SUF} tc.printf.${SUF} \ 40659243Sobrien tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ 40759243Sobrien tc.vers.${SUF} tc.who.${SUF} 40859243Sobrien 40959243SobrienPVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 41059243SobrienAVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ 41159243Sobrien WishList config_f.h eight-bit.me glob.3 patchlevel.h \ 41259243Sobrien pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ 41359243Sobrien README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ 414316958Sdchagin host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ 415316958Sdchagin tests/testsuite.at aclocal.m4 416167465SmpTESTFILES= tests/aliases.at tests/arguments.at tests/commands.at \ 417231990Smp tests/expr.at tests/lexical.at tests/mb-eucjp.at \ 418316958Sdchagin tests/mb-utf8.at tests/noexec.at tests/parenthesis.at tests/syntax.at \ 419316958Sdchagin tests/subst.at tests/variables.at tests/sh.dol.at 42059243Sobrien 42159243SobrienVHSRCS=${PVSRCS} ${AVSRCS} 42259243Sobrien 42359243SobrienCONFSRCS=config/* 42459243Sobrien 42559243SobrienALLSRCS= ${SHSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${VHSRCS} 426167465SmpDISTSRCS= ${PSSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${AVSRCS} $(TESTFILES) 42759243Sobrien 42859243Sobrien 42959243SobrienOBJS= ${SHOBJS} ${TWOBJS} ${EDOBJS} ${TCOBJS} 43059243Sobrien 43159243Sobrien 432231990Smpall: ${BUILD} catalogs 43359243Sobrien 434131962Smptcsh$(EXEEXT):$(P) ${OBJS} 435131962Smp rm -f tcsh$(EXEEXT) core 436131962Smp ${CC} -o tcsh$(EXEEXT) ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} 43759243Sobrien 43859415Sobrientcsh.sbin:$(P) ${OBJS} 43959415Sobrien rm -f tcsh.sbin core 44059415Sobrien ${CC} -o tcsh.sbin ${SBINLDFLAGS} ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} 44159415Sobrien 44259243Sobrien# Purify 44359243Sobrienpure:$(P) ${OBJS} 444131962Smp rm -f tcsh$(EXEEXT) core 445131962Smp purify `echo ${CC} | sed -e s,-B/bin/,,` -o tcsh$(EXEEXT) ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} 44659243Sobrien# OS/2 447131962Smp#tcsh.exe: tcsh 448131962Smp# emxbind tcsh 44959243Sobrien 45059243Sobriengethost: gethost.c sh.err.h tc.const.h sh.h 45159243Sobrien rm -f gethost 452231990Smp ${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} $(srcdir)/gethost.c 45359243Sobrien 45459243Sobrientc.defs.c: gethost host.defs 455167465Smp @rm -f $@.tmp 456167465Smp @echo "/* Do not edit this file, make creates it */" > $@.tmp 457167465Smp ./gethost $(srcdir)/host.defs >> $@.tmp 458167465Smp @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi 45959243Sobrien 46059243Sobrientcsh.ps: tcsh.man 46159243Sobrien rm -f tcsh.ps 46259243Sobrien -ptroff -t -man $(srcdir)/tcsh.man > tcsh.ps 46359243Sobrien 46459243Sobrien.c.${SUF}: 46559243Sobrien ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< 46659243Sobrien 467167465Smp.SUFFIXES: .s .i 468167465Smp 469167465Smp.c.i: 470167465Smp ${CC} -E ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< | cat -s > $@ 471167465Smp 472167465Smp.c.s: 473167465Smp ${CC} -S ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< 474167465Smp 47559243Sobrien# _VMS_POSIX #module addition 47659243Sobrien#.c.${SUF}: 47759243Sobrien# @(echo '#module '`echo $< | sed -e 's/\./_/g'`; cat $<) > $*..c 47859243Sobrien# @echo ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*.c 47959243Sobrien# @${CC} ${CF} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*..c 48059243Sobrien# @mv $*..o $*.o 48159243Sobrien# @rm -f $*..c 48259243Sobrien 48359243Sobrien 48459243Sobrien# Don't do any special massaging of C files for sharing of strings!! 48559243Sobrien# it causes weird segmentation faults on some systems. 48659243Sobrien#.c.o: 48759243Sobrien# ${CPP} ${CFLAGS} ${CPPFLAGS} $*.c | ${XSTR} -c - 48859243Sobrien# ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} x.c 48959243Sobrien# mv -f x.o $*.o 49059243Sobrien# rm -f x.c 49159243Sobrien 49259243Sobrien#ed.init.o: ed.init.c 49359243Sobrien# ${CPP} ${CFLAGS} ${CPPFLAGS} $*.c | ${XSTR} -c - 49459243Sobrien# ${CC} -R ${CF} ${CFLAGS} ${CPPFLAGS} x.c 49559243Sobrien# mv -f x.o $*.o 49659243Sobrien# rm -f x.c 49759243Sobrien 49859243Sobrien#strings.o: strings 49959243Sobrien# ${XSTR} 50059243Sobrien# ${CC} -c -R xs.c 50159243Sobrien# mv -f xs.o strings.o 50259243Sobrien# rm -f xs.c 50359243Sobrien 50459243Sobrien##.DEFAULT: 50559243Sobrien## ${SCCS} get $< 50659243Sobrien 50759243Sobrien##.DEFAULT: 50859243Sobrien## co $< 50959243Sobrien 51059243Sobriened.defns.h: ed.defns.c 511167465Smp @rm -f $@.tmp 512167465Smp @echo '/* Do not edit this file, make creates it. */' > $@.tmp 513167465Smp @echo '#ifndef _h_ed_defns' >> $@.tmp 514167465Smp @echo '#define _h_ed_defns' >> $@.tmp 515167465Smp grep '[FV]_' $(srcdir)/ed.defns.c | grep '^#define' >> $@.tmp 516167465Smp @echo '#endif /* _h_ed_defns */' >> $@.tmp 517167465Smp @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi 51859243Sobrien 51959243Sobriensh.err.h: sh.err.c 520167465Smp @rm -f $@.tmp 521167465Smp @echo '/* Do not edit this file, make creates it. */' > $@.tmp 522167465Smp @echo '#ifndef _h_sh_err' >> $@.tmp 523167465Smp @echo '#define _h_sh_err' >> $@.tmp 524167465Smp grep 'ERR_' $(srcdir)/sh.err.c | grep '^#define' >> $@.tmp 525167465Smp @echo '#endif /* _h_sh_err */' >> $@.tmp 526167465Smp @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi 52759243Sobrien 52859243Sobrientc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h 529167465Smp @rm -f $@.tmp 530167465Smp @echo '/* Do not edit this file, make creates it. */' > $@.tmp 531167465Smp @echo '#ifndef _h_tc_const' >> $@.tmp 532167465Smp @echo '#define _h_tc_const' >> $@.tmp 53359243Sobrien ${CPP} $(CPPFLAGS) ${DFLAGS} ${EXTRAFLAGS} -D_h_tc_const\ 534145479Smp $(srcdir)/tc.const.c | \ 535145479Smp sed -n -e 's/^\(Char STR[a-zA-Z0-9_]*\) *\[ *\].*/extern \1[];/p' | \ 536316958Sdchagin LC_COLLATE=C sort >> $@.tmp 537167465Smp @echo '#endif /* _h_tc_const */' >> $@.tmp 538167465Smp @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi 53959243Sobrien 540316958Sdchagin$(srcdir)/tests/package.m4: $(srcdir)/configure.ac 541167465Smp { \ 542167465Smp echo '# Signature of the current package.'; \ 543167465Smp echo 'm4_define([AT_PACKAGE_NAME], [@PACKAGE_NAME@])'; \ 544167465Smp echo 'm4_define([AT_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \ 545167465Smp echo 'm4_define([AT_PACKAGE_VERSION], [@PACKAGE_VERSION@])'; \ 546167465Smp echo 'm4_define([AT_PACKAGE_STRING], [@PACKAGE_STRING@])'; \ 547167465Smp echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \ 548167465Smp } >$(srcdir)/tests/package.m4 549167465Smp 550231990Smp$(srcdir)/tests/testsuite: $(srcdir)/tests/package.m4 $(srcdir)/tests/testsuite.at $(TESTFILES) 551167465Smp autom4te --language=autotest -I $(srcdir)/tests \ 552167465Smp $(srcdir)/tests/testsuite.at -o $@.tmp 553167465Smp mv $@.tmp $@ 554167465Smp 555167465Smpatconfig: config.status 556167465Smp $(SHELL) ./config.status ./atconfig 557167465Smp 558167465Smp 55959243Sobriencsh.prof: ${OBJS} sh.prof.${SUF} mcrt0.${SUF} 56059243Sobrien rm -f csh.prof 56159243Sobrien ld -X mcrt0.${SUF} ${OBJS} -o csh.prof ${LIBES} -lc 56259243Sobrien 56359243Sobriensh.prof.${SUF}: 56459243Sobrien cp sh.c sh.prof.c 56559243Sobrien ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} -DPROF sh.prof.c 56659243Sobrien 56759243Sobrienlint: tc.const.h ed.defns.h 56859243Sobrien lint ${DFLAGS} ${CPPFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} 56959243Sobrien 57059243Sobrienalint: tc.const.h ed.defns.h 57159243Sobrien alint ${DFLAGS} ${CPPFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} 57259243Sobrien 57359243Sobrienprint: 57459243Sobrien @pr READ_ME 57559243Sobrien @pr makefile makefile.* 57659243Sobrien @(size -l a.out; size *.${SUF}) | pr -h SIZES 57759243Sobrien @${CXREF} sh*.c | pr -h XREF 57859243Sobrien @ls -l | pr 57959243Sobrien @pr sh*.h [a-rt-z]*.h sh*.c alloc.c 58059243Sobrien 58159243Sobrienvprint: 58259243Sobrien @pr -l84 READ_ME TODO 58359243Sobrien @pr -l84 makefile makefile.* 58459243Sobrien @(size -l a.out; size *.${SUF}) | pr -l84 -h SIZES 58559243Sobrien @${CXREF} sh*.c | pr -l84 -h XREF 58659243Sobrien @ls -l | pr -l84 58759243Sobrien @${CXREF} sh*.c | pr -l84 -h XREF 58859243Sobrien @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c 58959243Sobrien 59059243Sobrienvgrind: 59159243Sobrien @cp /dev/null index 59259243Sobrien @for i in *.h; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done 59359243Sobrien @for i in *.c; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done 59459243Sobrien @vgrind -t -x -h Index index >/crp/bill/csh/index.t 59559243Sobrien 59659243Sobrieninstall-strip: install 597316958Sdchagin -strip ${DESTBIN}/tcsh$(EXEEXT) 59859243Sobrien 599231990Smpinstall: tcsh$(EXEEXT) install.catalogs install.man 60069408Sache -mkdir -p ${DESTBIN} 601131962Smp -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old 602131962Smp cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT) 603131962Smp chmod 755 ${DESTBIN}/tcsh$(EXEEXT) 60459243Sobrien 605231990Smpinstall.catalogs: 606231990Smp @test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} install DESTDIR=${DESTDIR}) || exit 0 607231990Smp 60859243Sobrieninstall.man: tcsh.man 60969408Sache -mkdir -p ${DESTMAN} 61059243Sobrien -rm -f ${DESTMAN}/tcsh.${MANSECT} 61159243Sobrien cp $(srcdir)/tcsh.man ${DESTMAN}/tcsh.${MANSECT} 61259243Sobrien chmod 444 ${DESTMAN}/tcsh.${MANSECT} 61359243Sobrien 614231990Smp# Amiga Unix 615231990Smp#install.man: tcsh.man 616231990Smp# compress tcsh.man 617231990Smp# cp tcsh.man.Z ${DESTMAN}/tcsh.Z 618231990Smp# chmod 444 ${DESTMAN}/tcsh.Z 619231990Smp 620231990Smp# Apple A/UX 621231990Smp#install.man: tcsh.man 622231990Smp# -rm -f ${DESTMAN}/tcsh.${MANSECT}.Z 623231990Smp# nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z 624231990Smp# chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z 625231990Smp 626231990Smpclean: clean.catalogs 627145479Smp ${RM} -f a.out strings x.c xs.c tcsh$(EXEEXT) tcsh.a _MAKE_LOG gethost 628167465Smp ${RM} -f *.${SUF} *.i *.s 629167465Smp ${RM} -f sh.prof.c ed.defns.h tc.const.h sh.err.h tc.defs.c 63059243Sobrien ${RM} -f tcsh.*.m tcsh.*.cat 63159243Sobrien 632231990Smpclean.catalogs: 633231990Smp @test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} clean) || exit 0 634231990Smp 63559243Sobrienveryclean: clean 636145479Smp ${RM} -f Makefile config.h config_p.h 637145479Smp ${RM} -f config.status config.cache config.log tcsh.ps 638145479Smp ${RM} -f missing 639145479Smp ${RM} -rf autom4te.cache 64059243Sobrien ${RM} -f *~ #* 64159243Sobrien 64259243Sobriendistclean: veryclean 64359243Sobrien 644167465Smpcleandir: veryclean 645167465Smp 64659243Sobrientags: /tmp 64759243Sobrien ${CTAGS} sh*.c 64859243Sobrien 64959243Sobrientar.Z: 65059243Sobrien rm -f tcsh-${VERSION}.tar.Z 65159243Sobrien rm -rf tcsh-${VERSION} 652167465Smp -mkdir tcsh-${VERSION} tcsh-${VERSION}/config tcsh-${VERSION}/tests 65359243Sobrien cp ${ALLSRCS} tcsh-${VERSION} 65459243Sobrien cp ${CONFSRCS} tcsh-${VERSION}/config 65559243Sobrien tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) 65659243Sobrien tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z 65759243Sobrien rm -rf tcsh-${VERSION} 65859243Sobrien 65959243Sobrientar.gz: 66059243Sobrien rm -f tcsh-${VERSION}.tar.gz 66159243Sobrien rm -rf tcsh-${VERSION} 662167465Smp -mkdir tcsh-${VERSION} tcsh-${VERSION}/config tcsh-${VERSION}/tests 66359243Sobrien cp ${ALLSRCS} tcsh-${VERSION} 66459243Sobrien cp ${CONFSRCS} tcsh-${VERSION}/config 66559243Sobrien tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) 66659243Sobrien tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz 66759243Sobrien rm -rf tcsh-${VERSION} 66859243Sobrien 66959243Sobrienshar: 67059243Sobrien rm -f tcsh-*.shar 67159243Sobrien rm -rf tcsh-${VERSION} 672167465Smp -mkdir tcsh-${VERSION} tcsh-${VERSION}/config tcsh-${VERSION}/tests 67359243Sobrien cp ${ALLSRCS} tcsh-${VERSION} 67459243Sobrien cp ${CONFSRCS} tcsh-${VERSION}/config 67559243Sobrien tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) 67659243Sobrien MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \ 67759243Sobrien tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \ 67859243Sobrien tcsh-${VERSION}/?*/set?* 67959243Sobrien rm -rf tcsh-${VERSION} 68059243Sobrien 68159243Sobriencatalogs: 682231990Smp @test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} catalogs) || exit 0 68359243Sobrien 68459243Sobrientcsh-${VERSION}.tar.Z: 68559243Sobrien rm -rf tcsh-${VERSION} 68659243Sobrien rm -f tcsh-${VERSION}.tar tcsh-${VERSION}.tar.Z DIFFS.[123] 687167465Smp -mkdir tcsh-${VERSION} tcsh-${VERSION}/tests 68859243Sobrien ./MAKEDIFFS bsd 68959243Sobrien mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh-${VERSION} 69059243Sobrien cp ${DISTSRCS} tcsh-${VERSION} 69169408Sache -mkdir tcsh-${VERSION}/config 69259243Sobrien cp ${CONFSRCS} tcsh-${VERSION}/config 69359243Sobrien cp Makefile tcsh-${VERSION}/Makefile.new 69459243Sobrien tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) 69559243Sobrien tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z 69659243Sobrien rm -rf tcsh-${VERSION} 69759243Sobrien 69859243Sobrientcsh.tahoe-${VERSION}.tar.Z: 69959243Sobrien rm -rf tcsh.tahoe-${VERSION} 70059243Sobrien rm -f tcsh.tahoe-${VERSION}.tar tcsh.tahoe-${VERSION}.tar.Z DIFFS.[123] 70169408Sache -mkdir tcsh.tahoe-${VERSION} 70259243Sobrien ./MAKEDIFFS tahoe 70359243Sobrien mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.tahoe-${VERSION} 70459243Sobrien cp ${DISTSRCS} tcsh.tahoe-${VERSION} 70569408Sache -mkdir tcsh.tahoe-${VERSION}/config 70659243Sobrien cp ${CONFSRCS} tcsh.tahoe-${VERSION}/config 70759243Sobrien cp Makefile tcsh.tahoe-${VERSION}/Makefile.new 70859243Sobrien tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) 70959243Sobrien tar cvf - tcsh.tahoe-${VERSION} | compress > tcsh.tahoe-${VERSION}.tar.Z 71059243Sobrien rm -rf tcsh.tahoe-${VERSION} 71159243Sobrien 71259243Sobrientcsh.reno-${VERSION}.tar.Z: 71359243Sobrien rm -rf tcsh.reno-${VERSION} 71459243Sobrien rm -f tcsh.reno-${VERSION}.tar tcsh.reno-${VERSION}.tar.Z DIFFS.[123] 71569408Sache -mkdir tcsh.reno-${VERSION} 71659243Sobrien ./MAKEDIFFS reno 71759243Sobrien mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.reno-${VERSION} 71859243Sobrien cp ${DISTSRCS} tcsh.reno-${VERSION} 71969408Sache -mkdir tcsh.reno-${VERSION}/config 72059243Sobrien cp ${CONFSRCS} tcsh.reno-${VERSION}/config 72159243Sobrien cp Makefile tcsh.reno-${VERSION}/Makefile.new 72259243Sobrien tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) 72359243Sobrien tar cvf - tcsh.reno-${VERSION} | compress > tcsh.reno-${VERSION}.tar.Z 72459243Sobrien rm -rf tcsh.reno-${VERSION} 72559243Sobrien 72659243Sobrienftp: tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z 72759243Sobrien cp tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z ${FTPAREA} 72859243Sobrien cp tcsh.man ${FTPAREA} 72959243Sobrien 73059243Sobrienautoconfigure: $(srcdir)/configure $(srcdir)/config.h.in 73159243Sobrien 732316958Sdchagin$(srcdir)/configure: $(srcdir)/configure.ac 73359243Sobrien cd $(srcdir) && autoconf 73459243Sobrien 73559243Sobrien$(srcdir)/config.h.in: $(srcdir)/stamp-h.in 736316958Sdchagin$(srcdir)/stamp-h.in: $(srcdir)/configure.ac 73759243Sobrien cd $(srcdir) && autoheader 73859243Sobrien @echo timestamp > $(srcdir)/stamp-h.in 73959243Sobrien 740167465Smpcheck: atconfig $(srcdir)/tests/testsuite 741167465Smp $(SHELL) $(srcdir)/tests/testsuite 742167465Smp 74359243Sobrien# 74459243Sobrien# Dependencies 74559243Sobrien# 74659243Sobrienconfig.h: config_f.h 74759243Sobrien 748145479SmpTCH=tc.h tc.const.h tc.decls.h tc.nls.h tc.os.h tc.sig.h 74959243SobrienSHH=sh.h sh.types.h sh.char.h sh.err.h sh.dir.h sh.proc.h pathnames.h \ 75059243Sobrien sh.decls.h ${TCH} 75159243SobrienTWH=tw.h tw.decls.h 75259243SobrienEDH=ed.h ed.decls.h 75359243Sobrien 75459243Sobrien# EDH 75559243SobrienEDINC=sh.${SUF} sh.func.${SUF} sh.lex.${SUF} sh.print.${SUF} sh.proc.${SUF} \ 75659243Sobrien sh.set.${SUF} tc.bind.${SUF} tc.os.${SUF} tc.prompt.${SUF} \ 75759243Sobrien tc.sched.${SUF} tw.parse.${SUF} tw.color.${SUF} 75859243Sobrien${EDOBJS} ${EDINC} : ${EDH} 75959243Sobrien 76059243Sobrien# SHH 76159243Sobrien${OBJS}: config.h ${SHH} 76259243Sobrien 76359243Sobrien# TWH 76459243SobrienTWINC=ed.chared.${SUF} ed.inputl.${SUF} sh.exec.${SUF} sh.func.${SUF} \ 765145479Smp sh.set.${SUF} tc.func.${SUF} tc.nls.${SUF} tw.color.${SUF} 76659243Sobrien${TWOBJS} ${TWINC}: ${TWH} 76759243Sobrien 76859243Sobrien# glob.h 76959243Sobrienglob.${SUF} sh.glob.${SUF}: glob.h 77059243Sobrien 771316958Sdchagin# dotlock.h 772316958Sdchagindotlock.${SUF}: dotlock.h 773316958Sdchagin 77459243Sobrien# ed.defns.h 77559243SobrienEDDINC=tc.bind.${SUF} tc.func.${SUF} tc.os.${SUF} 77659243Sobrien${EDOBJS} ${EDDINC}: ed.defns.h 77759243Sobrien 77859243Sobrien# tc.defs.o 77959243Sobrientc.defs.${SUF}: tc.defs.c sh.h 780