Hello Sylvestre, * Sylvestre Ledru wrote on Mon, Aug 07, 2006 at 03:17:56PM CEST: > > A quick question, I would like to be able to change one compilation flag > for one file. > I have a few fortran files which don't work (but can be compiled) with > the optimisation flag (-O). > Thus, I would like to disable the -O flag just fort those files. Is it > possible to do that with automake ?
You can use per-target flags for this, if you have to. (I say "if you have to", because in general it's easier to let the user just do ./configure FFLAGS=-O0 FCFLAGS=-O0 and be done with it. Why? Your users will have compilers that do not understand '-O0' even; so by hardcoding it, you will make it less fun for them). But anyway, here's a quick example Makefile.am: bin_PROGRAMS = foo foo_SOURCES = foo.f bar.f now add: foo_FCFLAGS = -O0 (if you use AC_PROG_FC; for the F77 Fortran interface the variable to use is foo_FFLAGS instead). If you only build one program anyway, you can just use the AM_FCFLAGS variable and be done with it. If it is even important to you to have _only_ one file compiled with this flag, say bar.f, while all the others do not get this flag, you could make the compilation of bar.f special by putting it in a (not installed) library. For example: bin_PROGRAMS = foo foo_SOURCES = foo.f foo_LDADD = libdummy.a noinst_LIBRARIES = libdummy.a libdummy_a_SOURCES = bar.f libdummy_a_FCFLAGS = -O0 (remember to add AC_PROG_RANLIB to configure.ac if you do not use it yet; if instead you are already using Libtool, use a convenience archive noinst_LTLIBRARIES = libdummy.la instead). Hope that helps. Cheers, Ralf
