[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Makefile restructuring
From: |
Achim Gratz |
Subject: |
Re: [O] Makefile restructuring |
Date: |
Tue, 19 Jul 2011 20:28:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Achim Gratz <address@hidden> writes:
> git remote add -t Makefile remote-tableheadings
> git://repo.or.cz/org-mode/org-tableheadings.git
> git fetch remote-tableheadings Makefile:local-Makefile
> git checkout local-Makefile
>
> to get it (change remote-tableheadings and local-Makefile to suit
> your naming conventions for remotes and local branches, respectively).
> I will be _rebasing_ against master during development, so expect
> history in this branch to be volatile.
This means you'll need to do a
git fetch -f remote-tableheadings
whenever I've rebased since the branch doesn't fast-forward in this
case — which I've just done so it applies cleanly to current master.
> As always, testers and their comments are welcome.
Bastien asked if he might include it in the next release, so if you've
been testing/using this please say if it works (or what doesn't). I've
tested it myself on Linux and Win7 (Cygwin and MSys), but there are
likely quite a few different setups around.
* Changes
** GNU make required
The previous Makefile already used a bunch of GNU make extensions so
this shouldn't be too much of a shock, but I am now using more of them,
especially functions.
** Customization
Keep your customizations to the old Makefile around (ie. the part with
"YOU MUST EDIT THE FOLLOWING LINES"). The customization will now be
done by putting just those lines (or only the lines you want to change
plus any comments, really) into a file named "local.mk". The default
values are now in a file named default.mk, so you can also just copy
from default.mk to local.mk and then edit. The defaults have been
slightly adapted to work well on most Linux systems and on Cygwin,
specifically
prefix = /usr/share # was /usr/local/share
On these systems you don't need any customization if you are installing
to the system-wide Emacs installation. For other uses, here are a few
examples:
--8<---------------cut here---------------start------------->8---
# local.mk Win7/NTemacs
EMACS = C:/Freeware/Emacs-24.0.50/bin/emacs
prefix = C:/Freeware/Emacs-24.0.50
lispdir = $(prefix)/site-lisp/org
--8<---------------cut here---------------end--------------->8---
--8<---------------cut here---------------start------------->8---
# local.mk Linux/Emacs24
EMACS = /usr/local/bin/emacs
prefix = /usr/local/share
lispdir = $(prefix)/emacs/site-lisp/org
--8<---------------cut here---------------end--------------->8---
--8<---------------cut here---------------start------------->8---
# local.mk Linux/Emacs(system) - test
EMACS = /usr/bin/emacs
prefix = /home/user/org-test
lispdir = $(prefix)/lisp/org
--8<---------------cut here---------------end--------------->8---
--8<---------------cut here---------------start------------->8---
# local.mk Debian/Emacs(system)
INSTALL_INFO = ginstall-info # insist on GNU install-info
# even though dpkg install-info works just fine now
--8<---------------cut here---------------end--------------->8---
Keep in mind that all file-paths need to be absolute, specifically you
can't use "~" in prefix or lispdir since it is used in a few places
where the shell will not expand it.
** Renamed target "doc" to "docs"
The target "doc" has been renamed to "docs" since it clashed with the
subdirectory of the same name.
** New target clean-install
I've added a new target "clean-install" that will remove a previous
installation of org from the install directories. This removes old
files that may have been present in a previous installation, but not
used anymore. You should check with
make -n clean-install
what it tries to do before letting it _really_ remove anything.
** Installing files from contrib
The way things work now, any *.el file you put into lisp/ will be
compiled together with and installed along with the org files. So if
you want to install a particular contrib feature together with org, just
copy (or link) it into lisp/. This does not work with subdirectories
(for now), you need to make the actual *.el files visible in lisp/.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, (continued)
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Achim Gratz, 2011/07/10
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Achim Gratz, 2011/07/10
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Bastien, 2011/07/11
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Achim Gratz, 2011/07/11
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Bastien, 2011/07/11
- Re: [O] Makefile restructuring, Achim Gratz, 2011/07/13
- Re: [O] Makefile restructuring, Bastien, 2011/07/16
- Re: [O] Makefile restructuring, Achim Gratz, 2011/07/16
- Re: [O] Makefile restructuring, Achim Gratz, 2011/07/16
- Re: [O] Makefile restructuring, Achim Gratz, 2011/07/17
- Re: [O] Makefile restructuring,
Achim Gratz <=
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Bastien, 2011/07/11
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Achim Gratz, 2011/07/11
- Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Bastien, 2011/07/11
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem, Nick Dokos, 2011/07/10
Re: [O] [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem, Achim Gratz, 2011/07/11