From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: building emacs Date: Wed, 31 May 2017 14:09:32 +0200 Message-ID: References: <4FB0DC2E-14DD-49A0-9F66-8C4FA707FABE@gmail.com> <83y3tdclmr.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1496232637 28585 195.159.176.226 (31 May 2017 12:10:37 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 31 May 2017 12:10:37 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed May 31 14:10:31 2017 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dG2SM-000763-7n for geh-help-gnu-emacs@m.gmane.org; Wed, 31 May 2017 14:10:31 +0200 Original-Received: from localhost ([::1]:59043 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dG2SR-0000oj-Hs for geh-help-gnu-emacs@m.gmane.org; Wed, 31 May 2017 08:10:35 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47691) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dG2Rf-0000mT-EV for help-gnu-emacs@gnu.org; Wed, 31 May 2017 08:09:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dG2Rc-00012H-7v for help-gnu-emacs@gnu.org; Wed, 31 May 2017 08:09:47 -0400 Original-Received: from [195.159.176.226] (port=37538 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dG2Rc-000124-0E for help-gnu-emacs@gnu.org; Wed, 31 May 2017 08:09:44 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dG2RT-0004no-Qi for help-gnu-emacs@gnu.org; Wed, 31 May 2017 14:09:35 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Original-Lines: 44 Original-X-Complaints-To: usenet@blaine.gmane.org Mail-Copies-To: never Cancel-Lock: sha1:z5c2dPrH+S8vgpdTDcfL44LgzMk= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:113289 Archived-At: 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