LINUX.ORG.RU

Вопрос по makefile

 , ,


0

1

Добрый вечер!

Вопрос знатокам make... У меня есть текущий проект для микроконтроллера и с каждым релизом firmware мне приходится несколько раз поправлять в makefile тип контроллера и собирать прошивки для разных типов микроконтроллеров. Каким образом можно «заставить» make собрать один проект несколько раз для разных камней подставляя тип в опцию "-mcpu" компилятора и линкера?

С уважением


Может переменными окружения и скриптом?

anonymous
()

Опредили цели, так чтобы по make arch собиралось для указанной архитектуры. Потом можешь сделать скрипт с помощью которого можно будет собрать firmware для всех контроллеров разом.

EXL ★★★★★
()

определти правила для CC и собирай с типа make M3, make A8 и т.п.

splinter ★★★★★
()
Ответ на: комментарий от amidos

да что там разбираться, определяй цели, и скрипт из одной строки.

emulek
()

Так как все начали упоминать использование скриптов, захотелось показать, как можно сделать без них, по крайней мере, на GNU/Make (понятно, что тут надо доделывать и разделать виды целей, но на показать сойдёт):

ifeq ($(MAKECMDGOALS),)
    $(error "Please specify at least one target on command-line")
endif

define arch_template
$1: ARCH := $1
$1:
	@echo 'Building $$(ARCH)...'
endef
$(foreach arch, $(MAKECMDGOALS), $(eval $(call arch_template,$(arch))))
$ make mips arm aarch64
Building mips...
Building arm...
Building aarch64...

xaizek ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.