41e34c0a251a390679b77ad26bc7e66b97f9afff
1 #include "vg/vg_platform.h"
4 #include "vg/vg_build.h"
7 * c build.c --release --clang
9 * c build.c --file=game -rc --clang --play
12 int compiled_something
= 0;
14 void build_server( enum compiler compiler
)
16 vg_build_start( "skaterift_server", compiler
);
17 vg_build_object( "server.c " );
18 vg_build_link( "-pthread -lm -lsdkencryptedappticket -lsteam_api " );
19 vg_build_library_dir( "-L./vg/dep/steam " );
21 vg_build_bin_dependency_file( "vg/dep/steam/steamclient.so" );
22 vg_build_bin_dependency_file( "vg/dep/steam/libsteam_api.so" );
23 vg_build_bin_dependency_file( "vg/dep/steam/libsdkencryptedappticket.so" );
26 compiled_something
= 1;
29 void build_game( enum compiler compiler
)
31 vg_build_start( "skaterift", compiler
);
32 vg_build_object( "skaterift.c " );
33 vg_build_add_link_for_graphics();
34 vg_build_add_link_for_game();
36 vg_build_copy_graphics_dependencies();
37 vg_build_copy_game_dependencies();
39 vg_build_symbolic_link( "textures_src", "textures" );
40 vg_build_symbolic_link( "models_src", "models" );
41 vg_build_symbolic_link( "maps_src", "maps" );
42 vg_build_symbolic_link( "sound_src", "sound" );
43 vg_build_syscall( "mkdir -p %s/cfg", vg_compiler
.build_dir
);
47 compiled_something
= 1;
50 int main( int argc
, char *argv
[] )
52 time_t uid
= time(NULL
);
55 while( vg_argp( argc
, argv
) )
57 if( vg_long_opt( "debug" ) || vg_opt( 'd' ) )
58 vg_build_mode_debug();
60 if( vg_long_opt( "release" ) || vg_opt( 'r' ) )
61 vg_build_mode_release();
63 if( vg_long_opt( "clang-server" ) )
64 build_server( k_compiler_clang
);
66 if( vg_long_opt( "clang" ) )
67 build_game( k_compiler_clang
);
69 if( vg_long_opt( "gcc" ) )
70 build_game( k_compiler_gcc
);
72 if( vg_long_opt( "mingw" ) )
73 build_game( k_compiler_mingw
);
75 if( vg_long_opt( "tar" ) || vg_opt( 't' ) )
77 vg_build_syscall( "mkdir -p dist" );
78 if( compiled_something
)
79 vg_build_syscall( "tar -chzvf dist/%s-%u.tar.gz %s",
80 vg_compiler
.name
, uid
, vg_compiler
.build_dir
);
83 if( vg_long_opt( "zip" ) || vg_opt( 'z' ) )
85 vg_build_syscall( "mkdir -p dist" );
86 if( compiled_something
)
87 vg_build_syscall( "zip -r9 dist/%s-%u.zip %s",
88 vg_compiler
.name
, uid
, vg_compiler
.build_dir
);