All of lore.kernel.org
 help / color / mirror / Atom feed
From: ramsdell@mitre.org (John D. Ramsdell)
To: xen-devel@lists.xensource.com
Subject: CFLAGS are for C compilers and other Unix traditions
Date: 20 May 2006 22:58:03 -0400	[thread overview]
Message-ID: <ogtwtcg9j9g.fsf@quake.mitre.org> (raw)
In-Reply-To: <E1FhcWV-0004n6-Dm@host-192-168-0-1-bcn-london>

I recognize the vitality of youth, but please allow me to plug some
Unix traditions.  There is a long tradition on how to write
makefiles.  Many of these traditions are encoded in the default rules
that are part of GNU make.  You can see them with the command:

$ make -p

If you execute this command, you will note that the rule for
assembling .S files is:

COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c

Note that you don't give the assembler CFLAGS.  It's not a C
compiler.

The default rules use TARGET_MACH in a very well thought out way.
Please use TARGET_MACH in a manor consistent with GNU make's default
rules. 

Another long standing Unix tradition is that applications do not
depend on the path environment variable currently in effect.  Relying
on a path means that a user of an application gets screwy results if
they use a non-standard path.  More importantly, an application that
depends on paths does not allow one to install more than one version
of that application.

The Xen application xm fails respect this Unix tradition.  Multiple
installations of differing versions of xm will get very confused.

John

       reply	other threads:[~2006-05-21  2:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1FhcWV-0004n6-Dm@host-192-168-0-1-bcn-london>
2006-05-21  2:58 ` John D. Ramsdell [this message]
2006-05-21  8:48   ` CFLAGS are for C compilers and other Unix traditions Keir Fraser
2006-05-21 16:40     ` John D. Ramsdell
2006-05-21 17:12     ` John D. Ramsdell
2006-05-22 10:31     ` [PATCH] Mini-OS Makefile TARGET_ARCH becomes MINIOS_TARGET_ARCH John D. Ramsdell
2006-05-22 13:20       ` Keir Fraser
2006-05-22 16:47         ` John D. Ramsdell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ogtwtcg9j9g.fsf@quake.mitre.org \
    --to=ramsdell@mitre.org \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.