delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/05/18/14:56:31

Xref: news2.mv.net comp.os.msdos.djgpp:3987
Newsgroups: comp.os.msdos.djgpp
From: Scott Blachowicz <scott AT statsci DOT com>
Subject: Are "real" long filenames possible with DJGPP v2 (make)?
Message-ID: <vmybmqhip7.fsf@statsci.com>
Lines: 90
Sender: scott AT apple
Reply-To: scott AT statsci DOT com
Organization: Mathsoft, Inc (Data Analysis Products Div)
Date: Sat, 18 May 1996 01:29:56 GMT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi-

I've been looking for a GNU make that I can use on Win32 systems (Windoze
95 & NT) to build some software that I currently build on UNIX.  I'd love
to be able to use GNU make on all platforms, so here goes.  Now, the files
I'm building reside on a UNIX box that shares them using samba, so I can
connect to them from the PC.  The filenames are frequently longer than 8.3
and use mixed case letters in the names.  I want to be able to see the
full filename from Win95, but the 'make' program doesn't want to see them
that way.  I created a few files for a simple test case to demonstrate.

With this makefile:

    SRCS := $(wildcard *.c)
    sources:
            @echo LFN = $(LFN)
            @echo SRCS = $(SRCS)

I get these results.  First, in a directory on a VFAT file system:

    D:\WIN95\TEMP\djgpp>make
    LFN = y
    SRCS = testfile.c

    D:\WIN95\TEMP\djgpp>set LFN=n

    D:\WIN95\TEMP\djgpp>make
    LFN = n
    SRCS = testfile.c thetestf.c

    D:\WIN95\TEMP\djgpp>dir

     Volume in drive D is STUFF
     Volume Serial Number is 2450-1BD5
     Directory of D:\WIN95\TEMP\djgpp

    .              <DIR>        05-17-96  6:05p .
    ..             <DIR>        05-17-96  6:05p ..
    THETESTF C              82  05-17-96  6:05p TheTestFile.c
    MAKEFILE                79  05-17-96  6:08p makefile
    TESTFILE C              82  05-17-96  6:08p testfile.c
             3 file(s)            243 bytes
             2 dir(s)      35,676,160 bytes free

The DOS/95 dir command can see the intended long file names, but not DJGPP
make.  Now, doing this on a Unix file system (connected to using Samba on
the Unix box) gets worse...

    Z:\filexfer\pc\djgpp>dir

     Volume in drive Z is SCOTT
     Directory of Z:\filexfer\pc\djgpp

    .              <DIR>        05-17-96  6:16p .
    ..             <DIR>        05-17-96  6:13p ..
    THETE~TU C              82  05-17-96  6:05p TheTestFile.c
    makefile                79  05-17-96  6:08p makefile
    testfile c              82  05-17-96  6:08p testfile.c
    happened txt           653  05-17-96  6:13p happened.txt
             4 file(s)            896 bytes
             2 dir(s)      89,923,584 bytes free

    Z:\filexfer\pc\djgpp>make
    LFN = n
    SRCS = testfile.c thete~tu.c

    Z:\filexfer\pc\djgpp>set LFN=y

    Z:\filexfer\pc\djgpp>make
    LFN = y
    SRCS = testfile.c

The samba server presents a "mangled" filename for the 8.3 name (as is
typical for this sort of thing) to disambiguate filenames.  It isn't
realistic for me to set the samba option to do no name mangling
(truncating instead) because I have a feeling there are some files that
aren't unique in the first 8 chars...

So, does anybody have any recommendations for a way to get DJGPP to work?
Or for a GNU make that works under Windows 95 and NT that recognizes long
filenames properly?  I would give the gnu-win32 bash & make & so forth a
try, but they're still in beta and, much as I hate to, I really need to be
dealing with DOS filepaths, tools (compilers), etc.

Thanx,
-- 
Scott Blachowicz  Ph: 206/283-8802x240   Mathsoft (Data Analysis Products Div)
                                         1700 Westlake Ave N #500
scott AT statsci DOT com                        Seattle, WA USA   98109
Scott DOT Blachowicz AT seaslug DOT org

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019