Це найкращий метод, який я придумав нещодавно:
У параметрах збірки виберіть створити пакетний файл.
Коли ви ініціюєте збірку з IDE, створюється пакетний файл разом з декількома текстовими файлами на основі параметрів, встановлених у IDE. Вам потрібно відстежувати ці файли, створені IDE, у контролі джерела:
- * .bat
- * .ini
- * .__ я
- * ._ іа
- * .lnp
- * .sct
Тоді foo.bat можна запустити зі сценарію збірки.
Хоча це створює додаткові файли, які потрібно відстежувати в контролі джерела, якщо ви хочете надійно створити згенерованого пакетного файлу, але це усуває необхідність покладатися на файл проекту Keil (foo.uvproj) та IDE. Мені легше порівнювати відмінності і, таким чином, відслідковувати зміни до генерованих текстових файлів (* .__ i), які містять прапорці компілятора, ніж до файлу .uvproj. Крім того, пакетний файл безпосередньо викликає різні інструменти, зброю, armcc, armlink. Це дає вам прямий результат кожного з цих кроків, а також, здавалося б, кращий потенціал для перенесення проекту в інший ланцюжок інструментів у майбутньому, якщо це необхідно.
Я усвідомлюю, що ця відповідь дуже схожа на моє оригінальне запитання, але я справді не знаю кращого способу виконання сценарію складання за допомогою інструментів Keil. Я попросив подивитися, що може з’явитися від інших. Я не повністю не згоден з відповіддю від @digikata, але я вважаю за краще, щоб прапори компілятора та карта пам'яті мали простіший формат для відстеження та використовувати більше інструментів у стилі Unix для компіляції, а не запускати компіляцію «все в одному» з IDE. Я думаю, що компіляція "все в одному" з IDE добре працює на моїй робочій станції, але не для сервера збірки.
EDIT : Сервер збирання працює на Windows Server 2003. Я повинен визнати, що я поступився використанням інтерфейсу командного рядка IDE, а не пакетного файлу. Це просто стало надто складно в управлінні.