Node concepts, without a particular order ----------------------------------------- when finding a source dir: 1. eliminate src files that do not exist anymore 2. look in os.listdir or try os.stat when declaring a build file: 1. construct the folder structure in the build dir to avoid the manual mkdirs 2. create the nodes for the src dir too if the folders exist when looking for a resource: 1. return either a source file or a build file, the build file will have the priority 2. find the intermediate source and build nodes The calls to os.listdir should be cached somehowa cache for os.listdir Eliminate source dir nodes when they do not exist anymore When build nodes do not exist, do not delete them but remove the signatures Using the testcase ------------------ Execute ../waf distclean configure build