Commit | Line | Data |
---|---|---|
15637ed4 RG |
1 | # Makefile for vixie's cron |
2 | # | |
3 | # $Header: /usr/src/libexec/cron2.1/RCS/Makefile,v 2.4 92/05/13 05:56:35 rich Exp $ | |
4 | # | |
5 | # vix 03mar88 [moved to RCS, rest of log is in there] | |
6 | # vix 30mar87 [goodbye, time.c; hello, getopt] | |
7 | # vix 12feb87 [cleanup for distribution] | |
8 | # vix 30dec86 [written] | |
9 | ||
10 | #/* Copyright 1988,1990 by Paul Vixie | |
11 | # * All rights reserved | |
12 | # * | |
13 | # * Distribute freely, except: don't remove my name from the source or | |
14 | # * documentation (don't take credit for my work), mark your changes (don't | |
15 | # * get me blamed for your possible bugs), don't alter or remove this | |
16 | # * notice. May be sold if buildable source is provided to buyer. No | |
17 | # * warrantee of any kind, express or implied, is included with this | |
18 | # * software; use at your own risk, responsibility for damages (if any) to | |
19 | # * anyone resulting from the use of this software rests entirely with the | |
20 | # * user. | |
21 | # * | |
22 | # * Send bug reports, bug fixes, enhancements, requests, flames, etc., and | |
23 | # * I'll try to keep a version up to date. I can be reached as follows: | |
24 | # * Paul Vixie, 329 Noe Street, San Francisco, CA, 94114, (415) 864-7013, | |
25 | # * paul@vixie.sf.ca.us || {hoptoad,pacbell,decwrl,crash}!vixie!paul | |
26 | # */ | |
27 | ||
28 | # NOTES: | |
29 | # 'make' can be done by anyone | |
30 | # 'make install' must be done by root | |
31 | # | |
32 | # this package needs getopt(3), bitstring(3), and BSD install(8). | |
33 | # | |
34 | # the configurable stuff in this makefile consists of compilation | |
35 | # options (use -O, cron runs forever) and destination directories. | |
36 | # SHELL is for the 'augumented make' systems where 'make' imports | |
37 | # SHELL from the environment and then uses it to run its commands. | |
38 | # if your environment SHELL variable is /bin/csh, make goes real | |
39 | # slow and sometimes does the wrong thing. BINDIR is where the | |
40 | # 'crontab' command goes, and should be a common place like /usr/bin. | |
41 | # LIBDIR is where the cron daemon lives; /usr/etc is common. | |
42 | # | |
43 | # this package needs the 'bitstring macros' library, which is | |
44 | # available from me or from the comp.sources.unix archive. if you | |
45 | # put 'bitstring.h' in a non-standard place (i.e., not intuited by | |
46 | # cc(1)), you will have to define INCLUDE to set the include | |
47 | # directory for cc. INCLUDE should be `-Isomethingorother'. | |
48 | # | |
49 | # there's more configuration info in config.h; edit that first! | |
50 | ||
51 | #################################### begin configurable stuff | |
52 | #<<DESTROOT is assumed to have ./etc, ./bin, and ./man subdirectories>> | |
53 | DESTROOT = /usr/ | |
54 | #<<CRONDIR will be created by crond or crontab if nec'y>> | |
55 | CRONDIR = /var/cron | |
56 | #<<need bitstring.h>> | |
57 | INCLUDE = -I. | |
58 | #INCLUDE = | |
59 | #<<need getopt()>> | |
60 | #LIBS = /usr/local/lib/getopt.o | |
61 | LIBS = | |
62 | #<<optimize or debug?>> | |
63 | OPTIM = -O -fstrength-reduce | |
64 | #OPTIM = -g | |
65 | #<<want -x flag for debugging?>> | |
66 | DEBUGGING = -DDEBUGGING=1 | |
67 | #DEBUGGING = -DDEBUGGING=0 | |
68 | #<<ATT or BSD?>> | |
69 | # (ATT untested) | |
70 | #COMPAT = -DATT | |
71 | COMPAT = -DBSD | |
72 | #<<lint flags of choice?>> | |
73 | LINTFLAGS = -hbxa $(INCLUDE) $(COMPAT) $(DEBUGGING) | |
74 | #<<want to use a nonstandard CC?>> | |
75 | #CC = vcc | |
76 | #<<manifest defines>> | |
77 | DEFS = '-DCRONDIR="$(CRONDIR)"' | |
78 | #################################### end configurable stuff | |
79 | ||
80 | SHELL = /bin/sh | |
81 | CFLAGS = $(OPTIM) $(INCLUDE) $(COMPAT) $(DEBUGGING) $(DEFS) | |
82 | ||
83 | INFOS = README CHANGES.V2 FEATURES INSTALL CONVERSION THANKS | |
84 | MANPAGES = bitstring.3 crontab.5 crontab.1 crond.8 | |
85 | HEADERS = bitstring.h cron.h config.h | |
86 | SOURCES = crond.c crontab.c database.c do_command.c \ | |
87 | entry.c env.c job.c misc.c user.c | |
88 | SHAR_SOURCE = $(INFOS) $(MANPAGES) Makefile $(HEADERS) $(SOURCES) | |
89 | LINT_CROND = crond.c database.c user.c entry.c \ | |
90 | misc.c job.c do_command.c env.c | |
91 | LINT_CRONTAB = crontab.c misc.c entry.c env.c | |
92 | CRON_OBJ = crond.o database.o user.o entry.o \ | |
93 | misc.o job.o do_command.o env.o | |
94 | CRONTAB_OBJ = crontab.o misc.o entry.o env.o | |
95 | ||
96 | all : crond crontab | |
97 | ||
98 | lint : | |
99 | lint $(LINTFLAGS) $(LINT_CROND) $(LIBS) \ | |
100 | |grep -v "constant argument to NOT" 2>&1 | |
101 | lint $(LINTFLAGS) $(LINT_CRONTAB) $(LIBS) \ | |
102 | |grep -v "constant argument to NOT" 2>&1 | |
103 | ||
104 | crond : $(CRON_OBJ) | |
105 | $(CC) -o crond $(CRON_OBJ) $(LIBS) | |
106 | ||
107 | crontab : $(CRONTAB_OBJ) | |
108 | $(CC) -o crontab $(CRONTAB_OBJ) $(LIBS) | |
109 | ||
110 | install : all | |
111 | install -c -m 111 -o root -s crond $(DESTROOT)/libexec/ | |
112 | install -c -m 4111 -o root -s crontab $(DESTROOT)/bin/ | |
113 | #install -c crontab.1 $(DESTROOT)/man/man1/crontab.1 | |
114 | #install -c crond.8 $(DESTROOT)/man/man8/crond.8 | |
115 | install -c crontab.5 $(DESTROOT)/man/man5/crontab.5 | |
116 | ||
117 | clean :; rm -f *.o crond crontab a.out core tags *~ #* | |
118 | ||
119 | kit : $(SHAR_SOURCE) | |
120 | makekit -m -s50k $(SHAR_SOURCE) | |
121 | ||
122 | $(CRON_OBJ) : cron.h config.h Makefile | |
123 | $(CRONTAB_OBJ) : cron.h config.h Makefile |