# Makefile for snTest
# Menu-driven test program to test snLib functionality
# 28 May 2013
#

# Which C compiler to use - (cc, gcc xlc, etc.).
CC = gcc

# Compiler Flags
CFLAGS = -Wall -c -I. -I.. -I/usr/local/include -I/usr/local/include/modbus

LIBFLAGS = -L/usr/local/lib -lmodbus

SNLIB  = ../snLib.a

.c.o :
	$(CC) $(CFLAGS) $< 

ifdef CYGWIN
TARGET	= snTest.exe
TTARGET = snTerm.exe
LTARGET	= loopTest.exe
else
TARGET  = snTest
TTARGET = snTerm
LTARGET	= loopTest
endif

SOURCE	= snTest.c

OBJECTS     = $(SOURCE:%.c=%.o)

# Linking object files
$(TARGET): $(OBJECTS) $(SNLIB)
	$(CC) -o $(TARGET) $(OBJECTS) $(SNLIB) $(LIBFLAGS)

snTest.o:  snTest.c
	$(CC) $(CFLAGS) snTest.c

term:       $(TTARGET)

$(TTARGET): snTerm.o $(SNLIB)
	$(CC) -o $(TTARGET) snTerm.o $(SNLIB) $(LIBFLAGS)

snTerm.o:  snTerm.c
	$(CC) $(CFLAGS) snTerm.c

$(LTARGET): test-snloop.o $(SNLIB)
	$(CC) -o $(LTARGET) test-snloop.o $(SNLIB) $(LIBFLAGS)

test-snloop.o:  test-snloop.c
	$(CC) $(CFLAGS) test-snloop.c

termMode.exe: termMode.o
	$(CC) -o termMode.exe termMode.o

# Remove executable and object files
clean:
	rm -f $(OBJECTS) $(TARGET)
