bug-make
[Top][All Lists]
Advanced

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

Environment variable MAKEFLAGS is wrong on an Intel x86 system.


From: W . Stuehlmeyer
Subject: Environment variable MAKEFLAGS is wrong on an Intel x86 system.
Date: Tue, 31 Oct 2000 18:51:43 +0100

Hello,

The Environment Variable MAKEFLAGS is wrong on an Intel x86 system.
(No problems on solaris or dec with the same make version)

My makefile includes a recursive "$(MAKE) $(MAKEFLAGS) -f $(MAKEFILE)"
call.
MAKEFLAGS is invalid behind the first call.

MAKE output:
...
echo "Entering major component :$dir" ; \
(cd $dir; make w -f makefile.unix); \
# Comment:      | ERROR: invalid w found in MAKEFLAGS (i think should be
-w)
done
Entering major component :common
make[1]: Entering directory `/tmp/test/common'
make[1]: *** No rule to make target `w'.  Stop.
...

I wrote a script to reproduce the error in an small environment.
The script creates the directory Structure and all makefiles in
/tmp/MyBug1
and exexute make -f makefile.unix

Make version: 3.79.1
Distribution: SuSE 7.0

A bypass is possible with --no-print-dir.

Is it possible to solve the problem in make?
How can i get the patch or a new snapshot of make?

Best regards
Wolfgang Stuehlmeyer (address@hidden) or
                     (address@hidden)



#!/bin/sh
#
#
# Bug description:
#
# Environment Variable MAKEFLAGS is wrong on an Intel x86 system.
# (No problems on a solaris or dec with the same make version)
#
#
# GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
# Built for i686-pc-linux-gnu
# Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
#         Free Software Foundation, Inc.
#
#
#
# You can execute this script to reproduce the error.
#

#
# Create test directories
#
mkdir -p /tmp/MyBug1
mkdir -p /tmp/MyBug1/common
mkdir -p /tmp/MyBug1/common/dllentry

#
# Create /tmp/MyBug1/makefile.unix
#
if [ ! -f /tmp/MyBug1/makefile.unix ]
then
cat > /tmp/MyBug1/makefile.unix << _E_O_F_1
SHELL=/bin/sh

DIRS=common

MAKEFILE = makefile.unix
MAKEFLAGS =

all:
        for dir in \$(DIRS); do \\
        echo "Entering major component :\$\$dir" ; \\
        (cd \$\$dir; \$(MAKE) \$(MAKEFLAGS) -f \$(MAKEFILE)); \\
        done
        #

_E_O_F_1
fi

#
# Create /tmp/MyBug1/common/makefile.unix
#
if [ ! -f /tmp/MyBug1/common/makefile.unix ]
then
cat > /tmp/MyBug1/common/makefile.unix << _E_O_F_2
SHELL=/bin/sh

DIRS=dllentry
MAKEFILE = makefile.unix

all:
        for dir in \$(DIRS); do \\
        (cd \$\$dir ;echo "Entering \$\$dir"; \$(MAKE) \$(MAKEFLAGS) -f
\$(MAKEFILE)); \\
        done

_E_O_F_2
fi


#
# Create /tmp/MyBug1/common/dllentry/makefile.unix
#
if [ ! -f /tmp/MyBug1/common/dllentry/makefile.unix ]
then
cat > /tmp/MyBug1/common/dllentry/makefile.unix << _E_O_F_3
MAKEFILE = makefile.unix

all:
        (cd unix ;   \$(MAKE) \$(MAKEFLAGS) -f \$(MAKEFILE))

clean:
        (cd unix ;   \$(MAKE) \$(MAKEFLAGS) -f \$(MAKEFILE) clean)

_E_O_F_3
fi


#
# Execute make
#
cd /tmp/MyBug1
make -f makefile.unix



reply via email to

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