Patent ID: 8151253
Filing Date: 2012-04-03
Classification: G06F

Abstract:
1. A method of generating an executable file, said method comprising: receiving a set of program files, wherein each program file incorporates a corresponding subset of program files contained in said set of program files, wherein a second program file of said program files includes a conditional incorporate statement to incorporate a first program file during compilation upon satisfaction of a corresponding condition and to not incorporate said first program file otherwise during compilation, wherein said corresponding condition is based on whether a first flag is defined; parsing at least some of said program files to generate a dependency information associating each program to said corresponding subset of program files, said dependency information associating said first program file and said corresponding condition to said second program file in response to parsing of said conditional incorporate statement in said second program file, wherein said condition and said first flag are specified as a part of said conditional incorporate statement present inside said second program file prior to said parsing; receiving an indication that said first program file has been modified; identifying a second subset of program files required to be recompiled in response to modification of said first program file based on said dependency information, wherein said second subset of program files contains a subset of program files associated with said first program file according to said dependency information, wherein said identifying further comprises determining by examining said dependency information that said first program file is incorporated in said second program file based on said corresponding condition, evaluating said corresponding condition to determine whether said corresponding condition is satisfied or not, and including said second program file in said subset of program files only if said corresponding condition is determined to be satisfied; compiling each of said second subset of program files to generate corresponding one of a second subset of compiled files; building said executable file from said second subset of compiled files; and maintaining a list of flags that are defined associated with said compiling and said building, wherein said second program file is recompiled if said corresponding condition is satisfied according to said evaluating and not recompiled otherwise, wherein the instructions contained in said first program file are included in the compiled file corresponding to the second program file if said corresponding condition is satisfied such that the instructions contained in said first program file are present in the compiled file, and are not included if said corresponding condition is not satisfied, wherein said evaluating determines whether said corresponding condition is satisfied by checking whether said first flag is contained in said list of flags, wherein the decision to include the instructions contained in said first program file into the compiled file corresponding to said second program file is based on whether said first flag is present or not in said list of flags.