clearmake compatibility with IRIX smake (on SGI hosts)
Product | Command Type |
---|---|
ClearCase | data structure |
ClearCase LT | data structure |
Platform |
---|
UNIX |
NOTE: The distinctive features of clearmake, such as build auditing, derived object sharing, and build avoidance, are supported in dynamic views only. In addition, while parallel building is supported in ClearCase snapshot views, it is not supported in ClearCase LT.
The clearmake program has been designed for compatibility with existing make programs, minimizing the work necessary to switch to clearmake. There are many independently evolving variants of make which provide different sets of extended features. clearmake does not support all features of all variants, and absolute compatibility is not guaranteed.
If your makefiles use only the common extensions, they will probably work with clearmake. If you must use features that clearmake does not support, consider using another make program in a clearaudit shell. This alternative provides build auditing (configuration records), but does not provide build avoidance (winkin).
NOTE: When building with configuration records, clearmake handles double-colon rules differently than other make programs. For details, see Building Software.
The following features are enabled when you specify -C sgismake:
All extended macro-assignment operators:
?= | Assign if undefined |
:= | Expand RHS immediately |
+= | Append to macro |
!= | Assign result of shell command |
All extended macro-expansion operators:
$(VAR:T)
$(VAR:S/pattern/replace/)
$(VAR:H)
$(VAR:R)
$(VAR:Mpattern)
$(VAR:E)
$(VAR:Npattern)
Most makefile conditional directives:
#if | (expressions may contain `defined' operator and `make' operator) |
#ifdef, #ifndef | |
#ifmake, #ifnmake | |
#else | |
#elif | |
#elifmake, #elifnmake | |
#elifdef, #elifndef | |
#endif |
Makefile inclusion with search rules similar to those of cpp(1):
Command line option -I, for use with #include statements
Aliases for internal make macros:
$(.TARGET) | alias for $@ |
$(.PREFIX) | alias for $* |
$(.OODATE) | alias for $? |
$(.IMPSRC) | alias for $< |
$(.ALLSRC) | alias for $> |
NOTE: $> is not supported by standard make (1).
smake-specific built-ins file: /usr/include/make/system.mk
Inference rules with nonexistent intermediates
Search paths for dependencies (.PATH and .PATH.suffix)
Deferring build script commands ("..." in build script)
.NULL target: specifies suffix to use when target has no file-name suffix
.NOTPARALLEL target: disables parallel building
.MAKE target: specifies that a target corresponds to a sub-make; that target's build script is be invoked even when -n is used
The -q command-line option (see the clearmake reference page)
Using -C -sgismake on a non-IRIX system may cause errors because different systems have different names for their built-in makefiles. You can disable use of built-in rules with clearmake -r.
clearmake, clearmake.options, makefile_ccase
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |