- Builder &builder=pkg.get_builder();
- Target *world=builder.get_target("world");
- Target *def_tgt=builder.get_target("default");
-
- PathList files=collect_source_files();
-
- bool build_exe=(type!=HEADERS);
-
- list<ObjectFile *> objs;
- list<Target *> inst_tgts;
- for(PathList::const_iterator i=files.begin(); i!=files.end(); ++i)
- {
- string ext=FS::extpart(FS::basename(*i));
- if((ext==".cpp" || ext==".c") && build_exe)
- {
- SourceFile *src=new SourceFile(builder, this, i->str());
-
- // Compile sources
- ObjectFile *obj=new ObjectFile(builder, *this, *src);
- objs.push_back(obj);
- }
- else if(ext==".h")
- {
- Target *hdr=builder.get_target(i->str());
- if(!hdr)
- hdr=new Header(builder, this, i->str());
-
- // Install headers if requested
- if(!install_headers.empty())
- inst_tgts.push_back(hdr);
- }
- }
-
- if(build_exe)