2018-05-31 18:09:02 -06:00
ALL :=
CLEAN :=
2019-03-07 14:30:19 -07:00
PREFIX = $( MIX_COMPILE_PATH) /../priv
BUILD = $( MIX_COMPILE_PATH) /../obj
2019-03-11 11:47:10 -06:00
# Set Erlang-specific compile and linker flags
ERL_CFLAGS ?= -I$( ERL_EI_INCLUDE_DIR)
ERL_LDFLAGS ?= -L$( ERL_EI_LIBDIR)
2019-03-07 14:30:19 -07:00
2019-03-11 11:47:10 -06:00
NIF_LDFLAGS += -fPIC -shared
NIF_CFLAGS ?= -fPIC -O2 -Wall
2018-12-17 14:54:10 -07:00
2019-03-11 11:47:10 -06:00
NIF =
2018-01-05 11:02:05 -07:00
2019-03-11 11:47:10 -06:00
i f e q ( $( ERL_EI_INCLUDE_DIR ) , )
$( warning ERL_EI_INCLUDE_DIR not set . Invoke via mix )
2018-04-05 12:31:30 -06:00
e n d i f
2019-03-11 11:47:10 -06:00
.PHONY : fbos_arduino_firmware fbos_clean_arduino_firmware all clean
2018-01-05 11:02:05 -07:00
2019-03-11 11:47:10 -06:00
all : $( PREFIX ) $( BUILD ) $( PREFIX ) /build_calendar .so
2018-01-05 11:02:05 -07:00
2019-03-11 11:47:10 -06:00
clean :
$( RM) $( PREFIX) /*.so
2017-12-22 20:15:11 -07:00
2018-05-31 18:09:02 -06:00
fbos_arduino_firmware :
2018-06-05 15:30:11 -06:00
cd c_src/farmbot-arduino-firmware && make all BUILD_DIR = $( PWD) /_build FBARDUINO_FIRMWARE_SRC_DIR = $( PWD) /c_src/farmbot-arduino-firmware/src BIN_DIR = $( PWD) /priv
2018-02-15 09:27:11 -07:00
2018-05-31 18:09:02 -06:00
fbos_clean_arduino_firmware :
2018-06-05 15:30:11 -06:00
cd c_src/farmbot-arduino-firmware && make clean BUILD_DIR = $( PWD) /_build FBARDUINO_FIRMWARE_SRC_DIR = $( PWD) /c_src/farmbot-arduino-firmware/src BIN_DIR = $( PWD) /priv
2018-02-09 11:55:07 -07:00
2019-03-11 11:47:10 -06:00
$(PREFIX)/build_calendar.so : $( BUILD ) /build_calendar .o
$( CC) $( ERL_LDFLAGS) $( NIF_LDFLAGS) -o $@ $<
$(BUILD)/build_calendar.o : c_src /build_calendar /build_calendar .c
$( CC) -c $( ERL_CFLAGS) $( NIF_CFLAGS) -o $@ $<
$(PREFIX) :
mkdir -p $( PREFIX)
2018-02-09 11:55:07 -07:00
2019-03-11 11:47:10 -06:00
$(BUILD) :
mkdir -p $( BUILD)