Jump to content
    

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

добрый день

 

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

 

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

 

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

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

 

спасибо

Edited by sunjob

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

пробовал сразу :) не прокатывает, т.к. цель 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й вариант, "наиболее понятный" (в меру незнаний), первый - вообще "шайтан-колдовство"

Edited by sunjob

Share this post


Link to post
Share on other sites

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

size before: XXX

size after: XXX

 

Share this post


Link to post
Share on other sites

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

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

 

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

+

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

-->

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

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

 

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

 

спасибо

Edited by sunjob

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

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

 

спасибо

 

п.с.

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

Edited by sunjob

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...