delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/01/02/10:41:46

From: Martin Str|mberg <ams AT ludd DOT luth DOT se>
Message-Id: <200101021541.QAA28228@father.ludd.luth.se>
Subject: make 3.79.1 bug
To: djgpp-workers AT delorie DOT com (DJGPP-WORKERS)
Date: Tue, 2 Jan 2001 16:41:37 +0100 (MET)
X-Mailer: ELM [version 2.4ME+ PL54 (25)]
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

It seems to exist a bug in make:

"make --version" says
"GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386-pc-msdosdjgpp
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make AT gnu DOT org>."

----- makefile starts. -----
all:
	cl "One but very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong argument string."
	cl.exe "One but very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong argument string."

----- makefile ends. -----

"make -i" yeilds:
"cl "One but very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong argument string."
t:/tmp/dj100000: cl: command not found
make.exe: [all] Error 127 (ignored)
cl.exe "One but very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong argument string."
t:/tmp/dj200000: cl.exe: command not found
make.exe: [all] Error 127 (ignored)"

----- cl source starts. -----
#include <stdio.h>

int main(int argc, char *argv[])
{
  int i = 0;

  printf("'%s' called with argc = %d.\n", argv[0], argc);

  while( argv[i] != NULL )
  {
    printf("argv[%d] = '%s'.\n", i, argv[i]);
    i++;
  }

  return( 0 );
}

/* I compiled with "gcc -O2 -g -Wall cl.c -o cl". */
----- cl source ends. -----

Note that the makefile is for running the program, not compiling it!

I've tested on DOZE 6.22 and WINDOZE 98.

"set" yields:
"PROMPT=$p$g
winbootdir=C:\WINDOWS
COMSPEC=C:\WINDOWS\COMMAND.COM
TMP=t:\tmp\
TEMP=T:\tmp\
DJGPP=f:\DJGPP\DJGPP.ENV
TMPDIR=t:\tmp
LFN=y
AR=ar
CC=gcc
MAKE=make
RANLIB=ranlib
LEX=flex
YACC=bison -b y -y
SHELL=f:/djgpp/bin/-bash.exe
PATH=F:\DJGPP\BIN;F:\DJGPP\GNU\EMACS\BIN;C:\COMPRESS;C:\WINDOWS;C:\WINDOWS\COMMA
ND;F:\NETWORKA\MCAFEEVI;F:\NETWORKA\MCAFEEUT\MCAFEEUT
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4
CMDLINE=make -i"


Right,

						MartinS

- Raw text -


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