Перейти к содержанию
    

makefile - дубли "целей" для повторного использования, как устранить дубли

добрый день

 

в makefie для "показа" размера "до" и "после" используется след. конструкция (с дублями целей)

 

all: ... size1 build size ...
size1:
    <blah-blah-blah>
size:
    <blah-blah-blah>

 

как можно "извернуться", что-бы "оставить только одну цель" с возможностью "вызывать ее дважды"?

надеюсь обьяснил понятно...

 

спасибо

Изменено пользователем sunjob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пробовал сразу :) не прокатывает, т.к. цель size - должна собираться так же один раз :) а то зачем ей еще раз это делать-то?! :rolleyes:

а если size уже собрали, то и size1 не надо ничего делать ... в итоге отработает команда в начале, а в конце нет

 

###!!! UPDATE !!!### - Решение найдено

 

итого, два решения, колдуны подсказали

 

#
# var.1
#
all: begin size1 build size end

define size_prc
$1:
  <SIZE_CMD>
endef

$(eval $(call size_prc, size1))
$(eval $(call size_prc, size ))

#
# var.2
#
all: begin size1 build size end

define size_prc
  <SIZE_CMD>
endef

size1:
  $(size_prc)

size:
  $(size_prc)

 

оба прекрасно отрабатывают, мне больше понравился 2й вариант, "наиболее понятный" (в меру незнаний), первый - вообще "шайтан-колдовство"

Изменено пользователем sunjob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

###!!! UPDATE !!!### - Решение найдено
А решение "в лоб" не работает?

.PHONY: size
all: begin size build size end

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А решение "в лоб" не работает?
Телепатирую))) Видимо нет, т.к. хочется видеть разный вывод:

size before: XXX

size after: XXX

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А решение "в лоб" не работает?

ну надо же содержимое хотя-бы читать ... :rolleyes:

 

для "показа" размера "до" и "после"

+

Попробуйте так

-->

пробовал сразу не прокатывает, т.к. цель size - должна собираться так же один раз а то зачем ей еще раз это делать-то?!

а если size уже собрали, то и size1 не надо ничего делать ... в итоге отработает команда в начале, а в конце нет

 

уточню: решение подсказали, целых два, они оба действительно РАБОТАЮТ!

 

спасибо

Изменено пользователем sunjob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

т.к. цель size - должна собираться так же один раз а то зачем ей еще раз это делать-то?!
Магическая цель .PHONY ни о чем не говорит?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ПО ТЕМЕ (попробую еще раз)

- пробовал, ВСЕ возможные варианты, какие только мог "придумать" :о) (вт.ч. и до публикации топика)

- были и вариации с секцией PHONY

- решение подсказали знающие люди (кот. как ни странно, не удивил вопрос/проблема)

 

к стати, makefile-исходник из "шаблонов" то-ли WinAVR, то-ли AVR-Studio (там тоже решения в лоб не любят, видимо :о)

если у вас есть какие либо варианты решения с примерами, пишите, рассмотрим

 

спасибо

 

п.с.

буду/(все мы будем) премного благодарны, если ВЫ предложите ВАШЕ решение в виде примера

Изменено пользователем sunjob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...