help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lower-casing filenames in pattern rules


From: Greg Chicares
Subject: Re: Lower-casing filenames in pattern rules
Date: Sat, 19 Apr 2008 11:14:01 +0000
User-agent: Thunderbird 2.0.0.12 (Windows/20080213)

On 2008-04-19 02:34Z, Van Snyder wrote:
> To compile Fortran 90 programs, I'd like to use pattern rules.  Most
> Fortran 90 compilers create a .mod file with a base name that is the
> name of the module, all in lower case.  If I've used any upper-case
> letters in the file name, even if it's otherwise identical (sans
> extension) to the module name, I apparently can't use a pattern rule.

I guess it's considered undesirable to avoid the problem by
using only lower-case source file names, so...

> For example, I have a module named foo in a source file named Foo.f90:
> 
> foo.mod Foo.o: Foo.f90
>       $(FC) -c $(FOPTS) -o Foo.o Foo.f90 -I MyModuleLibrary
> 
> and numerous other files with the same sort of rules.

Do '.mod' files remain valid if you change the capitalization
of their names, e.g. with the extra line below? (Sorry, I don't
know the language.)

> %.mod %.o: %.f90
>       $(FC) -c $(FOPTS) -o $@ $< -I MuModuleLibrary

        mv `echo $*.mod | tr '[:upper:]' '[:lower:]'` $*.mod

or just create an extra dummy file with a mixed-case name,
assuming a case-sensitive file system:

        cp --preserve `echo $*.mod | tr '[:upper:]' '[:lower:]'` $*.mod
        # 'touch' might work just as well

and write module dependencies in terms of case-preserved
module file names like 'Foo.mod'. But maybe that's worse than
restricting source file names to lowercase?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]