1. A method for program building using predefined source files and predefined build scripts comprising a sequence of build commands; wherein each build command comprises an origin command line ( 20 ) interpretable by an operating system ( 7 ) and addressed to at least one compiling tool ( 10 ); wherein each command line ( 20 ) comprises at least one of the following: a source file name ( 22 ), a destination file name ( 24 ), a program name ( 25 ), an indication of at least one action ( 26 ) to be performed by said at least one addressed compiling tool ( 10 ), and an option ( 28 ) related to a corresponding action ( 26 ) to be performed; wherein each origin command line ( 20 ) is parsed to identify components ( 22 , 24 , 25 , 26 , 28 ) of said corresponding build command; wherein each identified component ( 22 , 24 , 25 , 26 , 28 ) is evaluated against rule sets ( 32 ) containing conditions and instructions to change said origin command line ( 20 ), wherein matching rule sets are processed to generate at least one resultant command line interpretable by said operating system ( 7 ), wherein processing of said at least one resultant command line by said operating system ( 7 ) produces at least one of the following: an intermediate output file recursively processed by at least one additional command line, and a final output file interpretable by a target hardware platform ( 50 ), and wherein said rule sets ( 32 ) comprise predicate conditions ( 38 ) and command line component modification instructions ( 34 ) and runtime script declarations ( 36 ), wherein a Cartesian product is formed based on said input dimensions and said rule sets ( 32 ) stored in a knowledge database ( 5 ), wherein for each command line component ( 22 , 24 , 25 , 26 , 28 ) satisfying said predicate conditions ( 38 ) of a rule set ( 32 ), corresponding command line component modifications ( 34 ) are applied and corresponding scripts ( 40 ) are invoked at defined points in program flow.