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