File: README

package info (click to toggle)
caspar 20120530-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 824 kB
  • sloc: sh: 685; makefile: 124
file content (112 lines) | stat: -rw-r--r-- 3,803 bytes parent folder | download | duplicates (7)
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.