ນີ້ແມ່ນຄໍາສັ່ງ makedepf90 ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
makedepf90 - ສ້າງລາຍຊື່ການຂຶ້ນກັບ Makefile ສໍາລັບໄຟລ໌ແຫຼ່ງ Fortran.
ສະຫຼຸບສັງລວມ
makedepf90 [-h] [-V] [-W|- ຂາດ] [- ສັບສົນ] [-m fmt] [-u ຊື່ໂມດູນ] [-d ເອກະສານ] [-r
ກົດລະບຽບ] [-R ເອກະສານ ກົດລະບຽບ] [- ແກ້ໄຂ|ຟຣີ] [-o ຊື່ຂອງການປະຕິບັດ] [- ຫມາກພ້າວ] [-D NAME] [-b ເສັ້ນທາງ]
[-I ເສັ້ນທາງ 1: ເສັ້ນທາງ 2:...] [-nosrc] ໄຟລ໌ຕົ້ນສະບັບ
ລາຍລະອຽດ
makedepf90 ເປັນໂຄງການສໍາລັບການສ້າງອັດຕະໂນມັດຂອງລາຍຊື່ການເພິ່ງພາອາໄສແລະກົດລະບຽບການລວບລວມ
ສໍາລັບ Makefiles.
ແນວຄວາມຄິດຕົ້ນສະບັບແມ່ນເພື່ອສະຫນອງຫນ້າທີ່ດຽວກັນສໍາລັບ Fortran ເປັນ
gcc -MM *.c
ເຮັດສໍາລັບ C. ໃນປັດຈຸບັນ makedepf90 ຕົວຈິງແທນການເຮັດວຽກນີ້, ເຮັດໃຫ້ຂ້ອຍສົງໄສ
ຖ້າຂ້ອຍຄວນຂະຫຍາຍ makedepf90 ເພື່ອສະຫນັບສະຫນູນ C ແລະ C ++ ເກີນໄປ ;-).
makedepf90 ສະຫນັບສະຫນູນທັງສອງ ໂມດູນ, ປະກອບດ້ວຍ:s, cpp(1) #include:s, f90ppr(1) $include:s ແລະ
coco(1) ??ລວມທັງ ແລະ set-files.
makedepf90 ອ່ານໄຟລ໌ແຫຼ່ງ Fortran ທີ່ໃຫ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງ, ແລະຂຽນຄວາມຂຶ້ນກັບ
list to stdout; ສໍາລັບທຸກໆໄຟລ໌ມັນຂຽນເສັ້ນທີ່ມີຮູບແບບດັ່ງຕໍ່ໄປນີ້:
ເປົ້າຫມາຍ : ເງື່ອນໄຂເບື້ອງຕົ້ນ
ຄາດຫມາຍຕົ້ນຕໍ ແມ່ນໄຟລ໌ທີ່ຈະເປັນຜົນມາຈາກການລວບລວມໄຟລ໌ທີ່ມີ -c ທາງເລືອກ,
ແລະ ເງື່ອນໄຂເບື້ອງຕົ້ນ ແມ່ນໄຟລ໌ທີ່ຈໍາເປັນເພື່ອລວບລວມໄຟລ໌. ເພີ່ມເຕີມ, makedepf90
ທາງເລືອກສາມາດສ້າງເສັ້ນເພິ່ງພາອາໄສແລະສ້າງກົດລະບຽບທີ່ຈໍາເປັນເພື່ອເຊື່ອມຕໍ່ຂັ້ນສຸດທ້າຍ
ປະຕິບັດໄດ້.
ຟໍຣັນ dependencies
ໄຟລ໌ທີ່ຈໍາເປັນເພື່ອລວບລວມໄຟລ໌, ເຊັ່ນ: ເງື່ອນໄຂເບື້ອງຕົ້ນ ຂອງໄຟລ໌ແມ່ນ:
- ໄຟລ໌ແຫຼ່ງຕົວມັນເອງ
- ໄຟລ໌ທີ່ມີຂໍ້ມູນການໂຕ້ຕອບກ່ຽວກັບໂມດູນ USEd, ສ້າງໂດຍ compiler ໃນຂະນະທີ່
ການລວບລວມໂມດູນ (ມັກມີຊື່ ຊື່ໂມດູນ.mod ຫຼືບາງສິ່ງບາງຢ່າງທີ່ຄ້າຍຄືກັນ, hereafter
ເອີ້ນວ່າ mod-files).
- ລວມໄຟລ໌ (ລວມທັງໄຟລ໌ລວມແລະ mod-files ຂອງໂມດູນທີ່ນໍາໃຊ້ຈາກເຫຼົ່ານີ້
include-files).
- Coco set-files, ຖ້າ coco(1) ກໍາລັງຖືກນໍາໃຊ້ແລະໄຟລ໌ທີ່ກໍານົດໄວ້.
ເນື່ອງຈາກຜູ້ລວບລວມຂໍ້ມູນທີ່ແຕກຕ່າງກັນໃຊ້ສົນທິສັນຍາການຕັ້ງຊື່ທີ່ແຕກຕ່າງກັນສໍາລັບ mod-files, ລາຍຊື່ພວກມັນ
ໃນບັນຊີລາຍຊື່ການເພິ່ງພາອາໄສສົ່ງຜົນໃຫ້ makefiles ທີ່ບໍ່ແມ່ນພົກພາ. ເພາະສະນັ້ນ, ມັນເປັນການປະຕິບັດທົ່ວໄປ
ເພື່ອລາຍຊື່ໄຟລ໌ວັດຖຸ (ຊື່ເອກະສານ.o) ສອດຄ້ອງກັບ sourcefile ທີ່ບັນຈຸ USEd
ໂມດູນແທນ. ນີ້ແມ່ນພຶດຕິກໍາເລີ່ມຕົ້ນຂອງ makedepf90. ເພື່ອປ່ຽນອັນນີ້, ໃຫ້ໃຊ້ -m
ທາງເລືອກ (ຕົວຢ່າງ -m "%m.mod" ຖ້າ compiler ຂອງທ່ານຕັ້ງຊື່ໄຟລ໌ mod ຊື່ໂມດູນ.mod)
ການລວມເອົາໄຟລ໌ທີ່ບໍ່ພົບຢູ່ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກຈະບໍ່ຖືກສະແດງຢູ່ໃນການເພິ່ງພາອາໄສ
ບັນຊີລາຍຊື່, ສົມມຸດວ່າພວກເຂົາເປັນສ່ວນຫນຶ່ງຂອງຫ້ອງສະຫມຸດ (ບໍ່ຄ່ອຍປ່ຽນແປງ) ບໍ່ແມ່ນສ່ວນຫນຶ່ງຂອງໂຄງການ.
ທັງ mod-files ຂອງໂມດູນທີ່ບໍ່ພົບຄໍານິຍາມຈະຢູ່ໃນລາຍການດຽວກັນ
ເຫດຜົນ.
OPTIONS
ທາງເລືອກເຫຼົ່ານີ້ອາດຈະຖືກມອບໃຫ້ທຸກບ່ອນ, ໃນຄໍາສັ່ງໃດກໍ່ຕາມ, ໃນເສັ້ນຄໍາສັ່ງ. ຊ່ອງຫວ່າງລະຫວ່າງ an
ທາງເລືອກແລະການໂຕ້ຖຽງຂອງມັນແມ່ນທາງເລືອກ. ຕົວເລືອກອາດຈະບໍ່ຖືກຈັດກຸ່ມ (-hW ບໍ່ຄືກັນ
ສິ່ງທີ່ເປັນ -h -W).
-h or - ຊ່ວຍ
ພິມຂໍ້ຄວາມຊ່ວຍເຫຼືອສັ້ນເພື່ອ stdout ແລະເຊົາ.
-V or - ການປ່ຽນແປງ
ສະບັບພິມແລະຂໍ້ມູນລິຂະສິດເພື່ອ stdout ແລະອອກ
-W or - ຂາດ
ພິມຄໍາເຕືອນກ່ຽວກັບໂມດູນທີ່ຂາດຫາຍໄປແລະປະກອບມີໄຟລ໌
- ສັບສົນ
ພິມຄໍາເຕືອນໃນເວລາທີ່ສັບສົນ (ບໍ່ວ່າຈະເປັນຍ້ອນແມງໄມ້ໃນ makedepf90 ຕົວມັນເອງ, ຫຼື
ເນື່ອງຈາກວ່າສິ່ງທີ່ wierd ໃນໄຟລ໌ແຫຼ່ງຂອງທ່ານ). ຖ້າ makedepf90 ພາດບາງ
ການເພິ່ງພາອາໄສ, ຫຼືເຮັດສິ່ງທີ່ແປກປະຫຼາດ, ທາງເລືອກນີ້ອາດຈະໃຫ້ຄວາມຄິດບາງຢ່າງກ່ຽວກັບສິ່ງທີ່
ສືບຕໍ່.
-m fmt ບອກ makedepf90 ວ່າໄຟລ໌ mod ຈະມີຊື່ຂອງຮູບແບບ fmt. fmt ອາດຈະບັນຈຸ
ຕົວປັບປ່ຽນ %f ສໍາລັບການ ຊື່ເອກະສານ (ບໍ່ມີຊື່ໄຟລ໌ .suffix), %m ສໍາລັບການ ຊື່ໂມດູນ (ໃນ
ຕົວພິມນ້ອຍ), %M ສໍາລັບການ MODULENAME (ຕົວພິມໃຫຍ່) ແລະ %% ສໍາລັບ '%'. ຄ່າເລີ່ມຕົ້ນແມ່ນ "%fo".
-u ຊື່ໂມດູນ
ບໍ່ສົນໃຈທຸກໂມດູນທີ່ມີຊື່ ຊື່ໂມດູນ.
-d ເອກະສານ
ເຮັດໃຫ້ເປົ້າຫມາຍທັງຫມົດຂຶ້ນກັບ ເອກະສານ.
-r ກົດລະບຽບ
ຕື່ມ ກົດລະບຽບ (ຫຍໍ້ໜ້າໂດຍແຖບ) ໄປຫາເສັ້ນທີ່ຂຶ້ນກັບທັງຫມົດຍົກເວັ້ນບັນດາກົດລະບຽບທີ່ໃຫ້.
ກັບ -R ທາງເລືອກ.
ກົດລະບຽບ ອາດຈະປະກອບດ້ວຍຕົວແກ້ໄຂຕໍ່ໄປນີ້: %f ສໍາລັບຊື່ຂອງໄຟລ໌ແຫຼ່ງ
(ໂດຍບໍ່ມີການ suffix) ເສັ້ນການເພິ່ງພາອາໄສແມ່ນຖືກສ້າງຂຶ້ນສໍາລັບ, ແລະ %% ສໍາລັບ '%'.
-R 'ແບບ' 'ກົດລະບຽບ'
ລວບລວມໄຟລ໌ທີ່ກົງກັບຮູບແບບແກະ ຮູບແບບ ການນໍາໃຊ້ກົດລະບຽບ ກົດລະບຽບ. ໃນ ຮູບແບບ,
ສາມາດໃຊ້ຕົວແທນດັ່ງຕໍ່ໄປນີ້: * = ຈໍານວນຂອງຕົວອັກສອນໃດຫນຶ່ງ, ? = ໃດ
ລັກສະນະແລະ [abc] = ອັນໃດກໍໄດ້ a, b or c. ໃຫ້ສັງເກດວ່າການຈັບຄູ່ patter ແມ່ນຈະເປັນ
ສະແດງໂດຍ makedepf90, ບໍ່ແມ່ນແກະ. ເພາະສະນັ້ນ ຮູບແບບ ຄວນໄດ້ຮັບການປິດລ້ອມໃນ
ວົງຢືມ (" or ') ສໍາລັບ ກົດລະບຽບ ໃຊ້ກົດລະບຽບດຽວກັນກັບສໍາລັບ -r ຂ້າງເທິງ.
ໃຫ້ສັງເກດວ່າມີຄວາມແຕກຕ່າງເລັກນ້ອຍລະຫວ່າງ "-r ກົດລະບຽບ"ແລະ"-R '*' ກົດລະບຽບ". ໃນ
ກໍລະນີອະດີດ ກົດລະບຽບ ຈະຖືກນໍາໄປໃຊ້ກັບສາຍທີ່ບໍ່ໄດ້ຮັບກົດລະບຽບໃດໆໂດຍໃຊ້ -R, ໃນຂະນະທີ່
ໃນກໍລະນີສຸດທ້າຍ, ກົດລະບຽບ ຈະຖືກນໍາໃຊ້ກັບ ທັງຫມົດ ສາຍ.
- ແກ້ໄຂ / ຟຣີ
ຮັກສາໄຟລ໌ເປັນຮູບແບບແຫຼ່ງຄົງທີ່ / ຟຣີ. ຖ້າທັງສອງທາງເລືອກແມ່ນໃຫ້, ສຸດທ້າຍ
ຖືກນໍາໃຊ້. ຄ່າເລີ່ມຕົ້ນ: ໄຟລ໌ທີ່ມີສ່ວນຕໍ່ທ້າຍ .f , .F , .ສຳລັບ, .FOR or .ftn ຖືກປະຕິບັດເປັນ
ຮູບແບບຄົງທີ່ແລະ .f90, .F90, .f95 or .F95 ຖືກປະຕິບັດເປັນຮູບແບບຟຣີ.
-o ຊື່
ທາງເລືອກນີ້ຈະເຮັດໃຫ້ເກີດ makedepf90 ເພື່ອກໍານົດ Macro Makefile FOBJ=ໄຟລ໌ວັດຖຸ,
ແລະເສັ້ນການເພິ່ງພາອາໄສ + ກົດລະບຽບສໍາລັບຂະບວນການເຊື່ອມຕໍ່ສຸດທ້າຍເພື່ອສ້າງການປະຕິບັດ
ຊື່. ເພື່ອກໍານົດກົດລະບຽບການເຊື່ອມໂຍງ, ໃຊ້ທາງເລືອກ -l.
-l ກົດລະບຽບ
ການນໍາໃຊ້ ກົດລະບຽບ ໃນເວລາທີ່ການເຊື່ອມຕໍ່ການປະຕິບັດໄດ້. ຄ່າເລີ່ມຕົ້ນແມ່ນ
$(FC) -o $@ $(FFLAGS) $(LDFLAGS) $(FOBJ) $(LIBS).
ຕົວເລືອກນີ້ບໍ່ມີຜົນໃດໆເວັ້ນເສຍແຕ່ -o ຖືກນໍາໃຊ້.
- ຫມາກພ້າວ ຊອກຫາ coco(1) set-files (coco ??include:s ຖືກຮອງຮັບອັດຕະໂນມັດ). ນີ້
ທາງເລືອກຫມາຍເຖິງ ຟຣີ.
-D NAME
ກໍານົດສັນຍາລັກຂອງຕົວປະມວນຜົນກ່ອນ NAME.
-b ເສັ້ນທາງ
ຕົ້ນໄມ້ການເພິ່ງພາອາໄສແລະກົດລະບຽບການເຊື່ອມໂຍງຈະສົມມຸດວ່າວັດຖຸຖືກຈັດໃສ່ໃນ ເສັ້ນທາງ. ນີ້ແມ່ນ
ເປັນປະໂຫຍດຖ້າຫາກວ່າການກໍ່ສ້າງວາງໄຟລ໌ວັດຖຸຢູ່ໃນໄດເລກະທໍລີທີ່ແຕກຕ່າງກັນກ່ວາແຫຼ່ງ
ໄຟລ໌.
-I ບັນຊີລາຍຊື່ຂອງເສັ້ນທາງ
ຊອກຫາແຫຼ່ງ/ລວມໄຟລ໌ຢູ່ໃນ ບັນຊີລາຍຊື່ຂອງເສັ້ນທາງ, ຖ້າບໍ່ພົບໃນການເຮັດວຽກໃນປະຈຸບັນ
ໄດເລກະທໍລີ. ທີ່ນີ້, ບັນຊີລາຍຊື່ຂອງເສັ້ນທາງ ແມ່ນບັນຊີລາຍຊື່ທີ່ແຍກອອກຈາກຈໍ້າສອງເມັດຂອງຊື່ເສັ້ນທາງ.
-nosrc ຢ່າເຮັດລາຍຊື່ໄຟລ໌ຕົ້ນສະບັບໃນບັນດາເງື່ອນໄຂເບື້ອງຕົ້ນ.
ຕົວຢ່າງ
ພື້ນຖານ ການນໍາໃຊ້
ນີ້ແມ່ນຕົວຢ່າງຂອງພື້ນຖານ makedepf90 ການນໍາໃຊ້ຮ່ວມກັບ ເຮັດໃຫ້(1). ສ້າງໄຟລ໌ທີ່ມີຊື່
makefile ດ້ວຍເນື້ອໃນຕໍ່ໄປນີ້:
----------------------
# FC = ຕົວລວບລວມຂໍ້ມູນທີ່ຈະໃຊ້
FC=f90
# ທາງເລືອກໃນການລວບລວມ
FFLAGS=-O
# ລາຍຊື່ຫ້ອງສະຫມຸດທີ່ໃຊ້ໂດຍໂຄງການຢູ່ທີ່ນີ້
LIBS=
# ກົດລະບຽບ: ເລີ່ມຕົ້ນດ້ວຍການຖິ້ມຄໍາຕໍ່ທ້າຍເກົ່າທັງຫມົດ -
# ກົດລະບຽບ, ແລະຫຼັງຈາກນັ້ນສ້າງອັນໃຫມ່ສໍາລັບການລວບລວມ
# *.f90-files.
.SUFFIXES:
.SUFFIXES: .f90 .o
.f90.o:
$(FC) -c $(FFLAGS) $
# ລວມເອົາລາຍຊື່ການເພິ່ງພາອາໄສທີ່ສ້າງຂຶ້ນໂດຍ makedepf90 ຂ້າງລຸ່ມນີ້
ປະກອບມີ .depend
# ເປົ້າໝາຍ 'ສະອາດ' ສຳລັບການລຶບວັດຖຸ- *.mod- ແລະອື່ນໆ
# ໄຟລ໌ທີ່ບໍ່ຕ້ອງການ
ສະອາດ:
rm -f *.o *.mod ຫຼັກ
# ສ້າງລາຍຊື່ການເພິ່ງພາອາໄສໂດຍໃຊ້ makedepf90. ໄຟລ໌ທັງໝົດ
# ທີ່ຕ້ອງໄດ້ລວບລວມເພື່ອສ້າງໂປຼແກຼມ,
# ie ໄຟລ໌ແຫຼ່ງທັງຫມົດຍົກເວັ້ນປະກອບມີໄຟລ໌, ຄວນ
# ໃຫ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງກັບ makedepf90.
#
# ການໂຕ້ຖຽງກັບຕົວເລືອກ '-o' ຈະເປັນຊື່ຂອງ
# ໂຄງການຜົນໄດ້ຮັບໃນເວລາທີ່ແລ່ນ 'ເຮັດ', ໃນກໍລະນີນີ້
# 'foobar'
ຂຶ້ນກັບ .depend:
makedepf90 -o foobar *.f90 > .depend
-----------------------
(ໃຫ້ສັງເກດວ່າທຸກເສັ້ນທີ່ຫຍໍ້ໜ້າຄວນຈະຖືກຫຍໍ້ໜ້າດ້ວຍແຖບ, ບໍ່ແມ່ນຍະຫວ່າງ)
ດ້ວຍ makefile ນີ້, ຄໍາສັ່ງ ເຮັດໃຫ້ ຄວນປະຕິບັດຄໍາສັ່ງທັງຫມົດທີ່ຈໍາເປັນເພື່ອລວບລວມແລະ
ເຊື່ອມຕໍ່ໂຄງການ ຟຸບາ ອອກຈາກໄຟລ໌ *.f90 ທັງໝົດໃນໄດເຣັກທໍຣີທີ່ເຮັດວຽກ.
ບັນຊີລາຍຊື່ການເພິ່ງພາອາໄສ .ຂື້ນຢູ່ ຈະຖືກສ້າງຂື້ນໃຫມ່ຖ້າ .ຂື້ນຢູ່ ບໍ່ມີ, ຫຼືຖ້າຫາກວ່າ
ຄໍາສັ່ງ ເຮັດໃຫ້ ຂຶ້ນກັບ ແມ່ນແລ່ນ. ອັນນີ້ຄວນເຮັດທຸກຄັ້ງທີ່ມີການປ່ຽນແປງ
ໂຄງການທີ່ມີຜົນກະທົບການຂຶ້ນກັບໄຟລ໌ (ເຊັ່ນວ່າໄຟລ໌ແຫຼ່ງໃຫມ່ໄດ້ຮັບການເພີ່ມ
ກັບໂຄງການ).
ຍົກຕົວຢ່າງ ກັບ Coco
ຖ້າທ່ານກໍາລັງໃຊ້ໂປເຊດເຊີກ່ອນ, ສິ່ງຕ່າງໆອາດຈະສັບສົນຫຼາຍ. ຖ້າທ່ານໂຊກດີ,
compiler ຂອງທ່ານສະຫນັບສະຫນູນ pre-processor ຂອງທ່ານແລະແລ່ນມັນໃນລະຫັດຂອງທ່ານອັດຕະໂນມັດ, ແຕ່ຖ້າຫາກວ່າ
ມັນບໍ່ໄດ້, ທ່ານຕ້ອງໃຫ້ຄໍາສັ່ງເພື່ອດໍາເນີນການ pre-processor ຕົວທ່ານເອງ. ຂ້າງລຸ່ມນີ້ແມ່ນ an
ຕົວຢ່າງຂອງ Makefile ສໍາລັບ coco(1) - ຜູ້ໃຊ້.
-----------------------
FC=f90
FFLAGS=-O
PREPROCESSOR=coco
.SUFFIXES:
.SUFFIXES: .f .f90 .o
# ໄຟລ໌ທີ່ລົງທ້າຍດ້ວຍ .f90 ຖືກລວບລວມໂດຍກົງ ...
.f90.o:
$(FC) -c $(FFLAGS) $
# ... ໃນຂະນະທີ່ການລົງທ້າຍດ້ວຍ .f ຈະຖືກປະມວນຜົນກ່ອນ.
.fo:
$(PREPROCESSOR) $*; $(FC) -c $(FFLAGS) $*.f90
ປະກອບມີ .depend
ສະອາດ:
rm -f *.o *.mod ຫຼັກ
ຂຶ້ນກັບ .depend:
makedepf90 -coco -o foobar *.f90 *.f > .depend
-----------------------
ຫມາຍເຫດ: ການປະຕິບັດບາງຢ່າງຂອງ ເຮັດໃຫ້(1) ຈະບໍ່ປະຕິບັດຄໍາສັ່ງໃດໆ - ບໍ່ແມ່ນແຕ່ ເຮັດໃຫ້ ຂຶ້ນກັບ
— ກັບ Makefiles ຂ້າງເທິງເວັ້ນເສຍແຕ່ວ່າມີໄຟລ໌ທີ່ມີຊື່ .ຂື້ນຢູ່. ເພື່ອເອົາຊະນະນີ້
ບັນຫາ, ບໍ່ວ່າຈະດໍາເນີນການ makedepf90 ດ້ວຍຕົນເອງ, ຫຼືເລີ່ມຕົ້ນໂດຍການສ້າງຫວ່າງເປົ່າ .ຂື້ນຢູ່ file ກັບ
ຄໍາສັ່ງ ສໍາຜັດ .ຂື້ນຢູ່.
ທິດສະດີວິທະຍາ
ຂໍ້ຜິດພາດ ແລະຂໍ້ຄວາມເຕືອນສ່ວນຫຼາຍແມ່ນເປັນການອະທິບາຍດ້ວຍຕົນເອງ, ແຕ່ບາງອັນອາດຈະຕ້ອງການບາງອັນ
ຄໍາອະທິບາຍເພີ່ມເຕີມ:
ຄໍາເຕືອນ: ການເອີ້ນຄືນ ກໍານົດຂອບເຂດ ບັນລຸໄດ້ in ເອກະສານ ຊື່ເອກະສານ
ເມື່ອການແຍກວິເຄາະຊ້ຳໆລວມໄຟລ໌, makedepf90 ໄດ້ຮອດຂີດຈຳກັດການເອີ້ນຄືນແລ້ວ.
ເຫດຜົນທີ່ເປັນໄປໄດ້ແມ່ນ: ເຈົ້າມີບາງຢ່າງ ກໍ່ ລະບົບການສັບສົນຂອງປະກອບມີ
ໄຟລ໌, ຫຼືທ່ານມີ recursive ປະກອບມີ (ເຊັ່ນ: ໄຟລ໌ທີ່ປະກອບມີຕົວມັນເອງ).
ໃນກໍລະນີສຸດທ້າຍ; ແກ້ໄຂມັນ, ຄອມພີວເຕີ Fortran ຂອງເຈົ້າຈະບໍ່ມັກມັນຄືກັນ.
ໃຊ້ makedepf90 ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net