CC  ?= gcc
AR  ?= ar
CFLAGS = -std=gnu99 -Wall -pedantic -Wextra
CP ?= cp -v
RM ?= rm -f
Q  ?= @

SONDA_BASE  ?= ../../../../sonda/trunk
FILTER_HOME ?= $(SONDA_BASE)/swtools/afilterctl/v0.4

FILTER_SRC  ?= $(FILTER_HOME)/afilterctl_main.c $(FILTER_HOME)/afilterctl_input.c $(FILTER_HOME)/afilterctl_cfg.c $(FILTER_HOME)/afilterctl.c

HWIO_DTREE_HOME ?= ../../libs/hwio
HWIO_HOME   ?= $(SONDA_BASE)/swtools/hwio/v0.4-rc2

DTREE_VERSION ?= v0.9
DTREE_BASE    ?= ../../libs/dtree
DTREE_HOME    ?= $(DTREE_BASE)/$(DTREE_VERSION)
TOP ?= $(shell pwd)
export DTREE_PATH    = $(TOP)/$(DTREE_HOME)

CFLAGS += -I$(HWIO_HOME)
LDFLAGS ?=

all: afilterctl

afilterctl: $(FILTER_SRC) libhwio_tool.a libhwio.a libdtree.a
	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^

libhwio.a:
	$(MAKE) -C $(HWIO_HOME) linux
	$(Q) $(CP) $(HWIO_HOME)/hwio-linux/libhwio_linux.a $@

libdtree.a:
	$(MAKE) -C $(DTREE_HOME)
	$(Q) $(CP) $(DTREE_HOME)/libdtree.a $@

libhwio_tool.a:
	$(MAKE) -C $(HWIO_HOME) tool
	$(Q) $(CP) $(HWIO_HOME)/libhwio_tool.a $@

clean:
	$(RM) *.a
	$(RM) *.o
	$(RM) filterctl
