L2OBNAFRGGVOZKKGJWERQNBHQOU4ILZY6Y7WVQKS42DC5OYSCJ7AC template <typename... Args>std::function<rule(std::string)>bind(std::function<rule(std::string, Args...)> x, Args... y) {return std::bind(x, std::placeholders::_1, y...);}std::function<rule(std::string, rules &)>both(std::function<rule(std::string, rules &)> a,std::function<rule(std::string, rules &)> b) {return [&](std::string a2, rules &b2) -> rule {auto c = a(a2, b2);auto d = b(a2, b2);return [&](rules &e,ruleData f) -> std::string {c(e,f);d(e,f);return a2;};;};}std::function<rule(std::string)>both(std::function<rule(std::string)> a,std::function<rule(std::string)> b) {return [&](std::string a2) -> rule {auto c = a(a2);auto d = b(a2);return [&](rules &e,ruleData f) -> std::string {c(e,f);d(e,f);return a2;};;};}
makes, "env", std::string("REALTARGET=") + p.realPath, std::string("SUBTARGET=") + p.realPath.substr(makes.length()), std::string("SELFEXE=/proc/") + std::to_string(getpid()) + "/exe");
makes, "env", std::string("REALTARGET=") + p.realPath,std::string("SUBTARGET=") + p.realPath.substr(makes.length()),std::string("SELFEXE=/proc/") + std::to_string(getpid()) + "/exe");
rule make(std::string makes,std::vector<std::string> scriptTargets){return run(makes,cmd("sh","-c","make -C \"$1\" $SUBTARGET","--",makes),scriptTargets);
rule make(std::string makes, std::vector<std::string> scriptTargets) {return run(makes, cmd("sh", "-c", "make -C \"$1\" $SUBTARGET", "--", makes),scriptTargets);
rule redo(std::string makes,std::vector<std::string> scriptTargets){return run(makes,cmd("sh","-c","redo-ifchange -C \"$1\" $SUBTARGET","--",makes),scriptTargets);
rule redo(std::string makes, std::vector<std::string> scriptTargets) {return run(makes,cmd("sh", "-c", "redo-ifchange -C \"$1\" $SUBTARGET", "--", makes),scriptTargets);
rule pijul_clone(std::string makes,std::string patchRemote){return run(makes,cmd("pijul","clone",patchRemote,makes));
rule pijul_clone(std::string makes, std::string patchRemote) {return run(makes, cmd("pijul", "clone", patchRemote, makes));}rule subrepo_internal(std::string makes){return run(makes, cmd("sh","-c","cc -I$CXXBUILDPATH BUILD.cpp -o BUILD;BDIR=\"$(pwd)\" ./BUILD //$SUBTARGET","--"));
rule pijul_repo(std::string makes,std::string patchRemote){return both(bind(pijul_clone,patchRemote),subrepo_internal)(makes);}rule git_clone(std::string makes, std::string remote) {return run(makes, cmd("git", "clone", remote, makes));}rule git_repo(std::string makes,std::string remote){return both(bind(git_clone,remote),subrepo_internal)(makes);}