1 #/* Copyright 1988,1990,1993,1994 by Paul Vixie
2 # * All rights reserved
4 # * Distribute freely, except: don't remove my name from the source or
5 # * documentation (don't take credit for my work), mark your changes (don't
6 # * get me blamed for your possible bugs), don't alter or remove this
7 # * notice. May be sold if buildable source is provided to buyer. No
8 # * warrantee of any kind, express or implied, is included with this
9 # * software; use at your own risk, responsibility for damages (if any) to
10 # * anyone resulting from the use of this software rests entirely with the
13 # * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
14 # * I'll try to keep a version up to date. I can be reached as follows:
15 # * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
18 # Makefile for vixie's cron
22 # vix 03mar88 [moved to RCS, rest of log is in there]
23 # vix 30mar87 [goodbye, time.c; hello, getopt]
24 # vix 12feb87 [cleanup for distribution]
25 # vix 30dec86 [written]
28 # 'make' can be done by anyone
29 # 'make install' must be done by root
31 # this package needs getopt(3), bitstring(3), and BSD install(8).
33 # the configurable stuff in this makefile consists of compilation
34 # options (use -O, cron runs forever) and destination directories.
35 # SHELL is for the 'augumented make' systems where 'make' imports
36 # SHELL from the environment and then uses it to run its commands.
37 # if your environment SHELL variable is /bin/csh, make goes real
38 # slow and sometimes does the wrong thing.
40 # this package needs the 'bitstring macros' library, which is
41 # available from me or from the comp.sources.unix archive. if you
42 # put 'bitstring.h' in a non-standard place (i.e., not intuited by
43 # cc(1)), you will have to define INCLUDE to set the include
44 # directory for cc. INCLUDE should be `-Isomethingorother'.
46 # there's more configuration info in config.h; edit that first!
48 #################################### begin configurable stuff
49 #<<DESTROOT is assumed to have ./etc, ./bin, and ./man subdirectories>>
50 DESTROOT = $(DESTDIR)/usr
51 DESTSBIN = $(DESTROOT)/sbin
52 DESTBIN = $(DESTROOT)/bin
53 DESTMAN = $(DESTROOT)/share/man
59 #<<optimize or debug?>>
62 #<<ATT or BSD or POSIX?>>
65 #(BSD is only needed if <sys/params.h> does not define it, as on ULTRIX)
69 #<<lint flags of choice?>>
70 LINTFLAGS = -hbxa $(INCLUDE) $(COMPAT) $(DEBUGGING)
71 #<<want to use a nonstandard CC?>>
75 #(SGI IRIX systems need this)
76 #DEFS = -D_BSD_SIGNALS -Dconst=
77 #<<the name of the BSD-like install program>>
80 #<<any special load flags>>
82 #################################### end configurable stuff
85 CFLAGS = $(OPTIM) $(INCLUDE) $(COMPAT) $(DEFS)
87 INFOS = README CHANGES FEATURES INSTALL CONVERSION THANKS MAIL
88 MANPAGES = bitstring.3 crontab.5 crontab.1 cron.8 putman.sh
89 HEADERS = bitstring.h cron.h config.h pathnames.h \
91 SOURCES = cron.c crontab.c database.c do_command.c entry.c \
92 env.c job.c user.c popen.c misc.c compat.c
93 SHAR_SOURCE = $(INFOS) $(MANPAGES) Makefile $(HEADERS) $(SOURCES)
94 LINT_CRON = cron.c database.c user.c entry.c compat.c \
95 misc.c job.c do_command.c env.c popen.c
96 LINT_CRONTAB = crontab.c misc.c entry.c env.c compat.c
97 CRON_OBJ = cron.o database.o user.o entry.o job.o do_command.o \
98 misc.o env.o popen.o compat.o
99 CRONTAB_OBJ = crontab.o misc.o entry.o env.o compat.o
104 lint $(LINTFLAGS) $(LINT_CRON) $(LIBS) \
105 |grep -v "constant argument to NOT" 2>&1
106 lint $(LINTFLAGS) $(LINT_CRONTAB) $(LIBS) \
107 |grep -v "constant argument to NOT" 2>&1
110 $(CC) $(LDFLAGS) -o cron $(CRON_OBJ) $(LIBS)
112 crontab : $(CRONTAB_OBJ)
113 $(CC) $(LDFLAGS) -o crontab $(CRONTAB_OBJ) $(LIBS)
116 $(INSTALL) -c -m 111 -o root -s cron $(DESTSBIN)/
117 $(INSTALL) -c -m 4111 -o root -s crontab $(DESTBIN)/
118 sh putman.sh crontab.1 $(DESTMAN)
119 sh putman.sh cron.8 $(DESTMAN)
120 sh putman.sh crontab.5 $(DESTMAN)
122 clean :; rm -f *.o cron crontab a.out core tags *~ #*
125 makekit -m -s99k $(SHAR_SOURCE)
127 $(CRON_OBJ) : cron.h compat.h config.h externs.h pathnames.h Makefile
128 $(CRONTAB_OBJ) : cron.h compat.h config.h externs.h pathnames.h Makefile