stuff
[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( "sound_src", "sound" );
42 vg_build_syscall( "mkdir -p %s/cfg", vg_compiler.build_dir );
43
44 vg_build_miniaudio();
45 vg_build();
46 compiled_something = 1;
47 }
48
49 int main( int argc, char *argv[] )
50 {
51 time_t uid = time(NULL);
52
53 char *arg;
54 while( vg_argp( argc, argv ) )
55 {
56 if( vg_long_opt( "debug" ) || vg_opt( 'd' ) )
57 vg_build_mode_debug();
58
59 if( vg_long_opt( "release" ) || vg_opt( 'r' ) )
60 vg_build_mode_release();
61
62 if( vg_long_opt( "clang-server" ) )
63 build_server( k_compiler_clang );
64
65 if( vg_long_opt( "clang" ) )
66 build_game( k_compiler_clang );
67
68 if( vg_long_opt( "gcc" ) )
69 build_game( k_compiler_gcc );
70
71 if( vg_long_opt( "mingw" ) )
72 build_game( k_compiler_mingw );
73
74 if( vg_long_opt( "tar" ) || vg_opt( 't' ) )
75 {
76 vg_build_syscall( "mkdir -p dist" );
77 if( compiled_something )
78 vg_build_syscall( "tar -chzvf dist/%s-%u.tar.gz %s",
79 vg_compiler.name, uid, vg_compiler.build_dir );
80 }
81
82 if( vg_long_opt( "zip" ) || vg_opt( 'z' ) )
83 {
84 vg_build_syscall( "mkdir -p dist" );
85 if( compiled_something )
86 vg_build_syscall( "zip -r9 dist/%s-%u.zip %s",
87 vg_compiler.name, uid, vg_compiler.build_dir );
88 }
89 }
90 }