unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Emanuel Berg <moasen@zoho.com>
To: help-gnu-emacs@gnu.org
Subject: Re: building emacs
Date: Wed, 31 May 2017 14:09:32 +0200	[thread overview]
Message-ID: <yw.86d1apb537.fsf@zoho.com> (raw)
In-Reply-To: DCA2CB92-4D47-45F2-8CC9-244F72EF2790@gmail.com

Jean-Christophe Helary wrote:

> You understood right. I'm the one who did not
> understand what make was doing.

make is the ever-lasting workhorse of building
all kinds of computer projects, not just
programming ones, and it is not
that complicated.

It seems every generation of programmers has
a bunch of people who tries to make a new and
better make, but it is still there while their
projects are long gone.

make has basically three components, a target,
which is the file you wish to create, its
dependencies, which are files from which it
draws data, and a shell command which will
create the target from that data. This is
specified in a Makefile.

The incremental part of it is that whenever you
create a target, make checks if the target
already exists. If it does, make goes on to
check if the dependencies has been changed
since the target was created. If they have,
obviously the target isn't up to date so the
shell command to create it is executed again.

When this principle is understood, it is just
a matter of looking up the Makefile syntax and
get going :)

For example, here is the Makefile that does my
Elisp:

    http://user.it.uu.se/~embe8573/emacs-init/Makefile

(It looks more complicated than it is.)

-- 
underground experts united
http://user.it.uu.se/~embe8573




  reply	other threads:[~2017-05-31 12:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-31 10:52 building emacs Jean-Christophe Helary
2017-05-31 11:19 ` Tim Visher
2017-05-31 11:24   ` Jean-Christophe Helary
2017-05-31 11:26 ` Eli Zaretskii
2017-05-31 11:41   ` Jean-Christophe Helary
2017-05-31 12:09     ` Emanuel Berg [this message]
2017-05-31 13:22       ` Skip Montanaro
2017-05-31 14:00         ` Emanuel Berg
2017-06-01  7:19       ` Shakthi Kannan
2017-06-01 13:36         ` Jean-Christophe Helary

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=yw.86d1apb537.fsf@zoho.com \
    --to=moasen@zoho.com \
    --cc=help-gnu-emacs@gnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).