Опция -link-report в mxmlc создает файл, содержащий большую часть соответствующей информации, за исключением того, что он сообщает поддельные имена файлов для встроенных ресурсов и игнорирует включенные исходные файлы. Чтобы собрать все, у меня теперь есть следующее в моем make-файле:
.deps/%.d: .deps/%.xml
# $@: $<
grep '<script name=./' $< | cut -f2 -d'"' | cut -f1 -d'(' | cut -f1 -d'$$' | sort -u | sed -e "s|^$$(pwd)/||" > .deps/$*.f
grep '\.mxml$$' .deps/$*.f | xargs grep -H 'mx:Script source' | sed -s 's|/[^/]*.mxml:.*source="\([^"]*\)".*|/\1|;' > .deps/$*.i
for path in $$(grep -h '\.\(mxml\|as\|css\)$$' .deps/$*.[fi] | xargs grep '\bEmbed([^.)]' | \
sed "s@\\(\\w\\+\\)/.*Embed([^'\")]*['\"][./]*\\([^'\"]*\\)['\"] *[,)].*@\\1/*/\\2@"); \
do find */src -path "$$path"; done | sort -u > .deps/$*.e
cat .deps/$*.[fie] | sed -e "s|^|$(flashpath)$*.swf $@ : |" > $@
# This includes targets, so should not be before the first target defined here.
built := $(wildcard .deps/*.xml)
include $(built:xml=d)
Все команды mxmlc и compc в make-файле теперь имеют -link-report, генерирующий файл с соответствующим именем .xml в каталоге .deps. Мне по-прежнему приходится искать в файлах директивы Embed и Script, но сложная часть (определение того, какие классы включаются) была сделана для меня. Я мог бы использовать настоящий парсер для каждого шага, но grep, sed и cut работали достаточно хорошо для файлов, как указано.