Enclosed is the makefile from LPRng.

I minimized it.

It works on 3.80.
On 3.81, it only works if you specify SHELL=<bourne shell> on
the command line...

I've run this on a number of machines -- then I figured 
"try remake" and it worked -- then I realized remake was 3.80...

There's a line 
SHELL="/bin/sh"
in the makefile...

It seems it works fine in 3.81 with
SHELL=/bin/sh

But 
SHELL="/bin/sh" seems harmless (but its not) (and it works on 3.80).

Also
make SHELL=/bin/sh
is fine but 
make SHELL='"/bin/sh"'
is not

(I didn't see this in the NEWS file)

: [EMAIL PROTECTED] 10:47:20;make-3.81
if [ "UTILS" = po ] ; then \
            for i in po/Makefile* ; do \
                if [ -f "$i" ] ; then \
                    if grep '^mkinstalldirs.*=.*case' $i ; then \
                        echo "fixing broken $i which causes wrong path to 
mkinstalldirs to be used"; \
                        perl -spi -e 's:^mkinstalldirs\s*=\s*.*:mkinstalldirs 
= \$(SHELL) \$(MKINSTALLDIRS):' $i; \
                    fi \
                fi \
            done \
        fi
/bin/sh: -c: line 1: syntax error: unexpected end of file
/bin/sh: line 1:     for i in po/Makefile* ; do \: No such file or directory
/bin/sh: line 2:        if [ -f "$i" ] ; then \: command not found
/bin/sh: line 3:            if grep '^mkinstalldirs.*=.*case' $i ; then \: 
command not found
/bin/sh: line 4:                echo "fixing broken $i which causes wrong path 
to mkinstalldirs to be used"; \: command not found
/bin/sh: line 5:                perl -spi -e 's:^mkinstalldirs\s*=\s*.*:mkinsta
lldirs = \$(SHELL) \$(MKINSTALLDIRS):' $i; \: command not found
/bin/sh: line 6:            fi \: command not found
/bin/sh: line 7:        fi \: command not found
/bin/sh: line 8:     done \: command not found
/bin/sh: -c: line 9: syntax error near unexpected token `fi'
/bin/sh: -c: line 9: `fi'
make-3.81: *** [UTILS] Error 2
: [EMAIL PROTECTED] 10:47:25;make-3.81 SHELL=/bin/sh
if [ "UTILS" = po ] ; then \
            for i in po/Makefile* ; do \
                if [ -f "$i" ] ; then \
                    if grep '^mkinstalldirs.*=.*case' $i ; then \
                        echo "fixing broken $i which causes wrong path to 
mkinstalldirs to be used"; \
                        perl -spi -e 's:^mkinstalldirs\s*=\s*.*:mkinstalldirs 
= \$(SHELL) \$(MKINSTALLDIRS):' $i; \
                    fi \
                fi \
            done \
        fi
: [EMAIL PROTECTED] 10:47:29;/usr/bin/make -v
GNU Make 3.80
Copyright (C) 2002  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.
: [EMAIL PROTECTED] 10:47:33;/usr/bin/make   
if [ "UTILS" = po ] ; then \
    for i in po/Makefile* ; do \
        if [ -f "$i" ] ; then \
            if grep '^mkinstalldirs.*=.*case' $i ; then \
                echo "fixing broken $i which causes wrong path to 
mkinstalldirs to be used"; \
                perl -spi -e 's:^mkinstalldirs\s*=\s*.*:mkinstalldirs = 
\$(SHELL) \$(MKINSTALLDIRS):' $i; \
            fi \
        fi \
    done \
fi


marty

###########################################################################
# LPRng - An Extended Print Spooler System
#
# Copyright 1988-2001 Patrick Powell, San Diego, CA
#     [EMAIL PROTECTED]
# See LICENSE for conditions of use.
#
###########################################################################
# MODULE: Makefile.in
# PURPOSE: top level Makefile for LPD Software
# $Id: Makefile,v 1.3 2007/04/26 02:46:07 leisner Exp leisner $
########################################################################## 

#**************###########**************
# You must use ANSI C and GNU Make!
#***************************************

PACKAGE=LPRng
VERSION=3.8.28
SRC=.

INSTALL=/usr/gnu/coreutils/bin/install -c

# prefix
prefix=/usr/local
# exec prefix
exec_prefix=${prefix}
# for binaries
bindir=${exec_prefix}/bin
# for admin type of binaries
sbindir=${exec_prefix}/sbin
# for the filters
libexecdir=${exec_prefix}/libexec
# for the configuration stuff
sysconfdir=${prefix}/etc
# for the man pages
mandir=${prefix}/man
# top build directory
top_builddir=.

LPD_PERMS_PATH=\"${sysconfdir}/lpd/lpd.perms\"
LPD_CONF_PATH=\"${sysconfdir}/lpd/lpd.conf\"
PRINTCAP_PATH=\"${sysconfdir}/printcap\"
LPD_PATH=\"${sbindir}/lpd\"
SHELL=/bin/sh
LOCKFILE=\"/var/run/lpd\"
CONFIG_SUBDIR="lpd"
PSHOWALL="-ax"
FILTER_DIR=${libexecdir}/filters
LOCALEDIR=${prefix}/share/locale
INIT=
USE_NLS=no
LIBTOOL=$(SHELL) $(top_builddir)/libtool

#=============================================================================
# List the directories you want to generate:
# DIRS for all, clean, etc.
# ALLDIRS for other such as documentation
#=============================================================================

DIRS= UTILS 
ALLDIRS= ${DIRS} 

###############################################################################

all: ${DIRS}



# define default target
.PHONY: all warn TAGS clean uninstall install  info dvi check \
        tar send realclean mostlyclean distclean dist update ci cifiles 
$(ALLDIRS) 

MAKETARGET=all

###############################################################################
$(ALLDIRS):
        if [ "$@" = po ] ; then \
            for i in po/Makefile* ; do \
                if [ -f "$$i" ] ; then \
                    if grep '^mkinstalldirs.*=.*case' $$i ; then \
                        echo "fixing broken $$i which causes wrong path to 
mkinstalldirs to be used"; \
                        perl -spi -e 's:^mkinstalldirs\s*=\s*.*:mkinstalldirs = 
\$$(SHELL) \$$(MKINSTALLDIRS):' $$i; \
                    fi \
                fi \
            done \
        fi


#       if [ "$@" != po -o "$(USE_NLS)" != "no" ] ; then \
#               cd $@; $(MAKE) localedir=${LOCALEDIR} \
#                       DESTDIR=$(DESTDIR) $(MAKETARGET) ; \
#       fi


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to