-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
107 lines (85 loc) · 2.56 KB
/
Makefile
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# for verbose output do "make V=1"
E=@echo
C=@
ifneq (${V}${VERBOSE},)
E=@true
C=
endif
BLDDIR = build
WGTDIR = ${BLDDIR}/wgt
CERT ?= stav
# tizen
TIZEN_SDK_ROOT ?= ~/tizen-sdk
TIZEN = ${TIZEN_SDK_ROOT}/tools/ide/bin/tizen
# Pepper 42 for 2016 TVs
NACL_SDK_ROOT ?= ~/nacl_sdk/pepper_42
WARNINGS = -Wno-long-long -Wall -Werror
CXXFLAGS = -std=gnu++0x -g $(WARNINGS)
OSNAME := $(shell python $(NACL_SDK_ROOT)/tools/getos.py)
PNACL_TC_PATH := $(abspath $(NACL_SDK_ROOT)/toolchain/$(OSNAME)_pnacl)
PNACL_CC = $(PNACL_TC_PATH)/bin/pnacl-clang
PNACL_CXX = $(PNACL_TC_PATH)/bin/pnacl-clang++
PNACL_TRANSLATE = $(PNACL_TC_PATH)/bin/pnacl-translate
PNACL_FINALIZE = $(PNACL_TC_PATH)/bin/pnacl-finalize
CXXFLAGS += -I$(NACL_SDK_ROOT)/include -I$(NACL_SDK_ROOT)/include/pnacl -Ithird/include
LDFLAGS = -L$(NACL_SDK_ROOT)/lib/pnacl/Release -Lthird/lib
LIBS = \
-lavformat -lavcodec -lavutil -lswresample \
-lssl -lcrypto \
-lbz2 -lz \
-lpthread -lm -lc++ \
-lnacl_player -lnacl_io -lppapi -lppapi_cpp
SOURCES = \
src/convert_codecs.cc \
src/elementary_stream_packet.cc \
src/logger.cc \
src/message_receiver.cc \
src/message_sender.cc \
src/player_listeners.cc \
src/player_provider.cc \
src/rtsp_player_controller.cc \
src/stav_player.cc \
NEXES = \
${BLDDIR}/stavplay_i686.nexe \
${BLDDIR}/stavplay_x86-64.nexe \
${BLDDIR}/stavplay_armv7.nexe \
OBJS := $(patsubst %.cc, ${BLDDIR}/%.po, ${SOURCES})
DEPS := $(patsubst %, %.deps, ${OBJS})
all: stavplay.wgt
# first target is default. deps are targets. thus not first
-include ${DEPS}
${BLDDIR}/stavplay.pexe: ${OBJS}
@mkdir -p $(dir $@)
$E "LD $@"
$C ${PNACL_CXX} -o $@ ${CXXFLAGS} ${LDFLAGS} $^ ${LIBS}
${BLDDIR}/%.po: %.cc
@mkdir -p $(dir $@)
$E "CC $@"
$C ${PNACL_CXX} -o $@ -c $< ${CXXFLAGS} -MMD -MF [email protected]
${BLDDIR}/stavplay.nmf: ${NEXES}
@mkdir -p $(dir $@)
$E "NMF $@"
$C python "$(NACL_SDK_ROOT)/tools/create_nmf.py" --objdump true -o $@ $^
${BLDDIR}/stavplay_%.nexe: ${BLDDIR}/stavplay.pexe
@mkdir -p $(dir $@)
$E "TRANSLATE $@"
$C ${PNACL_TRANSLATE} --allow-llvm-bitcode-input -arch $* $^ -o $@
stavplay.wgt: ${BLDDIR}/stavplay.nmf
@mkdir -p ${WGTDIR}
$E "BUILD-WEB $@"
$C ${TIZEN} build-web -e "build* scripts* src* third* makefile .gitignore README.md" -out ${WGTDIR}
$C cp ${NEXES} ${BLDDIR}/stavplay.nmf ${WGTDIR}
$C cd ${WGTDIR}; ${TIZEN} package -t wgt -s ${CERT} >/dev/null
$C mv ${WGTDIR}/stavplay.wgt $@
clean:
@test "" != "${BLDDIR}" && test . != ${BLDDIR}
rm -rf ${BLDDIR}
rm -f stavplay.wgt
.PHONY: all clean
# disable many built-in rules
.SUFFIXES:
%: %,v
%: RCS/%
%: RCS/%,v
%: s.%
%: SCCS/s.%