İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

makedepf90 - Bulutta Çevrimiçi

Makedepf90'ı Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen makedepf90 komutudur.

Program:

ADI


makedepf90 - Fortran kaynak dosyaları için Makefile bağımlılık listesi oluşturur.

SİNOPSİS


makedepf90 [-h] [-V] [-W|-kayıp] [-Şaşkın] [-m fmt] [-u Modül Adı] [-d dosya] [-r
kural] [-R dosya kural] [-sabit|-Ücretsiz] [-o yürütülebilir dosya adı] [-koko] [-D ADI] [-b yol]
[-I YOL1:YOL2:...] [-nosrc] kaynak dosyaları)

TANIM


makedepf90 bağımlılık listelerinin ve derleme kurallarının otomatik olarak oluşturulması için bir programdır
Makefile'lar için.

Orijinal fikir, Fortran için aynı işlevselliği sağlamaktı.

gcc -MM *.c

C için yapar. Günümüzde makedepf90 aslında bu işlevin yerini alıyor, bu da beni meraklandırıyor
makedepf90'ı C ve C++'ı da destekleyecek şekilde genişletmem gerekirse ;-).

makedepf90 her ikisini de destekler modüller, dahil:S, cpp(1) #Dahil etmek:S, f90ppr(1) $dahil:kum
Hindistan cevizi(1) ??içerir ve set dosyaları.

makedepf90 komut satırında verilen Fortran kaynak dosyalarını okur ve bir bağımlılık yazar
stdout için liste; her dosya için aşağıdaki formatta bir satır yazar:

hedefler : önkoşullar

Hedefler ile dosyanın derlenmesinin sonucu olacak dosyalardır. -c seçeneği
ve önkoşullar dosyayı derlemek için gerekli olan dosyalardır. Ek olarak, makedepf90
isteğe bağlı olarak bağımlılık çizgisini oluşturabilir ve finali bağlamak için gereken kuralı oluşturabilir
yürütülebilir.

Fortran bağımlılıklar
Bir dosyayı derlemek için gereken dosyalar, yani önkoşullar dosyanın şunlardır:

- Kaynak dosyanın kendisi

- USEd modülleri hakkında, derleyici tarafından oluşturulan, arayüz bilgilerini içeren dosyalar
modülleri derlemek (genellikle Modül Adı.mod veya benzeri, bundan sonra
denilen mod dosyaları).

- Dahil edilen dosyalar (dahil edilen dosyalar ve bunlardan KULLANILAN modüllerin mod dosyaları dahil)
dahil dosyalar).

- Hindistan cevizi set dosyaları, eğer Hindistan cevizi(1) kullanılıyor ve set dosyaları var.

Farklı derleyiciler mod dosyaları için farklı adlandırma kuralları kullandığından, bunları listeler.
bağımlılık listesinde, taşınabilir olmayan makefiles ile sonuçlanır. Bu nedenle yaygın bir uygulamadır
nesne dosyasını listelemek için (Dosya.o) USEd içeren kaynak dosyaya karşılık gelen
yerine modüller. Bu, varsayılan davranıştır makedepf90. Bunu değiştirmek için, -m
seçenek (örn. -m "%m.mod" derleyiciniz mod dosyalarını adlandırırsa Modül Adı.mod)

Çalışma dizininde bulunmayan dosyaları dahil et, bağımlılıkta listelenmeyecek
liste, programın parçası olmayan (nadiren değişen) bir kitaplığın parçası olduklarını varsayarak.
Tanımları bulunmayan modüllerin mod dosyaları da aynı şekilde listelenmeyecektir.
sebep.

SEÇENEKLER


Bu seçenekler komut satırında herhangi bir yerde herhangi bir sırada verilebilir. arasındaki boşluk
seçenek ve argümanı isteğe bağlıdır. Seçenekler gruplandırılamaz (-hW aynı değil
şey gibi -h -W).

-h or --yardım et
Stdout'a kısa bir yardım mesajı yazdırın ve çıkın.

-V or --versiyon
Sürümü ve telif hakkı bilgilerini stdout'a yazdırın ve çıkın

-W or -kayıp
Eksik modüller hakkında uyarıları yazdırın ve dosyaları ekleyin

-Şaşkın
Kafanız karıştığında uyarıları yazdırın (madepf90'ın kendisindeki hatalar nedeniyle veya
kaynak dosyalarınızdaki garip şeyler nedeniyle). makedepf90 bazılarını özlüyorsa
bağımlılıklar veya başka garip şeyler yapıyorsanız, bu seçenek neyin ne olduğu hakkında bir fikir verebilir.
oluyor.

-m fmt Söylemek makedepf90 mod dosyalarının biçim adlarına sahip olacağını fmt. fmt içerebilir
değiştiriciler %f için Dosya (dosya adı .suffix olmadan), %m için Modül Adı (bölgesindeki
küçük harf), %M için MODÜL ADI (büyük harfle) ve %% için '%'. Varsayılan "%fo"dur.

-u Modül Adı
Adlı tüm modülleri yoksay Modül Adı.

-d dosya
Tüm hedefleri bağımlı hale getirin dosya.

-r kural
Ekle kural (bir sekme ile girintili) verilen kural(lar) dışındaki tüm bağımlılık satırlarına
ile -R seçeneği.

kural aşağıdaki değiştiricileri içerebilir: %f kaynak dosyanın adı için
(sonek olmadan) bağımlılık satırı için oluşturulur ve %% için '%'.

-R 'Desen' 'kural'
Kabuk modeliyle eşleşen dosyaları derleyin model kuralı kullanmak kural. içinde model,
aşağıdaki joker karakterler kullanılabilir: * = herhangi bir sayıda karakter, ? = herhangi
karakter ve [ABC] = herhangi biri a, b or c. Pıtırtı eşleşmesinin olması gerektiğine dikkat edin.
tarafından gerçekleştirilen makedepf90, kabuk değil. Öyleyse model içine alınmalı
alıntılar (" or '). İçin kural için aynı kuralları uygular -r yukarıdaki.

Arasında ince bir fark olduğunu unutmayın "-r kural" ve "-R '*' kural". İçinde
eski dava kural sadece herhangi bir kural verilmeyen satırlara uygulanacaktır. -R, süre
son durumda, kural uygulanacak herşey çizgiler.

-sabit / -Ücretsiz
Dosyaları sabit/serbest kaynak biçimi olarak ele alın. Her iki seçenek de verilirse, ikincisi
kullanıldı. Varsayılan: Son ekleri olan dosyalar .F, .F, .için, .İÇİN or .ftn gibi muamele
sabit biçim ve .f90, .F90, .f95 or .F95 serbest biçim olarak kabul edilir.

-o isim
Bu seçenek neden olur makedepf90 Makefile makrosunu tanımlamak için FOBJ=nesne dosyaları,
ve yürütülebilir dosyayı oluşturmak için son bağlama işlemi için bir bağımlılık satırı + kuralı
isim. Bağlantı kuralını ayarlamak için seçeneği kullanın -l.

-l kural
kullanım kural yürütülebilir dosyayı bağlarken. Varsayılan
$(YP) -o $@ $(İŞARETLER) $(LDFLAG'lar) $(FOBJ) $(LIBS).
olmadığı sürece bu seçeneğin hiçbir etkisi yoktur. -o kullanıldı.

-koko Aramak Hindistan cevizi(1) set dosyaları (Hindistan cevizi ??include:s otomatik olarak desteklenir). Bu
seçenek ima eder -Ücretsiz.

-D ADI
Ön işlemci sembolünü tanımlayın ADI.

-b yol
Bağımlılık ağacı ve bağlantı kuralı, nesnelerin yerleştirildiğini varsayar. yol. Bu,
derleme, nesne dosyalarını kaynaktan farklı bir dizine yerleştirirse yararlıdır
dosyaları.

-I yol listesi
Kaynak/içeren dosyaları şurada arayın: yol listesi, mevcut çalışmada bulunmazsa
dizin. Buraya, yol listesi yol adlarının iki nokta üst üste ayrılmış listesidir.

-nosrc Kaynak dosyayı ön koşullar arasında listelemeyin.

ÖRNEKLER


Basic kullanım
İşte temel bir örnek makedepf90 ile birlikte kullanım yapmak(1). adlı bir dosya oluşturun
Makefile aşağıdaki içeriklerle:

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

# FC = kullanılacak derleyici
FC=f90

# Derleyici seçenekleri
YAYINCILAR=-O

# Programın kullandığı kütüphaneleri burada listeleyin
LIBS=

# Sonek-kuralları: Tüm eski ekleri atarak başlayın-
# kural ve ardından derleme için yenilerini oluşturun
# *.f90 dosyaları.
.SONEKLER:
.SONEKLER: .f90 .o

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

# makedepf90 tarafından oluşturulan bağımlılık listesini aşağıya ekleyin
.depend dahil

# nesneyi silmek için 'temiz' hedefi- *.mod- ve diğer
# istenmeyen dosyalar
temiz:
rm -f *.o *.mod çekirdeği

# makedepf90 kullanarak bir bağımlılık listesi oluşturun. Tüm dosyalar
# programı oluşturmak için derlenmesi gereken,
# yani, içerme dosyaları dışındaki tüm kaynak dosyalar,
# makedepf90 için komut satırında verilebilir.
#
# '-o' seçeneğinin argümanı,
# 'make' çalıştırıldığında ortaya çıkan program, bu durumda
# 'foobar'
bağımlı .depend:
makedepf90 -o foobar *.f90 > .depend

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

(Tüm girintili satırların boşluklarla değil sekmelerle girintili olması gerektiğini unutmayın)

Bu makefile ile komut yapmak derlemek için gereken tüm komutları gerçekleştirmeli ve
programı bağla filanca çalışma dizinindeki tüm *.f90 dosyalarının dışında.

bağımlılık listesi .bağlı olmak eğer (yeniden) oluşturulacak .bağlı olmak mevcut değilse veya
komuta yapmak bağlı çalıştırılır. Bu, her değişiklik yapıldığında yapılmalıdır.
dosyaların bağımlılıklarını etkileyen program (örneğin, yeni kaynak dosyalar eklendiyse)
projeye).

Örnek E-posta İle Hindistan cevizi
Bir ön işlemci kullanıyorsanız, işler daha karmaşık hale gelebilir. Şanslıysan,
derleyiciniz ön işlemcinizi destekler ve kodunuzda otomatik olarak çalıştırır, ancak
değil, ön işlemciyi çalıştırmak için komutları kendiniz vermeniz gerekir. Aşağıda bir
için bir Makefile örneği Hindistan cevizi(1)-kullanıcılar.

-----------------------
FC=f90
YAYINCILAR=-O
ÖN İŞLEMCİ=koko

.SONEKLER:
.SONEKLER: .f .f90 .o

# .f90 ile biten dosyalar doğrudan derlenir...
.f90.o:
$(FC) -c $(FFLAGS) $

# ... .f ile bitenler önce ön işleme tabi tutulur.
.NS:
$(ÖN İŞLEMCİ) $*; $(FC) -c $(FFLAGS) $*.f90

.depend dahil

temiz:
rm -f *.o *.mod çekirdeği

bağımlı .depend:
makedepf90 -coco -o foobar *.f90 *.f > .bağımlı

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

NOT: Bazı uygulamaları yapmak(1) herhangi bir komutu yürütmez - hatta yapmak bağlı
— adlı bir dosya olmadığı sürece yukarıdaki Makefiles ile .bağlı olmak. Bunu aşmak için
sorun, ya çalıştırın makedepf90 manuel olarak veya boş bir alan oluşturarak başlayın .bağlı olmak ile dosya
komuta dokunma .bağlı olmak.

TANI


Çoğu hata ve uyarı mesajı kendi kendini açıklayıcı niteliktedir, ancak bazılarının biraz ihtiyacı olabilir.
ek açıklamalar:

UYARI: yineleme sınır ulaştı in dosya Dosya
Dahil etme dosyalarını özyinelemeli olarak ayrıştırırken, makedepf90 özyineleme sınırına ulaştı.
Olası nedenler şunlardır: Gerçekten mi karmaşık sistemler dahil
dosyalarınız veya özyinelemeli içermeleriniz var (örneğin, kendisini içeren bir içerme dosyası).
Son durumda; düzeltin, Fortran derleyiciniz de bundan hoşlanmayacaktır.

onworks.net hizmetlerini kullanarak makedepf90'ı çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad