To najlepsza metoda, jaką ostatnio wymyśliłem:
W opcjach kompilacji wybierz opcję Utwórz plik wsadowy.
Po zainicjowaniu kompilacji z IDE tworzony jest plik wsadowy wraz z kilkoma plikami tekstowymi w oparciu o opcje ustawione w IDE. Musisz śledzić te pliki generowane przez IDE w kontroli źródła:
- *.nietoperz
- * .ini
- *.__ja
- * ._ m.in.
- * .lnp
- * .sct
Następnie foo.bat można uruchomić ze skryptu kompilacji.
Mimo że tworzy to dodatkowe pliki, które należy śledzić w kontroli źródła, jeśli chcesz budować niezawodnie z wygenerowanego pliku wsadowego, nie trzeba jednak polegać na pliku projektu Keil (foo.uvproj) i IDE. Łatwiej jest mi porównać różnice, a tym samym śledzić zmiany, w wygenerowanych plikach tekstowych (* .__ i), które zawierają flagi kompilatora, niż w pliku .uvproj. Dodatkowo plik wsadowy wywołuje bezpośrednio różne narzędzia, armasm, armcc, armlink. Daje to bezpośredni wynik każdego z tych kroków, a także pozornie lepszy potencjał migracji projektu do innego łańcucha narzędzi w przyszłości, jeśli to konieczne.
Zdaję sobie sprawę, że ta odpowiedź brzmi bardzo podobnie do mojego pierwotnego pytania, ale naprawdę nie znam lepszego sposobu uruchamiania kompilacji skryptowej za pomocą narzędzi Keila. Poprosiłem, aby zobaczyć, co może pochodzić od innych. Nie do końca nie zgadzam się z odpowiedzią @digikata, ale wolę mieć flagi kompilatora i mapę pamięci w łatwiejszym formacie do śledzenia i używać do kompilacji więcej narzędzi w stylu uniksowym niż uruchamiać kompilację typu „wszystko w jednym” z IDE. Myślę, że kompilacja kompleksowa z IDE działa dobrze na mojej stacji roboczej, ale nie na serwerze kompilacji.
EDYCJA : Serwer kompilacji działa w systemie Windows Server 2003. Muszę wyznać, że wolę używać interfejsu wiersza poleceń IDE zamiast pliku wsadowego. To po prostu stało się zbyt trudne do opanowania.