Current section
Files
Jump to
Current section
Files
elixir_libxl
Makefile
Makefile
PREFIX = $(MIX_APP_PATH)/priv
BUILD = $(MIX_APP_PATH)/obj
NIF = $(PREFIX)/libxl.so
CFLAGS = -std=c11 -fpic -D_UNICODE -DUNICODE
LDFLAGS = -dynamiclib -undefined dynamic_lookup -lxl
ERL_CFLAGS = -I$(ERL_EI_INCLUDE_DIR) -I/usr/include -I/usr/local/include
ERL_LDFLAGS = -L$(ERL_EI_LIBDIR) -lei
SRC = $(wildcard c_src/*.c)
HEADERS = $(wildcard c_src/*.h)
OBJ = $(SRC:c_src/%.c=$(BUILD)/%.o)
all: install
install: $(PREFIX) $(BUILD) $(NIF)
$(OBJ): $(HEADERS) Makefile
$(BUILD)/%.o: c_src/%.c
$(CC) -c $(CFLAGS) $(ERL_CFLAGS) -o $@ $<
$(NIF): $(OBJ)
$(CC) $(LDFLAGS) $(ERL_LDFLAGS) -o $@ $^
$(PREFIX) $(BUILD):
mkdir -p $@
clean:
$(RM) $(NIF) $(OBJ)
.PHONY: all clean install