Hi! My name is Eduardo Ochs, and I'm
the author of an Emacs package called
eev... and a few hours ago
I had an idea of how to use a new feature
of eev, that i'm going to explain soon,
to test makefiles, and to demonstrate
weird features of make...
and this is a demo about it, and it's
totally unrehearsed.
To make things work we need to
use this feature here, that is
described in this tutorial, in
section 3.3...
the description is quite long, but the
the thing is that we need to put this
defun here in our ~/.emacs file...
I'm always using that by default, and
also I can change the prefix that
eepitch ignores by just using a `setq'
like this one, so by using this setq
I make eepitch ignore prefixes like this,
and by using setq like this I disable
the prefix thing, so every line is
interpreted literally, without dropping
the prefix.
Let me show the demo...
this is the end of the technical part...
I will need to switch to a smaller font.
If we run this... oops, sorry -
if we run this thing here
we set up a target buffer
running a shell, and then
I can type f8 here to
create this directory... I mean, to
delete this directory, create it, and to
download the file into this directory...
which is this one: demo-1.gnumake -
this file here.
And then if we execute this thing here,
this make that says
that we have to use this makefile here
instead of the default, which
is "Makefile", with a capital "M"
in the beginning...
well, let's execute this... it runs the
target "help", that is here...
what "help" does is that it first
echoes this thing, the "# Targets:",
and then it runs this thing here...
and we can execute this thing here to
go to the help...
I mean, to the info manual of make, to
the page in which it explains
how to use this "@" sign
in the beginning of a recipe...
so let's try... I'm going to execute it
with `M-2 M-2' to show the target in
the the right window...
so we got the node "Concept Index" -
note that we see "Concept Index" here -
and if we type Enter here we go to the
page that explains how this thing
works, and by the way I can delete
this thing, and if execute this sexp
here I go straight to that node,
that is called "Echoing"...
here are a few more demos...
let me execute it again...
note that when I run this, by default
the directory is the directory in which
this file is... my file is in my
home directory, in the subdirectory MAKE/,
in all capital letters...
but the one that we saw here was just
a copy of that one. Well...
so, let me execute this thing, and
I'm going to to ask make to run
this target - I don't remember what is
the terminology for that...
well, whatever... let me run this line
and this line here... note that the
differences is that between the first
one and the second one each line
got a .tex in the end...
and the thing is that
in the first one we echoed the value
of this variable in a nice way,
with this "@echo" here and with this
"tr" here, that changes every space to a
new line... and in the second...
the second target, "show_basic_tex",
we do something similar but to this
other variable here, that was obtained
by this expression here, with the
"patsubst" in the beginning...
and if we want help about patsubst
we can execute this sexp here...
let me execute it with `M-2 M-e'...
it explains patsubst here, and
and if I execute this line
I show some help, and note that my help
is... I've done this before -
my help "@echo"es this thing here,
and then it shows...
and then it runs this -
it greps all the lines that do not start
with the hash sign, and that end
with a ":"... and note that
this ignores this this line because I
was too lazy to find a better pattern to
put here... and, well -
that's it for the moment, I just
wanted to show the mechanics of how to
to put tests in a makefile,
and the trick is simply to use this
new feature that allows eepitch to
ignore a prefix, and then we can put
these test blocks here, that can
run make with some specific
command line options.
And that's it for the moment!