Опция вывода для компилятора Moscow ML
Я собираю некоторые .sml
файлы, использующие mosmlc.exe
, Проблема в том, что .ui
а также .uo
выходные файлы размещаются в том же каталоге, что и мои входные данные .sml
файлы. Я хотел бы сделать что-то вроде этого:
mosmlc.exe -o out/ src/file1.sml src/file2.sml
Так что выходные файлы будут созданы в out/
папка. Но выглядит как -o
опция используется для чего-то другого (согласно документации). Однако, если я запускаю такую опцию, выходные файлы создаются в том же каталоге, что и входные файлы.
Как я могу указать выходную папку? Нет документации по этому вопросу, и у компилятора нет опции справки, в которой перечислены опции компилятора (очень раздражает).
Из исходного кода
Изучив исходный код точки входа компилятора, я могу понять, что:
- Нет справки, перечисляющей все опции и способы использования (ужасно, может быть, я должен рассмотреть возможность внесения изменений, чтобы поддержать это в своем репо)
- Нет варианта вывода
Похоже, я не могу этого достичь... Вы можете это подтвердить?
1 ответ
Я не думаю, что есть какое-либо решение. Может быть, это просто обходной путь с использованием символических ссылок, который я не уверен, что Windows предоставляет:
mkdir out && \
cd out && \
ln -s ../*.{sml,sig} . && \
mosmlc -toplevel Hello.sml World.sml main.sml -o main && \
./main
Это создаст out
каталог, cd
в это, ссылка все .sig
или же .sml
Исходные файлы в этот каталог и выполните компиляцию там.
Извините, что дал вам команду Unix, но у меня нет машины с Windows для тестирования.