GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

makedepf90 - Trực tuyến trên đám mây

Chạy makedepf90 trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh makedepf90 có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


makedepf90 - tạo danh sách phụ thuộc Makefile cho các tệp nguồn Fortran.

SYNOPSIS


makedepf90 [-h] [-V] [-W|- Đang chờ] [-Bối rối] [-m fmt] [-u tên mô-đun] [-d hồ sơ] [-r
loại trừ] [-R hồ sơ loại trừ] [-đã sửa|-miễn phí] [-o tên-của-thực thi] [-dừa] [-D TÊN] [-b con đường]
[-I PATH1: PATH2: ...] [-nosrc] (các) tệp nguồn

MÔ TẢ


makedepf90 là một chương trình để tự động tạo danh sách phụ thuộc và các quy tắc biên dịch
cho Makefiles.

Ý tưởng ban đầu là cung cấp chức năng tương tự cho Fortran như

gcc -MM * .c

làm cho C. Ngày nay makedepf90 thực sự thay thế chức năng này, khiến tôi tự hỏi
nếu tôi nên mở rộng makedepf90 để hỗ trợ cả C và C ++ ;-).

makedepf90 hỗ trợ cả mô-đun, bao gồm:NS, cpp(1) #include:NS, f90ppr(1) $ bao gồm:cát
coco(1) ??bao gồm và tập tin.

makedepf90 đọc các tệp nguồn Fortran được cung cấp trên dòng lệnh và viết một phần phụ thuộc
danh sách để stdout; đối với mỗi tệp, nó viết một dòng với định dạng sau:

mục tiêu : điều kiện tiên quyết

Mục tiêu là các tệp sẽ là kết quả của việc biên dịch tệp với -c Tùy chọn,
điều kiện tiên quyết là các tệp cần thiết để biên dịch tệp. Ngoài ra, makedepf90
có thể tùy chọn tạo dòng phụ thuộc và quy tắc thực hiện cần thiết để liên kết cuối cùng
thực thi.

Fortran phụ thuộc
Các tệp cần thiết để biên dịch một tệp, tức là điều kiện tiên quyết của tệp là:

- Bản thân tệp nguồn

- Các tệp có thông tin giao diện về các mô-đun USEd, được tạo bởi trình biên dịch trong khi
biên dịch các mô-đun (thường được đặt tên là tên mô-đun.mod hoặc cái gì đó tương tự, sau đây
gọi là tập tin mod).

- Các tệp tin bao gồm (bao gồm các tệp tin được bao gồm và các tệp tin mod của các mô-đun USEd từ những
bao-tệp).

- Trái dừa tập tin, nếu coco(1) đang được sử dụng và các tập tin thiết lập tồn tại.

Vì các trình biên dịch khác nhau sử dụng các quy ước đặt tên khác nhau cho các tệp mod, hãy liệt kê chúng
trong danh sách phụ thuộc dẫn đến các cấu hình không di động. Do đó, nó là thông lệ
để liệt kê tệp đối tượng (tên tập tin.o) tương ứng với tệp nguồn có chứa USEd
mô-đun thay thế. Đây là hành vi mặc định của makedepf90. Để thay đổi điều này, hãy sử dụng -m
tùy chọn (ví dụ -m "% m.mod" nếu trình biên dịch của bạn đặt tên cho các tệp mod tên mô-đun.mod)

Bao gồm các tệp không được tìm thấy trong thư mục làm việc sẽ không được liệt kê trong phần phụ thuộc
danh sách, giả sử chúng là một phần của thư viện (hiếm khi thay đổi) không phải là một phần của chương trình.
Các tệp mod của các mô-đun có định nghĩa không được tìm thấy sẽ được liệt kê theo cùng một
lý do.

LỰA CHỌN


Các tùy chọn này có thể được đưa ra ở bất kỳ đâu, theo bất kỳ thứ tự nào, trên dòng lệnh. Khoảng cách giữa một
tùy chọn và đối số của nó là tùy chọn. Các tùy chọn có thể không được nhóm lại (-hW không giống nhau
điều như -h -W).

-h or --Cứu giúp
In một thông báo trợ giúp ngắn để sắp xếp và thoát.

-V or --phiên bản
In phiên bản và thông tin bản quyền để stdout và thoát

-W or - Đang chờ
In cảnh báo về các mô-đun bị thiếu và bao gồm các tệp

-Bối rối
In cảnh báo khi bị nhầm lẫn (do lỗi trong bản thân makedepf90 hoặc
bởi vì những thứ wierd trong các tệp nguồn của bạn). Nếu makedepf90 bỏ lỡ một số
phụ thuộc, hoặc làm những việc khác, tùy chọn này có thể cung cấp một số ý tưởng về cái gì
đang xảy ra.

-m fmt Giới thiệu makedepf90 rằng các tệp mod sẽ có tên của định dạng fmt. fmt có thể chứa
các bổ ngữ %f cho tên tập tin (không có tên tệp .suffix), %m cho tên mô-đun (Trong
chữ thường), %M cho TÊN MÔ-ĐUN (viết hoa) và %% vì '%'. Mặc định là "% fo".

-u tên mô-đun
Bỏ qua tất cả các mô-đun có tên tên mô-đun.

-d hồ sơ
Làm cho tất cả các mục tiêu phụ thuộc vào hồ sơ.

-r loại trừ
Thêm loại trừ (thụt lề của một tab) cho tất cả các dòng phụ thuộc ngoại trừ các dòng đã cho (các) quy tắc
với -R tùy chọn.

loại trừ có thể chứa các bổ ngữ sau: %f cho tên của tệp nguồn
(không có hậu tố) dòng phụ thuộc được tạo cho và %% vì '%'.

-R 'mẫu' 'luật lệ'
Biên dịch các tệp phù hợp với mẫu shell Belt Hold sử dụng quy tắc loại trừ. Trong Belt Hold,
các ký tự đại diện sau có thể được sử dụng: * = bất kỳ số ký tự nào, ? = bất kỳ
nhân vật và [abc] = bất kỳ a, b or c. Lưu ý rằng sự phù hợp theo khuôn mẫu phải được
được thực hiện bởi makedepf90, không phải vỏ. Vì vậy Belt Hold nên được bao bọc trong
dấu ngoặc kép (" or '). Dành cho loại trừ áp dụng các quy tắc tương tự như đối với -r ở trên.

Lưu ý rằng có một sự khác biệt nhỏ giữa "-r loại trừ"Và"-R '*' loại trừ". Bên trong
trường hợp trước đây loại trừ sẽ chỉ được áp dụng cho các dòng không được cung cấp bất kỳ quy tắc nào bằng cách sử dụng -R, trong khi
trong trường hợp thứ hai, loại trừ sẽ được áp dụng cho tất cả các Đường dây.

-đã sửa / -miễn phí
Coi các tệp là định dạng nguồn cố định / miễn phí. Nếu cả hai tùy chọn được đưa ra, thì tùy chọn sau
Được sử dụng. Mặc định: Các tệp có hậu tố .NS, .NS, .vì, .VÌ or .ftn được coi là
định dạng cố định và .f90, .F90, .f95 or .F95 được coi là định dạng miễn phí.

-o tên
Tùy chọn này sẽ gây ra makedepf90 để xác định macro Makefile FOBJ=tệp đối tượng,
và một dòng phụ thuộc + quy tắc cho quá trình liên kết cuối cùng để tạo tệp thực thi
tên. Để đặt quy tắc liên kết, hãy sử dụng tùy chọn -l.

-l loại trừ
Sử dụng loại trừ khi liên kết tệp thực thi. Mặc định là
$ (FC) -o $@ $ (FFLAGS) $ (LDFLAGS) $ (FOBJ) $ (LIBS).
Tùy chọn này không có hiệu lực trừ khi -o Được sử dụng.

-dừa Tìm kiếm coco(1) tập tin (coco ?? bao gồm: s được hỗ trợ tự động). Cái này
tùy chọn ngụ ý -miễn phí.

-D TÊN
Xác định ký hiệu tiền xử lý TÊN.

-b con đường
Cây phụ thuộc và quy tắc liên kết sẽ giả sử các đối tượng được đặt trong con đường. Đây là
hữu ích nếu bản dựng đặt các tệp đối tượng trong một thư mục khác với nguồn
các tập tin.

-I danh sách các đường dẫn
Tìm kiếm nguồn / bao gồm các tệp trong danh sách các đường dẫn, nếu không tìm thấy trong công việc hiện tại
danh mục. Ở đây, danh sách các đường dẫn là một danh sách tên đường dẫn được phân tách bằng dấu hai chấm.

-nosrc Không liệt kê tệp nguồn trong số các điều kiện tiên quyết.

VÍ DỤ


Cơ bản Sử dụng
Đây là một ví dụ về cơ bản makedepf90 sử dụng cùng với làm cho(1). Tạo một tệp có tên
makefile với các nội dung sau:

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

# FC = trình biên dịch để sử dụng
FC = f90

# Tùy chọn trình biên dịch
FFLAGS = -O

# Liệt kê các thư viện được chương trình sử dụng tại đây
LIBS =

# Quy tắc hậu tố: Bắt đầu bằng cách loại bỏ tất cả các hậu tố cũ-
# quy tắc, sau đó tạo các quy tắc mới để biên dịch
# * .f90-tệp.
.PHỤ LỤC:
.Hậu tố: .f90 .o

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

# Bao gồm danh sách phụ thuộc được tạo bởi makedepf90 bên dưới
bao gồm .depend

# target 'clean' để xóa đối tượng- * .mod- và khác
# tệp không mong muốn
dọn dẹp:
lõi rm -f * .o * .mod

# Tạo danh sách phụ thuộc bằng makedepf90. Tất cả các tệp
# cần được biên dịch để xây dựng chương trình,
# tức là tất cả các tệp nguồn ngoại trừ các tệp bao gồm, nên
# được đưa ra trên dòng lệnh tới makedepf90.
#
# Đối số của tùy chọn '-o' sẽ là tên của
# chương trình kết quả khi chạy 'make', trong trường hợp này
# 'foobar'
phụ thuộc. phụ thuộc:
makedepf90 -o foobar * .f90> .depend

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

(Lưu ý rằng tất cả các dòng thụt lề phải được thụt lề bằng các tab, không phải dấu cách)

Với makefile này, lệnh làm cho nên thực hiện tất cả các lệnh cần thiết để biên dịch và
liên kết chương trình foobar trong số tất cả các tệp * .f90 trong thư mục làm việc.

Danh sách phụ thuộc .lệ thuộc sẽ được (lại) tạo nếu .lệ thuộc không tồn tại, hoặc nếu
lệnh làm cho phụ thuộc chạy. Điều này nên được thực hiện mỗi khi các thay đổi được thực hiện đối với
chương trình ảnh hưởng đến sự phụ thuộc của tệp (ví dụ: nếu tệp nguồn mới đã được thêm vào
vào dự án).

Ví dụ Với Trái dừa
Nếu bạn đang sử dụng bộ xử lý trước, mọi thứ có thể trở nên phức tạp hơn. Nếu bạn may mắn,
trình biên dịch của bạn hỗ trợ bộ xử lý trước của bạn và chạy nó tự động trên mã của bạn, nhưng nếu
không, bạn phải tự đưa ra các lệnh để chạy bộ xử lý trước. Dưới đây là một
ví dụ về Makefile cho coco(1) -người sử dụng.

-----------------------
FC = f90
FFLAGS = -O
PREPROCESSOR = coco

.PHỤ LỤC:
.Hậu tố: .f .f90 .o

# Tệp kết thúc bằng .f90 được biên dịch trực tiếp ...
.f90.o:
$ (FC) -c $ (FFLAGS) $

# ... trong khi những thứ kết thúc bằng .f được xử lý trước trước.
.NS:
$ (BỘ XỬ LÝ TRƯỚC) $ *; $ (FC) -c $ (FFLAGS) $ *. F90

bao gồm .depend

dọn dẹp:
lõi rm -f * .o * .mod

phụ thuộc. phụ thuộc:
makedepf90 -coco -o foobar * .f90 * .f> .depend

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

LƯU Ý: Một số triển khai của làm cho(1) sẽ không thực hiện bất kỳ lệnh nào - thậm chí không làm cho phụ thuộc
- với Makefiles ở trên trừ khi tồn tại một tệp có tên .lệ thuộc. Để khắc phục điều này
vấn đề, hoặc chạy makedepf90 theo cách thủ công, hoặc bắt đầu bằng cách tạo một khoảng trống .lệ thuộc nộp hồ sơ với
lệnh chạm .lệ thuộc.

CHẨN ĐOÁN


Hầu hết các thông báo lỗi và cảnh báo là tự giải thích, nhưng một số trong số chúng có thể cần một số
giải thích thêm:

Chú ý: đệ quy hạn chế đạt in hồ sơ tên tập tin
Khi phân tích cú pháp đệ quy bao gồm các tệp, makedepf90 đã đạt đến giới hạn đệ quy.
Lý do có thể là: hoặc bạn có một số có thật không hệ thống phức tạp bao gồm
hoặc bạn có tệp bao gồm đệ quy (ví dụ: tệp bao gồm bao gồm chính nó).
Trong trường hợp sau; sửa nó, trình biên dịch Fortran của bạn cũng sẽ không thích nó.

Sử dụng makedepf90 trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.