better lateflip filtering
[carveJwlIkooP6JGAAIwe30JlM.git] / build.c
diff --git a/build.c b/build.c
index cd721e71e07c568abbce683ebd4fb8be245520e0..4fff0d3c070b4d27ee48e30450ae46f6a05178f9 100644 (file)
--- a/build.c
+++ b/build.c
@@ -14,6 +14,8 @@
  */
 
 int compiled_something = 0;
+int content_enabled = 1;
+int binary_enabled = 1;
 
 /* old highscores server */
 void build_server( enum compiler compiler ){
@@ -107,21 +109,21 @@ void write_generic_addon_inf( u32 type, const char *title,
 }
 
 void build_shaders(void);
-void build_game( enum compiler compiler ){
+void build_game_binary( enum compiler compiler ){
    static int shaders_built = 0;
    if( !shaders_built ){
       shaders_built = 1;
       build_shaders();
    }
 
-   vg_build_start( "skaterift", compiler );
    vg_build_object( "skaterift.c " );
    vg_build_add_link_for_graphics();
    vg_build_add_link_for_game();
-
    vg_build_copy_graphics_dependencies();
    vg_build_copy_game_dependencies();
+}
 
+void build_game_content( enum compiler compiler ){
    vg_build_symbolic_link( "textures_src", "textures" );
    vg_build_symbolic_link( "models_src", "models" );
    vg_build_symbolic_link( "boards_src", "boards" );
@@ -130,7 +132,6 @@ void build_game( enum compiler compiler ){
    vg_build_symbolic_link( "playermodels_src", "playermodels" );
    vg_build_syscall( "mkdir -p %s/cfg", vg_compiler.build_dir );
    vg_build_syscall( "mkdir -p %s/savedata", vg_compiler.build_dir );
-
    vg_build_syscall( "mkdir -p %s/tools", vg_compiler.build_dir );
    vg_build_syscall( "cp blender_export.py %s/tools/", vg_compiler.build_dir );
 
@@ -168,8 +169,19 @@ void build_game( enum compiler compiler ){
    write_generic_addon_inf( k_addon_type_player,
                             "Aaron", "ch_aaron.mdl",
                             "playermodels_src/skaterift_aaron/addon.inf" );
+}
+
+void build_game( enum compiler compiler ){
+   vg_build_start( "skaterift", compiler );
+
+   if( binary_enabled ){
+      build_game_binary( compiler );
+      vg_build();
+   }
+
+   if( content_enabled )
+      build_game_content( compiler );
 
-   vg_build();
    compiled_something = 1;
 }
 
@@ -214,6 +226,15 @@ int main( int argc, char *argv[] ){
       if( vg_long_opt( "mingw" ) )
          build_game( k_compiler_mingw );
 
+      if( vg_long_opt( "none" ) )
+         build_game( k_compiler_none );
+
+      if( (arg=vg_long_opt_arg( "content" )) )
+         content_enabled = atoi(arg);
+
+      if( (arg=vg_long_opt_arg( "binary" )) )
+         binary_enabled = atoi(arg);
+
       if( vg_opt('p') || vg_long_opt("run") ){
          chdir( vg_compiler.build_dir );
          if( vg_compiler.compiler == k_compiler_mingw )
@@ -226,15 +247,17 @@ int main( int argc, char *argv[] ){
       if( vg_long_opt( "tar" ) || vg_opt( 't' ) ){
          vg_build_syscall( "mkdir -p dist" );
          if( compiled_something )
-            vg_build_syscall( "tar -chzvf dist/%s-%u.tar.gz %s", 
-                              vg_compiler.name, uid, vg_compiler.build_dir );
+            vg_build_syscall( "tar -chzvf dist/%s-%u-%s.tar.gz %s", 
+                              vg_compiler.name, uid, vg_compiler_str(),
+                              vg_compiler.build_dir );
       }
 
       if( vg_long_opt( "zip" ) || vg_opt( 'z' ) ){
          vg_build_syscall( "mkdir -p dist" );
          if( compiled_something )
             vg_build_syscall( "zip -r9 dist/%s-%u.zip %s", 
-                              vg_compiler.name, uid, vg_compiler.build_dir );
+                              vg_compiler.name, uid, vg_compiler_str(),
+                              vg_compiler.build_dir );
       }
    }
 }