File: Makefile.mk

package info (click to toggle)
ola 0.10.8.nojsmin-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 16,656 kB
  • sloc: cpp: 132,274; python: 14,082; javascript: 6,774; sh: 4,616; ansic: 2,189; java: 518; xml: 253; makefile: 183
file content (151 lines) | stat: -rw-r--r-- 6,035 bytes parent folder | download | duplicates (3)
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Note: gcc 4.6.1 is pretty strict about library ordering. Libraries need to be
# specified in the order they are used. i.e. a library should depend on things
# to the right, not the left.
# See http://www.network-theory.co.uk/docs/gccintro/gccintro_18.html

if BUILD_EXAMPLES

# The following should match what pkg-config --libs libola returns
EXAMPLE_COMMON_LIBS = common/libolacommon.la \
                      ola/libola.la

# LIBRARIES
##################################################
noinst_LTLIBRARIES += examples/libolaconfig.la
examples_libolaconfig_la_SOURCES = \
    examples/OlaConfigurator.h \
    examples/OlaConfigurator.cpp
examples_libolaconfig_la_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)

# PROGRAMS
##################################################
bin_PROGRAMS += \
    examples/ola_dev_info \
    examples/ola_rdm_discover \
    examples/ola_rdm_get \
    examples/ola_recorder \
    examples/ola_streaming_client \
    examples/ola_timecode \
    examples/ola_uni_stats

if USE_E131
bin_PROGRAMS += examples/ola_e131
examples_ola_e131_SOURCES = examples/ola-e131.cpp
examples_ola_e131_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
examples_ola_e131_LDADD = examples/libolaconfig.la \
                          $(EXAMPLE_COMMON_LIBS) \
                          plugins/e131/messages/libolae131conf.la \
                          $(libprotobuf_LIBS)
endif

if USE_USBPRO
bin_PROGRAMS += examples/ola_usbpro
examples_ola_usbpro_SOURCES = examples/ola-usbpro.cpp
examples_ola_usbpro_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
examples_ola_usbpro_LDADD = examples/libolaconfig.la \
                            $(EXAMPLE_COMMON_LIBS) \
                            plugins/usbpro/messages/libolausbproconf.la \
                            $(libprotobuf_LIBS)
endif

if USE_ARTNET
bin_PROGRAMS += examples/ola_artnet
examples_ola_artnet_SOURCES = examples/ola-artnet.cpp
examples_ola_artnet_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
examples_ola_artnet_LDADD = examples/libolaconfig.la \
                            $(EXAMPLE_COMMON_LIBS) \
                            plugins/artnet/messages/libolaartnetconf.la \
                            $(libprotobuf_LIBS)
endif

examples_ola_dev_info_SOURCES = examples/ola-client.cpp
examples_ola_dev_info_LDADD = $(EXAMPLE_COMMON_LIBS)

examples_ola_streaming_client_SOURCES = examples/ola-streaming-client.cpp
examples_ola_streaming_client_LDADD = $(EXAMPLE_COMMON_LIBS)

examples_ola_rdm_get_SOURCES = examples/ola-rdm.cpp
examples_ola_rdm_get_LDADD = $(EXAMPLE_COMMON_LIBS)

examples_ola_rdm_discover_SOURCES = examples/ola-rdm-discover.cpp
examples_ola_rdm_discover_LDADD = $(EXAMPLE_COMMON_LIBS)

examples_ola_recorder_SOURCES = \
    examples/ola-recorder.cpp \
    examples/ShowLoader.h \
    examples/ShowLoader.cpp \
    examples/ShowPlayer.h \
    examples/ShowPlayer.cpp \
    examples/ShowRecorder.h \
    examples/ShowRecorder.cpp \
    examples/ShowSaver.h \
    examples/ShowSaver.cpp
examples_ola_recorder_LDADD = $(EXAMPLE_COMMON_LIBS)

examples_ola_timecode_SOURCES = examples/ola-timecode.cpp
examples_ola_timecode_LDADD = $(EXAMPLE_COMMON_LIBS)

examples_ola_uni_stats_SOURCES = examples/ola-uni-stats.cpp
examples_ola_uni_stats_LDADD = $(EXAMPLE_COMMON_LIBS)

if HAVE_NCURSES
bin_PROGRAMS += examples/ola_dmxconsole examples/ola_dmxmonitor
examples_ola_dmxconsole_SOURCES = examples/ola-dmxconsole.cpp
examples_ola_dmxmonitor_SOURCES = examples/ola-dmxmonitor.cpp
if HAVE_NCURSES_PKGCONFIG
examples_ola_dmxconsole_LDADD = $(EXAMPLE_COMMON_LIBS) $(libncurses_LIBS)
examples_ola_dmxmonitor_LDADD = $(EXAMPLE_COMMON_LIBS) $(libncurses_LIBS)
else
# Fallback when pkg-config didn't know about ncurses
examples_ola_dmxconsole_LDADD = $(EXAMPLE_COMMON_LIBS) -lncurses
examples_ola_dmxmonitor_LDADD = $(EXAMPLE_COMMON_LIBS) -lncurses
endif
endif

noinst_PROGRAMS += examples/ola_throughput examples/ola_latency
examples_ola_throughput_SOURCES = examples/ola-throughput.cpp
examples_ola_throughput_LDADD = $(EXAMPLE_COMMON_LIBS)
examples_ola_latency_SOURCES = examples/ola-latency.cpp
examples_ola_latency_LDADD = $(EXAMPLE_COMMON_LIBS)

if USING_WIN32
# rename this program, otherwise UAC will block it
OLA_PATCH_NAME = ola_ptch
else
OLA_PATCH_NAME = ola_patch
endif

# Many of the example programs are just symlinks to ola_dev_info
install-exec-hook-examples:
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/$(OLA_PATCH_NAME)
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_plugin_info
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_set_dmx
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_set_priority
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_uni_info
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_uni_merge
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_uni_name
	$(LN_S) -f $(bindir)/ola_dev_info $(DESTDIR)$(bindir)/ola_plugin_state
	$(LN_S) -f $(bindir)/ola_rdm_get $(DESTDIR)$(bindir)/ola_rdm_set

INSTALL_EXEC_HOOKS += install-exec-hook-examples

# TESTS_DATA
##################################################

EXTRA_DIST += \
    examples/testdata/dos_line_endings \
    examples/testdata/multiple_unis \
    examples/testdata/partial_frames \
    examples/testdata/single_uni \
    examples/testdata/trailing_timeout

# TESTS
##################################################
test_scripts += examples/RecorderVerifyTest.sh

examples/RecorderVerifyTest.sh: examples/Makefile.mk
	echo "for FILE in ${srcdir}/examples/testdata/dos_line_endings ${srcdir}/examples/testdata/multiple_unis ${srcdir}/examples/testdata/partial_frames ${srcdir}/examples/testdata/single_uni ${srcdir}/examples/testdata/trailing_timeout; do echo \"Checking \$$FILE\"; ${top_builddir}/examples/ola_recorder${EXEEXT} --verify \$$FILE; STATUS=\$$?; if [ \$$STATUS -ne 0 ]; then echo \"FAIL: \$$FILE caused ola_recorder to exit with status \$$STATUS\"; exit \$$STATUS; fi; done; exit 0" > examples/RecorderVerifyTest.sh
	chmod +x examples/RecorderVerifyTest.sh

CLEANFILES += examples/RecorderVerifyTest.sh
endif