[Top][All Lists]
[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?