Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29280 Discussions

Creating List of Dependencies for a Makefile

Richard_Gordon
Beginner
644 Views
Hi All,

Is there a compiler option that will say "don't compile" other than -fpp?

I am trying to have ifort list all the dependcies of my fortran source files. My plan is to take these rules and use them in a makefile so I don't have to figure out (and type out) all the dependencies myself.

So far, I have this:

$(F90) -fpp -syntax-only -gen-dep *.f90 $(INCLLINKS)

The -gen-dep lists the dependecies, the -fpp prevents compilation of the f90 files --- hence there aren't errors b/c there is no compilation --- and the -syntax-only makes the resulting output keep have .i90 files in the build rules rather than files like -tmp_ifort0xfdaer etc.

Sample output:

main.o: main.f90
main.i90: main.f90
mod_main.mod : \\
main.i90

....

I can put these in the makefile, and things work fine. But the only reason I am using -fpp is so that ifort doesn't compile. As a consequence, these .i90 files which I don't need are listed. Is there a compiler option that will say "don't compile" other than -fpp?

Thanks so much,
Grey
amain.o: main.f90
main.i90: main.f90
mod_main.mod : \\
main.i90

main.o : \\
main.i90 /home/grey/Dropbox/Work/libgrey/mod_stat.mod ./mod_stat.mod mod_stat.mod \\
mod_value_fcns.mod mod_welfare.mod \\
/home/grey/Dropbox/Work/libgrey/mod_schumaker.mod ./mod_schumaker.mod \\
mod_schumaker.mod /home/grey/Dropbox/Work/libgrey/mod_rootndim.mod \\
./mod_rootndim.mod mod_rootndim.mod \\
/home/grey/Dropbox/Work/libgrey/mod_transmatiter.mod ./mod_transmatiter.mod \\
mod_transmatiter.mod mod_gridgen.mod mod_price_fcns.mod \\
/home/grey/Dropbox/Work/libgrey/mod_root1dim.mod ./mod_root1dim.mod \\
mod_root1dim.mod mod_nonstochsimul.mod \\
/home/grey/Dropbox/Work/libgrey/mod_sparse.mod ./mod_sparse.mod \\
mod_sparse.mod mod_shocks.mod \\
/home/grey/Dropbox/Work/libgrey/mod_minndim.mod ./mod_minndim.mod \\
mod_minndim.mod /home/grey/Dropbox/Work/libgrey/mod_matlab.mod \\
./mod_matlab.mod mod_matlab.mod mod_main_data.mod mod_main_ss.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod mod_common_var.mod mod_mom.mod \\
/home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
mod_law.mod

mod_SS.o: mod_SS.f90
main.i90: mod_SS.f90
mod_main_ss.mod mod_value_fcns_ss.mod mod_nopi_ss.mod mod_invar_dsn_ss3.mod \\
mod_ss_data.mod : \\
main.i90

main.o : \\
main.i90 mod_convertatok.mod /home/grey/Dropbox/Work/libgrey/mod_root1dim.mod \\
./mod_root1dim.mod mod_root1dim.mod \\
/home/grey/Dropbox/Work/libgrey/mod_sparse.mod ./mod_sparse.mod \\
mod_sparse.mod mod_gridgen.mod /home/grey/Dropbox/Work/libgrey/mod_types.mod \\
./mod_types.mod mod_types.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod /home/grey/Dropbox/Work/libgrey/mod_gini.mod ./mod_gini.mod \\
mod_gini.mod mod_common_var.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod mod_shocks.mod /opt/intel/mkl/include/intel64/lp64/blas95.mod \\
/home/grey/Dropbox/Work/libgrey/blas95.mod ./blas95.mod blas95.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod /home/grey/Dropbox/Work/libgrey/mod_debug.mod ./mod_debug.mod \\
mod_debug.mod /home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod \\
mod_types.mod /home/grey/Dropbox/Work/libgrey/mod_myprint.mod \\
./mod_myprint.mod mod_myprint.mod mod_common_var.mod \\
/home/grey/Dropbox/Work/libgrey/mod_supnorm.mod ./mod_supnorm.mod \\
mod_supnorm.mod mod_common_var.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod mod_common_var.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod /home/grey/Dropbox/Work/libgrey/mod_sparse.mod \\
./mod_sparse.mod mod_sparse.mod \\
/home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
mod_common_var.mod

mod_common_var.o: mod_common_var.f90
main.i90: mod_common_var.f90
mod_common_var.mod : \\
main.i90

main.o : \\
main.i90 /home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod

mod_convertAtoK.o: mod_convertAtoK.f90
main.i90: mod_convertAtoK.f90
mod_convertatok.mod : \\
main.i90

main.o : \\
main.i90 mod_price_fcns.mod mod_common_var.mod \\
/home/grey/Dropbox/Work/libgrey/mod_root1dim.mod ./mod_root1dim.mod \\
mod_root1dim.mod

mod_data.o: mod_data.f90
main.i90: mod_data.f90
mod_main_data.mod : \\
main.i90

main.o : \\
main.i90 mod_common_var.mod mod_mom.mod

mod_gridgen.o: mod_gridgen.f90
main.i90: mod_gridgen.f90
mod_gridgen.mod : \\
main.i90

main.o : \\
main.i90 /home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod /home/grey/Dropbox/Work/libgrey/mod_matlab.mod \\
./mod_matlab.mod mod_matlab.mod

mod_law.o: mod_law.f90
main.i90: mod_law.f90
mod_law.mod : \\
main.i90

main.o : \\
main.i90 mod_welfare.mod /home/grey/Dropbox/Work/libgrey/mod_interp.mod \\
./mod_interp.mod mod_interp.mod mod_convertatok.mod mod_price_fcns.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod /home/grey/Dropbox/Work/libgrey/mod_myprint.mod \\
./mod_myprint.mod mod_myprint.mod mod_mom.mod \\
/home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
mod_common_var.mod

mod_mom.o: mod_mom.f90
main.i90: mod_mom.f90
mod_mom.mod : \\
main.i90

main.o : \\
main.i90

mod_nonstochsimul.o: mod_nonstochsimul.f90
main.i90: mod_nonstochsimul.f90
mod_nonstochsimul.mod : \\
main.i90

main.o : \\
main.i90 mod_convertatok.mod /opt/intel/mkl/include/intel64/lp64/blas95.mod \\
/home/grey/Dropbox/Work/libgrey/blas95.mod ./blas95.mod blas95.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod /home/grey/Dropbox/Work/libgrey/mod_root1dim.mod \\
./mod_root1dim.mod mod_root1dim.mod \\
/home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
mod_law.mod mod_mom.mod /home/grey/Dropbox/Work/libgrey/mod_matlab.mod \\
./mod_matlab.mod mod_matlab.mod mod_common_var.mod

mod_price_fcns.o: mod_price_fcns.f90
main.i90: mod_price_fcns.f90
mod_price_fcns.mod : \\
main.i90

main.o : \\
main.i90 /home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
/home/grey/Dropbox/Work/libgrey/mod_myprint.mod ./mod_myprint.mod \\
mod_myprint.mod /home/grey/Dropbox/Work/libgrey/mod_interp.mod \\
./mod_interp.mod mod_interp.mod mod_common_var.mod

mod_shocks.o: mod_shocks.f90
main.i90: mod_shocks.f90
mod_shocks.mod mod_shocks_aux.mod : \\
main.i90

main.o : \\
main.i90 /home/grey/Dropbox/Work/libgrey/mod_transmatiter.mod ./mod_transmatiter.mod \\
mod_transmatiter.mod /home/grey/Dropbox/Work/libgrey/mod_root1dim.mod \\
./mod_root1dim.mod mod_root1dim.mod \\
/home/grey/Dropbox/Work/libgrey/mod_sparse.mod ./mod_sparse.mod \\
mod_sparse.mod /home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod \\
mod_types.mod /home/grey/Dropbox/Work/libgrey/mod_myprint.mod \\
./mod_myprint.mod mod_myprint.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod mod_common_var.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod

mod_value_fcns.o: mod_value_fcns.f90
main.i90: mod_value_fcns.f90
mod_value_fcns.mod : \\
main.i90

main.o : \\
main.i90 mod_price_fcns.mod /opt/intel/mkl/include/intel64/lp64/blas95.mod \\
/home/grey/Dropbox/Work/libgrey/blas95.mod ./blas95.mod blas95.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod /home/grey/Dropbox/Work/libgrey/mod_debug.mod ./mod_debug.mod \\
mod_debug.mod mod_shocks.mod mod_common_var.mod

mod_welfare.o: mod_welfare.f90
main.i90: mod_welfare.f90
mod_welfare.mod : \\
main.i90

main.o : \\
main.i90 /home/grey/Dropbox/Work/libgrey/mod_types.mod ./mod_types.mod mod_types.mod \\
/home/grey/Dropbox/Work/libgrey/mod_matlab.mod ./mod_matlab.mod \\
mod_matlab.mod mod_common_var.mod

0 Kudos
2 Replies
Steven_L_Intel1
Employee
644 Views
-syntax-only does what you want.
0 Kudos
Richard_Gordon
Beginner
644 Views
Thanks Steve, of course you are correct.
0 Kudos
Reply