[Chapter 16] The null.mc File and m4


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

16. The null.mc File and m4

The cf/cf Directory
The null.mc File
Run m4
Test the Result
Qualify All Addresses?
Things to Try

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

Previous: 15.7 Things to TrysendmailNext: 16.2 The null.mc File
15.7 Things to TryBook Index16.2 The null.mc File