![]()
John Calcote is currently employed by Fusion-io in Salt Lake City, Utah. He writes driver and management software for Fusion’s amazing solid-state storage devices.
Before that, John spent nearly 20 years as a software engineer for Novell. He worked on the Novell Cloud Security Services project and on everything from Novell eDirectory to the Bandit open-source identity components project. He runs the OpenXDAS and OpenSLP projects on sourceforge.net. He’s also active in the update-XDAS project of the Open Group security forum. He is active on several open source mailing lists including dnx, openslp, bandit, and the GNU Autotools mailing lists.
He loves the open source movement, and all that it stands for. In an effort to “give back” a little, he authored a book entitled, Autotools: A Practical Guide to GNU Autoconf, Automake, and Libtool, which was published in July of 2010 by No Starch Press.

hi john,
googling for “autotools book” I somehow ended up
finding your fine book at the fsm website. I’m glad
to see that finally someone is replacing the goat book:)
One question/rant though? Will the book forever remain
in the realms of on-screen-reading per html ? It would
be so much more enjoyable on paper. I hate reading long
texts let alone books on a screen.
In the introduction you presented to lack of interest that
Any plans at all ?
publishers seem to have for some reason.. Still a pdf
wouldn’t hurt I think… ?
best regards from a person who would certainly spend money
on this book …
Tobi
eh.. oops.. the paste is totally misplaced on this page.. oh
well.. too late
[...] John Calcote in RESTful Transactions: It’s clear that creating proper RESTful transaction semantics is a tricky problem. [...]
Hello sir,
I got your reference from sourceforge.net.
Currently i am working on a project in which i have to implement SLP(Service Location Protolcol) in cloud environment and have to run 2 services using SLP on the cloud.
I am not sure about how to implement SLP. can you tell me the step by step procedure of how to run any service using SLP. Like on which operating system what i need to install and from where to start.
Your response will be very helpful to me. Waiting for your reply.
[...] current favorite treatment of the POST/PUT issue is John Calcote’s blog post PUT or POST: The REST of the Story. For me, whether to use POST or PUT does come [...]
Hi sir,
I found your tutorials on “Autotools: A Practical Guide to GNU Autoconf, Automake, and Libtool” on fsm. It’s great, but there are only seven chapters and not complete.
I found the book is pre-ordered in Oreilly and due to be available in May. Maybe this is not polite, but is your book be available online like the goat book?I can not wait till May to buy the book. because I am not an American, I guess I will have to wait even longer to read the book. I will appreciate you very much if you could put the whole book online so people could read it charged or free.
And thanks again for your wonderful book!
I wish I could tell you what you want to hear, but the fact is, I don’t know yet. It will be up to my publisher whether the book will be available online or not, and he’s not committed yet. I’ll advertise on the lists if and when that happens.
John
Hi sir:
It’s already June, and your autobook is still not pulished yet.Any definite time or maybe some preview edition?
I’m sorry for the delay. My publisher has very high standards of publishing quality. However, our current deadline is June 11th for sending the proofs to the printers. The index is almost complete, and I don’t foresee any additional delays. I expect to see copies on bookstore shelves by mid-July.
Hope it will be on time, I can not wait to read the book!
Thank you for publishing this book. I really really like it. I am reading the online version and I noticed incorrect information regarding GNU Make.
“…you would use parentheses instead of french braces: $(my_var).”
GNU Make supports curly braces, so ${my_var} works.
“Thus, $my_var is functionally equivalent to $(my_var).”
This is incorrect. Try this makefile:
my_var=123
$(info $my_var)
$(info ${my_var})
all:
echo Done
$my_var in make is like ${m}y_var, so you really want to use ${my_var}.
Hi Martin,
Thanks for the comments. You are correct, of course. All of this material is correct (and much enhanced) in the paper publication of the book as published by No Starch Press.
http://nostarch.com/autotools.htm
I supposed I should fix the online version, but I haven’t had the time lately.I will get to it sometime, though.