АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

makedepf90 - Интернет в облаке

Запустите makedepf90 в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда makedepf90, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


makedepf90 - создает список зависимостей Makefile для исходных файлов Fortran.

СИНТАКСИС


makedepf90 [-h] [-V] [-W|-Wmissing] [-Wв замешательстве] [-m FMT] [-u имя модуля] [-d файл] [-r
править] [-R файл править] [-фиксированный|-свободно] [-o имя исполняемого файла] [-кокос] [-D ИМЯ] [-b путь]
[-I ПУТЬ1: ПУТЬ2: ...] [-nosrc] исходный файл (ы)

ОПИСАНИЕ


makedepf90 программа для автоматического создания списков зависимостей и правил компиляции
для Makefiles.

Первоначальная идея заключалась в том, чтобы предоставить Фортрану ту же функциональность, что и

gcc -MM * .c

делает для C. В настоящее время makedepf90 фактически заменяет эту функциональность, что заставляет меня задаться вопросом
если мне нужно расширить makedepf90 для поддержки C и C ++ ;-).

makedepf90 поддерживает оба модули, включают: s, CPP(1) #включают: s, f90ppr(1) $ включить:песок
кокос(1) ??включает в себя и сет-файлы.

makedepf90 читает исходные файлы Fortran, указанные в командной строке, и записывает зависимость
список в стандартный вывод; для каждого файла записывается строка следующего формата:

направлена против : предпосылки

Цели файлы, которые будут результатом компиляции файла с -c вариант,
и предпосылки - это файлы, которые необходимы для компиляции файла. Кроме того, makedepf90
может при желании создать строку зависимости и make-rule, необходимое для связывания окончательного
исполняемый файл.

Фортран Зависимости
Файлы, необходимые для компиляции файла, т.е. предпосылки файла:

- Сам исходный файл

- Файлы с интерфейсной информацией о USEd-модулях, созданные компилятором при
компиляция модулей (часто называемых имя модуля.mod или что-то подобное, в дальнейшем
под названием мод-файлы).

- Include-файлы (в том числе включаемые файлы и mod-файлы модулей, USEd из этих
включаемые файлы).

- кокос set-файлы, если кокос(1) уже используется, а установочные файлы существуют.

Поскольку разные компиляторы используют разные соглашения об именах для файлов мода, перечисляя их
в списке зависимостей приводит к непереносимым make-файлам. Поэтому это обычная практика
чтобы перечислить объектный файл (имя файла.o), соответствующий исходному файлу, содержащему USEd
модули вместо этого. Это поведение по умолчанию makedepf90. Чтобы изменить это, используйте -m
вариант (например, -m "% m.mod" если ваш компилятор называет файлы мода имя модуля.мод)

Включаемые файлы, не найденные в рабочем каталоге, не будут перечислены в зависимости
list, предполагая, что они являются частью (редко меняющейся) библиотеки, а не частью программы.
Также не будут перечислены мод-файлы модулей, определения которых не найдены.
причина.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Эти параметры могут быть указаны в любом месте командной строки в любом порядке. Пространство между
option и его аргумент не обязателен. Параметры не могут быть сгруппированы (-чВ это не то же самое
вещь как -h -W).

-h or --Помогите
Распечатайте короткое справочное сообщение на стандартный вывод и выйдите.

-V or --версия
Распечатать версию и информацию об авторских правах на стандартный вывод и выйти

-W or -Wmissing
Распечатать предупреждения об отсутствующих модулях и включаемых файлах

-Wв замешательстве
Вывести предупреждения, если они запутались (либо из-за ошибок в самом makedepf90, либо
из-за странных вещей в ваших исходных файлах). Если makedepf90 пропускает некоторые
зависимости или делать другие странные вещи, этот параметр может дать некоторое представление о том, что
продолжается.

-m FMT Сказать makedepf90 что мод-файлы будут иметь имена формата FMT. FMT может содержать
модификаторы %f для имя файла (без имени файла .suffix), %m для имя модуля
строчные буквы), %M для ИМЯ МОДУЛЯ (в верхнем регистре) и %% для '%'. По умолчанию "% fo".

-u имя модуля
Игнорировать все названные модули имя модуля.

-d файл
Сделайте все цели зависимыми от файл.

-r править
Добавить править (с отступом табуляции) ко всем строкам зависимостей, кроме строк, заданных правилом (ами)
с -R опцию.

править может содержать следующие модификаторы: %f для имени исходного файла
(без суффикса) создается линия зависимости, и %% для '%'.

-R 'шаблон' «Правило»
Скомпилировать файлы, соответствующие шаблону оболочки описания используя правило править. В описания,
могут использоваться следующие подстановочные знаки: * = любое количество любых символов, ? = любой
характер и [абв] = любой из a, b or c. Обратите внимание, что сопоставление шаблонов должно быть
в исполнении makedepf90а не оболочка. Следовательно описания следует заключить в
цитаты (" or '). Для править применяет те же правила, что и для -r выше.

Обратите внимание на небольшую разницу между "-r править, а также-R '*' править". В
бывший случай править будет применяться только к строкам, для которых не задано какое-либо правило, использующее -R, В то время
в последнем случае, править будет применяться к Найти линий.

-фиксированный / -свободно
Рассматривайте файлы как фиксированный / свободный исходный формат. Если даны оба варианта, последний
используется. По умолчанию: файлы с суффиксами .ф, .Ф, .для, .ДЛЯ or .ftn рассматриваются как
фиксированный формат и .f90, .F90, .f95 or .F95 рассматриваются как свободный формат.

-o имя
Этот вариант вызовет makedepf90 для определения макроса Makefile ФОБДЖ=объектные файлы,
и строка зависимости + правило для окончательного процесса связывания для создания исполняемого файла
имя. Чтобы установить правило связывания, используйте опцию -l.

-l править
Используйте править при компоновке исполняемого файла. По умолчанию
$ (FC) -o $@ $ (FFLAGS) $ (LDFLAGS) $ (FOBJ) $ (LIBS).
Этот параметр не действует, если -o используется.

-кокос Искать кокос(1) установочные файлы (кокос ?? include: s поддерживаются автоматически). Этот
вариант подразумевает -свободно.

-D ИМЯ
Определите символ препроцессора ИМЯ.

-b путь
Дерево зависимостей и правило связи предполагают, что объекты размещены в путь. Это
полезно, если сборка помещает объектные файлы в каталог, отличный от исходного.
файлы.

-I список путей
Ищите исходные / включаемые файлы в список путей, если не найдено в текущей работе
каталог. Здесь, список путей список имен путей, разделенных двоеточиями.

-nosrc Не указывайте исходный файл среди предварительных требований.

ПРИМЕРЫ


Базовый Применение
Вот пример базового makedepf90 использование вместе с сделать(1). Создайте файл с именем
Makefile со следующим содержанием:

----------------------

# FC = используемый компилятор
FC = f90

# Параметры компилятора
FFLAGS = -O

# Список библиотек, используемых программой, здесь
LIBS =

# Суффикс-правила: начните с отбрасывания всех старых суффиксов-
# правил, а затем создайте новые для компиляции
# * .f90-файлы.
. СУФФИКСЫ:
. СУФФИКСЫ: .f90 .o

.f90.о:
$ (FC) -c $ (FFLAGS) $

# Включить список зависимостей, созданный makedepf90 ниже
включить .depend

# цель 'clean' для удаления объекта- * .mod- и других
# нежелательный файл
чистить:
rm -f * .o * .mod ядро

# Создайте список зависимостей с помощью makedepf90. Все файлы
# который необходимо скомпилировать для сборки программы,
# т.е. все исходные файлы, кроме включаемых, должны
# в командной строке нужно указать makedepf90.
#
# Аргументом опции '-o' будет имя
# результирующая программа при запуске make, в данном случае
# 'foobar'
зависеть. зависеть:
makedepf90 -o foobar * .f90> .depend

-----------------------

(Обратите внимание, что все строки с отступом должны иметь отступ табуляции, а не пробелы)

В этом make-файле команда сделать должен выполнять все команды, необходимые для компиляции и
связать программу Foobar из всех файлов * .f90 в рабочем каталоге.

Список зависимостей .зависеть будет (повторно) создан, если .зависеть не существует, или если
команду сделать зависеть запущен. Это нужно делать каждый раз, когда в
программа, которая влияет на зависимости файлов (например, если были добавлены новые исходные файлы
к проекту).

Пример Доступно кокос
Если вы используете препроцессор, все может усложниться. Если повезет,
ваш компилятор поддерживает ваш препроцессор и автоматически запускает его в вашем коде, но если
это не так, вы должны дать команды для запуска препроцессора самостоятельно. Ниже приводится
пример Makefile для кокос(1) -пользователи.

-----------------------
FC = f90
FFLAGS = -O
ПРЕДПРОЦЕССОР = кокос

. СУФФИКСЫ:
. СУФФИКСЫ: .f .f90 .o

# Файлы с расширением .f90 компилируются напрямую ...
.f90.о:
$ (FC) -c $ (FFLAGS) $

# ... в то время как те, которые заканчиваются на .f, предварительно обрабатываются.
.fo:
$ (ПРЕДПРОЦЕССОР) $ *; $ (FC) -c $ (FFLAGS) $ *. F90

включить .depend

чистить:
rm -f * .o * .mod ядро

зависеть. зависеть:
makedepf90 -coco -o foobar * .f90 * .f> .depend

-----------------------

ПРИМЕЧАНИЕ: Некоторые реализации сделать(1) не будет выполнять никаких команд - даже сделать зависеть
- с файлами Makefile, указанными выше, если не существует файла с именем .зависеть. Чтобы преодолеть это
проблема, либо беги makedepf90 вручную или начните с создания пустого .зависеть файл с
команда трогать .зависеть.

ДИАГНОСТИКИ


Большинство сообщений об ошибках и предупреждениях говорят сами за себя, но для некоторых из них могут потребоваться некоторые
дальнейшие объяснения:

ПРЕДУПРЕЖДЕНИЕ: рекурсия предел достиг in файл имя файла
При рекурсивном синтаксическом анализе включаемых файлов makedepf90 достиг предела рекурсии.
Возможные причины: либо у вас есть на самом деле сложные системы включения
файлы, или у вас есть рекурсивные включения (например, включаемый файл, который включает самого себя).
В последнем случае; исправьте это, вашему компилятору Fortran это тоже не понравится.

Используйте makedepf90 в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad