Remake
|
Functions | |
static void | complete_job (int job_id, bool success, bool started=true) |
static std::string | prepare_script (job_t const &job) |
static status_e | run_script (int job_id, job_t const &job) |
static status_e | start (std::string const &target, client_list::iterator ¤t) |
static void | complete_request (client_t &client, bool success) |
static bool | has_free_slots () |
static bool | handle_clients () |
static void | create_server () |
static void | accept_client () |
static void | finalize_job (pid_t pid, bool res) |
static void | server_loop () |
static void | server_mode (std::string const &remakefile, string_list const &targets) |
Accept a connection from a client, get the job it spawned from, get the targets, and mark them as dependencies of the job targets.
Definition at line 2691 of file remake.cpp.
Referenced by server_loop().
Handle job completion.
Definition at line 2133 of file remake.cpp.
Referenced by complete_request(), finalize_job(), and run_script().
Send a reply to a client then remove it. If the client was a dependency client, start the actual script.
Definition at line 2438 of file remake.cpp.
Referenced by handle_clients().
Create a named unix socket that listens for build requests. Also set the REMAKE_SOCKET environment variable that will be inherited by all the job scripts.
Definition at line 2611 of file remake.cpp.
Referenced by server_mode().
Handle child process exit status.
Definition at line 2810 of file remake.cpp.
Referenced by server_loop().
Handle client requests:
Definition at line 2495 of file remake.cpp.
Referenced by server_loop().
Return whether there are slots for starting new jobs.
Definition at line 2472 of file remake.cpp.
Referenced by handle_clients().
Return the script obtained by substituting variables.
Definition at line 2175 of file remake.cpp.
Referenced by run_script().
Execute the script from rule.
Definition at line 2258 of file remake.cpp.
Referenced by complete_request(), and start().
Loop until all the jobs have finished.
Definition at line 2825 of file remake.cpp.
Referenced by server_mode().
|
static |
Load dependencies and rules, listen to client requests, and loop until all the requests have completed. If Remakefile is obsolete, perform a first run with it only, then reload the rules, and perform a second with the original clients.
Definition at line 2886 of file remake.cpp.
Referenced by main().
Create a job for target according to the loaded rules. Mark all the targets from the rule as running and reset their dependencies. Inherit variables from current, if enabled. If the rule has dependencies, create a new client to build them just before current, and change current so that it points to it.
Definition at line 2380 of file remake.cpp.
Referenced by handle_clients().