Jak mogę uruchomić skrypt, który musi zostać wykonany przed wszystkimi innymi poleceniami makefile? I będzie to miłe (ale nie obowiązkowe), że skrypt nie zostanie wykonany, jeśli nie ma nic do zbudowania.Krok pre-build makefile
Szukałem SO i Google, ale nie mogę znaleźć niczego.
mam tego rozwiązania:
# myscript.bat output is empty
CHEAT_ARGUMENT = (shell myscript.bat)
CFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
AFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
Ale to bardzo brzydkie. Czy istnieje inny sposób uruchomienia "pre-build step" w makefile?
"Nie wykonać, jeśli nic nie budować" nie jest teraz bardzo ważne, ale będzie dobrze. Pytanie się zmieniło. – zxcat
Co ostatecznie zamierzasz zrobić? Do czego służy myscript.bat? Czy naprawdę próbujesz obliczyć dodatkowe flagi kompilatora, czy jest to wymyślny przykład? –
Mój skrypt otrzymuje wersję SVN i sprawdza, czy jest modyfikowany od ostatniego zatwierdzenia. Umieszcza te informacje w innym skrypcie (generuje plik rev.bat), który prosto wyprowadza tę informację bez niczego więcej. Później w makefile używam REVISION = $ (shell rev.bat), aby uzyskać te informacje. A następnie: AXF_FILE = project_r $ (REVISION) _ $ (ARCHITEKTURA) .axf – zxcat