| 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 |