Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.19.130] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Прошу помощи у специалистов по MAKЕ. Надо создать библиотеку из фортранных файлов. Они находятся в директориях а, в, с и т.д. Директорий много. Для каждой директории я написала маке-файлы, они транслируют программы, получают объектные модули, работают верно. Не могу сделать общий маке-файл, чтобы подключались маке-файлы из всех директорий по очереди. Если можно подскажите пожалуйста.
С уважением Л.В. |
Сообщ.
#2
,
|
|
|
Вроде можно просто вызывать make во вложенных директориях
типа build_all: build1 build2 build3 build1: cd folder1 make cd .. build2: cd folder2 make -f nonstandardname.mak cd .. build3: cd folder3 make cd .. Можно поколдовать с макросами, чтобы make сам нужные папки искал, но для этого make надо знать очень хорошо, иначе проблем наплодить можно |
Сообщ.
#3
,
|
|
|
Спасибо за ответ, я так и делала, но после обработки 1 директории программа выдает ошибку:
не удается найти пакетный файл и на обработку второй директории не переходит, что здесь не так не пойму. DIR:= c:\mingw_5.1.6\cernlib_for OBJECTS= a b c MAKE:= make ALL: $(OBJECTS) .PHONY: all make_a make_b make_c $(OBJECTS): make_a make_b make_c make_a: cd $(DIR)\a \ $(MAKE) -f makefile bib1=CERNLIB_DOUBLE cd ..\ make_b: cd $(DIR)\b \ $(MAKE) -f makefile bib1=CERNLIB_DOUBLE cd ..\ make_c: cd $(DIR)\c \ $(MAKE) -f makefile bib1=CERNLIB_DOUBLE cd ..\ |