# $Id: Makefile,v 1.15 1993/11/20 10:46:37 kernel Exp kernel $

CC = cc
VERSION= 2.5
BIN_DIR = /usr/bin
ATJOB_DIR = /usr/spool/atjobs
ATSPOOL_DIR = /usr/spool/atspool
LOCKFILE = .lockfile
ATLIB_DIR = /usr/lib
PROC_DIR = /proc
MAIL_CMD = /bin/rmail
MAN_DIR = /usr/man
LOADAVG_MX = 1.5
CLONES= atq atrm batch
ATOBJECTS= at.o panic.o parsetime.o 
RUNOBJECTS= atrun.o gloadavg.o
DAEMON_UID = 1
DAEMON_GID = 12
LIBS = 

CFLAGS = -g -O -Wall -DATJOB_DIR=\"$(ATJOB_DIR)/\" -DPROC_DIR=\"$(PROC_DIR)/\" \
	-DMAIL_CMD=\"$(MAIL_CMD)\" -DLFILE=\"$(ATJOB_DIR)/$(LOCKFILE)\" \
	-DLOADAVG_MX=$(LOADAVG_MX) -DATSPOOL_DIR=\"$(ATSPOOL_DIR)\" \
	-DVERSION=\"$(VERSION)\" -DDAEMON_UID=$(DAEMON_UID) -DDAEMON_GID=$(DAEMON_GID)

CSRCS   = at.c atrun.c panic.c parsetime.c gloadavg.c 
HEADERS = at.h         panic.h parsetime.h gloadavg.h
DIST = Makefile README Changelog at.1 atrun.8 $(CSRCS) $(HEADERS)

.PHONY: all install clean dist

all: at atrun

at: $(ATOBJECTS)
	$(CC) $(CFLAGS) -o at $(ATOBJECTS) $(LIBS)
	rm -f $(CLONES)
	ln -fs at atq
	ln -fs at atrm
	ln -fs at batch

atrun: $(RUNOBJECTS)
	$(CC) $(CFLAGS) -o atrun $(RUNOBJECTS) $(LIBS)

install: at atrun
	install -g $(DAEMON_GID) -o $(DAEMON_UID) -m 700 -d $(ATJOB_DIR)
	install -g $(DAEMON_GID) -o $(DAEMON_UID) -m 700 -d $(ATSPOOL_DIR)
	cat < /dev/null > $(ATJOB_DIR)/$(LOCKFILE)
	chmod 600 $(ATJOB_DIR)/$(LOCKFILE)
	chgrp $(DAEMON_GID) $(ATJOB_DIR)/$(LOCKFILE)
	install -g $(DAEMON_GID) -o root -m 4755 -s at $(BIN_DIR)
	ln -fs $(BIN_DIR)/at $(BIN_DIR)/batch
	ln -fs $(BIN_DIR)/at $(BIN_DIR)/atq
	ln -fs $(BIN_DIR)/at $(BIN_DIR)/atrm
	install -g bin -o root -m 755 -s atrun $(ATLIB_DIR)
	install -g bin -o root -m 755 -d $(MAN_DIR)/man1
	install -g bin -o root -m 644 at.1 $(MAN_DIR)/man1
	ln -fs $(MAN_DIR)/man1/at.1 $(MAN_DIR)/man1/batch.1
	ln -fs $(MAN_DIR)/man1/at.1 $(MAN_DIR)/man1/atrm.1
	ln -fs $(MAN_DIR)/man1/at.1 $(MAN_DIR)/man1/atq.1
	install -g bin -o root -m 755 -d $(MAN_DIR)/man8
	install -g bin -o root -m 644 atrun.8 $(MAN_DIR)/man8

dist: $(DIST)
	make clean
	(cd ..; tar cf - at-$(VERSION) | gzip -9 > at-$(VERSION).tgz )

clean:
	rm -f *.o *.s at atrun core a.out y.output y.tab.h *~ $(CLONES)

%.s: %.c
	$(CC) -S $(CFLAGS) $<

at.o : at.c at.h panic.h parsetime.h privs.h 
atrun.o : atrun.c gloadavg.h privs.h 
gloadavg.o : gloadavg.c gloadavg.h 
panic.o : panic.c panic.h at.h 
parsetime.o : parsetime.c at.h panic.h 
