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