]> rtime.felk.cvut.cz Git - pes-rpp/rpp-simulink.git/blobdiff - rpp/demos/Makefile
Add Simulink models to test compilation of extmode
[pes-rpp/rpp-simulink.git] / rpp / demos / Makefile
index 1424487b32db796520972dc7ca5a2f894484206f..60202bd82542ddd81e51ea77e30c44eb3d2cbecf 100644 (file)
@@ -1,8 +1,85 @@
-all: lib
-       matlab -nojvm -r "exit(rpp_build_demos())"
+# Copyright (C) 2013, 2015, 2019 Czech Technical University in Prague
+#
+# Authors:
+#     - Michal Sojka <sojkam1@fel.cvut.cz>
+#
+# This document contains proprietary information belonging to Czech
+# Technical University in Prague. Passing on and copying of this
+# document, and communication of its contents is not permitted
+# without prior written authorization.
+#
+# File : Makefile
+# Abstract:
+#     Build demos
+
+include ../lib/Makefile.config
+
+DEMOS = $(demos_$(TARGET))
+
+demos_rm48_hdk = $(demos_hdk)
+demos_tms570_hdk = $(demos_hdk)
+demos_tms570_hydctr = $(demos_hydctr)
+
+demos_hdk =                            \
+       adc_demo_hdk                    \
+       adc_overrun_test                \
+       can_ext_mode_demo               \
+       can_simple_demo                 \
+       cantransmit                             \
+       continuous_hdk                  \
+       demo_board_hdk                  \
+       echo_char                               \
+       gio_demo_hdk                    \
+       hello_world                             \
+       multirate_st_hdk                \
+       ext_mode_serial                 \
+       ext_mode_tcpip                  \
+       multirate_mt_hdk
+
+demos_hydctr =                         \
+       $(demos_hdk)                    \
+    board_init_hydctr
 
-%: %.slx lib
-       matlab -nojvm -r "exit(rpp_build_demos('$<'))"
+demos_tms570_rpp =                              \
+       analog_passthrough_rpp           \
+       analog_sinewave_rpp              \
+       can_demo                                         \
+       can_ext_mode_demo                        \
+       cantransmit                              \
+       demo_board_rpp                           \
+       digital_passthrough_rpp          \
+       echo_char                                        \
+       fray_basic_demo_rpp              \
+       fray_motor_demo_rpp              \
+       hbridge_analog_control_rpp       \
+       hbridge_digital_control_rpp  \
+       hbridge_sinewave_control_rpp \
+       hello_world                              \
+       irc_input_rpp                            \
+       led_blink_all_rpp                        \
+       led_blink_rpp                            \
+       log_analog_input_rpp             \
+       power_toggle_rpp                         \
+       three_phase_freq_rpp
+
+# Check that each demo is used for least one target
+all_demos = $(wildcard *.slx)
+unused_demos = $(filter-out $(sort $(demos_hdk) $(demos_hydctr) $(demos_tms570_rpp)),$(all_demos:%.slx=%))
+missing_demos = $(filter-out $(all_demos:%.slx=%),$(sort $(DEMOS)))
+$(if $(unused_demos),$(error Unused demos: $(unused_demos)))
+$(if $(missing_demos),$(error Missing demos: $(missing_demos)))
+
+all: lib
+       matlab -nojvm -r "try; rpp_build_demos $(DEMOS); catch ME, disp(getReport(ME)); exit(1); end; exit(0)"
 
 lib:
        $(MAKE) -C ../lib rpp-lib.lib
+
+MODELS=$(wildcard *.slx)
+BUILD_DIRS=$(MODELS:%.slx=%_rpp)
+clean:
+       rm -rf $(BUILD_DIRS)
+
+.PHONY: print
+print: # Used by buildbot
+       @echo $(DEMOS)