CC      = gcc
CFLAGS  = -std=gnu99 -Wall -pedantic -g -O2
CP     ?= cp -v
RM     ?= rm -f

HWIO_HOME    ?= ../../hwio/v0.4-rc2
COMBO_HOME   ?= /usr/include/linux/combo

CFLAGS   += -I$(HWIO_HOME)

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

all: afilternetctl afilterctl
afilterctl: afilterctl.o afilterctl_input.o afilterctl_main.o afilterctl_cfg.o libhwio
	$(CC) $(CFLAGS) -I$(COMBO_HOME) -lcombo -lcommlbr -lm -o afilterctl afilterctl.o afilterctl_cfg.o afilterctl_input.o afilterctl_main.o -L$(HWIO_HOME) -lhwio_tool -L$(HWIO_HOME)/hwio-cv2 -lhwio_cv2
afilterctl.o: afilterctl.c
#afilternetctl.o: afilternetctl.c
afilterctl_cfg.o:afilterctl_cfg.c
afilterctl_input.o: afilterctl_input.c
afilterctl_main.o: afilterctl_main.c
afilternetctl: afilternetctl.o afilterctl_input.o afilterctl_main.o afilterctl_cfg.o libhwio
	$(CC) $(CFLAGS) -I$(COMBO_HOME) -lcombo -lcommlbr -lm -o afilternetctl afilternetctl.o afilterctl_cfg.o afilterctl_input.o afilterctl_main.o -L$(HWIO_HOME) -lhwio_tool -L$(HWIO_HOME)/hwio-cv2 -lhwio_cv2

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

libhwio: libhwio_cv2.a libhwio_tool.a

libhwio_cv2.a:
	$(MAKE) -C $(HWIO_HOME) cv2

libhwio_tool.a:
	$(MAKE) -C $(HWIO_HOME) tool

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

cleanall: clean clean-hwio
clean: clean-o clean-exe clean-rest
clean-o:
	$(RM) *.o

clean-exe:
	$(RM) afilterctl afilterctl.exe

clean-rest:
	$(RM) *.~ *.save *.zip

clean-hwio:
	$(MAKE) -C $(HWIO_HOME) distclean

