Subject: pkg/29562: lang/icon Makefile strangeness ??
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <kre@munnari.OZ.AU>
List: pkgsrc-bugs
Date: 03/01/2005 03:40:01
>Number:         29562
>Category:       pkg
>Synopsis:       lang/icon Makefile strangeness ??
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 01 03:40:01 +0000 2005
>Originator:     Robert Elz
>Release:        NetBSD 2.0.1    (+ pkgsrc -current as of 4/5 hours before this e-mail)
>Organization:
	Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 2.0.1 NetBSD 2.0.1 (JADE-1.7-20050129) #1: Sat Jan 29 15:40:38 ICT 2005 kre@lilac.noi.kre.to:/usr/obj/2.0/kernels/JADE-HP i386
Architecture: i386
Machine: i386
>Description:

	In lang/icon, make tells me ...

make: "/local/jade/pkgsrc/lang/icon/Makefile" line 39: warning: extra else
make: "/local/jade/pkgsrc/lang/icon/Makefile" line 49: warning: extra else

	(It actually tells me that twice, but that may be something related
	to the script I'm using).

	The makefile looks OK, assuming the make in 2.0.1 understands
	what is being asked of it by this makefile

	The overall structure of the Makefile - the .if (etc) structure is ...

	.if ${OPSYS} == "NetBSD"
	.  if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "i386") || \
	.  else
	.  endif
	.elseif ${OPSYS} == "SunOS"
	.  if !empty(CC_VERSION:M*gcc*)
	.  elseif !empty(CC_VERSION:MSun)
	.  else							(<<< line 39)
	. endif
	.  if ${MACHINE_ARCH} == "sparc"
	.  else
	.  endif
	.else							(<<< line 49)
	.endif

	which (aside from the missing ' ' before the 2nd "endif" to get its
	indentation matching everything else) looks OK to me.   But perhaps
	there's something in make (from 2.0.1) that isn't handling .else after
	.elseif (or something) - either that or something is broken in one
	of the files that is .included'd (not shown above as that would
	be bizarre indeed)

>How-To-Repeat:
	Try "make fetch" in lang/icon (irrelevant here whether you already have
	the distfile or not).
>Fix:
	Probably change .elseif to .else .if sequence (and add the extra .endif)
	That is, if my assumption that this is something that's broken in
	2.0.1's make is correct.