#
# NetStream library makefile
#

LIBS=-lns -lpthread
CFLAGS=-I../include
LDFLAGS=-L../lib $(LIBS)

TARGET1A=server1
TARGET1B=client1
TARGET2A=server2
TARGET2B=client2
TARGET3A=echod
TARGET3B=echo
TARGET=$(TARGET1A) $(TARGET1B) $(TARGET2A) $(TARGET2B) $(TARGET3A) $(TARGET3B)
#TARGET=$(TARGET3A) $(TARGET3B)

OBJ1A=sr_test.o
OBJ1B=cl_test.o
OBJ2A=sr_main.o
OBJ2B=cl_main.o
OBJ3A=echod.o
OBJ3B=echo.o
OBJ=$(OBJ1A) $(OBJ1B) $(OBJ2A) $(OBJ2B) $(OBJ3A) $(OBJ3B)

all: $(TARGET)

clean:
	rm -f $(TARGET) $(OBJ)

$(TARGET1A): $(OBJ1A)
	g++ -o $(TARGET1A) $(OBJ1A) $(LDFLAGS)

$(TARGET1B): $(OBJ1B)
	g++ -o $(TARGET1B) $(OBJ1B) $(LDFLAGS)

$(TARGET2A): $(OBJ2A)
	g++ -o $(TARGET2A) $(OBJ2A) $(LDFLAGS)

$(TARGET2B): $(OBJ2B)
	g++ -o $(TARGET2B) $(OBJ2B) $(LDFLAGS)

$(TARGET3A): $(OBJ3A)
	g++ -o $(TARGET3A) $(OBJ3A) $(LDFLAGS)

$(TARGET3B): $(OBJ3B)
	g++ -o $(TARGET3B) $(OBJ3B) $(LDFLAGS)

$(OBJ2A): main.cpp
	g++ -c -o sr_main.o main.cpp $(CFLAGS) -DSERVER

$(OBJ2B): main.cpp
	g++ -c -o cl_main.o main.cpp $(CFLAGS) -DCLIENT

#%.o: %.cpp
#	g++ -c -o $@ $< $(CFLAGS)
