TOPDIR=../../
include $(TOPDIR)/src/Makefile.opt
REFRESHD_DIR=$(TOPDIR)/src/refreshd

CCC = g++
CC = gcc
CCFLAGS = -g -D_REENTRANT $(NOISY) -Wall -pedantic $(X11_CFLAGS) \
	 $(R2LLIB_CFLAGS) $(REFRESHD_INCLUDES) $(OPT_CFLAGS) \
	 $(SOCK_CFLAGS) -I$(REFRESHD_DIR) -c

LDFLAGS = -g 
LIBS = -lpthread $(X11_LIBS) $(R2LLIB_LIBS) $(REFRESHD_LIBS) $(SOCKET_LIBS)
WINDOW_DB=test_window_db
COMM_SERVER=comm_server
TEST_CNT=test_refreshd_cnt
PROGS = $(WINDOW_DB) $(COMM_SERVER) $(TEST_CNT)

WINDOW_DB_HEADERS = $(REFRESHD_DIR)/window_db.h \
	  $(REFRESHD_DIR)/window_db_iterator.h

COMM_SERVER_HEADERS = $(REFRESHD_DIR)/window_db.h \
                      $(REFRESHD_DIR)/communication.h

all: $(PROGS)

$(WINDOW_DB): test_window_db.o $(REFRESHD_DIR)/window_db.o \
	      $(REFRESHD_DIR)/auto_display.o \
	      $(REFRESHD_DIR)/window_db_iterator.o \
	      $(REFRESHD_DIR)/debug.o
	$(CCC) $(LDFLAGS) $^  -o $@ $(LIBS)

$(COMM_SERVER): comm_server.o $(REFRESHD_DIR)/communication.o\
                $(REFRESHD_DIR)/window_db.o\
                $(REFRESHD_DIR)/auto_display.o \
                $(REFRESHD_DIR)/window_db_iterator.o\
                $(REFRESHD_DIR)/debug.o
	$(CCC) $(LDFLAGS) $^  -o $@ $(LIBS)


test_window_db.o: test_window_db.cc $(WINDOW_DB_HEADERS)
	$(CCC) $(CCFLAGS) $<

comm_server.o: comm_server.cc $(COMM_SERVER_HEADERS)
	$(CCC) $(CCFLAGS) $<

test_refreshd_cnt.o: test_refreshd_cnt.cc
	$(CCC) $(CCFLAGS) $<

clean:
	rm -f *.o *~ a.out core

install: $(PROGS) 
	$(INSTALL) -d $(BINDIR)
	for prog in $(PROGS); do \
	  $(INSTALL) $$prog $(BINDIR); \
	done

uninstall:
	for file in $(PROGS) ; \
	  do $(RM) $(BINDIR)/$$file; \
	done
