use my_build
This commit is contained in:
69
build.cpp
Normal file
69
build.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
#define NO_Werror
|
||||
#include "build.hpp"
|
||||
|
||||
bool build = false;
|
||||
bool clear = false;
|
||||
bool run = false;
|
||||
bool opt = false;
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
if (rebuild_my_self(__FILE__, argc, argv))
|
||||
return 1;
|
||||
|
||||
for (int i = 1; i < argc; ++i)
|
||||
{
|
||||
if (!std::strcmp(argv[i], "opt"))
|
||||
{
|
||||
opt_flags = "-O3";
|
||||
opt = true;
|
||||
}
|
||||
if (!std::strcmp(argv[i], "build"))
|
||||
build = true;
|
||||
|
||||
if (!std::strcmp(argv[i], "run"))
|
||||
run = true;
|
||||
|
||||
if (!std::strcmp(argv[i], "cla"))
|
||||
{
|
||||
clear_all_build();
|
||||
clear = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (clear && !build)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::filesystem::create_directory(OBJ_DIR);
|
||||
|
||||
if (!opt)
|
||||
{
|
||||
|
||||
int res = compile_src_dir();
|
||||
|
||||
switch (res)
|
||||
{
|
||||
case 1:
|
||||
compile_obj_dir();
|
||||
break;
|
||||
case -1:
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!std::filesystem::exists(BUILD_FILE))
|
||||
compile_obj_dir();
|
||||
}
|
||||
else
|
||||
{
|
||||
build_as_one();
|
||||
}
|
||||
|
||||
if (run)
|
||||
{
|
||||
command = {"./" + BUILD_FILE.string(), "Pot", "20", "1080"};
|
||||
nob_cmd_run_sync(command);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user