On 12/22/2016 10:45 PM, Fecher, Gerhard wrote:
> Personally I like more to tell make which files I like to have compiled 
> instead of using an automatic 
> search and the makefile decides which ones I like to have compiled, 
> but maybe I am just a little bit too old fashioned.

Well, the rule I quoted just says how to build a file.o from file.f or
file.F.  The list of object files is defined like this

OBJS = $(filter-out $(R_OBJS) $(RC_OBJS), \
        $(patsubst %.F, %.o, $(wildcard *.F)) \
        $(patsubst %.f, %.o, $(wildcard *.f)))

I.e., converted from all Fortran source files in the directory.
Eventually, of them will be compiled because the targets depend on them.

I don't know if this is explicit enough for you.  But if you think that
the Makefile is overly complicated for building all of 3 objects (5 in
SRC_w2w/), I can agree with that.  Most of the Makefile comes from when
most procedures had their own little source file.  These days, the above
could read

OBJS = $(filter-out $(R_OBJS) $(RC_OBJS), modules.o modules_rc.ow wplot.o)

or even just

OBJS = modules.o

(OBJS is only supposed to contain those objects that are the same for
the real and complex versions.)

Other than that, a lot of the structure of the Makefile comes from the
desire to respect certain conventions of the Wien2k Makefiles, and to
have something that works for SRC_w2w/ and SRC_wplot/ with minimal
changes.  Superficial differences have accumulated, but at the core, the
differences reflect: the different names of the executables; different
dependencies among objects; and the need in SRC_wplot/ to link to some
objects from SRC_w2w/.


Attachment: signature.asc
Description: OpenPGP digital signature

Wien mailing list

Reply via email to