1 | # $Id: Makefile.std,v 1.1.1.1 1998-10-03 21:09:40 danw Exp $ |
---|
2 | # Makefile.std 4.3 6/11/83 |
---|
3 | # |
---|
4 | # C Shell with process control; VM/UNIX VAX Makefile |
---|
5 | # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria |
---|
6 | # |
---|
7 | # With an input editor, command completion, etc. and ported to all sorts of |
---|
8 | # things; Paul Placeway, CIS Dept., Ohio State University |
---|
9 | # |
---|
10 | SHELL=/bin/sh |
---|
11 | VERSION=6.08 |
---|
12 | BUILD=tcsh |
---|
13 | srcdir=. |
---|
14 | |
---|
15 | ################################################################ |
---|
16 | ## CFLAGS. For various -D things, see config.h |
---|
17 | ################################################################ |
---|
18 | # |
---|
19 | # These are the default suffixes from .c to .o and -c to get there |
---|
20 | # but to use the global optimizer on the mips boxes, see below |
---|
21 | # |
---|
22 | SUF=o |
---|
23 | CF=-c |
---|
24 | |
---|
25 | INCLUDES=-I. -I$(srcdir) |
---|
26 | |
---|
27 | LFLAGS=$(INCLUDES) |
---|
28 | #LFLAGS=$(INCLUDES) -Zn10000 # hpux lint |
---|
29 | |
---|
30 | |
---|
31 | #CFLAGS= $(INCLUDES) -g # debug |
---|
32 | #CFLAGS= $(INCLUDES) -O # production |
---|
33 | #CFLAGS= $(INCLUDES) # Broken optimizers.... |
---|
34 | |
---|
35 | #CFLAGS= -g -pg $(INCLUDES) -DPROF |
---|
36 | #CFLAGS= -O -pg $(INCLUDES) -DPROF |
---|
37 | |
---|
38 | # gcc 1.00-1.37 |
---|
39 | #CFLAGS=-O $(INCLUDES) -finline-functions -fstrength-reduce |
---|
40 | |
---|
41 | # gcc 1.37-1.40 |
---|
42 | #CFLAGS=-O $(INCLUDES) -fcombine-regs -finline-functions -fstrength-reduce |
---|
43 | # add -msoft-float for 68881 machines. |
---|
44 | |
---|
45 | # gcc 2.0 |
---|
46 | # On the sparc, don't use -O2; it breaks setjmp() and vfork() |
---|
47 | #CFLAGS=-O $(INCLUDES) |
---|
48 | |
---|
49 | # gcc-2.1+ |
---|
50 | CFLAGS=-O2 $(INCLUDES) |
---|
51 | |
---|
52 | # lucid c on suns |
---|
53 | #CFLAGS=-O5 $(INCLUDES) |
---|
54 | |
---|
55 | # gcc 2.1 on linux |
---|
56 | #CFLAGS=-O6 -fomit-frame-pointer $(INCLUDES) |
---|
57 | |
---|
58 | # HP/UX 8.0, 9.0 |
---|
59 | #CFLAGS= $(INCLUDES) +O3 -Aa |
---|
60 | |
---|
61 | # Ultrix 4.2a |
---|
62 | #CFLAGS= $(INCLUDES) -O -Olimit 2000 |
---|
63 | |
---|
64 | # Intel Paragon OSF/1 with PGI compilers |
---|
65 | #CFLAGS=-O -Mnodebug -Mnoperfmon $(INCLUDES) |
---|
66 | |
---|
67 | # DEC Alpha OSF/1 |
---|
68 | #CFLAGS= -O2 $(INCLUDES) -Olimit 2000 ## Normal Optimization |
---|
69 | #CFLAGS= -O3 $(INCLUDES) -Olimit 2000 ## Full Optimization - may not work |
---|
70 | #CF=-j |
---|
71 | #SUF=u |
---|
72 | #.SUFFIXES: .u |
---|
73 | |
---|
74 | # for silicon graphics (and other mips compilers) -- use the |
---|
75 | # global optimizer! (-O3). |
---|
76 | # On SGI 4.0+ you need to add -D__STDC__ too. |
---|
77 | #CFLAGS= -O3 $(INCLUDES) |
---|
78 | #CFLAGS= -O3 $(INCLUDES) -Olimit 2000 ## Ultrix 4.2a |
---|
79 | #CF=-j |
---|
80 | #SUF=u |
---|
81 | #.SUFFIXES: .u ## Ultrix and gnu-make need that |
---|
82 | |
---|
83 | # mips systems |
---|
84 | # CFLAGS= $(INCLUDES) -O -systype bsd43 -Wf,-XNd5000 -Wf,-XNp6000 -Olimit 2000 |
---|
85 | |
---|
86 | # for at&t machines |
---|
87 | #CFLAGS= -O -Ksd $(INCLUDES) |
---|
88 | |
---|
89 | # Stardent Titan |
---|
90 | #CFLAGS = $(INCLUDES) -O -43 |
---|
91 | |
---|
92 | # Stardent Stellar or sunos4 /bin/cc or Solaris2.1 /opt/SUNWspro/bin/cc |
---|
93 | #CFLAGS = $(INCLUDES) -O4 |
---|
94 | |
---|
95 | # Intergraph clipper CLIX 3.1 |
---|
96 | #CFLAGS= -w -O2 $(INCLUDES) |
---|
97 | |
---|
98 | # Dnix 5.3 |
---|
99 | #CFLAGS = -O -X7 |
---|
100 | |
---|
101 | # Pyramid OS/x |
---|
102 | #CFLAGS = -OG |
---|
103 | |
---|
104 | # Multiflow (5M binary... if you choose -O5!) |
---|
105 | #CFLAGS = -O5 -sb_trace 0 |
---|
106 | |
---|
107 | # DDE Supermax Unix SYSV Rel III. |
---|
108 | # CFLAGS= -O3 |
---|
109 | |
---|
110 | # SINIX RMx00 |
---|
111 | #CFLAGS= -O # -D_POSIX_SOURCE # -kansi |
---|
112 | |
---|
113 | # Apollo's with cc [apollo builtins don't work with gcc] |
---|
114 | # and apollo should not define __STDC__ if it does not have |
---|
115 | # the standard header files. RT's (aos4.3) need that too; |
---|
116 | # you might want to skip the -O on the rt's... Not very wise. |
---|
117 | # AIX/ESA needs -D_IBMESA on command line (this may disappear by GA) |
---|
118 | #DFLAGS=-U__STDC__ |
---|
119 | #DFLAGS=-D_IBMESA |
---|
120 | # On aix2.2.1 we need more compiler space. |
---|
121 | #DFLAGS=-Nd4000 -Nn3000 |
---|
122 | # AU/X 2.0 needs a flag for POSIX (read the config file) |
---|
123 | #DFLAGS=-Zp |
---|
124 | # Tektronix 4300 running UTek 4.0 (BSD 4.2) needs: |
---|
125 | #DFLAGS = -DUTek -DBSD |
---|
126 | # VMS_POSIX needs: |
---|
127 | #DFLAGS=-D_VMS_POSIX |
---|
128 | # Multiflow and PCC compilers don't like void typedefs. |
---|
129 | # You may also need -U__STDC__ if you use pcc (i.e. ibmrt aos4.3). |
---|
130 | #DFLAGS=-DMULTIFLOW |
---|
131 | #DFLAGS=-DPCC |
---|
132 | # DELL SVR4 |
---|
133 | #DFLAGS=-DDELL |
---|
134 | # SCO_SV |
---|
135 | #DFLAGS=-D_SPEED_T -DSCO |
---|
136 | DFLAGS= |
---|
137 | #DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"' |
---|
138 | |
---|
139 | |
---|
140 | ################################################################ |
---|
141 | ## LDFLAGS. Define something here if you need to |
---|
142 | ################################################################ |
---|
143 | LDFLAGS= ## The simplest, suitable for all. |
---|
144 | #LDFLAGS= -s ## Stripped. Takes less space on disk. |
---|
145 | #LDFLAGS= -s -n ## Pure executable. Spares paging over |
---|
146 | # ## the network for machines with local |
---|
147 | # ## swap but external /usr/local/bin . |
---|
148 | #LDFLAGS= -s -n -Bstatic ## Without dynamic linking. (SunOS/cc) |
---|
149 | #LDFLAGS= -s -n -static ## Without dynamic linking. (SunOS/gcc) |
---|
150 | #LDFLAGS= -Wl,-s,-n ## Stripped, shared text (Unicos) |
---|
151 | #LDFLAGS= -s -static ## Link statically. (linux) |
---|
152 | #LDFLAGS= -s -N ## Impure executable (linux) |
---|
153 | #LDFLAGS= -Bdynamic -dy ## SCO_SV |
---|
154 | |
---|
155 | ################################################################ |
---|
156 | ## LIBES. Pick one, or roll your own. |
---|
157 | ################################################################ |
---|
158 | LIBES= -ltermcap ## BSD style things |
---|
159 | #LIBES= -ltermcap ## SunOS, HP-UX, pyramid |
---|
160 | #LIBES= -ltermcap ## Linux |
---|
161 | #LIBES= -ltermcap -lshadow ## Linux with PW_SHADOW |
---|
162 | #LIBES= -ltermcap -lsec ## Tek XD88/10 (UTekV) with PW_SHADOW |
---|
163 | #LIBES= -ltermcap -lsec ## Motorola MPC (sysV88) with PW_SHADOW |
---|
164 | #LIBES= -ltermcap -lcs ## Mach |
---|
165 | #LIBES= -ltermcap -lbsd ## DEC osf1 on the alpha |
---|
166 | #LIBES= -ltermcap -lbsd ## Intel paragon |
---|
167 | #LIBES= -ltermcap -lbsd ## Clipper intergraph |
---|
168 | #LIBES= -ltermcap -lseq ## Sequent's Dynix |
---|
169 | #LIBES= -ltermcap -lauth ## Ultrix with Enhanced Security |
---|
170 | #LIBES= -ltermcap -ldir -lx ## Xenix 386 style things |
---|
171 | #LIBES= -ltermcap -lndir -lsocket -ljobs ## masscomp RTU6.0 |
---|
172 | #LIBES= -lcurses ## AIX on the rt |
---|
173 | #LIBES= -lcurses ## TitanOS on the stellar |
---|
174 | #LIBES= -ltermlib -lsocket -lnsl ## SysV4 w/o BSDTIMES or Solaris 2 |
---|
175 | #LIBES= -lcurses ## SysV3 w/o networking |
---|
176 | #LIBES= -lcurses -lnet ## SysV3 with networking |
---|
177 | #LIBES= -lcurses -ldir ## SysV2 w/o networking & dirlib |
---|
178 | #LIBES= -lcurses -ldir -lnet ## SysV2 with networking & dirlib |
---|
179 | #LIBES= -lcurses -lbsd ## AIX on the IBM 370 or rs6000 or ps2 |
---|
180 | #LIBES= -lcurses -lbsd ## ETA10 |
---|
181 | #LIBES= -lcurses -lbsd ## Irix3.1 on the SGI-IRIS4D |
---|
182 | #LIBES= -lcurses -lbsd -lc_s ## Irix3.3 on the SGI-IRIS4D w/o yp |
---|
183 | #LIBES= -lcurses -lsun -lbsd -lc_s ## Irix3.3 on the SGI-IRIS4D with yp |
---|
184 | #LIBES= -lcurses -lsocket -lbsd ## Amdahl UTS 2.1 |
---|
185 | #LIBES= -lcurses -lsocket ## Intel's hypercube. |
---|
186 | #LIBES= -lcurses -lsocket ## ns32000 based Opus. |
---|
187 | #LIBES= -lcurses -lcposix ## ISC 2.2 without networking |
---|
188 | #LIBES= -lcposix -lc_s -lcurses -linet ## ISC 2.2 with networking |
---|
189 | #LIBES= -lcurses -lsec -lc_s ## ISC 2.0.2 without networking |
---|
190 | #LIBES= -lcurses -linet -lsec -lc_s ## ISC 2.0.2 with networking |
---|
191 | #LIBES= -lcurses -lintl -lcrypt ## SCO SysVR3.2v2.0 |
---|
192 | #LIBES= -lcurses -lintl -lsocket -lcrypt ## SCO+ODT1.1 |
---|
193 | #LIBES= -lcurses -lsocket -lcrypt ## SCO_SV |
---|
194 | #LIBES= -lposix -ltermcap ## A/UX 2.0 |
---|
195 | #LIBES= -lposix -ltermcap -lc_s ## A/UX 3.0 |
---|
196 | #LIBES= -ldirent -lcurses ## att3b1 cc w/o shared lib & dirlib |
---|
197 | #LIBES= -shlib -ldirent -lcurses ## att3b1 gcc with shared lib & dirlib |
---|
198 | #LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a ## SysV4 with BSDTIMES |
---|
199 | #LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a ## Stardent Vistra |
---|
200 | #LIBES= -ltermc ## emx under OS/2 |
---|
201 | #LIBES= ## Minix, VMS_POSIX |
---|
202 | #LIBES= -ltermcap -lcrypt ## Multiflow |
---|
203 | #LIBES= -ltermcap -lcrypt ## NetBSD |
---|
204 | #LIBES= -lcurses ## DDE Supermax |
---|
205 | |
---|
206 | ################################################################ |
---|
207 | ## EXTRAFLAGS and EXTRALIBS |
---|
208 | ################################################################ |
---|
209 | # Compiling for HESIOD |
---|
210 | #HESDEF = -DHESIOD -I/usr/athena/include |
---|
211 | #HESLIB = -L/usr/athena/lib -lhesiod |
---|
212 | # |
---|
213 | # Compiling for AFS with kerberos authentication |
---|
214 | #AFSLIBDIR = /usr/afsws/lib |
---|
215 | #AFSDEF = -DAFS -I/usr/afsws/include |
---|
216 | #AFS33LIB = -laudit |
---|
217 | # |
---|
218 | #Solaris and HPUX require the BSD libraries with AFS. |
---|
219 | #We use -lc to use only what we require. |
---|
220 | #AFSAUXLIB = -lsocket -lnsl -lc -lucb # Solaris |
---|
221 | #AFSAUXLIB = -lc -lBSD # HPUX |
---|
222 | # |
---|
223 | #AFSLIB = -L$(AFSLIBDIR) -L$(AFSLIBDIR)/afs -lkauth -lprot -lubik\ |
---|
224 | # -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\ |
---|
225 | # $(AFSLIBDIR)/afs/util.a $(AFS33LIB) $(AFSAUXLIB) |
---|
226 | # |
---|
227 | |
---|
228 | EXTRAFLAGS = $(HESDEF) $(AFSDEF) |
---|
229 | EXTRALIBS = $(HESLIB) $(AFSLIB) |
---|
230 | |
---|
231 | |
---|
232 | # The difficult choice of a c-compiler... |
---|
233 | # First, you should try your own c-compiler. |
---|
234 | # Gcc -traditional is also a safe choice. |
---|
235 | # If you think that you have good include files try gcc -Wall... |
---|
236 | # If you want to take out -traditional, make sure that your sys/ioctl.h |
---|
237 | # is fixed correctly, otherwise you'll be stopped for tty input, or you |
---|
238 | # will lose the editor and job control. |
---|
239 | |
---|
240 | # This is for setting your C preprocessor value. |
---|
241 | CPP = ${CC} -E |
---|
242 | # The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which |
---|
243 | # on the suns does not know how to make dynamically linked binaries. |
---|
244 | CC= gcc -Wall -pipe -B/bin/ # -ansi -pedantic |
---|
245 | #CC= gcc -m486 -pipe -Wall # Generate code for Intel 486 (linux) |
---|
246 | #CC= shlicc # BSDI2.1 w/ shared libraries |
---|
247 | #CC= cc |
---|
248 | #CC= occ |
---|
249 | #CC= acc |
---|
250 | #CC= pcc |
---|
251 | #CC= hc -w |
---|
252 | #CC= c89 # For VMS/POSIX |
---|
253 | #CC= /bin/cc # For suns, w/o gcc and SVR4 |
---|
254 | #CC= /usr/lib/sun.compile/cc # FPS 500 (+FPX) with Sun C compiler |
---|
255 | #CC= /opt/SUNWspro/bin/cc # Solaris 2.1 |
---|
256 | #CC= scc # Alliant fx2800 |
---|
257 | #CC= lcc -wa |
---|
258 | #CC= cc -b elf -Kpic # SCO_SV |
---|
259 | ED= ed |
---|
260 | AS= as |
---|
261 | RM= rm |
---|
262 | CXREF= /usr/ucb/cxref |
---|
263 | #CXREF= /bin/cxref # SCO_SV |
---|
264 | VGRIND= csh /usr/ucb/vgrind |
---|
265 | CTAGS= /usr/ucb/ctags |
---|
266 | #CTAGS= /usr/bin/ctags # SCO_SV |
---|
267 | #XSTR= /usr/ucb/xstr |
---|
268 | #XSTR= /usr/bin/xstr # SCO_SV |
---|
269 | SCCS= /usr/local/sccs |
---|
270 | PARALLEL=12 # Make the multi-max run fast. |
---|
271 | #P=& # Use Sequent's parallel make |
---|
272 | P= |
---|
273 | DESTDIR=/usr/local |
---|
274 | #DESTDIR=/usr/contrib |
---|
275 | MANSECT=1 |
---|
276 | DESTBIN=${DESTDIR}/bin |
---|
277 | DESTMAN=${DESTDIR}/man/man${MANSECT} |
---|
278 | # DESTMAN=${DESTDIR}/catman/man${MANSECT} # A/UX |
---|
279 | # DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} # Stardent Vistra (SysVR4) |
---|
280 | # DESTMAN=/usr/catman/1l # Amiga unix (SysVR4) |
---|
281 | FTPAREA=/usr/spool/ftp |
---|
282 | |
---|
283 | ASSRCS= sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \ |
---|
284 | sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \ |
---|
285 | sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \ |
---|
286 | sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h |
---|
287 | PSSRCS= sh.decls.h glob.c glob.h mi.termios.c mi.wait.h mi.varargs.h ma.setp.c \ |
---|
288 | vms.termcap.c |
---|
289 | SHSRCS= ${ASSRCS} ${PSSRCS} |
---|
290 | SHOBJS= sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \ |
---|
291 | sh.char.${SUF} sh.exp.${SUF} sh.func.${SUF} sh.glob.${SUF} \ |
---|
292 | sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} sh.misc.${SUF} \ |
---|
293 | sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} sh.sem.${SUF} \ |
---|
294 | sh.set.${SUF} sh.time.${SUF} glob.${SUF} mi.termios.${SUF} \ |
---|
295 | ma.setp.${SUF} vms.termcap.${SUF} |
---|
296 | |
---|
297 | TWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ |
---|
298 | tw.comp.c tw.color.c |
---|
299 | TWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \ |
---|
300 | tw.comp.${SUF} tw.color.${SUF} |
---|
301 | |
---|
302 | EDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ |
---|
303 | ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h |
---|
304 | EDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \ |
---|
305 | ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} |
---|
306 | |
---|
307 | TCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ |
---|
308 | tc.func.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ |
---|
309 | tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ |
---|
310 | tc.who.c tc.h |
---|
311 | TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ |
---|
312 | tc.disc.${SUF} tc.func.${SUF} tc.os.${SUF} tc.printf.${SUF} \ |
---|
313 | tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ |
---|
314 | tc.vers.${SUF} tc.who.${SUF} |
---|
315 | |
---|
316 | PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 |
---|
317 | AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ |
---|
318 | WishList config_f.h eight-bit.me glob.3 patchlevel.h \ |
---|
319 | pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ |
---|
320 | README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ |
---|
321 | host.defs gethost.c tcsh.man2html configure.in configure config.h.in |
---|
322 | |
---|
323 | VHSRCS=${PVSRCS} ${AVSRCS} |
---|
324 | |
---|
325 | CONFSRCS=config/* |
---|
326 | |
---|
327 | ALLSRCS= ${SHSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${VHSRCS} |
---|
328 | DISTSRCS= ${PSSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${AVSRCS} |
---|
329 | |
---|
330 | |
---|
331 | OBJS= ${SHOBJS} ${TWOBJS} ${EDOBJS} ${TCOBJS} |
---|
332 | |
---|
333 | |
---|
334 | all: ${BUILD} |
---|
335 | |
---|
336 | tcsh:$(P) ${OBJS} |
---|
337 | rm -f tcsh core |
---|
338 | ${CC} -o tcsh ${LDFLAGS} ${CFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} |
---|
339 | |
---|
340 | # Purify |
---|
341 | pure:$(P) ${OBJS} |
---|
342 | rm -f tcsh core |
---|
343 | purify `echo ${CC} | sed -e s,-B/bin/,,` -o tcsh ${LDFLAGS} ${CFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} |
---|
344 | # OS/2 |
---|
345 | tcsh.exe: tcsh |
---|
346 | emxbind tcsh |
---|
347 | |
---|
348 | gethost: gethost.c sh.err.h tc.const.h sh.h |
---|
349 | rm -f gethost |
---|
350 | ${CC} -o gethost ${LDFLAGS} ${CFLAGS} ${DFLAGS} $(srcdir)/gethost.c ${LIBES} ${EXTRALIBS} |
---|
351 | |
---|
352 | tc.defs.c: gethost host.defs |
---|
353 | @rm -f $@ |
---|
354 | @echo "/* Do not edit this file, make creates it */" > $@ |
---|
355 | ./gethost $(srcdir)/host.defs >> $@ |
---|
356 | |
---|
357 | tcsh.ps: tcsh.man |
---|
358 | rm -f tcsh.ps |
---|
359 | -ptroff -t -man $(srcdir)/tcsh.man > tcsh.ps |
---|
360 | |
---|
361 | |
---|
362 | .c.${SUF}: |
---|
363 | ${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< |
---|
364 | |
---|
365 | # _VMS_POSIX #module addition |
---|
366 | #.c.${SUF}: |
---|
367 | # @(echo '#module '`echo $< | sed -e 's/\./_/g'`; cat $<) > $*..c |
---|
368 | # @echo ${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*.c |
---|
369 | # @${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*..c |
---|
370 | # @mv $*..o $*.o |
---|
371 | # @rm -f $*..c |
---|
372 | |
---|
373 | |
---|
374 | # Don't do any special massaging of C files for sharing of strings!! |
---|
375 | # it causes weird segmentation faults on some systems. |
---|
376 | #.c.o: |
---|
377 | # ${CPP} ${CFLAGS} $*.c | ${XSTR} -c - |
---|
378 | # ${CC} ${CF} ${CFLAGS} x.c |
---|
379 | # mv -f x.o $*.o |
---|
380 | # rm -f x.c |
---|
381 | |
---|
382 | #ed.init.o: ed.init.c |
---|
383 | # ${CPP} ${CFLAGS} $*.c | ${XSTR} -c - |
---|
384 | # ${CC} -R ${CF} ${CF} x.c |
---|
385 | # mv -f x.o $*.o |
---|
386 | # rm -f x.c |
---|
387 | |
---|
388 | #strings.o: strings |
---|
389 | # ${XSTR} |
---|
390 | # ${CC} -c -R xs.c |
---|
391 | # mv -f xs.o strings.o |
---|
392 | # rm -f xs.c |
---|
393 | |
---|
394 | ##.DEFAULT: |
---|
395 | ## ${SCCS} get $< |
---|
396 | |
---|
397 | ##.DEFAULT: |
---|
398 | ## co $< |
---|
399 | |
---|
400 | ed.defns.h: ed.defns.c |
---|
401 | @rm -f $@ |
---|
402 | @echo '/* Do not edit this file, make creates it. */' > $@ |
---|
403 | @echo '#ifndef _h_ed_defns' >> $@ |
---|
404 | @echo '#define _h_ed_defns' >> $@ |
---|
405 | grep '[FV]_' $(srcdir)/ed.defns.c | grep '^#define' >> $@ |
---|
406 | @echo '#endif /* _h_ed_defns */' >> $@ |
---|
407 | |
---|
408 | sh.err.h: sh.err.c |
---|
409 | @rm -f $@ |
---|
410 | @echo '/* Do not edit this file, make creates it. */' > $@ |
---|
411 | @echo '#ifndef _h_sh_err' >> $@ |
---|
412 | @echo '#define _h_sh_err' >> $@ |
---|
413 | grep 'ERR_' $(srcdir)/sh.err.c | grep '^#define' >> $@ |
---|
414 | @echo '#endif /* _h_sh_err */' >> $@ |
---|
415 | |
---|
416 | tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h |
---|
417 | @rm -f $@ |
---|
418 | @echo '/* Do not edit this file, make creates it. */' > $@ |
---|
419 | @echo '#ifndef _h_tc_const' >> $@ |
---|
420 | @echo '#define _h_tc_const' >> $@ |
---|
421 | ${CPP} $(INCLUDES) ${DFLAGS} ${EXTRAFLAGS} -D_h_tc_const\ |
---|
422 | $(srcdir)/tc.const.c | grep 'Char STR' | \ |
---|
423 | sed -e 's/Char \([a-zA-Z0-9_]*\)\[\].*/extern Char \1[];/' | \ |
---|
424 | sort >> $@ |
---|
425 | @echo '#endif /* _h_tc_const */' >> $@ |
---|
426 | |
---|
427 | csh.prof: ${OBJS} sh.prof.${SUF} mcrt0.${SUF} |
---|
428 | rm -f csh.prof |
---|
429 | ld -X mcrt0.${SUF} ${OBJS} -o csh.prof ${LIBES} -lc |
---|
430 | |
---|
431 | sh.prof.${SUF}: |
---|
432 | cp sh.c sh.prof.c |
---|
433 | ${CC} ${CF} ${CFLAGS} -DPROF sh.prof.c |
---|
434 | |
---|
435 | lint: tc.const.h ed.defns.h |
---|
436 | lint ${DFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} |
---|
437 | |
---|
438 | alint: tc.const.h ed.defns.h |
---|
439 | alint ${DFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} |
---|
440 | |
---|
441 | print: |
---|
442 | @pr READ_ME |
---|
443 | @pr makefile makefile.* |
---|
444 | @(size -l a.out; size *.${SUF}) | pr -h SIZES |
---|
445 | @${CXREF} sh*.c | pr -h XREF |
---|
446 | @ls -l | pr |
---|
447 | @pr sh*.h [a-rt-z]*.h sh*.c alloc.c |
---|
448 | |
---|
449 | vprint: |
---|
450 | @pr -l84 READ_ME TODO |
---|
451 | @pr -l84 makefile makefile.* |
---|
452 | @(size -l a.out; size *.${SUF}) | pr -l84 -h SIZES |
---|
453 | @${CXREF} sh*.c | pr -l84 -h XREF |
---|
454 | @ls -l | pr -l84 |
---|
455 | @${CXREF} sh*.c | pr -l84 -h XREF |
---|
456 | @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c |
---|
457 | |
---|
458 | vgrind: |
---|
459 | @cp /dev/null index |
---|
460 | @for i in *.h; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done |
---|
461 | @for i in *.c; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done |
---|
462 | @vgrind -t -x -h Index index >/crp/bill/csh/index.t |
---|
463 | |
---|
464 | install: tcsh |
---|
465 | -mv -f ${DESTBIN}/tcsh ${DESTBIN}/tcsh.old |
---|
466 | cp tcsh ${DESTBIN}/tcsh |
---|
467 | -strip ${DESTBIN}/tcsh |
---|
468 | chmod 555 ${DESTBIN}/tcsh |
---|
469 | |
---|
470 | install.man: tcsh.man |
---|
471 | -rm -f ${DESTMAN}/tcsh.${MANSECT} |
---|
472 | cp $(srcdir)/tcsh.man ${DESTMAN}/tcsh.${MANSECT} |
---|
473 | chmod 444 ${DESTMAN}/tcsh.${MANSECT} |
---|
474 | |
---|
475 | # Amiga Unix |
---|
476 | #install.man: tcsh.man |
---|
477 | # compress tcsh.man |
---|
478 | # cp tcsh.man.Z ${DESTMAN}/tcsh.Z |
---|
479 | # chmod 444 ${DESTMAN}/tcsh.Z |
---|
480 | |
---|
481 | # Apple A/UX |
---|
482 | #install.man: tcsh.man |
---|
483 | # -rm -f ${DESTMAN}/tcsh.${MANSECT}.Z |
---|
484 | # nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z |
---|
485 | # chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z |
---|
486 | |
---|
487 | clean: |
---|
488 | ${RM} -f a.out strings x.c xs.c tcsh tcsh.a _MAKE_LOG core gethost |
---|
489 | ${RM} -f *.${SUF} sh.prof.c ed.defns.h tc.const.h sh.err.h tc.defs.c |
---|
490 | ${RM} -f tcsh.*.m tcsh.*.cat |
---|
491 | |
---|
492 | veryclean: clean |
---|
493 | ${RM} -f config.h config.status config.cache config.log Makefile tcsh.ps |
---|
494 | ${RM} -f *~ #* |
---|
495 | |
---|
496 | distclean: veryclean |
---|
497 | |
---|
498 | tags: /tmp |
---|
499 | ${CTAGS} sh*.c |
---|
500 | |
---|
501 | tar.Z: |
---|
502 | rm -f tcsh-${VERSION}.tar.Z |
---|
503 | rm -rf tcsh-${VERSION} |
---|
504 | mkdir tcsh-${VERSION} tcsh-${VERSION}/config |
---|
505 | cp ${ALLSRCS} tcsh-${VERSION} |
---|
506 | cp ${CONFSRCS} tcsh-${VERSION}/config |
---|
507 | tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) |
---|
508 | tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z |
---|
509 | rm -rf tcsh-${VERSION} |
---|
510 | |
---|
511 | tar.gz: |
---|
512 | rm -f tcsh-${VERSION}.tar.gz |
---|
513 | rm -rf tcsh-${VERSION} |
---|
514 | mkdir tcsh-${VERSION} tcsh-${VERSION}/config |
---|
515 | cp ${ALLSRCS} tcsh-${VERSION} |
---|
516 | cp ${CONFSRCS} tcsh-${VERSION}/config |
---|
517 | tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) |
---|
518 | tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz |
---|
519 | rm -rf tcsh-${VERSION} |
---|
520 | |
---|
521 | shar: |
---|
522 | rm -f tcsh-*.shar |
---|
523 | rm -rf tcsh-${VERSION} |
---|
524 | mkdir tcsh-${VERSION} tcsh-${VERSION}/config |
---|
525 | cp ${ALLSRCS} tcsh-${VERSION} |
---|
526 | cp ${CONFSRCS} tcsh-${VERSION}/config |
---|
527 | tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) |
---|
528 | MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \ |
---|
529 | tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \ |
---|
530 | tcsh-${VERSION}/?*/set?* |
---|
531 | rm -rf tcsh-${VERSION} |
---|
532 | |
---|
533 | catalogs: |
---|
534 | @(cd nls; make catalogs) |
---|
535 | |
---|
536 | tcsh-${VERSION}.tar.Z: |
---|
537 | rm -rf tcsh-${VERSION} |
---|
538 | rm -f tcsh-${VERSION}.tar tcsh-${VERSION}.tar.Z DIFFS.[123] |
---|
539 | mkdir tcsh-${VERSION} |
---|
540 | ./MAKEDIFFS bsd |
---|
541 | mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh-${VERSION} |
---|
542 | cp ${DISTSRCS} tcsh-${VERSION} |
---|
543 | mkdir tcsh-${VERSION}/config |
---|
544 | cp ${CONFSRCS} tcsh-${VERSION}/config |
---|
545 | cp Makefile tcsh-${VERSION}/Makefile.new |
---|
546 | tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) |
---|
547 | tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z |
---|
548 | rm -rf tcsh-${VERSION} |
---|
549 | |
---|
550 | tcsh.tahoe-${VERSION}.tar.Z: |
---|
551 | rm -rf tcsh.tahoe-${VERSION} |
---|
552 | rm -f tcsh.tahoe-${VERSION}.tar tcsh.tahoe-${VERSION}.tar.Z DIFFS.[123] |
---|
553 | mkdir tcsh.tahoe-${VERSION} |
---|
554 | ./MAKEDIFFS tahoe |
---|
555 | mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.tahoe-${VERSION} |
---|
556 | cp ${DISTSRCS} tcsh.tahoe-${VERSION} |
---|
557 | mkdir tcsh.tahoe-${VERSION}/config |
---|
558 | cp ${CONFSRCS} tcsh.tahoe-${VERSION}/config |
---|
559 | cp Makefile tcsh.tahoe-${VERSION}/Makefile.new |
---|
560 | tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) |
---|
561 | tar cvf - tcsh.tahoe-${VERSION} | compress > tcsh.tahoe-${VERSION}.tar.Z |
---|
562 | rm -rf tcsh.tahoe-${VERSION} |
---|
563 | |
---|
564 | tcsh.reno-${VERSION}.tar.Z: |
---|
565 | rm -rf tcsh.reno-${VERSION} |
---|
566 | rm -f tcsh.reno-${VERSION}.tar tcsh.reno-${VERSION}.tar.Z DIFFS.[123] |
---|
567 | mkdir tcsh.reno-${VERSION} |
---|
568 | ./MAKEDIFFS reno |
---|
569 | mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.reno-${VERSION} |
---|
570 | cp ${DISTSRCS} tcsh.reno-${VERSION} |
---|
571 | mkdir tcsh.reno-${VERSION}/config |
---|
572 | cp ${CONFSRCS} tcsh.reno-${VERSION}/config |
---|
573 | cp Makefile tcsh.reno-${VERSION}/Makefile.new |
---|
574 | tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) |
---|
575 | tar cvf - tcsh.reno-${VERSION} | compress > tcsh.reno-${VERSION}.tar.Z |
---|
576 | rm -rf tcsh.reno-${VERSION} |
---|
577 | |
---|
578 | ftp: tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z |
---|
579 | cp tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z ${FTPAREA} |
---|
580 | cp tcsh.man ${FTPAREA} |
---|
581 | |
---|
582 | autoconfigure: $(srcdir)/configure $(srcdir)/config.h.in |
---|
583 | |
---|
584 | $(srcdir)/configure: $(srcdir)/configure.in |
---|
585 | cd $(srcdir) && autoconf |
---|
586 | |
---|
587 | $(srcdir)/config.h.in: $(srcdir)/stamp-h.in |
---|
588 | $(srcdir)/stamp-h.in: $(srcdir)/configure.in |
---|
589 | cd $(srcdir) && autoheader |
---|
590 | @echo timestamp > $(srcdir)/stamp-h.in |
---|
591 | |
---|
592 | # |
---|
593 | # Dependencies |
---|
594 | # |
---|
595 | config.h: config_f.h |
---|
596 | |
---|
597 | TCH=tc.h tc.const.h tc.decls.h tc.os.h tc.sig.h |
---|
598 | SHH=sh.h sh.types.h sh.char.h sh.err.h sh.dir.h sh.proc.h pathnames.h \ |
---|
599 | sh.decls.h ${TCH} |
---|
600 | TWH=tw.h tw.decls.h |
---|
601 | EDH=ed.h ed.decls.h |
---|
602 | |
---|
603 | # EDH |
---|
604 | EDINC=sh.${SUF} sh.func.${SUF} sh.lex.${SUF} sh.print.${SUF} sh.proc.${SUF} \ |
---|
605 | sh.set.${SUF} tc.bind.${SUF} tc.os.${SUF} tc.prompt.${SUF} \ |
---|
606 | tc.sched.${SUF} tw.parse.${SUF} tw.color.${SUF} |
---|
607 | ${EDOBJS} ${EDINC} : ${EDH} |
---|
608 | |
---|
609 | # SHH |
---|
610 | ${OBJS}: config.h ${SHH} |
---|
611 | |
---|
612 | # TWH |
---|
613 | TWINC=ed.chared.${SUF} ed.inputl.${SUF} sh.exec.${SUF} sh.func.${SUF} \ |
---|
614 | sh.set.${SUF} tc.func.${SUF} tw.color.${SUF} |
---|
615 | ${TWOBJS} ${TWINC}: ${TWH} |
---|
616 | |
---|
617 | # glob.h |
---|
618 | glob.${SUF} sh.glob.${SUF}: glob.h |
---|
619 | |
---|
620 | # ed.defns.h |
---|
621 | EDDINC=tc.bind.${SUF} tc.func.${SUF} tc.os.${SUF} |
---|
622 | ${EDOBJS} ${EDDINC}: ed.defns.h |
---|
623 | |
---|
624 | # tc.defs.o |
---|
625 | tc.defs.${SUF}: tc.defs.c sh.h |
---|