Packages

Excansock allows you to communicate using CAN bus through SocketCAN API. As SocketCAN is Linux specific, this project is useful only on Linux operating system.

Current section

Files

Jump to
excansock Makefile
Raw

Makefile

# Set Erlang-specific compile and linker flags
ERL_CFLAGS ?= -I$(ERL_EI_INCLUDE_DIR)
ERL_LDFLAGS ?= -L$(ERL_EI_LIBDIR) -lei

PREFIX = $(MIX_APP_PATH)/priv
BUILD  = $(MIX_APP_PATH)/obj

LDFLAGS += -shared

CFLAGS ?= -O2 -Wall -Wextra -Wno-unused-parameter
CFLAGS += -std=c99 -D_GNU_SOURCE -fPIC

OBJS = excansock.o
OBJS_P = $(addprefix $(BUILD)/,$(OBJS))

NIF=$(PREFIX)/excansock_nif.so

all: $(PREFIX) $(BUILD) $(NIF)

$(PREFIX) $(BUILD):
	mkdir -p $@

$(BUILD)/%.o : c_src/%.c
	$(CC) -c $(ERL_CFLAGS) $(CFLAGS) -o $@ $<

$(NIF): $(OBJS_P)
	$(CC) $(ERL_LDFLAGS) $(LDFLAGS) -o $@ $^

clean:
	$(RM) $(NIF)