emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] patch makefile solve a couple debian build problems and a slackw


From: Achim Gratz
Subject: Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Date: Sun, 10 Jul 2011 22:03:34 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Achim Gratz <address@hidden> writes:
> I just realize that the Makefile already uses several GNU make
> extensions.  If it's OK to use them (specifically include files and
> conditional variable assignment), that would help to restructure the
> Makefile so that it can be customized and maintained more easily.  Let
> me know if I should work on a proposal in that direction or not.

I went ahead with splitting the Makefile up, it now looks like this:

--8<---------------cut here---------------start------------->8---
#
# Master Makefile for the org-mode distribution
#
include  default.mk
-include local.mk

.DEFAULT_GOAL := help
# Describe valid make targets for org-mode.
targets help:
        @echo
        @echo "Check the settings in default.mk first. If you need to adjust 
them, please"
        @echo "copy default.mk to local.mk and then make your edits in 
local.mk."
        @echo
        @echo "Usage:"
        @echo
        @echo "make              # compile Org ELisp files"
        @echo "make clean        # clean Elisp and documentation files"
        @echo "make all          # compile Org ELisp files and documentation"
        @echo
        @echo "make doc          # make all documentation"
        @echo "make info         # make Info documentation"
        @echo "make html         # make HTML documentation"
        @echo "make pdf          # make pdf documentation"
        @echo "make card         # make refcards documentation"
        @echo
        @echo "make install      # install Org"
        @echo "make install-lisp # install Org ELisp files"
        @echo "make install-info # install Org Info file"
        @echo

include  maint.mk
include  standard.mk
include  deps.mk
-include server.mk
--8<---------------cut here---------------end--------------->8---

Calling make without a target or with a target of "help" or "targets"
will give a short overview on how to set things up and use it.

Customization is done by creating a local.mk file that overrides the
settings in default.mk.  By doing this in your local branch, you never
need to worry that some change in the main repository will overwrite
your customizations and developing on a local branch with merging should
become easier (that was my main reason to always rebase my local
branch).  Merging back into the main branch requires some care, so the
repository should probably be configured to never allow a push that has
local.mk in it.

The same thing is done for the orgmode server.mk part so that it is not
distributed with the standard orgmode repository anymore.  For
illustration I've also separated the dependencies into deps.mk so that
they may be auto-generated (in which case they'd be removed from the
repository and get their own target).  I'll probably merge maint.mk and
standard.mk again, but for now they're separated.



Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




reply via email to

[Prev in Thread] Current Thread [Next in Thread]