/*
* C message catalog support
*/
/*
* :MSGFUN: _TRANSLATE_ macro ... [ :foo: _foo_ macro ... ]
*/
local T M
M = _TRANSLATE_
for T $(>)
if T == ":*:"
M := $(T:/:/_/G)
else
MSGCCFLAGS += -D$(T)=$(M)
/*
* :MSGKEY: prereq ...
* additional --keys command on prereqs to standard output
*/
local T
if "$(@:V)"
{ $(@:V) ;} | $(SED) 's,^,str ,' > $$(<)
else
$(*) --'??keys' > $(<) 2>&1 || true
local D I O X
I += $(X) $(*$(X):N=*@($(CC.SUFFIX.OBJECT)):D=$(MSGCATDIR):B:S=.mso) $(*$(X):N=[-+]l*:/[-+]l\(.*\)/lib\1.msg/)
for X $(~.ALL)
if "$(X:A=$(X).sh)"
if I != ""
$(I) : .DONTCARE
if ! "$(MSGCATDIR:T=F)"
O := $(MSGCATDIR) - $(O)
$(MSGCATDIR) :
return $(O)
if test -x $(>)