# Makefile for sysmon

###########################################################################

CC = gcc
CFLAGS = -O2 -Wall -g

# Libraries needed for sysmon daemon (sysmond) and command-line client (sysmonc)
LIBS =

# Libraries needed for sysmon program
LIBS2 = -lncurses

# Libraries needed for crypt()
CRYPTLIB = -lcrypt

###########################################################################

DOBJS = sysmond.o
COBJS = sysmonc.o
OBJS = action.o config.o etree.o funcs.o misc.o reboot.o server.o socketio.o \
	sysmon.o window.o

###########################################################################

all: sysmond sysmonc sysmon

sysmond: $(DOBJS)
	$(CC) $(DOBJS) $(LIBS) $(CRYPTLIB) -o $@

sysmonc: $(COBJS)
	$(CC) $(COBJS) $(LIBS) -o $@

sysmon: $(OBJS)
	$(CC) $(OBJS) $(LIBS2) -o $@

install: all
	install -m 700 -o root -g root -s sysmond /usr/local/sbin
	install -m 750 -o root -g adm -s sysmonc /usr/local/sbin
	install -m 750 -o root -g adm -s sysmon /usr/local/sbin

clean:
	-rm -f *.o sysmond sysmonc sysmon


sysmond.o: sysmond.c sysmon.h

sysmonc.o: sysmonc.c sysmon.h

action.o: action.c action.h etree.h global.h socketio.h
config.o: config.c action.h etree.h funcs.h global.h server.h
etree.o: etree.c etree.h funcs.h
funcs.o: funcs.c action.h etree.h funcs.h global.h server.h sysmon.h window.h
misc.o: misc.c global.h
reboot.o: reboot.c etree.h global.h server.h sysmon.h window.h
server.o: server.c etree.h server.h socketio.h sysmon.h
socketio.o: socketio.c socketio.h
sysmon.o: sysmon.c action.h global.h window.h
window.o: window.c etree.h window.h
