#
# Makefile for loadavgd and monitor -programs
#
# Author: Jussi Maki, jmaki@hut.fi, 31.5.1991
#			modified    10.7.1991
#                       modified    15.7.1991 
#
# How to install:
#  1. Edit Makefile to contain correct INSTALLDIR  where programs will be installed
#  2. Run make
#  3. Install programs by making monitor and loadavgd suid-programs
#     to root user eg.
#       make install
#

INSTALLDIR= /usr/local/bin


LOADAVGD_LOCATION= $(INSTALLDIR)/loadavgd

AIX_VERSION = AIXv"`uname -v`"r"`uname -r`"
CFLAGS= -O -D$(AIX_VERSION) 

# options for debugging loadavgd
#CFLAGS= -DDEBUG -g -D$(AIX_VERSION) 

MONITOROBJS = monitor.o top.o 

all:	loadavgd monitor uptime

uptime:	uptime.o libgetloadavg.a
	cc $(CFLAGS) -o uptime uptime.o libgetloadavg.a

loadavgd:	loadavgd.o loadavg.o
	cc $(CFLAGS) -o loadavgd loadavgd.o loadavg.o

monitor:	$(MONITOROBJS) libgetloadavg.a
	cc $(CFLAGS) -o monitor $(MONITOROBJS) libgetloadavg.a -lcurses
	
testgetloadavg:	testgetloadavg.o libgetloadavg.a
	cc $(CFLAGS) -o testgetloadavg testgetloadavg.o libgetloadavg.a

launch_loadavgd.o:	launch_loadavgd.c
	cc -c $(CFLAGS) -DLOADAVGD_LOCATION=\"$(LOADAVGD_LOCATION)\" launch_loadavgd.c

libgetloadavg.a:	getloadavg.o launch_loadavgd.o 
	-/bin/rm -f libgetloadavg.a
	ar qc libgetloadavg.a getloadavg.o launch_loadavgd.o
	ranlib libgetloadavg.a

tar:	
	tar cvf monitor-1.06beta.tar 0README MANIFEST ChangeLog Makefile README README.loadavgd \
	  getloadavg.c getloadavg.h launch_loadavgd.c \
	  loadavg.c loadavgd.c monitor.c  \
	  top.c top.h getproc.h testgetloadavg.c uptime.c \
	  monitor.1 getloadavg.3 getproc.3

clean:
	-/bin/rm $(MONITOROBJS) core

install:
	-/bin/rm -f $(INSTALLDIR)/uptime
	-/bin/rm -f $(INSTALLDIR)/loadavgd
	-/bin/rm -f $(INSTALLDIR)/monitor
	/bin/cp uptime loadavgd monitor $(INSTALLDIR)
	chown root $(INSTALLDIR)/loadavgd
	chown root $(INSTALLDIR)/uptime
	chown root $(INSTALLDIR)/monitor
	chmod 711 $(INSTALLDIR)/loadavgd
	chmod 711 $(INSTALLDIR)/monitor
	chmod u+s $(INSTALLDIR)/loadavgd
	chmod u+s $(INSTALLDIR)/monitor
