# Makefile for indiserver, sample simulated drivers and other misc INDI tools.

# relative path to dir with libraries
LIBROOT = ../../../..

# compiler and linker flags
CC = gcc
CLDFLAGS = -g
GCCFLAGS = -ffast-math -Wall
CFLAGS = $(CLDFLAGS) $(GCCFLAGS) -I$(LIBROOT)/libastro -I$(LIBROOT)/liblilxml
LDFLAGS = $(CLDFLAGS) -L$(LIBROOT)/libastro -L$(LIBROOT)/liblilxml
LIBS = -lastro -llilxml -lm

# list each sample device
DRVS = tmount ota wx cam security

# supporting files comprising the INDI driver framework implementation
IDAI = indidrivermain.o eventloop.o

# build everything
all: indiserver drivers getINDIproperty

# build everything and start indiserver with all sample drivers
run: all
	indiserver $(DRVS) > x.err 2>&1 &

# build server
indiserver: indiserver.o
	$(CC) $(LDFLAGS) -o $@ indiserver.o $(LIBS)

# build each sample driver
drivers: $(DRVS)

# build each INDI driver process
tmount: $(IDAI) tmount.o
	$(CC) $(LDFLAGS) -o $@ $(IDAI) tmount.o $(LIBS)

ota: $(IDAI) ota.o
	$(CC) $(LDFLAGS) -o $@ $(IDAI) ota.o $(LIBS)

wx: $(IDAI) wx.o
	$(CC) $(LDFLAGS) -o $@ $(IDAI) wx.o $(LIBS)

cam: $(IDAI) cam.o
	$(CC) $(LDFLAGS) -o $@ $(IDAI) cam.o $(LIBS)

security: $(IDAI) security.o
	$(CC) $(LDFLAGS) -o $@ $(IDAI) security.o $(LIBS)

getINDIproperty: getINDIproperty.o
	$(CC) $(LDFLAGS) -o $@ $? $(LIBS)


# clean up
clobber:
	touch x.o
	rm -f *.o indiserver $(DRVS) x.err

# For RCS Only -- Do Not Edit
# @(#) $RCSfile: Makefile,v $ $Date: 2004/07/15 05:32:31 $ $Revision: 1.12 $ $Name:  $
