Packages
nerves
1.7.6
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.0
1.11.3
1.11.2
1.11.1
1.11.0
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.3
1.9.2
retired
1.9.1
1.9.0
1.8.0
1.7.17
1.7.16
1.7.15
1.7.14
retired
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
retired
1.7.1
retired
1.7.0
retired
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.4.0-rc.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
Craft and deploy bulletproof embedded software
Current section
Files
Jump to
Current section
Files
Makefile
# Makefile for building the Nerves port monitor process
#
# This code is always run on the host as opposed to nearly everything else with
# Nerves. As such, it explicitly references the host compiler
# (non-crosscompiler)
#
# Makefile targets:
#
# all/install build and install
# clean clean build products and intermediates
#
# Variables to override:
#
# MIX_APP_PATH Path to the build directory
# CC_FOR_BUILD C compiler. MUST be set if crosscompiling
# CFLAGS_FOR_BUILD Optional compiler flags
# LDFLAGS_FOR_BUILD Optional linker flags
PREFIX = $(MIX_APP_PATH)/priv
BUILD = $(MIX_APP_PATH)/obj
PORT = $(PREFIX)/port
CC_FOR_BUILD ?= $(CC)
LDFLAGS_FOR_BUILD +=
CFLAGS_FOR_BUILD ?= -O2 -Wall -Wextra -Wno-unused-parameter
CFLAGS_FOR_BUILD += -std=c99 -D_GNU_SOURCE
#CFLAGS += -DDEBUG
SRC = $(wildcard src/*.c)
OBJ = $(SRC:src/%.c=$(BUILD)/%.o)
calling_from_make:
mix compile
all: install
@if [ -f test/fixtures/port/Makefile ]; then $(MAKE) -C test/fixtures/port; fi
install: $(PREFIX) $(BUILD) $(PORT)
$(OBJ): Makefile
$(BUILD)/%.o: src/%.c
$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $<
$(PORT): $(OBJ)
$(CC_FOR_BUILD) $^ $(LDFLAGS_FOR_BUILD) -o $@
$(PREFIX) $(BUILD):
@mkdir -p $@
clean:
$(RM) $(PORT) $(BUILD)/*.o
if [ -f test/fixtures/port/Makefile ]; then $(MAKE) -C test/fixtures/port clean; fi
.PHONY: all clean calling_from_make install