CC=gcc
CFLAGS=-O3
#CFLAGS=-O3 -Wall -Wtraditional -Wstrict-prototypes -Wmissing-prototypes -pedantic -ansi
CFLAGS=-g -Wall -Wtraditional -Wstrict-prototypes -Wmissing-prototypes -pedantic -ansi

BININSTALL=/usr/local/bin
MANINSTALL=/usr/local/man

TARGET=uptimed uprecords

choose-platform:
	@echo "Please choose your platform:"
	@echo
	@echo "Supported platforms:"
	@echo "	make linux	Linux"
	@echo
	@echo "Unsupported platforms: (read README.unsupported first)"
	@echo "	make bsd	FreeBSD, NetBSD, OpenBSD, BSDi"
	@echo "	make solaris	Solaris"
	@echo "	make hpux	HP/UX"
	@echo "	make other	other systems"

bsd:
	make DEFS='-DPLATFORM_BSD' all

linux:
	make DEFS='-DPLATFORM_LINUX' all

hpux:
	make DEFS='-DPLATFORM_HPUX -D_INCLUDE_POSIX_SOURCE' all

solaris:
	make DEFS='-DPLATFORM_SOLARIS' all

other:
	make DEFS='-DPLATFORM_UNKNOWN' all

all: $(TARGET)

clean:
	rm -f $(TARGET) core *.o *~ */*~

uptimed: misc.o milestone.o urec.o uptimed.o
	$(CC) $(CFLAGS) $(DEFS) -o uptimed uptimed.o misc.o milestone.o urec.o

uprecords: misc.o milestone.o urec.o uprecords.o
	$(CC) $(CFLAGS) $(DEFS) -o uprecords uprecords.o misc.o milestone.o urec.o

misc.o: misc.c misc.h
	$(CC) $(CFLAGS) $(DEFS) -c misc.c

milestone.o: milestone.c milestone.h config.h
	$(CC) $(CFLAGS) $(DEFS) -c milestone.c

urec.o: urec.c urec.h config.h
	$(CC) $(CFLAGS) $(DEFS) -c urec.c

uptimed.o: uptimed.c uptimed.h config.h
	$(CC) $(CFLAGS) $(DEFS) -c uptimed.c

uprecords.o: uprecords.c uprecords.h config.h
	$(CC) $(CFLAGS) $(DEFS) -c uprecords.c

install: 
	strip $(TARGET)
	install -d /var/spool/uptimed/
	install -m 755 uptimed /usr/local/bin
	install -m 755 uprecords /usr/local/bin
	install -m 644 uptimed.8 /usr/local/man/man8
	install -m 644 uprecords.1 /usr/local/man/man1

	@ echo
	@sh -c 'if [ -e "/etc/uptimed.conf" ]; then echo "Found existing configuration file /etc/uptimed.conf"; echo "Installing template as /etc/uptimed.conf.dist"; install -m 644 uptimed.conf /etc/uptimed.conf.dist; else echo "Installing configuration file /etc/uptimed.conf"; install -m 644 uptimed.conf /etc; fi'
	@ echo
	@ echo "If you are upgrading from an older version, read INSTALL.upgrade"
	@ echo "If you want to use the output of uprecords on your website, read INSTALL.cgi"

uninstall:
	rm -rf /var/spool/uptimed/
	rm -f /usr/local/bin/uptimed /usr/local/bin/uprecords /etc/uptimed.conf
