recursively compile each directory