####
# Uptime Client v4.2,  Makefile
#
# Author    : Alex C. de Haas <alex@uptimes.net>
# Disclaimer: Yes, I don't know sh#t about Makefiles (-:
#


####
# Location of config file (for example /etc/upclient.conf)
#
CONFIGFILE = upclient.conf


####
# No user serviceable parts below
#

BINNAME = upclient
STDOPTS = network.c base64.c options.c

nothing-specified:
	@echo ""
	@echo "You must specify the system which you want to compile for:"
	@echo ""
	@echo "make bsd		OpenBSD, FreeBSD, NetBSD"
	@echo "make darwin		Darwin/MacOS X"
	@echo "make unixware		UnixWare"
	@echo "make ultrix		Ultrix"
	@echo "make irix		Irix"
	@echo "make solaris		Solaris, SunOS"
	@echo "make linux		Linux"
	@echo "make aix		AIX"
	@echo "make beos		BeOS"
	@echo "make winnt		Windows NT4/2000"
	@echo ""

bsd:
	$(MAKE) CC=gcc \
		LDFLAGS='-lkvm' \
		OBJECTS='stats-bsd.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_BSD -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

darwin:
	$(MAKE) CC=cc \
		LDFLAGS='-lkvm' \
		OBJECTS='stats-bsd.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_BSD -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

unixware:
	$(MAKE) CC=gcc \
		LDFLAGS= \
		OBJECTS='stats-uxw.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_UNIXWARE -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

ultrix:
	$(MAKE) CC=mwcc \
		LDFLAGS= \
		OBJECTS='stats-ult.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_ULTRIX -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

# Uncomment this if default Irix won't work
#irix:
#	$(MAKE) CC=cc \
#		LDFLAGS='-lnet' \
#		OBJECTS='stats-ult.c $(STDOPTS)' \
#		CFLAGS='-fullwarn -DPLATFORM_ULTRIX -DCONFIGFILE=\"$(CONFIGFILE)\"' \
#		upclient

irix:
	$(MAKE) CC=gcc \
		LDFLAGS='-lsocket -lnsl' \
		OBJECTS='stats-sol.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_SOLARIS -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

solaris:
	$(MAKE) CC=gcc \
		LDFLAGS='-lsocket -lnsl' \
		OBJECTS='stats-sol.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_SOLARIS -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

linux:
	$(MAKE) CC=gcc \
		LDFLAGS= \
		OBJECTS='stats-lnx.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_LINUX -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

aix:
	$(MAKE) CC=cc \
		LDFLAGES= \
		OBJECTS='stats-aix.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_AIX -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

beos:
	$(MAKE) CC=gcc \
		LDFLAGS= \
		OBJECTS='stats-beos.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_BEOS -DCONFIGFILE=\"$(CONFIGFILE)\"' \
 		upclient

winnt:
	$(MAKE) CC=bcc32 \
		LDFLAGS= \
		OBJECTS='stats-w2k.c $(STDOPTS)' \
		CFLAGS='-DPLATFORM_WINNT -DCONFIGFILE=\"$(CONFIGFILE)\"' \
		upclient

upclient: upclient.h
	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) upclient.c -o $(BINNAME)

clean:
	rm -f core *.o upclient
