1DESTDIR ?=
2PREFIX ?= /usr/local
3
4CC ?= gcc
5CFLAGS ?= -O3
6LDFLAGS ?=
7
8
9# =====
10_PLUGIN = libjanus_ustreamer.so
11
12_CFLAGS = -fPIC -MD -c -std=c11 -Wall -Wextra -D_GNU_SOURCE $(shell pkg-config --cflags glib-2.0) $(CFLAGS)
13_LDFLAGS = -shared -lm -pthread -lrt -ljansson $(shell pkg-config --libs glib-2.0) $(LDFLAGS)
14
15_SRCS = $(shell ls src/*.c)
16
17_BUILD = build
18
19
20define optbool
21$(filter $(shell echo $(1) | tr A-Z a-z), yes on 1)
22endef
23
24
25WITH_PTHREAD_NP ?= 1
26ifneq ($(call optbool,$(WITH_PTHREAD_NP)),)
27override _CFLAGS += -DWITH_PTHREAD_NP
28endif
29
30
31# =====
32$(_PLUGIN): $(_SRCS:%.c=$(_BUILD)/%.o)
33	$(info == SO $@)
34	@ $(CC) $^ -o $@ $(_LDFLAGS)
35
36
37$(_BUILD)/%.o: %.c
38	$(info -- CC $<)
39	@ mkdir -p $(dir $@) || true
40	@ $(CC) $< -o $@ $(_CFLAGS)
41
42
43
44install: $(_PLUGIN)
45	mkdir -p $(DESTDIR)$(PREFIX)/lib/ustreamer/janus
46	install -m755 $(_PLUGIN) $(DESTDIR)$(PREFIX)/lib/ustreamer/janus/$(PLUGIN)
47
48
49clean:
50	rm -rf $(_PLUGIN) $(_BUILD)
51
52
53_OBJS = $(_SRCS:%.c=$(_BUILD)/%.o)
54-include $(_OBJS:%.o=%.d)
55