--- - branch: MAIN date: Mon Apr 26 10:38:11 UTC 2021 files: - new: '1.15' old: '1.14' path: pkgsrc/devel/smake/Makefile pathrev: pkgsrc/devel/smake/Makefile@1.15 type: modified - new: '1.14' old: '1.13' path: pkgsrc/devel/smake/distinfo pathrev: pkgsrc/devel/smake/distinfo@1.14 type: modified id: 20210426T103811Z.0f08ba1c72a6e8ce9db1ac064778e23fa1e4b3bc log: | devel/smake: Update to 1.4 Changelog from AN-2021-04-21: - smake: We now support the idiosyncratic way, GNU make implements ::= that results in unpredictable behavior with larger makefiles since ::= creates a different macro type that causes the += operator to behave different from the usual way introduced in January 1986 by SunPro Make. += does not expand the right hand side before appending to an existing make macro since it has been introduced in January 1986. += now expands the right hand side before appending to an existing ::= typed macro. Such a macro is created if the first assignment to that macro is done via ::=. Using such a make macro does not expand such macros at use time. This includes expansions to the left side and the right side of a colon (:) dependency list and expansions for rule commands. - smake: The new operators :::= and +:= have been introduced in order to add an orthogonal (and thus better) counterpart to the GNU make ::= feature that has become part of the upcoming POSIX ISSUE 8. We will propose this as a new POSIX feature soon. In special since it has been implemented in smake and SunPro Make, see below. :::= assigns a normal make macro after expanding the right hand side +:= appends to any maro type after expanding the right hand side This permits predictable behavior for larger or structured makefile systems (based on the "include" statement), where it is not possible to know easily whether a mace macro has been created with a NAME=value assignment or with a NAME:=value assignment. Note that the official method in make since 45 years (since make exists) to prohibit macro expansion is not to use a ::= type macro but rather to use two '$' signs in the related value of the macro. - smake: The man page now mentions the new features - smake: The option -j maxjobs is now supported, but ignored. This makes smake compatible to the upcoming POSIX ISSUE 8 - smake: added a new function ungetch(). - smake: version bumped to 1.4 module: pkgsrc subject: 'CVS commit: pkgsrc/devel/smake' unixtime: '1619433491' user: micha