head     2.3;
access   ;
symbols  V2:2.0;
locks    ; strict;
comment  @# @;


2.3
date     91.05.29.11.36.11;  author vixie;  state Exp;
branches ;
next     2.2;

2.2
date     90.07.18.00.23.57;  author vixie;  state Exp;
branches ;
next     2.1;

2.1
date     89.03.10.05.21.32;  author vixie;  state Exp;
branches ;
next     2.0;

2.0
date     88.12.10.04.57.37;  author vixie;  state Exp;
branches ;
next     1.7;

1.7
date     88.11.29.13.05.39;  author vixie;  state Exp;
branches ;
next     1.6;

1.6
date     87.07.10.11.08.53;  author paul;  state Exp;
branches ;
next     ;


desc
@imported
@


2.3
log
@vixie
@
text
@# Makefile for vixie's cron
#
# $Header: Makefile,v 2.2 90/07/18 00:23:57 vixie Locked $
#
# vix 03mar88 [moved to RCS, rest of log is in there]
# vix 30mar87 [goodbye, time.c; hello, getopt]
# vix 12feb87 [cleanup for distribution]
# vix 30dec86 [written]

#/* Copyright 1988,1990 by Paul Vixie
# * All rights reserved
# *
# * Distribute freely, except: don't remove my name from the source or
# * documentation (don't take credit for my work), mark your changes (don't
# * get me blamed for your possible bugs), don't alter or remove this
# * notice.  May be sold if buildable source is provided to buyer.  No
# * warrantee of any kind, express or implied, is included with this
# * software; use at your own risk, responsibility for damages (if any) to
# * anyone resulting from the use of this software rests entirely with the
# * user.
# *
# * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
# * I'll try to keep a version up to date.  I can be reached as follows:
# * Paul Vixie, 329 Noe Street, San Francisco, CA, 94114, (415) 864-7013,
# * paul@@vixie.sf.ca.us || {hoptoad,pacbell,decwrl,crash}!vixie!paul
# */

# NOTES:
#	'make' can be done by anyone
#	'make install' must be done by root
#
#	this package needs getopt(3), bitstring(3), and BSD install(8).
#
#	the configurable stuff in this makefile consists of compilation
#	options (use -O, cron runs forever) and destination directories.
#	SHELL is for the 'augumented make' systems where 'make' imports
#	SHELL from the environment and then uses it to run its commands.
#	if your environment SHELL variable is /bin/csh, make goes real
#	slow and sometimes does the wrong thing.  BINDIR is where the
#	'crontab' command goes, and should be a common place like /usr/bin.
#	LIBDIR is where the cron daemon lives; /usr/etc is common.
#
#	this package needs the 'bitstring macros' library, which is
#	available from me or from the comp.sources.unix archive.  if you
#	put 'bitstring.h' in a non-standard place (i.e., not intuited by
#	cc(1)), you will have to define INCLUDE to set the include
#	directory for cc.  INCLUDE should be `-Isomethingorother'.
#
#	there's more configuration info in config.h; edit that first!

#################################### begin configurable stuff
#<<DESTROOT is assumed to have ./etc, ./bin, and ./man subdirectories>>
DESTROOT	=	$(DESTDIR)/usr/local
#<<CRONDIR will be created by crond or crontab if nec'y>>
CRONDIR		=	/var/cron
#<<need bitstring.h>>
INCLUDE		=	-I.
#INCLUDE	=
#<<need getopt()>>
#LIBS		=	/usr/local/lib/getopt.o
LIBS		=
#<<optimize or debug?>>
#OPTIM		=	-O
OPTIM		=	-g
#<<want -x flag for debugging?>>
DEBUGGING	=	-DDEBUGGING=1
#DEBUGGING	=	-DDEBUGGING=0
#<<ATT or BSD?>>
# (ATT untested)
#COMPAT		=	-DATT
COMPAT		=	-DBSD
#<<lint flags of choice?>>
LINTFLAGS	=	-hbxa $(INCLUDE) $(COMPAT) $(DEBUGGING)
#<<want to use a nonstandard CC?>>
#CC		=	vcc
#<<manifest defines>>
DEFS		=	'-DCRONDIR="$(CRONDIR)"'
#################################### end configurable stuff

SHELL		=	/bin/sh
CFLAGS		=	$(OPTIM) $(INCLUDE) $(COMPAT) $(DEBUGGING) $(DEFS)

INFOS		=	README CHANGES.V2 FEATURES INSTALL CONVERSION THANKS
MANPAGES	=	bitstring.3 crontab.5 crontab.1 crond.8
HEADERS		=	bitstring.h cron.h config.h
SOURCES		=	crond.c crontab.c database.c do_command.c \
			entry.c env.c job.c misc.c user.c
SHAR_SOURCE	=	$(INFOS) $(MANPAGES) Makefile $(HEADERS) $(SOURCES)
LINT_CROND	=	crond.c database.c user.c entry.c \
			misc.c job.c do_command.c env.c
LINT_CRONTAB	=	crontab.c misc.c entry.c env.c
CRON_OBJ	=	crond.o database.o user.o entry.o \
			misc.o job.o do_command.o env.o
CRONTAB_OBJ	=	crontab.o misc.o entry.o env.o

all		:	crond crontab

lint		:
			lint $(LINTFLAGS) $(LINT_CROND) $(LIBS) \
			|grep -v "constant argument to NOT" 2>&1
			lint $(LINTFLAGS) $(LINT_CRONTAB) $(LIBS) \
			|grep -v "constant argument to NOT" 2>&1

crond		:	$(CRON_OBJ)
			$(CC) -o crond $(CRON_OBJ) $(LIBS)

crontab		:	$(CRONTAB_OBJ)
			$(CC) -o crontab $(CRONTAB_OBJ) $(LIBS)

install		:	all
			install -c -m 111 -o root -s crond $(DESTROOT)/etc/
			install -c -m 4111 -o root -s crontab $(DESTROOT)/bin/
			install -c crontab.1 $(DESTROOT)/man/man1/crontab.1
			install -c crond.8   $(DESTROOT)/man/man8/crond.8
			install -c crontab.5 $(DESTROOT)/man/man5/crontab.5

clean		:;	rm -f *.o crond crontab a.out core tags *~ #*

kit		:	$(SHAR_SOURCE)
			makekit -m -s50k $(SHAR_SOURCE)

$(CRON_OBJ)	:	cron.h config.h Makefile
$(CRONTAB_OBJ)	:	cron.h config.h Makefile
@


2.2
log
@Baseline for 4.4BSD release
@
text
@d3 1
a3 1
# $Header: Makefile,v 2.1 89/03/10 05:21:32 vixie Exp $
d83 3
a85 3
INFOS		=	README INFO.features INFO.install INFO.conversion
MANPAGES	=	crontab.5 crontab.1 crond.8
HEADERS		=	cron.h config.h
@


2.1
log
@install crond 111 so remote-root can run it
@
text
@d3 1
a3 1
# $Header: Makefile,v 2.0 88/12/10 04:57:37 vixie Exp $
d10 1
a10 1
#/* Copyright 1988 by Paul Vixie
d52 2
a53 2
#<<DESTDIR is assumed to have ./etc, ./bin, and ./man subdirectories>>
DESTDIR		=	/usr/local
d57 1
a57 1
INCLUDE		=	-I/usr/local/include -I../bitstring
d63 2
a64 2
OPTIM		=	-O
#OPTIM		=	-g
d76 2
d81 1
a81 1
CFLAGS		=	$(OPTIM) $(INCLUDE) $(COMPAT) $(DEBUGGING)
d84 1
a84 1
MANPAGES	=	crontab.man5 crontab.man1 crond.man8
d87 1
a87 1
			entry.c env.c misc.c user.c
d90 1
a90 1
			misc.c do_command.c env.c
d92 3
a94 3
cron_obj	=	crond.o database.o user.o entry.o \
			misc.o do_command.o env.o
crontab_obj	=	crontab.o misc.o entry.o env.o
d104 2
a105 2
crond		:	$(cron_obj)
			$(CC) -o crond $(cron_obj) $(LIBS)
d107 2
a108 2
crontab		:	$(crontab_obj)
			$(CC) -o crontab $(crontab_obj) $(LIBS)
d111 5
a115 5
			install -c -m 111 -o root -s crond $(DESTDIR)/etc/
			install -c -m 4111 -o root -s crontab $(DESTDIR)/bin/
			install -c crontab.man1 $(DESTDIR)/man/man1/crontab.1
			install -c crond.man8   $(DESTDIR)/man/man8/crond.8
			install -c crontab.man5 $(DESTDIR)/man/man5/crontab.5
d119 1
a119 1
shar		:	$(SHAR_SOURCE)
d122 2
a123 2
$(cron_obj)	:	cron.h config.h
$(crontab_obj)	:	cron.h config.h
@


2.0
log
@V2 Beta
@
text
@d3 1
a3 1
# $Header: Makefile,v 1.7 88/11/29 13:05:39 vixie Exp $
d109 1
a109 1
			install -c -m 100 -o root -s crond $(DESTDIR)/etc/
@


1.7
log
@seems to work on Ultrix 3.0 FT1
@
text
@d3 1
a3 1
# $Header: Makefile,v 1.6 87/07/10 11:08:53 paul Exp $
d13 8
a20 7
# * Distribute freely, except: don't sell it, don't remove my name from the
# * source or documentation (don't take credit for my work), mark your changes
# * (don't get me blamed for your possible bugs), don't alter or remove this
# * notice.  May be sold if buildable source is provided to buyer.  No warrantee
# * of any kind, express or implied, is included with this software; use at your
# * own risk, responsibility for damages (if any) to anyone resulting from the
# * use of this software rests entirely with the user.
a33 4
#	why keep the cron daemon in /etc?  sendmail is in /usr/lib, why
#	not the cron daemon?  i can't see a big use for cron while running
#	single user... besides, the crontabs have always been in /usr/lib...
#
d39 1
a39 1
#	slow and sometimes does wrong things.  BINDIR is where the
d41 1
a41 2
#	LIBDIR is where the cron daemon lives; /usr/lib seems reasonable
#	(see note above).
d52 3
a54 2
BINDIR		=	/usr/bin
ETCDIR		=	/usr/etc
d57 1
a57 1
INCLUDE		=	-I/usr/local/include
d74 2
d103 1
a103 1
			cc -o crond $(cron_obj) $(LIBS)
d106 1
a106 1
			cc -o crontab $(crontab_obj) $(LIBS)
d109 5
a113 6
			install -c -m 4100 -o root -s crond $(ETCDIR)
			install -c -m 4111 -o root -s crontab $(BINDIR)
			@@echo " "
			@@echo "Install the man pages according to local"
			@@echo "convention.  The man page files are:"
			@@echo $(MANPAGES)
@


1.6
log
@vixie
@
text
@a3 1
# $Source: /usr/src/local/vix/cron/Makefile,v $
d10 16
a25 14
#############################################################################
# Copyright 1987 by Vixie Enterprises
# All rights reserved
# 
# Distribute freely, except: don't sell it, don't remove my name from the
# source or documentation (don't take credit for my work), mark your changes
# (don't get me blamed for your possible bugs), don't alter or remove this
# notice.  Commercial redistribution is negotiable; contact me for details.
# 
# Send bug reports, bug fixes, enhancements, requests, flames, etc., and
# I'll try to keep a version up to date.  I can be reached as follows:
# Paul Vixie, Vixie Enterprises, 329 Noe Street, San Francisco, CA, 94114,
# (415) 864-7013, {ucbvax!dual,ames,ucsfmis,lll-crg,sun}!ptsfa!vixie!paul.
#############################################################################
d44 2
a45 4
#	LIBDIR is where the cron daemon lives; /usr/lib seems very logical
#	(see note above).  the cron daemon's name is 'crond', so if you
#	decide to call the spool or library directory /usr/lib/cron, the
#	name will be available.
d48 1
a48 1
#	available from me or from the mod.sources archive.  if you
d57 2
a58 1
LIBDIR		=	/usr/lib
d60 2
a61 2
INCLUDE	=	-I/usr/local/include
#INCLUDE		=
d66 2
a67 2
#OPTIM		=	-O
OPTIM		=	-g
d72 1
d76 1
a76 1
LINTFLAGS	=	-hbxac $(INCLUDE) $(COMPAT) $(DEBUGGING)
a81 9
.SUFFIXES	:	.c,v .h,v

.c,v.o		:;	co -q $*.c ; $(CC) -c $(CFLAGS) $*.c
			@@rm -f $*.c

.c,v.c		:;	co -q $*.c

.h,v.h		:;	co -q $*.h

d84 1
a84 1
HEADERS		=	cron.h
d98 4
a101 2
			lint $(LINTFLAGS) $(LINT_CROND) $(LIBS)
			lint $(LINTFLAGS) $(LINT_CRONTAB) $(LIBS)
d110 1
a110 1
			install -c -m 4100 -o root -s crond $(LIBDIR)
d117 1
a117 1
clean		:;	rm -f *.o crond crontab a.out core
@
