Ispy
[supertux.git] / mk / jam / application.jam
index e561df0..e307bc9 100644 (file)
 ##     noinstall: Don't setup a default installation target.
 ##     independent: The target will not be made a dependency of the apps and
 ##                  all target.
+##      linkerfile: Store a list of objects in a file and link using that
+##      file.  Use this to get around Jam's 10240 character argument limit.
 rule Application
 {
     # check options
-    CheckOptions noinstall console independent : $(3) : $(<) ;
+    CheckOptions noinstall console independent linkerfile : $(3) : $(<) ;
 
     local target = [ ConstructApplicationTarget $(<) : $(3) ] ;
-    local sources = [ DoSourceGrist $(>) ] ;
+    local sources = [ SearchSource $(>) ] ;
     local objects = [ CompileObjects $(sources) ] ;
 
     $(<)_TYPE = application ;
@@ -71,16 +73,18 @@ rule Application
     SystemLinkApplication $(<) : $(objects) : $(3) ;
 
     # Import default flags
-    CppFlags $(<) : $(CPPFLAGS) $(APPLICTION_CPPFLAGS) ;
-    CFlags $(<) : $(CFLAGS) $(APPLICATION_CFLAGS) ;
-    C++Flags $(<) : $(C++FLAGS) $(APPLICATION_C++FLAGS) ;
-    LFlags $(<) : $(LFLAGS) $(APPLICATION_LFLAGS) ;
+    CppFlags $(<) : $(APPLICTION_CPPFLAGS) ;
+    CFlags $(<) : $(APPLICATION_CFLAGS) ;
+    C++Flags $(<) : $(APPLICATION_CXXFLAGS) ;
+    LFlags $(<) : $(APPLICATION_LIBS) ;
 
     # Sources are part of the package
     if ! [ IsElem nopackage : $(3) ]
     {
         Package $(sources) ;
     }
+
+    return $(target) ;
 }
 
 #----------------------------------------------------------------------------