1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
# This file is maintained at http://git.mdcc.cx/caspar
caspar - Makefile snippets for common tasks
See doc/caspar.txt for general information about this package, see INSTALL
for generic installation instructions.
The caspar homepage is at http://mdcc.cx/caspar/ . Feedback (bugs, feature
requests, etc.) can be sent to joostvb *dash* caspar *at* mdcc *dot* cx.
After install, directories /usr/local/share/doc/caspar/,
/usr/local/share/caspar/mk/ /usr/local/include/caspar/mk/
/usr/local/share/sgml/caspar/ are created and populated, and manpages caspar(7)
and caspar-typesetting(7) are installed.
- requirements, packages - - - - - - - - - - - - - - - - - - - - - - - - -
GNU make.
For the typesetting functionality, one needs Jade, LaTeX, W3M, Ghostscript, and
Docbook DSSSL.
Debian and Ubuntu ship a packaged caspar.
If you're interested in a caspar RPM, the spec file on
http://mdcc.cx/pub/caspar/caspar.spec might be helpful.
- gimme some of the stuff you've been smoking! - - - - - - - - - - - - - - - -
"What've you been smoking!? A completely fullblown autoconfiscated tarball for
just a eeny weeny Makefile snippet, to be able to install my hosts
configuration files from CVS!? I'm not gonna install that! No way!"
Well, there's no accounting for taste... If I use the same files on many
hosts, I prefer to install them from a tarball. If you were asked to work with
a caspar-ized CVS tree, you can work around installing the tarball by doing
something like this:
cd ~/cvs/kingkong/include
kingkong is a CVS module, holding files which should get installed on host
kingkong.
Create a file install.mk there, which looks like
csp_UHOST = admin@kingkong.example.org
include caspar/mk/caspar.mk
Now, do
echo caspar >> .cvsignore
mkdir -p caspar/mk
and copy caspar.mk to the just created directory caspar/mk/ .
- hacking on caspar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Since 2009-12, the caspar code is maintained using git on
http://git.mdcc.cx/caspar; start using it by running
git clone http://git.mdcc.cx/caspar.git
.
Contact the author if you'd like to get commit messages in your mailbox. I
might get to setting up a mailinglist for that.
(The page at http://alioth.debian.org/projects/caspar/ is no longer very
useful.)
- some thoughts on include path - - - - - - - - - - - - - - - - - - - - - - - -
The default GNU make include path is .:PREFIX/include:/usr/gnu/include:
/usr/local/include:/usr/include . See make.info, node `Include'. FHS however
says: '/usr/include [...] is where all of the system's general-use include
files for the C and C++ programming languages should be placed.' This makes
GNU make somewhat incompatible with the FHS :( . GNU make could better use
something like '/usr/share/mk' in its default include path.
We work around this by creating the following symlink when being 'make
install'-ed:
/usr/local/include/caspar/mk/caspar.mk ->
/usr/local/share/caspar/mk/caspar.mk
.
This enables us to be able to call
include caspar/mk/caspar.mk
from a Makefile.
- some thoughts on implicit rules - - - - - - - - - - - - - - - - - - - - - - -
Add our implicit pattern rules to Make built-in implicit rules?
When no ./Makefile exists, but ./foo.c does, make knows what to do when asked
to ``make foo''. Furthermore, in absence of ./Makefile, ``TEX=latex make
blah.dvi'' does something sane with blah.tex.
It'd be cool if we could add to Make's built-in implicit rules, and have our
implicit rules work, even if no Makefile exists in the current directory.
However, I don't think this is possible with current (3.80-6) Make. The
built-in implicit rules are compiled in make binary, so adding the caspar ones
to some magic directory will likely not work.
|