Following are instructions to build and install the programs in this distribution.
Make sure that you have all necessary tools for building executables.
These tools include cc/gcc, make, awk, sed, tr, sh, grep,
egrep
and a few others. Not all of these tools exist in the
standard distribution of modern Unix versions (compilers are likely to
be an add-on product - consider using gcc
in this case).
For a successful build, all of these tools should be accessible via the
current path.
The automatic build process expects a configuration file called
Config.local
. You can provide one or the system will build
one for you using the Config.local.dist
as a model and
prompting for parameters as necessary. The configuration file specifies
the directory in which to install the binaries, as well as control over
the generation of debugging code and reference clock support. However,
many other options can be controlled by editing other files, as
described in the Configuration Options page.
Note that the automatic build process inspects your machine
environment and tests for the presence of system header files and the
contents of these files to determine if certain features are available.
In particular, the process looks for system-dependent timex.h,
clkdefs.h, chudefs.h
and ppsclock.h
header files,
which should be present only if one or more of the line disciplines,
stream modules or precision time kernel modifications are present. When
one or more of these features are present, the code is compiled to use
them; if not, no special code is compiled. However, even if the code is
compiled to use them, at run time the code does a special test to see if
one or more are actually present and avoids using them if not present.
Use the make
command to perform an automatic build
procedure. This procedure normally includes all reference clock drivers
known to work with each machine and operating system. Unless memory
space is at a premium, this is a sensible strategy and saves lots of
messy dialog. To delete all drivers, remove the -DREFCLOCK
define in the configuration file. To include only selected drivers, use
the make refconf
command, which prompts for each driver in
turn. See the Reference Clock Drivers page
for a index and description of each driver. The automatic build
procedure normally includes the debugging code, which can be useful in
diagnosing problems found in initial test. To delete this code, remove
the -DDEBUG
flag in the configuration file.
The build procedure normally compiles everything of general interest.
Expect few or no warnings using cc
and a moderate level of
warnings using gcc
. Note: On some Unix platforms the use of
gcc
can result in quite a few complaints about system
header files and type problems within xntp3 code. This is usually the
case when the OS header files are not up to ANSI standards or GCCISMs.
(There may, however, be still some inconsistencies in the code)
Each time the configuration file is changed, a shell script is run
that pokes the hardware and software to build the makefiles in the
various directories and remove old program and object files. If the
script fails, it will give you a list of machines it knows about. You
can override the automatic choice by changing to the
../machines
directory and typing make
makeconfig OS=machine
, where machine; is one
of the file names in the ../machines
directory.
The shell script will attempt to find the gcc
compiler
and, if found, will use it instead of the normal cc
compiler. You can override the automatic choice by changing to the
../machines
directory and typing make makeconfig
COMP=compiler
, where compiler is one of the file
names in the ../compilers
directory. This can be combined
with the OS
argument above.
Assuming you have write permission on the install destination
directory, type make install
to install the binaries in the
destination directory. This includes the programs xntpd
(the daemon), xntpdc
(an xntpd
-
dependent query program), ntpq
(a
standard query program), ntpdate
(an rdate
replacement for boot time date setting and sloppy
time keeping), and tickadj
(a
utility useful in some systems to adjust kernel variables).
You are now ready to configure the daemon and start it. You will need
to create a NTP configuration file ntp.conf
and possibly a
cryptographic key file ntp.keys
. Directions for doing that
are in the Notes on Configuring NTP and Setting up
a NTP Subnet. A tutorial on debugging technique is in NTP Debugging Technique. If problems peculiar to
the particular hardware and software environment are suspected, browse
the Hints and Kinks page.
Bug reports of a general nature can be sent to David Mills (mills@udel.edu). Bug reports of a specific nature on features implemented by the programmer corps mentioned in the Copyright page should be sent directly to the implementor listed in that page, with copy to mills@udel.edu.
make
targetsmake makeconfig
make refconf
make clean
make distclean
clean
, but cleans out all directories
in preparation for a new distribution release.
make dist
distclean
, but makes a new tar archive
distribution file. All usual scratch and backup files (*.rej,
*.orig, *.o, *~ core, lint*.errs,
executables, tags,
Makefile.bak, make.log
) will be removed.
make depend