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 ([EMAIL PROTECTED]) or
([EMAIL PROTECTED])
#!/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
_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make