pkgsrc/devel/smake/Makefile

42 lines
1.2 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.20 2021/11/21 14:09:19 ryoon Exp $
DISTNAME= schily-2021-09-18
devel/smake: Update to 1.6 - smake: While expanding the right side of a macro assignment with. the operators :::= and +:=, smake no longer expands $$ to $, but rather leaves $$ untouched. This is based on a concept change from BSD make for the := operator in BSD make that was introduced in 2016 by the BSD people. It has. been recently decided by POSIX to be a mandatory behavior, as this avoids the need to know the expansion nesting level for $$ while using immediate expansion assignments. In former times this could lead to a need for $$$$$$$$$$$$$ constructs as every nesting level in an immediate expansion assignment did "expand" every $$ to $. It turns out that the change in BSD make to no longer expand $$ for immediate expand assignments was the best solution for dealing with the problems with immediate expansion assignments. This is why both smake and SunPro Make integrated a similar change. In former times, the problem with $$ expansion was no problem since he $$ usage in makefiles was extremely rare. Today, more people are using $(cmd) shell constructs in makefiles instead of `cmd` and as a result, $$ usage has become more frequent in makefiles because of the need to use $$(cmd) in make rule commands in such a case. - smake: The dynamic macros $? and $^ now work for implicit rules as well. For $?, this is required by POSIX and was required by POSIX for a longe time, but in former times, the same but wrong requirement did exist for $* and $< as well. It therefore was unclear whether the requirement for $? in the POSIX standard was a similar mistake. In March 2021 we agreed on a POSIX teleconference call that $? should be expanded for implicit rules as well. It had been forgotten to implement that change to smake in time. This has now be catched up. - smake: is now version 1.6
2021-08-30 14:47:00 +02:00
PKGNAME= smake-1.6
PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=schilytools/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= micha@NetBSD.org
2020-07-22 12:19:45 +02:00
HOMEPAGE= https://sourceforge.net/projects/schilytools/
COMMENT= Highly portable UNIX make implementation
LICENSE= cddl-1.0
MAKE_JOBS_SAFE= no
MAKE_FLAGS+= GMAKE_NOWARN=true
USE_TOOLS+= gmake
MAKE_FLAGS+= DESTDIR=${DESTDIR} INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR}
# Honor CPPFLAGS, CFLAGS and LDFLAGS
MAKE_FLAGS+= CPPOPTX=${CPPFLAGS:Q} COPTX=${CFLAGS:Q} LDOPTX=${LDFLAGS:Q}
.include "../../mk/bsd.prefs.mk"
# Platform specific code (for sharing with other packages based on schilytools)
.include "Makefile.common"
SUBST_CLASSES+= man
SUBST_STAGE.man= pre-configure
SUBST_FILES.man= smake/smake.1
SUBST_SED.man= -e "s,/opt/schily/share/lib/smake/defaults.smk,${PREFIX}/share/lib/smake/defaults.smk,g"
SUBST_MESSAGE.man= Fix path for default rules in manpage.
BUILD_DIRS= libschily
BUILD_DIRS+= smake
INSTALL_DIRS= smake
do-configure:
cd ${WRKSRC}/inc && ${MAKE_PROGRAM} ${MAKE_FLAGS}
.include "../../mk/bsd.pkg.mk"