STAGINGDIR?=/
INSTALL?=install

-include $(STAGINGDIR)/usr/components.config
-include $(STAGINGDIR)/components.config

OBJECTS = ../../common/common.o \
          evented_client.o

TARGET = pcb_evented_client.so

CFLAGS += -g -I$(STAGINGDIR)/include -I$(STAGINGDIR)/usr/include -I../../common -Os -Wall -Wextra --std=gnu99 \
	$(shell pkg-config --cflags sahtrace pcb yajl)
LDFLAGS += -L$(STAGINGDIR)/lib -L$(STAGINGDIR)/usr/lib  $(shell pkg-config --libs sahtrace pcb yajl)

all: $(TARGET)

$(TARGET): $(OBJECTS)
	$(CC) -Wl,-soname,$(TARGET) -shared -fPIC -o $(@) $(OBJECTS) $(LDFLAGS)

-include $(OBJECTS:.o=.d)

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<
	@$(CC) $(CFLAGS) -MM -MP -MT '$(@) $(@:.o=.d)' -MF $(@:.o=.d) $(<)

install:
	$(INSTALL) -d $(STAGINGDIR)/usr/lib/tutorials
	$(INSTALL) -m 644 $(TARGET) $(STAGINGDIR)/usr/lib/tutorials

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

check-syntax:
	$(CC) $(CFLAGS) -fsyntax-only $(CHK_SOURCES)

.PHONY: install clean check-syntax
