##############################################################################  
# Copyright 2014 MBARI.                                                      #
# MBARI Proprietary Information. All rights reserved.                        #
##############################################################################

# files and directories
WR_REG_OBJS	= wr_reg.o
WR_REG_APP	= wr_reg

RD_REG_OBJS	= rd_reg.o
RD_REG_APP	= rd_reg

RCOIL_OBJS	= rcoil.o
RCOIL_APP	= rcoil

RINPUT_OBJS	= rinput.o
RINPUT_APP	= rinput

FCOIL_OBJS	= fcoil.o
FCOIL_APP	= fcoil

FCOIL_MULT_OBJS	= fcoil_mult.o
FCOIL_MULT_APP	= fcoil_mult

SPEED_TEST_OBJS	= speed_test.o
SPEED_TEST_APP	= speed_test

LOOP_TEST_OBJS	= loop_test.o
LOOP_TEST_APP	= loop_test

SER_WRITE_OBJS	= ser_write.o
SER_WRITE_APP	= ser_write

SER_READ_OBJS	= ser_read.o
SER_READ_APP	= ser_read

SER_STREAM_OBJS = ser_stream.o
SER_STREAM_APP  = ser_stream

ALL_APPS	= $(RD_REG_APP) $(WR_REG_APP) $(RCOIL_APP) $(FCOIL_APP) \
		  $(FCOIL_MULT_APP) $(SPEED_TEST_APP) $(LOOP_TEST_APP) \
		  $(SER_WRITE_APP) $(SER_READ_APP) $(RINPUT_APP) $(SER_STREAM_APP)

# tools
CC		= g++

# flags
INCLUDES	= -I. -I/usr/include/modbus -I/usr/local/include/modbus
#DEBUGFLAG	= -g -DDEBUG
DEBUGFLAG	=

CFLAGS		= -O3 -Wall $(DEBUGFLAG) $(INCLUDES)
LIBS		= -lmodbus -L/usr/lib

# build rules
all: $(ALL_APPS)

$(RD_REG_APP): $(RD_REG_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(WR_REG_APP): $(WR_REG_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(RCOIL_APP): $(RCOIL_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(RINPUT_APP): $(RINPUT_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(FCOIL_APP): $(FCOIL_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(FCOIL_MULT_APP): $(FCOIL_MULT_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(SPEED_TEST_APP): $(SPEED_TEST_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(LOOP_TEST_APP): $(LOOP_TEST_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(SER_WRITE_APP): $(SER_WRITE_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(SER_READ_APP): $(SER_READ_OBJS)
	$(CC) -o $@ $+ $(LIBS)

$(SER_STREAM_APP): $(SER_STREAM_OBJS)
	$(CC) -o $@ $+ $(LIBS)

.c.o:
	$(CC) $(CFLAGS) -c $<

clean:
	rm -f *.o *.exe $(ALL_APPS)


