|
не работает рекурсивный вызов make, make -C $dir |
|
|
|
Mar 30 2008, 21:44
|

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

|
Ситуация смешна. makefile: Код SUBDIRS = SUBDIRS += ./a SUBDIRS += ./b
all: for subdir in $(SUBDIRS); do echo ===== building $$subdir =====;$(MAKE) -C $$subdir all; done результат: Код for subdir in ./a ./b; do echo ===== building $subdir =====;C:/Programs/UNIX_U~1/make.EXE -C $subdir all; done ===== building ./a ===== make.EXE[1]: Entering directory `C:/tmp' for subdir in ./a ./b; do echo ===== building $subdir =====;C:/Programs/UNIX_U~1/make.EXE -C $subdir all; done ===== building ./a ===== make.EXE[1]: Entering directory `C:/tmp' for subdir in ./a ./b; do echo ===== building $subdir =====;C:/Programs/UNIX_U~1/make.EXE -C $subdir all; done ===== building ./a ===== make.EXE[1]: Entering directory `C:/tmp' for subdir in ./a ./b; do echo ===== building $subdir =====;C:/Programs/UNIX_U~1/make.EXE -C $subdir all; done и так до бесконечности. Вызов "вручную" make -C ./a работает. Эффект проявляется на двух компах, на двух других все работает. make на всех компах одинаковый, от WinAVR. make от yagarto ведет себя также. Винда ХР. Цитата GNU Make 3.81 Copyright © 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for i386-pc-mingw32 Что я мог поломать?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
 |
Ответов
|
Apr 2 2008, 08:34
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(Сергей Борщ @ Mar 31 2008, 00:44)  Ситуация смешна. makefile: Код SUBDIRS = SUBDIRS += ./a SUBDIRS += ./b
all: for subdir in $(SUBDIRS); do echo ===== building $$subdir =====;$(MAKE) -C $$subdir all; done А если так: Код SUBDIRS = SUBDIRS += ./a SUBDIRS += ./b
all: $(SUBDIRS)
$(foreach f, $(SUBDIRS), $(f)): @echo "===== building $@ =====" @$(MAKE) -C $@ all
.PHONY: all $(SUBDIRS) PS: Ваш вариант у меня работает на Linux.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Apr 2 2008, 08:51
|

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

|
Цитата(amw @ Apr 2 2008, 11:34)  А если так: так работает. теперь пытаюсь понять, как аналогично добавить цель clean. Но хотелось победить исходный - слишком много файлов переписывать. Цитата(amw @ Apr 2 2008, 11:34)  PS: Ваш вариант у меня работает на Linux. И у меня работает на двух машинах с виндой. А на двух не работает. Пока только пришло в голову, что на машинах, где не работает, процы AMD, а где работает - Интел, но я не верю, что причина может быть в этом. Надо будет внимательне посмотреть, какие версии sh стоят на этих машинах.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
Сообщений в этой теме
Сергей Борщ не работает рекурсивный вызов make Mar 30 2008, 21:44 AHTOXA Цитата(Сергей Борщ @ Mar 31 2008, 02:44) ... Mar 31 2008, 03:25  amw Цитата(Сергей Борщ @ Apr 2 2008, 11:51) т... Apr 2 2008, 09:45   Сергей Борщ Ну это слишком сложно... лишних 6 строчек вместо о... Apr 2 2008, 12:14    amw Цитата(Сергей Борщ @ Apr 2 2008, 15:14) m... Apr 2 2008, 13:02     Сергей Борщ Цитата(amw @ Apr 2 2008, 16:02) По моему ... Apr 2 2008, 13:16      amw Цитата(Сергей Борщ @ Apr 2 2008, 16:16) П... Apr 2 2008, 13:35       AHTOXA Цитата(amw @ Apr 2 2008, 19:35) В пердиду... Apr 2 2008, 14:26       Сергей Борщ Цитата(amw @ Apr 2 2008, 16:35) В пердиду... Apr 2 2008, 14:39        amw Цитата(Сергей Борщ @ Apr 2 2008, 17:39) П... Apr 2 2008, 14:54         Сергей Борщ Цитата(amw @ Apr 2 2008, 17:54) Ну может ... Apr 2 2008, 18:22          ReAl Цитата(Сергей Борщ @ Apr 2 2008, 20:22) М... Apr 2 2008, 19:13           Сергей Борщ Цитата(ReAl @ Apr 2 2008, 22:13) Короче, ... Apr 2 2008, 19:23            ReAl Цитата(Сергей Борщ @ Apr 2 2008, 21:23) К... Apr 2 2008, 19:53             Сергей Борщ Цитата(ReAl @ Apr 2 2008, 22:53) Код... Apr 2 2008, 20:14    Сергей Борщ Цитата(Сергей Борщ @ Apr 2 2008, 15:14) В... Oct 2 2008, 19:26 AHTOXA Проверил со сборкой от klen-а, работает нормально:... Apr 2 2008, 19:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|