1*b30d1939SAndy Fiddaman/* 2*b30d1939SAndy Fiddaman * post stuff to WWWDIR for web access 3*b30d1939SAndy Fiddaman * index generated from *.mm 4*b30d1939SAndy Fiddaman */ 5*b30d1939SAndy Fiddaman 6*b30d1939SAndy FiddamanWWWDIR = wwwfiles public_html 7*b30d1939SAndy FiddamanWWWSAVE = 8*b30d1939SAndy FiddamanWWWSTYLE = 9*b30d1939SAndy FiddamanWWWTYPES = 10*b30d1939SAndy Fiddaman 11*b30d1939SAndy Fiddaman.WWW.semaphore : .SEMAPHORE 12*b30d1939SAndy Fiddaman 13*b30d1939SAndy Fiddaman.EXPORT : WWWSTYLE WWWTYPES 14*b30d1939SAndy Fiddaman 15*b30d1939SAndy Fiddaman/* 16*b30d1939SAndy Fiddaman * item :WWW: [style=frame] [save=pattern] file ... 17*b30d1939SAndy Fiddaman * 18*b30d1939SAndy Fiddaman * `item'.mm generates index.html 19*b30d1939SAndy Fiddaman * other files copied to $(WWWDIR)/`item' 20*b30d1939SAndy Fiddaman * sets up www.bin 21*b30d1939SAndy Fiddaman */ 22*b30d1939SAndy Fiddaman 23*b30d1939SAndy Fiddaman":WWW:" : .MAKE .OPERATOR 24*b30d1939SAndy Fiddaman local A B D I J L X E P R M 25*b30d1939SAndy Fiddaman .WWW.LOCAL .WWW.REMOTE : .DO.NOTHING 26*b30d1939SAndy Fiddaman WWWDIR := $(HOME:X=$(WWWDIR):T=F:O=1) 27*b30d1939SAndy Fiddaman B := $(*:N=*.mm::O=1:B) 28*b30d1939SAndy Fiddaman D := $(WWWDIR)/$(B) 29*b30d1939SAndy Fiddaman M := $(WWWDIR)/man/man1 30*b30d1939SAndy Fiddaman R := $(>:N!=*=*) 31*b30d1939SAndy Fiddaman for I $(>:N=*=*) 32*b30d1939SAndy Fiddaman A := WWW$(I:/=.*//:F=%(upper)s) 33*b30d1939SAndy Fiddaman $(A) := $(I:/.*=//) 34*b30d1939SAndy Fiddaman end 35*b30d1939SAndy Fiddaman (html_info) : $$(MM2HTMLINFO) $$(MM2HTMLINIT) 36*b30d1939SAndy Fiddaman if WWWSTYLE == "frame" 37*b30d1939SAndy Fiddaman %.html %-index.html : %.mm (html_info) 38*b30d1939SAndy Fiddaman $(MM2HTML) $(MM2HTMLFLAGS) $(%:N=faq.*:?> $(<:O=1)?-f $(%) -x?) -o WWWTYPES=$(WWWTYPES:@Q:@Q) $(WWWSOURCE.$(%)) $(>) 39*b30d1939SAndy Fiddaman else 40*b30d1939SAndy Fiddaman %.html : %.mm (html_info) 41*b30d1939SAndy Fiddaman $(MM2HTML) $(MM2HTMLFLAGS) -o WWWTYPES=$(WWWTYPES:@Q:@Q) $(>) $(WWWSOURCE.$(%)) > $(<) 42*b30d1939SAndy Fiddaman end 43*b30d1939SAndy Fiddaman %.html : %.1 (html_info) 44*b30d1939SAndy Fiddaman $(MM2HTML) $(MM2HTMLFLAGS) $(>) $(WWWSOURCE.$(%)) > $(<) 45*b30d1939SAndy Fiddaman %-man.html : $(BINDIR)/% (html_info) 46*b30d1939SAndy Fiddaman ignore $(>) --html 2> $(<) 47*b30d1939SAndy Fiddaman .DO.WWW.MAN : .USE 48*b30d1939SAndy Fiddaman if { test '' = '$(*)' || { strings $(*) | egrep -q '\[\+NAME\?|libcmd\.|cmd[0-9][0-9]\.' ;} ;} && [[ "$( $(<:B) '--???html' -- 2>&1 )" == version=[1-9]* ]] 49*b30d1939SAndy Fiddaman then ( $(<:B) '--??html' -- 2>$(<) ) || true 50*b30d1939SAndy Fiddaman fi 51*b30d1939SAndy Fiddaman if 0 52*b30d1939SAndy Fiddaman $(M)/%.html : .DONTCARE $(INSTALLROOT)/bin/% 53*b30d1939SAndy Fiddaman $(@.DO.WWW.MAN) 54*b30d1939SAndy Fiddaman end 55*b30d1939SAndy Fiddaman if "$(<)" 56*b30d1939SAndy Fiddaman D := $(<) 57*b30d1939SAndy Fiddaman elif ! "$(R)" 58*b30d1939SAndy Fiddaman return 59*b30d1939SAndy Fiddaman end 60*b30d1939SAndy Fiddaman .WWW .WWW.BIN : $(D) $(M) - 61*b30d1939SAndy Fiddaman $(D) $(M) : 62*b30d1939SAndy Fiddaman $(SILENT) test -d $(<) || mkdir $(<) 63*b30d1939SAndy Fiddaman if ( J = "$(R:N=*.mm)" ) 64*b30d1939SAndy Fiddaman for I $(J:G=%.html) 65*b30d1939SAndy Fiddaman if I == "*-index.html" 66*b30d1939SAndy Fiddaman O := $(D)/index.html 67*b30d1939SAndy Fiddaman else 68*b30d1939SAndy Fiddaman O := $(I:D=$(D):B:S) 69*b30d1939SAndy Fiddaman end 70*b30d1939SAndy Fiddaman .WWW : $(O) 71*b30d1939SAndy Fiddaman $(O) :COPY: $(I) 72*b30d1939SAndy Fiddaman end 73*b30d1939SAndy Fiddaman end 74*b30d1939SAndy Fiddaman .WWW.req : .FUNCTION 75*b30d1939SAndy Fiddaman return $(*$(%:T=SR):N=-l*:T=F:P=B:N!=-l*|/*) 76*b30d1939SAndy Fiddaman A = 0 77*b30d1939SAndy Fiddaman for I $(R:N!=*.mm) 78*b30d1939SAndy Fiddaman if I == "-" 79*b30d1939SAndy Fiddaman let A = ! A 80*b30d1939SAndy Fiddaman elif I == "-l*" 81*b30d1939SAndy Fiddaman L := $(I:/-l//) 82*b30d1939SAndy Fiddaman if J = "$(.DLL.NAME. $(L) $($(L).VERSION):T=F)" 83*b30d1939SAndy Fiddaman X += $(J) 84*b30d1939SAndy Fiddaman end 85*b30d1939SAndy Fiddaman elif A || "$(I:A=.COMMAND|.ARCHIVE)" || "$(I:D:D:N=$(INSTALLROOT))" || "$(I:N=*-www)" 86*b30d1939SAndy Fiddaman X += $(I) 87*b30d1939SAndy Fiddaman if "$(I:A=.COMMAND)" 88*b30d1939SAndy Fiddaman X += $$(.WWW.req $(I)) 89*b30d1939SAndy Fiddaman J := $(I:/-www$//) 90*b30d1939SAndy Fiddaman eval 91*b30d1939SAndy Fiddaman .WWW : $(J:D=$(M):B:S=.html) 92*b30d1939SAndy Fiddaman $(J:D=$(M):B:S=.html) : $(I) $(I:B:S=.1:T=F:?$(I:B:S=.1)??) 93*b30d1939SAndy Fiddaman if strings $$(*:O=1) | egrep -q '\[\+NAME\?|libcmd\.|cmd[0-9][0-9]\.' 94*b30d1939SAndy Fiddaman then $$(IGNORE) $$(*:O=1) '--??html' -- 2>&1 95*b30d1939SAndy Fiddaman elif test '' != '$$(*:N=*.1)' 96*b30d1939SAndy Fiddaman then $$(MM2HTML) $$(*:N=*.1) 97*b30d1939SAndy Fiddaman fi > $$(<) 98*b30d1939SAndy Fiddaman end 99*b30d1939SAndy Fiddaman end 100*b30d1939SAndy Fiddaman else 101*b30d1939SAndy Fiddaman if I == "*.html" 102*b30d1939SAndy Fiddaman $(I) : .TERMINAL 103*b30d1939SAndy Fiddaman end 104*b30d1939SAndy Fiddaman .WWW : $(D)/$(I) 105*b30d1939SAndy Fiddaman $(D)/$(I) :COPY: $(I) 106*b30d1939SAndy Fiddaman end 107*b30d1939SAndy Fiddaman end 108*b30d1939SAndy Fiddaman if "$(X:V)" 109*b30d1939SAndy Fiddaman .WWW.EDIT. : .FUNCTION 110*b30d1939SAndy Fiddaman local E I J 111*b30d1939SAndy Fiddaman for I $(.INSTALL.LIST.:C,^$(INSTALLROOT)/,,:N!=lib/lib/*) 112*b30d1939SAndy Fiddaman for J $(%) 113*b30d1939SAndy Fiddaman if "$(I:B:S)" == "$(J:B:S)" 114*b30d1939SAndy Fiddaman E += -s ',^$(J)$,$(I),' 115*b30d1939SAndy Fiddaman end 116*b30d1939SAndy Fiddaman end 117*b30d1939SAndy Fiddaman end 118*b30d1939SAndy Fiddaman return $(E) 119*b30d1939SAndy Fiddaman .WWW.LIST. : .FUNCTION 120*b30d1939SAndy Fiddaman local E I J 121*b30d1939SAndy Fiddaman for I $(.INSTALL.LIST.:C,^$(INSTALLROOT)/,,:N!=lib/lib/*) 122*b30d1939SAndy Fiddaman for J $(%) 123*b30d1939SAndy Fiddaman if "$(I:B:S)" == "$(J:B:S)" 124*b30d1939SAndy Fiddaman E += $(I) 125*b30d1939SAndy Fiddaman end 126*b30d1939SAndy Fiddaman end 127*b30d1939SAndy Fiddaman end 128*b30d1939SAndy Fiddaman return $(E) 129*b30d1939SAndy Fiddaman .WWW .WWW.BIN : $(D)/$(B)-$(CC.HOSTTYPE).tgz 130*b30d1939SAndy Fiddaman $(D)/$(B)-$(CC.HOSTTYPE).tgz : $(X:V) 131*b30d1939SAndy Fiddaman cat > X.$(tmp).X <<! 132*b30d1939SAndy Fiddaman This archive contains $(CC.HOSTTYPE) binaries for 133*b30d1939SAndy Fiddaman $(.WWW.LIST. $(*)) 134*b30d1939SAndy Fiddaman Add the bin directory to PATH and the lib directory 135*b30d1939SAndy Fiddaman to LD_LIBRARY_PATH or its equivalent for your system. 136*b30d1939SAndy Fiddaman Use the --?help and --man options for online help, 137*b30d1939SAndy Fiddaman documentation and contact info. 138*b30d1939SAndy Fiddaman ! 139*b30d1939SAndy Fiddaman $(PAX) -wvf $(<) -x tar:gzip -s "/X.$(tmp).X/README/" $(.WWW.EDIT. $(*)) -s ',\(.*\)-www$,bin/\1,' -s ',.*/lib/,lib/,' X.$(tmp).X $(*:N!=-l*) 140*b30d1939SAndy Fiddaman $(RM) -f X.$(tmp).X 141*b30d1939SAndy Fiddaman end 142*b30d1939SAndy Fiddaman 143*b30d1939SAndy Fiddaman/* 144*b30d1939SAndy Fiddaman * item ... :WWWBIN: index.mm file ... host:arch ... 145*b30d1939SAndy Fiddaman * 146*b30d1939SAndy Fiddaman * home page control 147*b30d1939SAndy Fiddaman * `host' of type `arch' for www.bin files 148*b30d1939SAndy Fiddaman */ 149*b30d1939SAndy Fiddaman 150*b30d1939SAndy Fiddaman":WWWBIN:" : .MAKE .OPERATOR 151*b30d1939SAndy Fiddaman local HOST ITEM ARCH BINS DIRS G 152*b30d1939SAndy Fiddaman .WWW.NOMAN. += $(<) 153*b30d1939SAndy Fiddaman for HOST $(>) 154*b30d1939SAndy Fiddaman TYPE := $(HOST:/.*://) 155*b30d1939SAndy Fiddaman HOST := $(HOST:/:.*//) 156*b30d1939SAndy Fiddaman WWWTYPES += $(TYPE) 157*b30d1939SAndy Fiddaman ARCH := $(PWD:D:C,/$(CC.HOSTTYPE)/,/$(TYPE)/) 158*b30d1939SAndy Fiddaman BINS := 159*b30d1939SAndy Fiddaman DIRS := 160*b30d1939SAndy Fiddaman for ITEM $(<) 161*b30d1939SAndy Fiddaman if TYPE == "$(CC.HOSTTYPE)" 162*b30d1939SAndy Fiddaman G := $("index.mm":G=%.html:D=$(WWWDIR)/$(ITEM):B:S) 163*b30d1939SAndy Fiddaman .WWW.LOCAL : $(G) 164*b30d1939SAndy Fiddaman eval 165*b30d1939SAndy Fiddaman $(G) : .JOINT $(ARCH)/$(ITEM)/$(ITEM).mm (html_info) .WWW.semaphore .FORCE 166*b30d1939SAndy Fiddaman cd $$(*:D) 167*b30d1939SAndy Fiddaman $$(MAKE) $$(-) $$(=) www 168*b30d1939SAndy Fiddaman end 169*b30d1939SAndy Fiddaman else 170*b30d1939SAndy Fiddaman BINS += $(WWWDIR)/$(ITEM)/$(ITEM)-$(TYPE).tgz 171*b30d1939SAndy Fiddaman DIRS += $(ARCH)/$(ITEM) 172*b30d1939SAndy Fiddaman end 173*b30d1939SAndy Fiddaman end 174*b30d1939SAndy Fiddaman .WWW.REMOTE : $(BINS) 175*b30d1939SAndy Fiddaman ARCH := $(ARCH:C,/src/.*,,) 176*b30d1939SAndy Fiddaman eval 177*b30d1939SAndy Fiddaman $(BINS) :JOINT: .FORCE .WWW.semaphore 178*b30d1939SAndy Fiddaman rsh $(HOST) " 179*b30d1939SAndy Fiddaman eval \"\`bin/package debug use\`\" 180*b30d1939SAndy Fiddaman PATH=\$PATH:$(PATH):/usr/ccs/bin 181*b30d1939SAndy Fiddaman umask 022 182*b30d1939SAndy Fiddaman for dir in $(DIRS) 183*b30d1939SAndy Fiddaman do cd \$dir 184*b30d1939SAndy Fiddaman $(MAKE) $(-) $(=) --errorid=\$dir www.bin 185*b30d1939SAndy Fiddaman done 186*b30d1939SAndy Fiddaman " 187*b30d1939SAndy Fiddaman end 188*b30d1939SAndy Fiddaman end 189*b30d1939SAndy Fiddaman 190*b30d1939SAndy Fiddaman/* 191*b30d1939SAndy Fiddaman * :WWWPOST: [ host [ dir [ tmp ] ] ] 192*b30d1939SAndy Fiddaman * 193*b30d1939SAndy Fiddaman * post local $(WWWDIR) to host:dir putting archives in host:tmp/www-*.pax 194*b30d1939SAndy Fiddaman * defaults: host=www dir=$(WWWDIR) tmp=tmp 195*b30d1939SAndy Fiddaman */ 196*b30d1939SAndy Fiddaman 197*b30d1939SAndy Fiddaman":WWWPOST:" : .MAKE .OPERATOR 198*b30d1939SAndy Fiddaman local ( host dir tmp ignore ... ) $(>) www $(WWWDIR:B:S) tmp ignore 199*b30d1939SAndy Fiddaman :ALL: delta.pax 200*b30d1939SAndy Fiddaman .WWW.ALL : .WWW.REMOTE - .WWW.LOCAL 201*b30d1939SAndy Fiddaman eval 202*b30d1939SAndy Fiddaman .POST : .VIRTUAL base.pax delta.pax 203*b30d1939SAndy Fiddaman case "$$(>)" in 204*b30d1939SAndy Fiddaman '') ;; 205*b30d1939SAndy Fiddaman *) $$(>:C,.*,rcp & $(host):$(tmp)/$(dir)-&;,) 206*b30d1939SAndy Fiddaman rsh $(host) ' 207*b30d1939SAndy Fiddaman umask 022 208*b30d1939SAndy Fiddaman PATH=$HOME/bin:$PATH 209*b30d1939SAndy Fiddaman cd $(dir) 210*b30d1939SAndy Fiddaman pax -rvf $HOME/$(tmp)/$(dir)-delta.pax -z $HOME/$(tmp)/$(dir)-base.pax 211*b30d1939SAndy Fiddaman ' 212*b30d1939SAndy Fiddaman ;; 213*b30d1939SAndy Fiddaman esac 214*b30d1939SAndy Fiddaman end 215*b30d1939SAndy Fiddaman base.pax : 216*b30d1939SAndy Fiddaman cd $(WWWDIR) 217*b30d1939SAndy Fiddaman pax -wvf $(<:P=A) . 218*b30d1939SAndy Fiddaman .base.list. : .FUNCTION 219*b30d1939SAndy Fiddaman local X 220*b30d1939SAndy Fiddaman X := $(sh pax -f $(%:N=*.pax):C,\n, ,G:C,^,$$(WWWDIR)/,) 221*b30d1939SAndy Fiddaman $(X) : .DONTCARE 222*b30d1939SAndy Fiddaman return $(X) 223*b30d1939SAndy Fiddaman delta.pax : .WWW.ALL base.pax $$(.base.list. $$(*)) 224*b30d1939SAndy Fiddaman cd $(WWWDIR) 225*b30d1939SAndy Fiddaman pax -wvf $(<:P=A) -z $(*:N=*.pax:P=A) . 226*b30d1939SAndy Fiddaman 227*b30d1939SAndy Fiddaman.WWW.FAQ : .USE 228*b30d1939SAndy Fiddaman { 229*b30d1939SAndy Fiddaman set -o noglob 230*b30d1939SAndy Fiddaman print .xx title=\"$(<:B:/\..*//) FAQ index\" 231*b30d1939SAndy Fiddaman print .MT 4 232*b30d1939SAndy Fiddaman print .TL 233*b30d1939SAndy Fiddaman print 234*b30d1939SAndy Fiddaman print .H 1 \"$(<:B:/\..*//) FAQ index\" 235*b30d1939SAndy Fiddaman print .BL 236*b30d1939SAndy Fiddaman for i in $(*) 237*b30d1939SAndy Fiddaman do exec < $i || exit 1 238*b30d1939SAndy Fiddaman e=0 l=0 x=y 239*b30d1939SAndy Fiddaman while read -r op a1 a2 240*b30d1939SAndy Fiddaman do case $op in 241*b30d1939SAndy Fiddaman .H) case $e in 242*b30d1939SAndy Fiddaman 0) e=1 ;; 243*b30d1939SAndy Fiddaman 1) print .LE ;; 244*b30d1939SAndy Fiddaman esac 245*b30d1939SAndy Fiddaman print .sp 246*b30d1939SAndy Fiddaman print .LI 247*b30d1939SAndy Fiddaman a2=${a2//\"/} 248*b30d1939SAndy Fiddaman a2=${a2%\ [Ff][Aa][Qq]} 249*b30d1939SAndy Fiddaman f=${i%.*}.html 250*b30d1939SAndy Fiddaman f=${f#*/} 251*b30d1939SAndy Fiddaman print .xx link=\"$f' '$a2\" 252*b30d1939SAndy Fiddaman print .sp 253*b30d1939SAndy Fiddaman print .NL 254*b30d1939SAndy Fiddaman ;; 255*b30d1939SAndy Fiddaman .AL|.BL|.NL) 256*b30d1939SAndy Fiddaman case $x in 257*b30d1939SAndy Fiddaman y) x=x ;; 258*b30d1939SAndy Fiddaman *) x=xx$x ;; 259*b30d1939SAndy Fiddaman esac 260*b30d1939SAndy Fiddaman ;; 261*b30d1939SAndy Fiddaman .LE) x=${x%xx} 262*b30d1939SAndy Fiddaman ;; 263*b30d1939SAndy Fiddaman .LI) case $x in 264*b30d1939SAndy Fiddaman x) x= 265*b30d1939SAndy Fiddaman print .LI 266*b30d1939SAndy Fiddaman ;; 267*b30d1939SAndy Fiddaman esac 268*b30d1939SAndy Fiddaman ;; 269*b30d1939SAndy Fiddaman .sp) case $x in 270*b30d1939SAndy Fiddaman '') x=x ;; 271*b30d1939SAndy Fiddaman esac 272*b30d1939SAndy Fiddaman ;; 273*b30d1939SAndy Fiddaman *) case $x in 274*b30d1939SAndy Fiddaman '') print -r -- $op $a1 $a2 ;; 275*b30d1939SAndy Fiddaman esac 276*b30d1939SAndy Fiddaman ;; 277*b30d1939SAndy Fiddaman esac 278*b30d1939SAndy Fiddaman done 279*b30d1939SAndy Fiddaman case $e in 280*b30d1939SAndy Fiddaman 1) print .LE ;; 281*b30d1939SAndy Fiddaman esac 282*b30d1939SAndy Fiddaman done 283*b30d1939SAndy Fiddaman print .LE 284*b30d1939SAndy Fiddaman } > $(<) 285*b30d1939SAndy Fiddaman 286*b30d1939SAndy Fiddaman/* 287*b30d1939SAndy Fiddaman * [ dir ] :WWWPAGE: [ source ... ] file.mm file 288*b30d1939SAndy Fiddaman * 289*b30d1939SAndy Fiddaman * *.mm generates *.html 290*b30d1939SAndy Fiddaman * faq.*.mm generates faq.mm 291*b30d1939SAndy Fiddaman * other files copied to $(WWWDIR)[/dir] 292*b30d1939SAndy Fiddaman * files after - (toggle) are just asserted on :: 293*b30d1939SAndy Fiddaman */ 294*b30d1939SAndy Fiddaman 295*b30d1939SAndy Fiddaman":WWWPAGE:" : .MAKE .OPERATOR 296*b30d1939SAndy Fiddaman local B D I J O P Q S X G A 297*b30d1939SAndy Fiddaman A = 0 298*b30d1939SAndy Fiddaman D := $(<:O=1) 299*b30d1939SAndy Fiddaman P := $(>:N!=*=*) 300*b30d1939SAndy Fiddaman S := $(>:N=*=*) 301*b30d1939SAndy Fiddaman if X = "$(P:B:S:N=faq.*.mm)" 302*b30d1939SAndy Fiddaman Q := $(D:+$(D).)faq.mm 303*b30d1939SAndy Fiddaman $(Q) : .WWW.FAQ $(X) 304*b30d1939SAndy Fiddaman P += $(Q) 305*b30d1939SAndy Fiddaman end 306*b30d1939SAndy Fiddaman if D 307*b30d1939SAndy Fiddaman B := $(D:B) 308*b30d1939SAndy Fiddaman if D != "/*" 309*b30d1939SAndy Fiddaman D := $(WWWDIR)/$(D) 310*b30d1939SAndy Fiddaman $(D) :INSTALLDIR: 311*b30d1939SAndy Fiddaman .WWW.LOCAL : $(D) 312*b30d1939SAndy Fiddaman end 313*b30d1939SAndy Fiddaman for I $(<:B) 314*b30d1939SAndy Fiddaman .WWW.LOCAL : $(WWWDIR)/man/man1/$(I).html 315*b30d1939SAndy Fiddaman $(WWWDIR)/man/man1/$(I).html : .DONTCARE 316*b30d1939SAndy Fiddaman end 317*b30d1939SAndy Fiddaman for I $(P) 318*b30d1939SAndy Fiddaman if I == "-" 319*b30d1939SAndy Fiddaman let A = !A 320*b30d1939SAndy Fiddaman continue 321*b30d1939SAndy Fiddaman end 322*b30d1939SAndy Fiddaman if A || I == "$(WWWSAVE)" 323*b30d1939SAndy Fiddaman :: $(I) 324*b30d1939SAndy Fiddaman continue 325*b30d1939SAndy Fiddaman end 326*b30d1939SAndy Fiddaman if "$(I:T=FD)" 327*b30d1939SAndy Fiddaman .SOURCE : $(I) 328*b30d1939SAndy Fiddaman if "$(<)" 329*b30d1939SAndy Fiddaman WWWSOURCE.$(<:O=1) += $(I:T=F:P=L=*) 330*b30d1939SAndy Fiddaman end 331*b30d1939SAndy Fiddaman continue 332*b30d1939SAndy Fiddaman end 333*b30d1939SAndy Fiddaman if I == "*.html" 334*b30d1939SAndy Fiddaman $(I) : .TERMINAL 335*b30d1939SAndy Fiddaman O := $(I) 336*b30d1939SAndy Fiddaman X := $(I) 337*b30d1939SAndy Fiddaman elif ( G = "$(I:G=%.html)" ) 338*b30d1939SAndy Fiddaman $(G) : .IMPLICIT $(S) $(I) 339*b30d1939SAndy Fiddaman if $(G:O) > 1 340*b30d1939SAndy Fiddaman for J $(G) 341*b30d1939SAndy Fiddaman if J == "*-index.html" 342*b30d1939SAndy Fiddaman if J == "faq.*.*" 343*b30d1939SAndy Fiddaman continue 344*b30d1939SAndy Fiddaman end 345*b30d1939SAndy Fiddaman O := index.html 346*b30d1939SAndy Fiddaman else 347*b30d1939SAndy Fiddaman O := $(J) 348*b30d1939SAndy Fiddaman end 349*b30d1939SAndy Fiddaman .WWW.LOCAL : $(D)/$(O) 350*b30d1939SAndy Fiddaman $(D)/$(O) :INSTALL: $(J) 351*b30d1939SAndy Fiddaman end 352*b30d1939SAndy Fiddaman continue 353*b30d1939SAndy Fiddaman end 354*b30d1939SAndy Fiddaman if X 355*b30d1939SAndy Fiddaman X := $(I) 356*b30d1939SAndy Fiddaman else 357*b30d1939SAndy Fiddaman X := index 358*b30d1939SAndy Fiddaman end 359*b30d1939SAndy Fiddaman I := $(I:B:S=.html) 360*b30d1939SAndy Fiddaman O := $(X:B:S=.html) 361*b30d1939SAndy Fiddaman else 362*b30d1939SAndy Fiddaman O := $(I) 363*b30d1939SAndy Fiddaman end 364*b30d1939SAndy Fiddaman $(D)/$(O) :INSTALL: $(I) 365*b30d1939SAndy Fiddaman .WWW.LOCAL : $(D)/$(O) 366*b30d1939SAndy Fiddaman end 367*b30d1939SAndy Fiddaman else 368*b30d1939SAndy Fiddaman for I $(P) 369*b30d1939SAndy Fiddaman if I == "-" 370*b30d1939SAndy Fiddaman let A = !A 371*b30d1939SAndy Fiddaman continue 372*b30d1939SAndy Fiddaman end 373*b30d1939SAndy Fiddaman if A || I == "$(WWWSAVE)" 374*b30d1939SAndy Fiddaman :: $(I) 375*b30d1939SAndy Fiddaman continue 376*b30d1939SAndy Fiddaman end 377*b30d1939SAndy Fiddaman if "$(I:T=FD)" 378*b30d1939SAndy Fiddaman .SOURCE : $(I) 379*b30d1939SAndy Fiddaman continue 380*b30d1939SAndy Fiddaman end 381*b30d1939SAndy Fiddaman if I == "*.html" 382*b30d1939SAndy Fiddaman $(I) : .TERMINAL 383*b30d1939SAndy Fiddaman O := $(I) 384*b30d1939SAndy Fiddaman elif ( O = "$(I:G=%.html)" ) 385*b30d1939SAndy Fiddaman $(O) : $(S) .IMPLICIT $(I) 386*b30d1939SAndy Fiddaman end 387*b30d1939SAndy Fiddaman for J $(O) 388*b30d1939SAndy Fiddaman if J == "*-index.html" 389*b30d1939SAndy Fiddaman X := index.html 390*b30d1939SAndy Fiddaman else 391*b30d1939SAndy Fiddaman X := $(J) 392*b30d1939SAndy Fiddaman end 393*b30d1939SAndy Fiddaman X := $(WWWDIR)/$(X) 394*b30d1939SAndy Fiddaman .WWW.LOCAL : $(X) 395*b30d1939SAndy Fiddaman $(X) :COPY: $(J) 396*b30d1939SAndy Fiddaman end 397*b30d1939SAndy Fiddaman end 398*b30d1939SAndy Fiddaman end 399*b30d1939SAndy Fiddaman 400*b30d1939SAndy Fiddaman/* 401*b30d1939SAndy Fiddaman * rhs done by default 402*b30d1939SAndy Fiddaman */ 403*b30d1939SAndy Fiddaman 404*b30d1939SAndy Fiddaman":WWWALL:" : .MAKE .OPERATOR 405*b30d1939SAndy Fiddaman .WWW.ALL : $(>) 406*b30d1939SAndy Fiddaman 407*b30d1939SAndy Fiddaman":WWWMAN:" : .MAKE .OPERATOR 408*b30d1939SAndy Fiddaman .INIT : .WWW.MAN 409*b30d1939SAndy Fiddaman .WWW.MAN. := $(>) 410*b30d1939SAndy Fiddaman .WWW.MAN : .MAKE .FORCE 411*b30d1939SAndy Fiddaman local H I 412*b30d1939SAndy Fiddaman for I $(.WWW.MAN.) 413*b30d1939SAndy Fiddaman .WWW.LOCAL : $(WWWDIR)/man/man1/$(I:B).html 414*b30d1939SAndy Fiddaman $(WWWDIR)/man/man1/$(I:B).html : .DO.WWW.MAN $(I) 415*b30d1939SAndy Fiddaman end 416*b30d1939SAndy Fiddaman for I $(sh builtin:B) 417*b30d1939SAndy Fiddaman .WWW.LOCAL : $(WWWDIR)/man/man1/$(I).html 418*b30d1939SAndy Fiddaman $(WWWDIR)/man/man1/$(I).html : .DO.WWW.MAN - 419*b30d1939SAndy Fiddaman end 420*b30d1939SAndy Fiddaman for I $("$(BINDIR)/*([!-.])":P=G:B) 421*b30d1939SAndy Fiddaman if I != "*_*" 422*b30d1939SAndy Fiddaman H := $(WWWDIR)/man/man1/$(I).html 423*b30d1939SAndy Fiddaman if ! "$(*$(H))" && I != "$(.WWW.NOMAN.:/ /|/G)" 424*b30d1939SAndy Fiddaman .WWW.LOCAL : $(H) 425*b30d1939SAndy Fiddaman end 426*b30d1939SAndy Fiddaman elif "$(PATH:/:/ /G:X=$(I:/.*_//):T=F:O=1)" 427*b30d1939SAndy Fiddaman H := $(WWWDIR)/man/man1/$(I:/.*_//).html 428*b30d1939SAndy Fiddaman .WWW.LOCAL : $(H) 429*b30d1939SAndy Fiddaman $(H) : .DO.WWW.MAN $(BINDIR)/$(I) 430*b30d1939SAndy Fiddaman end 431*b30d1939SAndy Fiddaman end 432*b30d1939SAndy Fiddaman 433*b30d1939SAndy Fiddaman.WWW.SED. : .FUNCTION 434*b30d1939SAndy Fiddaman local E T 435*b30d1939SAndy Fiddaman E = s/^\(\.xx.link=.*\)%HOSTTYPE%\(.*\)%HOSTTYPE%\(.*\)/ 436*b30d1939SAndy Fiddaman for T $(%) 437*b30d1939SAndy Fiddaman E := $(E:V)\$$("\n").LI\$$("\n")\1$(T)\2$(T)\3 438*b30d1939SAndy Fiddaman end 439*b30d1939SAndy Fiddaman return $(E:V)/ 440*b30d1939SAndy Fiddaman 441*b30d1939SAndy Fiddaman/* 442*b30d1939SAndy Fiddaman * mm scan support 443*b30d1939SAndy Fiddaman */ 444*b30d1939SAndy Fiddaman 445*b30d1939SAndy Fiddaman.SCAN.mm : .SCAN 446*b30d1939SAndy Fiddaman O|S| 447*b30d1939SAndy Fiddaman I|.sn %|A.DONTCARE|M$$(%)| 448*b30d1939SAndy Fiddaman I|.so %|A.DONTCARE|M$$(%)| 449*b30d1939SAndy Fiddaman 450*b30d1939SAndy Fiddaman.ATTRIBUTE.%.mm : .SCAN.mm 451