xref: /original-bsd/local/toolchest/ksh/ksh.mk (revision 951fd614)
1*951fd614Smarc# make [ OPTIONS= ]
2*951fd614SmarcCMD=/bin/make
3*951fd614SmarcCC = cc
4*951fd614SmarcDAYS=28
5*951fd614SmarcARK=lib.a
6*951fd614SmarcTAR=tar
7*951fd614SmarcCPIO=cpio
8*951fd614SmarcTROFF=nroff
9*951fd614SmarcLPR=lpr
10*951fd614SmarcUTIME=$(SH).$(CPIO)
11*951fd614SmarcSH=ksh
12*951fd614SmarcJSH=jsh
13*951fd614SmarcELIB=libedit.a
14*951fd614SmarcRJE= $(HOME)/rje
15*951fd614SmarcINSDIR = /usr/lbin
16*951fd614SmarcOPTIONS=
17*951fd614Smarc# the following make options are automatically configured but can be explicitly set
18*951fd614Smarc# options can be used to turn on (-)  or off (+) certain features
19*951fd614Smarc# possible options and defaults are:
20*951fd614Smarc#	a	shell accounting	off
21*951fd614Smarc#	v	vi editmode		on
22*951fd614Smarc#	e	emacs edit mode		on
23*951fd614Smarc#	r	viraw mode		on
24*951fd614Smarc#	j	monitor(job control)	on
25*951fd614Smarc#	m	multibyte mode(on only)	automatically configured
26*951fd614Smarc#	f	vfork mode		on for BSD, off for Sys V
27*951fd614Smarc#	s	allow suid scripts	on and requires /etc/suid_exec
28*951fd614Smarc#	4.2	BSD 4.2			on for BSD 4.2, off for Sys V
29*951fd614Smarc
30*951fd614SmarcLIBFILES = \
31*951fd614Smarcshlib/adjust.c \
32*951fd614Smarcshlib/arith.c \
33*951fd614Smarcshlib/assign.c \
34*951fd614Smarcshlib/assnum.c \
35*951fd614Smarcshlib/builtins.h \
36*951fd614Smarcshlib/cannon.c \
37*951fd614Smarcshlib/chkid.c \
38*951fd614Smarcshlib/convert.c \
39*951fd614Smarcshlib/failed.c \
40*951fd614Smarcshlib/findnod.c \
41*951fd614Smarcshlib/flags.h \
42*951fd614Smarcshlib/gettree.c \
43*951fd614Smarcshlib/gmatch.c \
44*951fd614Smarcshlib/growaray.c \
45*951fd614Smarcshlib/gsort.c \
46*951fd614Smarcshlib/linknod.c \
47*951fd614Smarcshlib/makefile \
48*951fd614Smarcshlib/name.h \
49*951fd614Smarcshlib/national.h \
50*951fd614Smarcshlib/namscan.c \
51*951fd614Smarcshlib/rjust.c \
52*951fd614Smarcshlib/shtype.h \
53*951fd614Smarcshlib/tilde.c \
54*951fd614Smarcshlib/unassign.c \
55*951fd614Smarcshlib/utos.c \
56*951fd614Smarcshlib/valup.c
57*951fd614Smarc
58*951fd614SmarcSHFILES= \
59*951fd614Smarcsh/Makefile \
60*951fd614Smarcsh/apollo.c \
61*951fd614Smarcsh/args.c \
62*951fd614Smarcsh/blok.c \
63*951fd614Smarcsh/brkincr.h \
64*951fd614Smarcsh/builtin.c \
65*951fd614Smarcsh/builtins.h \
66*951fd614Smarcsh/cmd.c \
67*951fd614Smarcsh/ctype.c \
68*951fd614Smarcsh/defs.h \
69*951fd614Smarcsh/defs.c \
70*951fd614Smarcsh/edit.c \
71*951fd614Smarcsh/editlib.c \
72*951fd614Smarcsh/edit.h \
73*951fd614Smarcsh/emacs.c \
74*951fd614Smarcsh/echo.c \
75*951fd614Smarcsh/error.c \
76*951fd614Smarcsh/expand.c \
77*951fd614Smarcsh/fault.c \
78*951fd614Smarcsh/flags.h \
79*951fd614Smarcsh/history.c \
80*951fd614Smarcsh/history.h \
81*951fd614Smarcsh/io.c \
82*951fd614Smarcsh/io.h \
83*951fd614Smarcsh/jobs.c \
84*951fd614Smarcsh/jobs.h \
85*951fd614Smarcsh/macro.c \
86*951fd614Smarcsh/main.c \
87*951fd614Smarcsh/makefile \
88*951fd614Smarcsh/makelib \
89*951fd614Smarcsh/makesh \
90*951fd614Smarcsh/mode.h \
91*951fd614Smarcsh/msg.c \
92*951fd614Smarcsh/name.c \
93*951fd614Smarcsh/name.h \
94*951fd614Smarcsh/national.h \
95*951fd614Smarcsh/print.c \
96*951fd614Smarcsh/service.c \
97*951fd614Smarcsh/shtype.h \
98*951fd614Smarcsh/string.c \
99*951fd614Smarcsh/stdio.c \
100*951fd614Smarcsh/stak.c \
101*951fd614Smarcsh/stak.h \
102*951fd614Smarcsh/suid_exec.c \
103*951fd614Smarcsh/sym.h \
104*951fd614Smarcsh/syscall.s \
105*951fd614Smarcsh/test.c \
106*951fd614Smarcsh/test.h \
107*951fd614Smarcsh/timeout.h \
108*951fd614Smarcsh/vfork.c \
109*951fd614Smarcsh/vi.c \
110*951fd614Smarcsh/word.c \
111*951fd614Smarcsh/xec.c
112*951fd614Smarc
113*951fd614SmarcJSHFILES= \
114*951fd614Smarcjsh/defs.h \
115*951fd614Smarcjsh/defs.c \
116*951fd614Smarcjsh/jsh.c \
117*951fd614Smarcjsh/makefile \
118*951fd614Smarcjsh/mpx.c
119*951fd614Smarc
120*951fd614SmarcDOCFILES=\
121*951fd614Smarcgetopts \
122*951fd614Smarcsubstring \
123*951fd614Smarcsh.memo \
124*951fd614Smarcsh.1 \
125*951fd614SmarcREADME \
126*951fd614SmarcRELEASE \
127*951fd614SmarcCOMPATIBILITY \
128*951fd614Smarcksh.mk
129*951fd614Smarc
130*951fd614Smarc$(SH): shlib/$(ARK) sh/$(SH)
131*951fd614Smarc	-rm -f $(SH)
132*951fd614Smarc	ln sh/$(SH) $(SH)
133*951fd614Smarc
134*951fd614Smarccpio: $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile
135*951fd614Smarc	ls $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile \
136*951fd614Smarc	| cpio -ocBv > $(RJE)/$(SH).$@
137*951fd614Smarc
138*951fd614Smarcucpio: $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile
139*951fd614Smarc	find $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile   \
140*951fd614Smarc	-newer $(RJE)/$(UTIME)  -print | cpio -ocBv > $(RJE)/$(SH).$@
141*951fd614Smarc
142*951fd614Smarctar: $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile
143*951fd614Smarc	tar -cvpf $(RJE)/$(SH).$@ $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES)\
144*951fd614Smarc		 makefile
145*951fd614Smarc
146*951fd614Smarcutar: $(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile
147*951fd614Smarc	tar -cvfp $(RJE)/$(SH).$@ `find \
148*951fd614Smarc	$(SHFILES) $(LIBFILES) $(JSHFILES) $(DOCFILES) makefile \
149*951fd614Smarc	-newer $(RJE)/$(UTIME)  -print`
150*951fd614Smarc
151*951fd614Smarcshlib/$(ARK): $(LIBFILES)
152*951fd614Smarc	-cd shlib; if test -f /vmunix  \
153*951fd614Smarc		-o '(' -f /usr/include/sys/stream.h \
154*951fd614Smarc			 -a -f /usr/include/sys/vmparam.h ')'\
155*951fd614Smarc		-o -f /venix \
156*951fd614Smarc		-o "$$SYSTYPE" = bsd4.1 \
157*951fd614Smarc		-o "$$SYSTYPE" = bsd4.2 \
158*951fd614Smarc		-o "$$SYSTYPE" = bsd4.3 ;then \
159*951fd614Smarc			BSD="BSD=-DBSD ucb";else BSD=;fi  \
160*951fd614Smarc	;if test -f /usr/lib/dic/euc.dic \
161*951fd614Smarc		;then MULTIBYTE="MULTIBYTE=-DMULTIBYTE" \
162*951fd614Smarc		;else	case $$OPTIONS in \
163*951fd614Smarc			*-m*)	MULTIBYTE="MULTIBYTE=-DMULTIBYTE";; \
164*951fd614Smarc			*)	MULTIBYTE= ;; \
165*951fd614Smarc			esac \
166*951fd614Smarc		;fi \
167*951fd614Smarc	;$(CMD) CC=$(CC) ARK=$(ARK) $$BSD $$MULTIBYTE \
168*951fd614Smarc	;touch $(ARK)
169*951fd614Smarc
170*951fd614Smarcsh/$(SH):	$(SHFILES) $(LIBFILES)
171*951fd614Smarc	cd sh;CMD=$(CMD) ARK=$(ARK) CC=$(CC) ./makesh $(OPTIONS) $(SH); touch $(SH)
172*951fd614Smarc
173*951fd614Smarcjsh/$(JSH):	$(JSHFILES)
174*951fd614Smarc	cd jsh; if test -d /dev/sxt;then $(CMD) CC=$(CC) ; fi
175*951fd614Smarc
176*951fd614Smarcsh/$(ELIB):
177*951fd614Smarc	cd sh;CMD=$(CMD) CC=$(CC) ./makelib; touch $(ELIB)
178*951fd614Smarc
179*951fd614Smarcclean:
180*951fd614Smarc	cd shlib; $(CMD) clean
181*951fd614Smarc	cd sh; $(CMD) clean
182*951fd614Smarc	cd jsh; $(CMD) clean
183*951fd614Smarc
184*951fd614Smarcclobber:
185*951fd614Smarc	cd shlib; $(CMD) clobber
186*951fd614Smarc	cd sh; $(CMD) clobber
187*951fd614Smarc	cd jsh; $(CMD) clobber
188*951fd614Smarc	rm -f $(SH) suid_exec
189*951fd614Smarc
190*951fd614Smarcinstall:
191*951fd614Smarc	cd sh; $(CMD) install INSDIR=$(INSDIR)
192*951fd614Smarc
193*951fd614Smarcxcl: $(SHFILES) $(LIBFILES) $(JSHFILES) makefile
194*951fd614Smarc	xcl $(SHFILES) $(LIBFILES) $(JSHFILES) makefile
195*951fd614Smarc
196*951fd614Smarcman:	sh.1
197*951fd614Smarc	$(TROFF) -man sh.1 | $(LPR)
198