default: hy_vfd

BINDIR := $(shell ./find-bindir)
EMC2_HOME := "`dirname $(shell ./find-bindir)`"

EXTRA_CFLAGS += -I$(EMC2_HOME)/include
LIBDIR := $(shell ./find-libdir)
ifeq "$(LIBDIR)" ""
$(error LIBDIR not found)
endif

CFLAGS := $(EXTRA_CFLAGS) -URTAPI -U__MODULE__ -DULAPI -Os
CFLAGS += $(shell pkg-config --cflags glib-2.0)
LFLAGS := -Wl,-rpath,$(LIBDIR) -L$(LIBDIR) -llinuxcnchal
LFLAGS += $(shell pkg-config --libs glib-2.0)

include .o/hy_vfd.d .o/hy_modbus.d

install: hy_vfd
	cp hy_vfd $(BINDIR)

hy_vfd: .o/hy_vfd.o .o/hy_modbus.o  -lpthread
	$(CC) -o $@ $^ $(LFLAGS)
	
.o/%.o: %.c
	mkdir -p .o
	$(CC) $(CFLAGS) -o $@ -c $<

.o/%.d: %.c
	mkdir -p .o
	$(CC) $(CFLAGS) -MM -MT "$@ $(patsubst %.d,%.o,$@)" $< -o $@.tmp \
			&& mv $@.tmp $@

clean:
	-rm -f hy_vfd
	-rm -rf .o
