113 lines
3.9 KiB
Makefile
113 lines
3.9 KiB
Makefile
# Copyright 1988,1990,1993 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@vix.com || {hoptoad,pacbell,decwrl}!vixie!paul
|
|
#
|
|
# $Id: Makefile.vixie,v 1.3 1993/08/02 17:50:19 mycroft Exp $
|
|
|
|
# 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.
|
|
#
|
|
# 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 arpadate.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 arpadate.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
|