]> rtime.felk.cvut.cz Git - pes-rpp/rpp-simulink.git/blob - rpp/demos/Makefile
Fail when required demos are missing (in the release)
[pes-rpp/rpp-simulink.git] / rpp / demos / Makefile
1 # Copyright (C) 2013, 2015 Czech Technical University in Prague
2 #
3 # Authors:
4 #     - Michal Sojka <sojkam1@fel.cvut.cz>
5 #
6 # This document contains proprietary information belonging to Czech
7 # Technical University in Prague. Passing on and copying of this
8 # document, and communication of its contents is not permitted
9 # without prior written authorization.
10 #
11 # File : Makefile
12 # Abstract:
13 #     Build demos
14
15 include ../lib/Makefile.config
16
17 DEMOS = $(demos_$(TARGET))
18
19 demos_rm48_hdk = $(demos_hdk)
20 demos_tms570_hdk = $(demos_hdk)
21 demos_tms570_hydctr = $(demos_hydctr)
22
23 demos_hdk =                             \
24         adc_demo_hdk                    \
25         adc_overrun_test                \
26         can_ext_mode_demo               \
27         can_simple_demo                 \
28         cantransmit                             \
29         continuous_hdk                  \
30         demo_board_hdk                  \
31         echo_char                               \
32         gio_demo_hdk                    \
33         hello_world                             \
34         multirate_st_hdk                \
35         multirate_mt_hdk
36
37 demos_hydctr =                          \
38         $(demos_hdk)                    \
39     board_init_hydctr
40
41 demos_tms570_rpp =                               \
42         analog_passthrough_rpp           \
43         analog_sinewave_rpp              \
44         can_demo                                         \
45         can_ext_mode_demo                        \
46         cantransmit                              \
47         demo_board_rpp                           \
48         digital_passthrough_rpp          \
49         echo_char                                        \
50         fray_basic_demo_rpp              \
51         fray_motor_demo_rpp              \
52         hbridge_analog_control_rpp       \
53         hbridge_digital_control_rpp  \
54         hbridge_sinewave_control_rpp \
55         hello_world                              \
56         irc_input_rpp                            \
57         led_blink_all_rpp                        \
58         led_blink_rpp                            \
59         log_analog_input_rpp             \
60         power_toggle_rpp                         \
61         three_phase_freq_rpp
62
63 # Check that each demo is used for least one target
64 all_demos = $(wildcard *.slx)
65 unused_demos = $(filter-out $(sort $(demos_hdk) $(demos_hydctr) $(demos_tms570_rpp)),$(all_demos:%.slx=%))
66 missing_demos = $(filter-out $(all_demos:%.slx=%),$(sort $(DEMOS)))
67 $(if $(unused_demos),$(error Unused demos: $(unused_demos)))
68 $(if $(missing_demos),$(error Missing demos: $(missing_demos)))
69
70 all: lib
71         matlab -nojvm -r "try; rpp_build_demos $(DEMOS); catch ME, disp(getReport(ME)); exit(1); end; exit(0)"
72
73 lib:
74         $(MAKE) -C ../lib rpp-lib.lib
75
76 MODELS=$(wildcard *.slx)
77 BUILD_DIRS=$(MODELS:%.slx=%_rpp)
78 clean:
79         rm -rf $(BUILD_DIRS)
80
81 .PHONY: print
82 print: # Used by buildbot
83         @echo $(DEMOS)