Прежде всего, я знаю, как написать базовый/промежуточный уровень makefile. В моих проектах на C++ я использую makefile, который делает много вещей автоматически. Самое главное для меня то, что он автоматически обнаруживает все исходные файлы (которые всегда находятся в одной папке) с использованием подстановочных знаков, использует это для прогнозирования имени (и местоположения) всех объектных файлов и компилируется соответствующим образом.Управление проектом scala с помощью Makefile
Недавно я пытался добиться такого же эффекта с помощью моих проектов scala , но я ударил два препятствия.
- Copilled файлы классы, которые принадлежат к пакетам, которые хранятся в подкаталогах (как
com/me/mypack/
). Это проблема, потому что Сделать необходимо найти эти файлы, чтобы проверить метки времени (и I не знаю, как это сделать автоматически). - Некоторые исходные файлы (например, определяющие
package object
) создают файлы классов с различными стандартами именования. Опять же, Сделать должен знать, где находятся эти файлы классов, и я не знаю, как сделать это автоматически.
Следствием этого является то, что «проблемные» исходные файлы являются перекомпилировать каждый раз, когда я бегу make
(который усугубляется в Scala долго время компиляции). Я хотел бы знать, как исправить это, не требуя, чтобы вручную выписал весь список ожидаемых файлов классов.
EDITВ качестве дополнительной записке: Я хотел бы, чтобы избежать размещения исходных файлов в подкаталогах. Мне нравится держать их в одном каталоге по нескольким причинам.
["если у вас есть молоток, все выглядит как гвоздь"] (http://en.wikipedia.org/wiki/Law_of_the_instrument) – paradigmatic