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

SONDA_BASE  ?= ../../../../sonda/trunk
HFEX_HOME ?= $(SONDA_BASE)/swtools/hfexctl/v0.2

HFEX_SRC  ?= $(HFEX_HOME)/*.c

HWIO_DTREE_HOME ?= ../../libs/hwio
HWIO_HOME   ?= $(SONDA_BASE)/swtools/hwio

DTREE_VERSION ?= v0.9
DTREE_BASE    ?= ../../libs/dtree
DTREE_HOME    ?= $(DTREE_BASE)/$(DTREE_VERSION)

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

all: hfexctl

hfexctl: $(HFEX_SRC) libhwio.a libdtree.a
	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^

libhwio.a:
	$(MAKE) -C $(HWIO_DTREE_HOME)
	$(Q) $(CP) $(HWIO_DTREE_HOME)/libhwio-dtree.a $@

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

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