SRCDIR = source/
BINDIR = bin/
COMDIR = ../common/

VPATH = $(COMDIR) $(SRCDIR)
INCS = -I$(COMDIR) -I$(SRCDIR)

PACKDEP = $(BINDIR)gems-client.o
COMMONPACKDEP = $(COMDIR)protocol.o $(COMDIR)sighandlers.o

CLIENTDEP = gems-client.c common.h version.h protocol.h sighandlers.h

##################################################

.PHONY: all bindir remove clean install uninstall

all: bindir $(BINDIR)gems-client

bindir:
	@if [ ! -d "$(BINDIR)" ] ; then mkdir "$(BINDIR)"; fi

$(BINDIR)gems-client : $(PACKDEP) $(COMMONPACKDEP)
	$(CC) $(CFLAGS) $(CDEFINES) $(INCS) -o $@ $^

$(BINDIR)gems-client.o : $(CLIENTDEP)
	$(CC) $(CFLAGS) $(CDEFINES) $(INCS) -c $< -o $@

$(COMDIR)protocol.o: protocol.c common.h version.h protocol.h
	cd $(COMDIR) && $(MAKE)	

$(COMDIR)sighandlers.o: ../common/sighandlers.c ../common/sighandlers.h
	cd $(COMDIR) && $(MAKE)	

remove clean:
	rm -f $(PACKDEP) $(BINDIR)gems-client

install: $(BINDIR)gems-client
	install -m755 -D $< $(BINPATH)/gems-client

uninstall:
	rm -fv $(BINPATH)/gems-client
