Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/cmd/coshell/COSHELL.mk
1808 views
/*
 * coshell support
 *
 * @(#)coshell (AT&T Research) 2006-08-11
 *
 * :COSHELL: name=value ...
 */

":COSHELL:" : .MAKE .OPERATOR
	local A AX C D I R S SX H=local P=fdp
	for I $(>)
		if I == "/*"
			C := $(I)
		else if I == "connect=*"
			C := $(I:/connect=//)
		else if I == "coshell?(=*)"
			R := 1
		else if I == "db=*"
			D := $(I)
		else if I == "fdp?(=*)"
			P := fdp
		else if I == "group=*" || I == "other" || I == "user?(=*)"
			A := $(I)
		else if I == "host=*"
			H := $(I:/host=//)
		else if I == "local?(=*)"
			H := local
		else if I == "service=*"
			S := $(I)
		else if I == "share?(=*)"
			H := share
		else if I == "tcp?(=*)"
			P := tcp
		else if I == "trust?(=*)"
			AX += $(I:/=.*//)
		else
			SX += $(I)
		end
	end
	if ! COSHELL
		if C || ! A && R
			COSHELL := coshell $(C) $(CX)
		elif A
			if AX
				AX := /$(AX:@C, ,/,G)
			end
			COSHELL := coshell /dev/$(P)/$(H)/coshell/$(A)$(AX) $(CX)
		end
	end
	if S
		if D
			S := $(S):$(D)
		end
		COSHELL_OPTIONS += $(S) $(SX)
	end