home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


sendmail

sendmailSearch this book
Previous: 15.7 Things to Try Chapter 16 Next: 16.2 The null.mc File
 

16. The null.mc File and m4

In the preceding chapters of this tutorial we developed a minimal client.cf file as an aid in teaching the ins and outs of a small configuration file. In this chapter we show you how to construct a more practical file.

16.1 The cf/cf Directory

A large part of the V8 sendmail distribution is dedicated to the automated creation of configuration files. Recall ( Section 2.1, "Get the Source" ) that the base sendmail distribution looks like this:

FAQ            READ_ME        contrib        mailstats      rmail          test
KNOWNBUGS      RELEASE_NOTES  doc            makemap        smrsh
Makefile       cf             mail.local     praliases      src

Up to now, you have been working in the src directory. Now we will examine the cf directory:

% 

cd cf


% 

ls


README      domain      hack        mailer      sh
cf          feature     m4          ostype      siteconfig

The file README contains all the latest information about the technique that we are about to present. Read it now to get a feel for what is about to happen and to become aware of any late-breaking changes.

Now change into the cf directory and look around. All the files in it that end in .mc are m4 (1) configuration source files. Read a few to satisfy your curiosity. We will be creating our own soon.

% 

cd cf


% 

ls


Makefile           cs-sunos4.1.mc         generic-sunos4.1.mc    s2k-osf1.mc
Makefile.dist      cs-ultrix4.mc          generic-ultrix4.mc     s2k-ultrix4.mc
chez.cs.mc         cyrusproto.mc          huginn.cs.mc           tcpproto.mc
clientproto.mc     generic-bsd4.4.mc      mail.cs.mc             ucbarpa.mc
cs-hpux10.mc       generic-hpux10.mc      mail.eecs.mc           ucbvax.mc
cs-hpux9.mc        generic-hpux9.mc       mailspool.cs.mc        uucpproto.mc
cs-osf1.mc         generic-osf1.mc        obj                    vangogh.cs.mc
cs-solaris2.mc     generic-solaris2.mc    python.cs.mc