aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 3c1595aa468ed0c991e2ac9dec76d85e016d6538 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# See LICENSE for licensing information.

PROJECT = esdl2
PROJECT_DESCRIPTION = SDL2 Erlang NIF.
PROJECT_VERSION = 0.1.0

# Dependencies.

BUILD_DEPS = nif_helpers
dep_nif_helpers = git https://github.com/ninenines/nif_helpers master
DEP_PLUGINS = nif_helpers

TEST_DEPS = $(if $(CI_ERLANG_MK),ci.erlang.mk)

# CI configuration.

dep_ci.erlang.mk = git https://github.com/ninenines/ci.erlang.mk master
DEP_EARLY_PLUGINS = ci.erlang.mk

AUTO_CI_OTP ?= OTP-20+
# AUTO_CI_HIPE ?= OTP-LATEST
# AUTO_CI_ERLLVM ?= OTP-LATEST
AUTO_CI_WINDOWS ?= OTP-20+

# Standard targets.

include erlang.mk

# SDL2 flags.

SDL2_CFLAGS = $(shell sdl2-config --cflags)
CFLAGS += $(SDL2_CFLAGS)
# @todo -undefined dynamic_lookup on OSX?
LDLIBS += -lSDL2 -lSDL2_image -lSDL2_ttf

# Clean the environment before each CI builds.

ci-setup:: distclean-c_src-env

# Additional checks.

check:: cppcheck scan-build

cppcheck:
	$(gen_verbose) cppcheck -f -q --error-exitcode=2 --enable=warning,style --inconclusive \
		-I$(DEPS_DIR)/nif_helpers $(firstword $(SDL2_CFLAGS)) -U_System -USDL_CreateThread c_src/

scan-build:
	$(verbose) $(MAKE) clean
	$(gen_verbose) scan-build $(MAKE)

hello_sdl:: all
	erlc -o examples/hello_sdl examples/hello_sdl/*.erl
	cd examples/hello_sdl && ./start.sh

bullet_engine:: all
	erlc -o examples/bullet_engine examples/bullet_engine/*.erl
	cd examples/bullet_engine && ./start.sh