1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-20 14:55:21 +03:00

handle dependencies in unit tests

This commit is contained in:
Magnus Ivarsson 2017-04-03 13:07:15 +02:00
parent f2fa06e52e
commit 27059bdfd8

View file

@ -105,9 +105,9 @@ $(OBJECT_DIR)/gtest.a : $(OBJECT_DIR)/gtest-all.o
$(OBJECT_DIR)/gtest_main.a : $(OBJECT_DIR)/gtest-all.o $(OBJECT_DIR)/gtest_main.o $(OBJECT_DIR)/gtest_main.a : $(OBJECT_DIR)/gtest-all.o $(OBJECT_DIR)/gtest_main.o
$(AR) $(ARFLAGS) $@ $^ $(AR) $(ARFLAGS) $@ $^
# Builds a sample test. A test should link with either gtest.a or -include $(OBJECT_DIR)/gtest-all.d \
# gtest_main.a, depending on whether it defines its own main() $(OBJECT_DIR)/gtest_main.d
# function.
# includes in test dir must override includes in user dir # includes in test dir must override includes in user dir
TEST_INCLUDE_DIRS := $(TEST_DIR) \ TEST_INCLUDE_DIRS := $(TEST_DIR) \
@ -117,6 +117,8 @@ TEST_CFLAGS = $(addprefix -I,$(TEST_INCLUDE_DIRS))
DEPS = $(TEST_BINARIES:%=%.d) DEPS = $(TEST_BINARIES:%=%.d)
$(OBJECT_DIR)/common/maths.o : \ $(OBJECT_DIR)/common/maths.o : \
$(USER_DIR)/common/maths.c \ $(USER_DIR)/common/maths.c \
$(USER_DIR)/common/maths.h \ $(USER_DIR)/common/maths.h \
@ -139,6 +141,10 @@ $(OBJECT_DIR)/maths_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/maths_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/common/filter.o : \ $(OBJECT_DIR)/common/filter.o : \
$(USER_DIR)/common/filter.c \ $(USER_DIR)/common/filter.c \
$(USER_DIR)/common/filter.h \ $(USER_DIR)/common/filter.h \
@ -161,6 +167,10 @@ $(OBJECT_DIR)/common_filter_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/common_filter_unittest.d \
$(OBJECT_DIR)/common/filter.d
$(OBJECT_DIR)/common/encoding.o : $(USER_DIR)/common/encoding.c $(USER_DIR)/common/encoding.h $(GTEST_HEADERS) $(OBJECT_DIR)/common/encoding.o : $(USER_DIR)/common/encoding.c $(USER_DIR)/common/encoding.h $(GTEST_HEADERS)
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
$(CC) $(C_FLAGS) $(TEST_CFLAGS) -c $(USER_DIR)/common/encoding.c -o $@ $(CC) $(C_FLAGS) $(TEST_CFLAGS) -c $(USER_DIR)/common/encoding.c -o $@
@ -180,6 +190,10 @@ $(OBJECT_DIR)/encoding_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/common/encoding.d \
$(OBJECT_DIR)/encoding_unittest.d
$(OBJECT_DIR)/common/typeconversion.o : \ $(OBJECT_DIR)/common/typeconversion.o : \
$(USER_DIR)/common/typeconversion.c \ $(USER_DIR)/common/typeconversion.c \
$(USER_DIR)/common/typeconversion.h \ $(USER_DIR)/common/typeconversion.h \
@ -203,6 +217,10 @@ $(OBJECT_DIR)/type_conversion_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/common/typeconversion.d \
$(OBJECT_DIR)/type_conversion_unittest.d
$(OBJECT_DIR)/fc/runtime_config.o : \ $(OBJECT_DIR)/fc/runtime_config.o : \
$(USER_DIR)/fc/runtime_config.c \ $(USER_DIR)/fc/runtime_config.c \
$(USER_DIR)/fc/runtime_config.h \ $(USER_DIR)/fc/runtime_config.h \
@ -236,6 +254,12 @@ $(OBJECT_DIR)/flight_imu_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/flight/imu.d \
$(OBJECT_DIR)/flight/altitudehold.d \
$(OBJECT_DIR)/flight_imu_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/flight/altitudehold.o : \ $(OBJECT_DIR)/flight/altitudehold.o : \
$(USER_DIR)/flight/altitudehold.c \ $(USER_DIR)/flight/altitudehold.c \
$(USER_DIR)/flight/altitudehold.h \ $(USER_DIR)/flight/altitudehold.h \
@ -259,6 +283,9 @@ $(OBJECT_DIR)/altitude_hold_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/flight/altitudehold.d \
$(OBJECT_DIR)/altitude_hold_unittest.d
$(OBJECT_DIR)/common/gps_conversion.o : \ $(OBJECT_DIR)/common/gps_conversion.o : \
$(USER_DIR)/common/gps_conversion.c \ $(USER_DIR)/common/gps_conversion.c \
@ -283,6 +310,8 @@ $(OBJECT_DIR)/gps_conversion_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/common/gps_conversion.d \
$(OBJECT_DIR)/gps_conversion_unittest.d
$(OBJECT_DIR)/flight/mixer.o : \ $(OBJECT_DIR)/flight/mixer.o : \
@ -318,6 +347,12 @@ $(OBJECT_DIR)/flight_mixer_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/flight/mixer.d \
$(OBJECT_DIR)/flight/servos.d \
$(OBJECT_DIR)/flight_mixer_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/flight/failsafe.o : \ $(OBJECT_DIR)/flight/failsafe.o : \
$(USER_DIR)/flight/failsafe.c \ $(USER_DIR)/flight/failsafe.c \
$(USER_DIR)/flight/failsafe.h \ $(USER_DIR)/flight/failsafe.h \
@ -342,6 +377,9 @@ $(OBJECT_DIR)/flight_failsafe_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/flight/failsafe.d \
$(OBJECT_DIR)/flight_failsafe_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/telemetry/hott.o : \ $(OBJECT_DIR)/telemetry/hott.o : \
@ -368,6 +406,10 @@ $(OBJECT_DIR)/telemetry_hott_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/telemetry/hott.d \
$(OBJECT_DIR)/telemetry_hott_unittest.d \
$(OBJECT_DIR)/common/gps_conversion.d
$(OBJECT_DIR)/fc/rc_controls.o : \ $(OBJECT_DIR)/fc/rc_controls.o : \
$(USER_DIR)/fc/rc_controls.c \ $(USER_DIR)/fc/rc_controls.c \
@ -393,6 +435,10 @@ $(OBJECT_DIR)/rc_controls_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/common/maths.d \
$(OBJECT_DIR)/fc/rc_controls.d \
$(OBJECT_DIR)/rc_controls_unittest.d
$(OBJECT_DIR)/io/ledstrip.o : \ $(OBJECT_DIR)/io/ledstrip.o : \
$(USER_DIR)/io/ledstrip.c \ $(USER_DIR)/io/ledstrip.c \
@ -417,6 +463,8 @@ $(OBJECT_DIR)/ledstrip_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/io/ledstrip.d \
$(OBJECT_DIR)/ledstrip_unittest.d
$(OBJECT_DIR)/drivers/light_ws2811strip.o : \ $(OBJECT_DIR)/drivers/light_ws2811strip.o : \
@ -442,6 +490,9 @@ $(OBJECT_DIR)/ws2811_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/drivers/light_ws2811strip.d \
$(OBJECT_DIR)/ws2811_unittest.d
$(OBJECT_DIR)/io/serial.o : \ $(OBJECT_DIR)/io/serial.o : \
$(USER_DIR)/io/serial.c \ $(USER_DIR)/io/serial.c \
@ -466,6 +517,10 @@ $(OBJECT_DIR)/io_serial_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/io/serial.d \
$(OBJECT_DIR)/io_serial_unittest.d
$(OBJECT_DIR)/rx/rx.o : \ $(OBJECT_DIR)/rx/rx.o : \
$(USER_DIR)/rx/rx.c \ $(USER_DIR)/rx/rx.c \
$(USER_DIR)/rx/rx.h \ $(USER_DIR)/rx/rx.h \
@ -490,6 +545,11 @@ $(OBJECT_DIR)/rx_rx_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/rx/rx.d \
$(OBJECT_DIR)/rx_rx_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/rx/crsf.o : \ $(OBJECT_DIR)/rx/crsf.o : \
$(USER_DIR)/rx/crsf.c \ $(USER_DIR)/rx/crsf.c \
$(USER_DIR)/rx/crsf.h \ $(USER_DIR)/rx/crsf.h \
@ -515,6 +575,11 @@ $(OBJECT_DIR)/rx_crsf_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/rx/crsf.d \
$(OBJECT_DIR)/rx_crsf_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/telemetry/crsf.o : \ $(OBJECT_DIR)/telemetry/crsf.o : \
$(USER_DIR)/telemetry/crsf.c \ $(USER_DIR)/telemetry/crsf.c \
$(USER_DIR)/telemetry/crsf.h \ $(USER_DIR)/telemetry/crsf.h \
@ -547,6 +612,15 @@ $(OBJECT_DIR)/telemetry_crsf_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/rx/crsf.d \
$(OBJECT_DIR)/telemetry/crsf.d \
$(OBJECT_DIR)/telemetry_crsf_unittest.d \
$(OBJECT_DIR)/common/maths.d \
$(OBJECT_DIR)/common/streambuf.d \
$(OBJECT_DIR)/common/gps_conversion.d \
$(OBJECT_DIR)/fc/runtime_config.d
$(OBJECT_DIR)/rx_ranges_unittest.o : \ $(OBJECT_DIR)/rx_ranges_unittest.o : \
$(TEST_DIR)/rx_ranges_unittest.cc \ $(TEST_DIR)/rx_ranges_unittest.cc \
$(USER_DIR)/rx/rx.h \ $(USER_DIR)/rx/rx.h \
@ -563,6 +637,10 @@ $(OBJECT_DIR)/rx_ranges_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/rx/rx.d \
$(OBJECT_DIR)/rx_ranges_unittest.d \
$(OBJECT_DIR)/common/maths.d
$(OBJECT_DIR)/sensors/battery.o : $(USER_DIR)/sensors/battery.c $(USER_DIR)/sensors/battery.h $(GTEST_HEADERS) $(OBJECT_DIR)/sensors/battery.o : $(USER_DIR)/sensors/battery.c $(USER_DIR)/sensors/battery.h $(GTEST_HEADERS)
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@ -584,6 +662,11 @@ $(OBJECT_DIR)/battery_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $@ $(CXX) $(CXX_FLAGS) $^ -o $@
-include $(OBJECT_DIR)/sensors/battery.d \
$(OBJECT_DIR)/common/maths.d \
$(OBJECT_DIR)/battery_unittest.d
$(OBJECT_DIR)/drivers/barometer_ms5611.o : \ $(OBJECT_DIR)/drivers/barometer_ms5611.o : \
$(USER_DIR)/drivers/barometer_ms5611.c \ $(USER_DIR)/drivers/barometer_ms5611.c \
$(USER_DIR)/drivers/barometer_ms5611.h \ $(USER_DIR)/drivers/barometer_ms5611.h \
@ -607,6 +690,10 @@ $(OBJECT_DIR)/baro_ms5611_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/drivers/barometer_ms5611.d \
$(OBJECT_DIR)/baro_ms5611_unittest.d
$(OBJECT_DIR)/drivers/barometer_bmp085.o : \ $(OBJECT_DIR)/drivers/barometer_bmp085.o : \
$(USER_DIR)/drivers/barometer_bmp085.c \ $(USER_DIR)/drivers/barometer_bmp085.c \
$(USER_DIR)/drivers/barometer_bmp085.h \ $(USER_DIR)/drivers/barometer_bmp085.h \
@ -631,6 +718,11 @@ $(OBJECT_DIR)/baro_bmp085_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/drivers/barometer_bmp085.d \
$(OBJECT_DIR)/drivers/io.d \
$(OBJECT_DIR)/baro_bmp085_unittest.d
$(OBJECT_DIR)/drivers/barometer_bmp280.o : \ $(OBJECT_DIR)/drivers/barometer_bmp280.o : \
$(USER_DIR)/drivers/barometer_bmp280.c \ $(USER_DIR)/drivers/barometer_bmp280.c \
$(USER_DIR)/drivers/barometer_bmp280.h \ $(USER_DIR)/drivers/barometer_bmp280.h \
@ -654,6 +746,10 @@ $(OBJECT_DIR)/baro_bmp280_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/drivers/barometer_bmp280.d \
$(OBJECT_DIR)/baro_bmp280_unittest.d
$(OBJECT_DIR)/sensors/boardalignment.o : \ $(OBJECT_DIR)/sensors/boardalignment.o : \
$(USER_DIR)/sensors/boardalignment.c \ $(USER_DIR)/sensors/boardalignment.c \
$(USER_DIR)/sensors/boardalignment.h \ $(USER_DIR)/sensors/boardalignment.h \
@ -678,6 +774,10 @@ $(OBJECT_DIR)/alignsensor_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/common/maths.d \
$(OBJECT_DIR)/sensors/boardalignment.d \
$(OBJECT_DIR)/alignsensor_unittest.d
$(OBJECT_DIR)/build/debug.o : \ $(OBJECT_DIR)/build/debug.o : \
$(USER_DIR)/build/debug.c \ $(USER_DIR)/build/debug.c \
@ -732,6 +832,15 @@ $(OBJECT_DIR)/sensor_gyro_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/build/debug.d \
$(OBJECT_DIR)/common/filter.d \
$(OBJECT_DIR)/common/maths.d \
$(OBJECT_DIR)/drivers/accgyro_fake.d \
$(OBJECT_DIR)/drivers/gyro_sync.d \
$(OBJECT_DIR)/sensors/boardalignment.d \
$(OBJECT_DIR)/sensors/gyro.d \
$(OBJECT_DIR)/sensor_gyro_unittest.d
$(OBJECT_DIR)/build/version.o : \ $(OBJECT_DIR)/build/version.o : \
$(USER_DIR)/build/version.c \ $(USER_DIR)/build/version.c \
@ -789,6 +898,12 @@ $(OBJECT_DIR)/cms_unittest : \
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/cms_unittest.d \
$(OBJECT_DIR)/common/typeconversion.d \
$(OBJECT_DIR)/drivers/display.d \
$(OBJECT_DIR)/cms/cms.d
$(OBJECT_DIR)/drivers/io.o : \ $(OBJECT_DIR)/drivers/io.o : \
$(USER_DIR)/drivers/io.c \ $(USER_DIR)/drivers/io.c \
$(USER_DIR)/drivers/io.h \ $(USER_DIR)/drivers/io.h \
@ -819,6 +934,9 @@ $(OBJECT_DIR)/parameter_groups_unittest : \
$(CXX) $(CXX_FLAGS) $(PG_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $(PG_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/parameter_groups_unittest.d \
$(OBJECT_DIR)/config/parameter_group.d
$(OBJECT_DIR)/rx/ibus.o : \ $(OBJECT_DIR)/rx/ibus.o : \
$(USER_DIR)/rx/ibus.c \ $(USER_DIR)/rx/ibus.c \
@ -842,6 +960,9 @@ $(OBJECT_DIR)/rx_ibus_unittest : \
$(CXX) $(CXX_FLAGS) $(PG_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $(PG_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/rx_ibus_unittest.d \
$(OBJECT_DIR)/rx/ibus.d
$(OBJECT_DIR)/telemetry/ibus.o : \ $(OBJECT_DIR)/telemetry/ibus.o : \
$(USER_DIR)/telemetry/ibus.c \ $(USER_DIR)/telemetry/ibus.c \
@ -874,6 +995,11 @@ $(OBJECT_DIR)/telemetry_ibus_unittest : \
$(CXX) $(CXX_FLAGS) $(PG_FLAGS) $^ -o $(OBJECT_DIR)/$@ $(CXX) $(CXX_FLAGS) $(PG_FLAGS) $^ -o $(OBJECT_DIR)/$@
-include $(OBJECT_DIR)/telemetry_ibus_unittest.d \
$(OBJECT_DIR)/telemetry/ibus_shared.d \
$(OBJECT_DIR)/telemetry/ibus.d
## test : Build and run the Unit Tests ## test : Build and run the Unit Tests
test: $(TESTS:%=test-%) test: $(TESTS:%=test-%)