summaryrefslogtreecommitdiff
path: root/Makefile
blob: f31b002ad0ed2499a3f1c8480e23014c4f689253 (plain)
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
152
153
154
155
156
descend = \
	+mkdir -p $(OUTPUT)$(1) && \
	$(MAKE) $(COMMAND_O) subdir=$(if $(subdir),$(subdir)/$(1),$(1)) $(PRINT_DIR) -C $(1) $(2)

help:
	@echo 'Possible targets:'
	@echo ''
	@echo '  atl_lib	       - atl library'
	@echo '  lib               - igb library'
	@echo ''
	@echo '  daemons_all       - build all daemons (mrpd maap shaper)'
	@echo '  mrpd              - mrpd daemon'
	@echo '  maap              - maap daemon'
	@echo '  shaper            - shaper daemon for linux'
	@echo ''
	@echo '  avtp_pipeline     - AVTP pipeline'
	@echo '  avtp_pipeline_doc - AVTP pipeline doc'
	@echo '  avtp_avdecc       - AVTP avdecc'
	@echo '  avtp_avdecc_doc   - AVTP avdecc doc'
	@echo ''
	@echo '  examples_all      - build all examples (simple_talker simple_listener mrp_client live_stream jackd-talker jackd-listener)'
	@echo '  simple_talker     - simple_talker application'
	@echo '  simple_listener   - simple_listener application'
	@echo '  mrp_client        - mrp_client application'
	@echo '  jackd-talker      - jackd-talker application'
	@echo '  jackd-listener    - jackd-listener application'
	@echo '  live_stream       - live_stream application'
	@echo ''
	@echo 'Cleaning targets:'
	@echo ''
	@echo '  all of the above with the "_clean" string appended cleans'
	@echo '    the respective build directory.'
	@echo '  clean: a summary clean target to clean _all_ folders'
	@echo ''

atl_lib: FORCE
	$(call descend,lib/atl_avb/lib)
	$(call descend,lib/common)

atl_lib_clean:
	$(call descend,lib/atl_avb/lib/,clean)
	$(call descend,lib/common/,clean)

lib: FORCE
	$(call descend,lib/igb_avb/lib)
	$(call descend,lib/common)

lib_clean:
	$(call descend,lib/igb_avb/lib/,clean)
	$(call descend,lib/common/,clean)

mrpd:
	$(call descend,daemons/$@)

mrpd_clean:
	$(call descend,daemons/mrpd/,clean)

maap:
	$(call descend,daemons/$@/linux/build/)

maap_clean:
	$(call descend,daemons/maap/linux/build/,clean)

shaper:
	$(call descend,daemons/$@)

shaper_clean:
	$(call descend,daemons/shaper/,clean)

daemons_all: mrpd maap shaper

daemons_all_clean: mrpd_clean maap_clean shaper_clean

examples_common:
	$(call descend,examples/common)

examples_common_clean:
	$(call descend,examples/common/,clean)

simple_talker:
	$(MAKE) lib
	$(call descend,examples/$@)

simple_talker_clean:
	$(call descend,examples/simple_talker/,clean)

simple_listener:
	$(MAKE) lib
	$(call descend,examples/$@)

simple_listener_clean:
	$(call descend,examples/simple_listener/,clean)

simple_rx:
	$(MAKE) lib
	$(call descend,examples/$@)

simple_rx_clean:
	$(call descend,examples/simple_rx/,clean)

mrp_client:
	$(call descend,examples/$@)

mrp_client_clean:
	$(call descend,examples/mrp_client/,clean)

jackd-talker:
	$(MAKE) lib
	$(call descend,examples/$@)

jackd-talker_clean:
	$(call descend,examples/jackd-talker/,clean)

jackd-listener:
	$(MAKE) lib
	$(call descend,examples/$@)

jackd-listener_clean:
	$(call descend,examples/jackd-listener/,clean)

live_stream:
	$(MAKE) lib
	$(call descend,examples/$@)

live_stream_clean:
	$(call descend,examples/live_stream/,clean)

avtp_pipeline: lib atl_lib
	$(MAKE) -s -C lib/avtp_pipeline -f avtp_pipeline.mk

avtp_pipeline_clean:
	$(MAKE) -s -C lib/avtp_pipeline -f avtp_pipeline.mk clean

avtp_pipeline_doc: lib
	$(MAKE) -s -C lib/avtp_pipeline -f avtp_pipeline.mk doc

avtp_avdecc: lib
	$(MAKE) -s -C lib/avtp_pipeline -f avtp_avdecc.mk

avtp_avdecc_clean:
	$(MAKE) -s -C lib/avtp_pipeline -f avtp_avdecc.mk clean

avtp_avdecc_doc: lib
	$(MAKE) -s -C lib/avtp_pipeline -f avtp_avdecc.mk doc

examples_all: examples_common simple_talker simple_listener mrp_client live_stream jackd-talker \
	jackd-listener simple_rx

examples_all_clean: examples_common_clean simple_talker_clean simple_listener_clean mrp_client_clean \
	jackd-talker_clean jackd-listener_clean live_stream_clean simple_rx_clean

all: lib atl_lib daemons_all examples_all avtp_pipeline avtp_avdecc

clean: lib_clean atl_lib_clean daemons_all_clean examples_all_clean avtp_pipeline_clean avtp_avdecc_clean

.PHONY: FORCE