CC = gcc

TARGET  = yaskawa_test
SOURCES = main.c
OBJECTS = $(SOURCES:.c=.o)

# ---------- Paths ----------
EMCINC_PATH = /isodevice/solstice/include
LIB_DIR     = /isodevice/solstice/lib

# ---------- EtherCAT ----------
EC_CFLAGS = `pkg-config --cflags libethercat`
EC_LIBS   = `pkg-config --libs libethercat`

# ---------- Compiler Flags ----------
CFLAGS  = -O0 -Wall -D_GNU_SOURCE -DULAPI \
		  -I$(EMCINC_PATH) \
		  $(EC_CFLAGS)

# ---------- Linker Flags ----------
LDFLAGS = -L$(LIB_DIR) \
		  -Wl,-rpath,$(LIB_DIR) \
		  -llinuxcnchal \
		  -llinuxcnc \
		  -llinuxcncini \
		  -lnml \
		  -lpthread \
		  -lrt \
		  $(EC_LIBS)

# ---------- Build Rules ----------
all: $(TARGET)

$(TARGET): $(OBJECTS)
	$(CC) $(OBJECTS) -o $(TARGET) $(LDFLAGS) 

%.o: %.c
	$(CC) -c $< -o $@ $(CFLAGS)

clean:
	rm -f $(TARGET) $(OBJECTS)

.PHONY: all clean