def compile(basename,target)
done = false
loop do
go = false
if File.exist?(basename+'.fls') && File.exist?(target)
targetmtime = File.mtime(target)
bib_dep(basename).each do |f|
if ! File.exist?(f) || File.mtime(f) > targetmtime
rm(basename+'.bbl')
puts("newer than target: #{f}") if @verbose
go = true
break
end
end
unless go
tex_dep(basename).each do |f|
if ! File.exist?(f) || File.mtime(f) > targetmtime
puts("newer than target: #{f}") if @verbose
go = true
break
end
end
end
else
go = true
end
break unless go
sys(@texcommand,true).success || show_error_and_edit(basename,target)
done = true
end
return done
end