physics adjustments
[carveJwlIkooP6JGAAIwe30JlM.git] / build.c
1 #include "vg/vg_platform.h"
2 #include "vg/vg_log.h"
3 #include "vg/vg_opt.h"
4 #include "vg/vg_build.h"
5
6 /*
7 * c build.c --release --clang
8 * c build.c --clang -p
9 * c build.c --file=game -rc --clang --play
10 */
11
12 int compiled_something = 0;
13
14 void build_server( enum compiler compiler )
15 {
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 " );
20
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" );
24
25 vg_build();
26 compiled_something = 1;
27 }
28
29 void build_game( enum compiler compiler )
30 {
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();
35
36 vg_build_copy_graphics_dependencies();
37 vg_build_copy_game_dependencies();
38
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 );
44
45 vg_build_miniaudio();
46 vg_build();
47 compiled_something = 1;
48 }
49
50 int main( int argc, char *argv[] )
51 {
52 time_t uid = time(NULL);
53
54 char *arg;
55 while( vg_argp( argc, argv ) )
56 {
57 if( vg_long_opt( "debug" ) || vg_opt( 'd' ) )
58 vg_build_mode_debug();
59
60 if( vg_long_opt( "release" ) || vg_opt( 'r' ) )
61 vg_build_mode_release();
62
63 if( vg_long_opt( "clang-server" ) )
64 build_server( k_compiler_clang );
65
66 if( vg_long_opt( "clang" ) )
67 build_game( k_compiler_clang );
68
69 if( vg_long_opt( "gcc" ) )
70 build_game( k_compiler_gcc );
71
72 if( vg_long_opt( "mingw" ) )
73 build_game( k_compiler_mingw );
74
75 if( vg_long_opt( "tar" ) || vg_opt( 't' ) )
76 {
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 );
81 }
82
83 if( vg_opt('p') || vg_long_opt("run") )
84 {
85 chdir( vg_compiler.build_dir );
86 vg_build_syscall( "./%s", vg_compiler.name );
87 chdir( "../../" );
88 }
89
90 if( vg_long_opt( "zip" ) || vg_opt( 'z' ) )
91 {
92 vg_build_syscall( "mkdir -p dist" );
93 if( compiled_something )
94 vg_build_syscall( "zip -r9 dist/%s-%u.zip %s",
95 vg_compiler.name, uid, vg_compiler.build_dir );
96 }
97 }
98 }