default: mbrtuport

MODINC = /usr/share/emc/Makefile.modinc
BINDIR = /usr/bin

MODBUS_INCLUDES = /usr/local/include/modbus
MODBUS_LIBS = /usr/local/lib

ifeq "$(MODINC)" ""
$(error Required files for building components not present.  Install emc2-dev)
endif
include $(MODINC)

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

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

include .o/mbrtuport.d #.o/modbus.d

install: mbrtuport
	cp mbrtuport $(BINDIR)

mbrtuport: .o/mbrtuport.o #.o/modbus.o
	$(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 mbrtuport
	-rm -rf .o
