
CC = LANG=C gcc
LD = ld

CFLAGS += -pthread -g -Wall
LDFLAGS += -pthread -g

ifeq ($(DEBUG),1)
	CFLAGS += -fprofile-arcs -ftest-coverage
	LDFLAGS += -fprofile-arcs -ftest-coverage
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

TARGETC = sampleclient
COBJ = sampleclient.o

TARGETS = sampleserver
SOBJ = sampleserver.o

LIB = ../libhtlib.a
OBJS = htlib.o HtLib_.o log.o Socket.o Header.o Thread.o \
	Sender.o Receiver.o Date.o Time.o
	

all: $(TARGETC) $(TARGETS)

$(TARGETC): $(COBJ) $(LIB)
	$(CC) $(LDFLAGS) -o $@ $(COBJ) $(LIB)

$(TARGETS): $(SOBJ) $(LIB)
	$(CC) $(LDFLAGS) -o $@ $(SOBJ) $(LIB)

$(LIB): $(OBJS)
	ar rcv $@ $(OBJS)

gcov:
	./gcov.sh $(OBJS:.o=.c)

clean:
	rm -f $(TARGET) $(TOBJ) $(LIB) $(OBJS) $(COBJ) $(SOBJ) *.gcov *.gcda *.gcno *~

