Portable makefile features.
Charles Noren
noren at dinl.uucp
Fri May 4 00:51:24 AEST 1990
We've been cleaning up our application and generalizing
our makefile on a Sun 3 (with SunOS 4.0.3). I'm wondering
about the use of certain Sun makefile features that may
not be portable to other target architectures, such as
Concurrent Systems, Silicon Graphics, VAX ULTRIX, etc..
Some of the Sun makefile features are found in the GNU
version of make (available from the Free Software Foundation)
and derived from AT&T System-V.3 of make. I don't have
either version of make around so I don't know what features
come from where and what are Sun only features.
Given all my uncertainties about make, I'm posting a survey
that I will post the results of in 2-3 weeks. I'm also asking
what nice portable features of make you use that make life
easier for you. An example of a nice feature would be automatic
dependency generation of all the include files via cpp(1) or
using the Sun .KEEPSTATE target.
BTW, an interesting article on make can be found in
SunExpert Magazine, April 1990.
---------------------------------------------------------------
SURVEY
The Make Feature list is incomplete. Please add features
as you are aware of them, and the machine and OS you are commenting
about. Comment only what you are aware of.
Make Feature GNU Make AT&T Make Sun VAX Others (Specify)
------------ -------- --------- --- --- ----------------
MAKEFLAGS envir yes
variable.
"makefile" priority yes
over "Makefile"
"default.mk" read yes
automatically by
make
Master default yes
make in
usr/include/make/default.mk
Importing yes
variables from
environment
Exporting yes
variables to
environment
include filename yes
% pattern matching yes
wildcard
Conditional macro yes
assignment
Suffix replacement yes
macro references
Pattern replacement yes
macro references
Macro append += yes
"Shell macros"
MACRO:sh yes
$(MACRO:sh) yes
Special macros:
MAKE yes
SHELL yes
HOST_ARCH yes
TARGET_ARCH yes
HOST_MACH yes
TARGET_MACH yes
Special Function
targets:
.DEFAULT: yes
.DONE: yes
.FAILED: yes
.IGNORE: yes
.INIT: yes
.KEEP_STATE: yes
.MAKE_VERSION: yes
.PRECIOUS: yes
.SCCS_GET: yes
.SILENT: yes
.SUFFIXES: yes
Implicit Suffix yes
Rule (eg, .c.o:)
Pattern Matching yes
Rule (tp%ts: dp%ds)
Library Maintenance yes
lib(member ...)
cpp(1) list of yes
dependencies
cpp -M
---------------------------------------------------------------
--
Chuck Noren
NET: ncar!dinl!noren
US-MAIL: Martin Marietta I&CS, MS XL8058, P.O. Box 1260,
Denver, CO 80201-1260
Phone: (303) 971-7930
More information about the Comp.unix.wizards
mailing list