removed `target_dirs`, added `mkdir` to relevant rules