реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> makefile - дубли "целей" для повторного использования, как устранить дубли
sunjob
сообщение May 2 2018, 09:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



добрый день

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

Код
all: ... size1 build size ...
size1:
    <blah-blah-blah>
size:
    <blah-blah-blah>


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

спасибо

Сообщение отредактировал sunjob - May 2 2018, 09:26
Go to the top of the page
 
+Quote Post
dima32rus
сообщение May 2 2018, 11:30
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



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

Код
all: ... size1 build size ...
size1: size
    
size:
    <blah-blah-blah>
Go to the top of the page
 
+Quote Post
sunjob
сообщение May 2 2018, 14:58
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



пробовал сразу sm.gif не прокатывает, т.к. цель size - должна собираться так же один раз sm.gif а то зачем ей еще раз это делать-то?! rolleyes.gif
а если 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 - May 2 2018, 16:15
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 2 2018, 19:55
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sunjob @ May 2 2018, 17:58) *
###!!! UPDATE !!!### - Решение найдено
А решение "в лоб" не работает?
CODE
.PHONY: size
all: begin size build size end


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение May 2 2018, 20:40
Сообщение #5


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Сергей Борщ @ May 2 2018, 22:55) *
А решение "в лоб" не работает?
Телепатирую))) Видимо нет, т.к. хочется видеть разный вывод:
size before: XXX
size after: XXX


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
sunjob
сообщение May 3 2018, 15:17
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



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

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

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

+
Цитата
Попробуйте так

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


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

спасибо

Сообщение отредактировал sunjob - May 3 2018, 16:38
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 3 2018, 21:14
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sunjob @ May 3 2018, 18:17) *
т.к. цель size - должна собираться так же один раз а то зачем ей еще раз это делать-то?!
Магическая цель .PHONY ни о чем не говорит?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sunjob
сообщение May 4 2018, 03:48
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 13-12-17
Пользователь №: 100 639



ПО ТЕМЕ (попробую еще раз)
- пробовал, ВСЕ возможные варианты, какие только мог "придумать" :о) (вт.ч. и до публикации топика)
- были и вариации с секцией PHONY
- решение подсказали знающие люди (кот. как ни странно, не удивил вопрос/проблема)

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

спасибо

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

Сообщение отредактировал sunjob - May 4 2018, 20:11
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 21:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01448 секунд с 7
ELECTRONIX ©2004-2016