/*
* jcl control-m rules
*/
JCL = jcl
JCLROOT = $(PACKAGEROOT)
JCLINCLUDE = $(JCLROOT)/jcl
JCLRUN = $(JCLROOT)/run
JCLFLAGS = -sv -I$(JCLINCLUDE)
JCLEVENTS = $(JCLRUN)/events-$(JCLROOT:B:S)
if ! JCL_AUTO_ampersand
JCL_AUTO_ampersand = 01
end
if ! JCL_AUTO_at
JCL_AUTO_at = 01
end
if ! JCL_AUTO_pound
JCL_AUTO_pound = 01
end
":JCL:" : .MAKE .OPERATOR
.INIT : .JCL.INIT
.JCL.INIT : .MAKE .VIRTUAL .FORCE
if COSHELL == "$(SHELL)"
COSHELL =
end
:COSHELL: service=event db=$(JCLEVENTS) coshell $(JCLGROUP:+group=$(JCLGROUP))
.SOURCE : $(JCLINCLUDE)
.JOB : .USE .VIRTUAL
$(~:N=*=*) $(~:T=E) $(JCL) $(JCLFLAGS) $(*)
.EVENT.WAIT : .USE .VIRTUAL .FORCE .IGNORE
event wait $(<)
.EVENT.RAISE : .USE .VIRTUAL .FORCE .IGNORE
event raise $(<:/.RAISE$//)$(JCL_AUTO_FRAGMENT_INDEX:+$(~$(<<):N=\(JCL_AUTO_FRAG\):+-$(JCL_AUTO_FRAG)))
.EVENT.DELETE : .USE .VIRTUAL .FORCE .IGNORE
event clear $(<:/.DELETE$//)
.binding. =
.BIND.% : .FUNCTION
local X
if ! "$(.binding.)" && "$(%)" != ".*"
.binding. = 1
if "$(%:B:S)" == "*[[:lower:]]*"
X := $(%:D:B=$(%:B:S:F=%(upper)s))
if X = "$(X:T=F)"
.binding. =
return $(X)
end
end
if "$(%:B:S)" == "*[[:upper:]]*"
X := $(%:D:B=$(%:B:S:F=%(lower)s))
if X = "$(X:T=F)"
.binding. =
return $(X)
end
end
.binding. =
end
.INTERRUPT.URG : .FUNCTION
query
return continue
.INTERRUPT.USR1 : .FUNCTION
query - jobs
return continue
.INTERRUPT.USR2 : .FUNCTION
query - blocked
return continue