- string tarname=name;
- if(name=="@src")
- tarname=pkg.get_name()+"-"+pkg.get_version();
- TarBall *result=new TarBall(builder, pkg, tarname);
-
- if(name=="@src")
- {
- const TargetMap &targets=builder.get_targets();
- for(TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
- if(i->second->get_package()==&pkg && !i->second->get_buildable())
- result->add_depend(i->second);
- files.push_back(pkg.get_source()/"Build");
- }
-
- for(PathList::const_iterator i=files.begin(); i!=files.end(); ++i)
- {
- FileTarget *ft;
- if(Target *tgt=builder.get_target(i->str()))
- ft=dynamic_cast<FileTarget *>(tgt);
- else
- ft=new File(builder, *i);
- result->add_depend(ft);
- }
-
- Target *tarbls_tgt=builder.get_target("tarballs");
- tarbls_tgt->add_depend(result);
-
- return;
+ FS::Path subdir = FS::dirname(FS::relative(path, gen_dir));
+ binfo.local_incpath.push_back(package.get_source_directory()/subdir);