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