1#/* Copyright 1988,1990,1993,1994 by Paul Vixie 2# * All rights reserved 3# */ 4 5## Copyright (c) 1997 by Internet Software Consortium. 6## 7## Permission to use, copy, modify, and distribute this software for any 8## purpose with or without fee is hereby granted, provided that the above 9## copyright notice and this permission notice appear in all copies. 10## 11## THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS 12## ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 13## OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE 14## CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 15## DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 16## PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 17## ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 18## SOFTWARE. 19 20# Makefile for vixie's cron 21# 22# $Id: Makefile,v 1.2 1998/08/14 00:32:35 vixie Exp $ 23# 24# vix 03mar88 [moved to RCS, rest of log is in there] 25# vix 30mar87 [goodbye, time.c; hello, getopt] 26# vix 12feb87 [cleanup for distribution] 27# vix 30dec86 [written] 28 29# NOTES: 30# 'make' can be done by anyone 31# 'make install' must be done by root 32# 33# this package needs getopt(3), bitstring(3), and BSD install(8). 34# 35# the configurable stuff in this makefile consists of compilation 36# options (use -O, cron runs forever) and destination directories. 37# SHELL is for the 'augumented make' systems where 'make' imports 38# SHELL from the environment and then uses it to run its commands. 39# if your environment SHELL variable is /bin/csh, make goes real 40# slow and sometimes does the wrong thing. 41# 42# this package needs the 'bitstring macros' library, which is 43# available from me or from the comp.sources.unix archive. if you 44# put 'bitstring.h' in a non-standard place (i.e., not intuited by 45# cc(1)), you will have to define INCLUDE to set the include 46# directory for cc. INCLUDE should be `-Isomethingorother'. 47# 48# there's more configuration info in config.h; edit that first! 49 50#################################### begin configurable stuff 51#<<DESTROOT is assumed to have ./etc, ./bin, and ./man subdirectories>> 52DESTROOT = $(DESTDIR)/usr 53DESTSBIN = $(DESTROOT)/sbin 54DESTBIN = $(DESTROOT)/bin 55DESTMAN = $(DESTROOT)/share/man 56#<<need bitstring.h>> 57INCLUDE = -I. 58#INCLUDE = 59#<<need getopt()>> 60LIBS = 61#<<optimize or debug?>> 62#CDEBUG = -O 63CDEBUG = -g 64#<<lint flags of choice?>> 65LINTFLAGS = -hbxa $(INCLUDE) $(DEBUGGING) 66#<<want to use a nonstandard CC?>> 67CC = gcc -Wall -Wno-unused -Wno-comment 68#<<manifest defines>> 69DEFS = 70#(SGI IRIX systems need this) 71#DEFS = -D_BSD_SIGNALS -Dconst= 72#<<the name of the BSD-like install program>> 73#INSTALL = installbsd 74INSTALL = install 75#<<any special load flags>> 76LDFLAGS = 77#################################### end configurable stuff 78 79SHELL = /bin/sh 80CFLAGS = $(CDEBUG) $(INCLUDE) $(DEFS) 81 82INFOS = README CHANGES FEATURES INSTALL CONVERSION THANKS MAIL 83MANPAGES = bitstring.3 crontab.5 crontab.1 cron.8 putman.sh 84HEADERS = bitstring.h cron.h config.h pathnames.h externs.h 85SOURCES = cron.c crontab.c database.c do_command.c entry.c \ 86 env.c job.c user.c popen.c misc.c 87SHAR_SOURCE = $(INFOS) $(MANPAGES) Makefile $(HEADERS) $(SOURCES) 88LINT_CRON = cron.c database.c user.c entry.c \ 89 misc.c job.c do_command.c env.c popen.c 90LINT_CRONTAB = crontab.c misc.c entry.c env.c 91CRON_OBJ = cron.o database.o user.o entry.o job.o do_command.o \ 92 misc.o env.o popen.o 93CRONTAB_OBJ = crontab.o misc.o entry.o env.o 94 95all : cron crontab 96 97lint : 98 lint $(LINTFLAGS) $(LINT_CRON) $(LIBS) \ 99 |grep -v "constant argument to NOT" 2>&1 100 lint $(LINTFLAGS) $(LINT_CRONTAB) $(LIBS) \ 101 |grep -v "constant argument to NOT" 2>&1 102 103cron : $(CRON_OBJ) 104 $(CC) $(LDFLAGS) -o cron $(CRON_OBJ) $(LIBS) 105 106crontab : $(CRONTAB_OBJ) 107 $(CC) $(LDFLAGS) -o crontab $(CRONTAB_OBJ) $(LIBS) 108 109install : all 110 $(INSTALL) -c -m 111 -o root -s cron $(DESTSBIN)/ 111 $(INSTALL) -c -m 4111 -o root -s crontab $(DESTBIN)/ 112 sh putman.sh crontab.1 $(DESTMAN) 113 sh putman.sh cron.8 $(DESTMAN) 114 sh putman.sh crontab.5 $(DESTMAN) 115 116clean :; rm -f *.o cron crontab a.out core tags *~ #* 117 118tags :; ctags ${SOURCES} 119 120kit : $(SHAR_SOURCE) 121 makekit -m -s99k $(SHAR_SOURCE) 122 123$(CRON_OBJ) : cron.h config.h externs.h pathnames.h Makefile 124$(CRONTAB_OBJ) : cron.h config.h externs.h pathnames.h Makefile 125