( uid_2716 | 2009. 02. 06., p – 23:49 )

Az

-M

-et a SUSv2-ben nem ismeri a

c89

, a SUSv3-ban (= POSIX 1003.1, 2004 Edition-ben) pedig nem ismeri a

c99

.

Az

ifneq

,

wildcard

,

include

kulcsszavak egyikét sem ismeri sem a SUSv2

make

, sem a SUSv3

make

. Utóbbinak érdemes elolvasni a RATIONALE szakaszát, ugyanis beszél többek között az

include

-ról:

Historically, the make utility has been an especially fertile ground for vendor and research organization-specific syntax modifications and extensions. Examples include: [...] Adding C preprocessor-style "include" and "ifdef" constructs (System V, GNU, BSD, and others).

[...]

The best way to provide portable makefiles is to include all of the rules needed in the makefile itself.

[...]

The System V INCLUDE feature was considered, but not included. This would treat a line that began in the first column and contained INCLUDE <filename> as an indication to read <filename> at that point in the makefile. This is difficult to use in a portable way, and it raises concerns about nesting levels and diagnostics. System V, BSD, GNU, and others have used different methods for including files.

The System V dynamic dependency feature was not included.

A SUS az én meglátásomban egy "write once, compile anywhere" helyzetre törekszik, és a szabvány a hangsúlyt a "compile anywhere"-re helyezi. A "write once" hogyanja a fejlesztő dolga, "develop anywhere" nem szerepel a célkitűzésben.