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