diff --git a/src/test/Makefile b/src/test/Makefile index 041e56b211..fcb6aa7456 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -139,232 +139,15 @@ LIBS = $(OBJECT_DIR)/libcleanflight.a $(OBJECT_DIR)/gtest_main.a $(OBJECT_DIR)/libcleanflight.a: $(LIBCLEANFLIGHT_OBJ) $(AR) $(ARFLAGS) $@ $^ +# Build a module from the flight software. $(OBJECT_DIR)/%.o: $(USER_DIR)/%.c mkdir -p $(@D) $(CC) $(C_FLAGS) $(TEST_CFLAGS) -c $< -o $@ -$(OBJECT_DIR)/battery_unittest.o : \ - $(TEST_DIR)/battery_unittest.cc \ - $(USER_DIR)/sensors/battery.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $< -o $@ - -$(OBJECT_DIR)/battery_unittest : \ - $(OBJECT_DIR)/battery_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $@ - -$(OBJECT_DIR)/encoding_unittest.o : \ - $(TEST_DIR)/encoding_unittest.cc \ - $(USER_DIR)/common/encoding.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/encoding_unittest.cc -o $@ - -$(OBJECT_DIR)/encoding_unittest : \ - $(OBJECT_DIR)/encoding_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/flight_imu_unittest.o : \ - $(TEST_DIR)/flight_imu_unittest.cc \ - $(USER_DIR)/flight/imu.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/flight_imu_unittest.cc -o $@ - -$(OBJECT_DIR)/flight_imu_unittest : \ - $(OBJECT_DIR)/flight_imu_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/maths_unittest.o : \ - $(TEST_DIR)/maths_unittest.cc \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/maths_unittest.cc -o $@ - -$(OBJECT_DIR)/maths_unittest : \ - $(OBJECT_DIR)/maths_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/altitude_hold_unittest.o : \ - $(TEST_DIR)/altitude_hold_unittest.cc \ - $(USER_DIR)/flight/altitudehold.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/altitude_hold_unittest.cc -o $@ - -$(OBJECT_DIR)/altitude_hold_unittest : \ - $(OBJECT_DIR)/altitude_hold_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/gps_conversion_unittest.o : \ - $(TEST_DIR)/gps_conversion_unittest.cc \ - $(USER_DIR)/flight/gps_conversion.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/gps_conversion_unittest.cc -o $@ - -$(OBJECT_DIR)/gps_conversion_unittest : \ - $(OBJECT_DIR)/gps_conversion_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/telemetry_hott_unittest.o : \ - $(TEST_DIR)/telemetry_hott_unittest.cc \ - $(USER_DIR)/telemetry/hott.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/telemetry_hott_unittest.cc -o $@ - -$(OBJECT_DIR)/telemetry_hott_unittest : \ - $(OBJECT_DIR)/telemetry_hott_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/rc_controls_unittest.o : \ - $(TEST_DIR)/rc_controls_unittest.cc \ - $(USER_DIR)/io/rc_controls.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/rc_controls_unittest.cc -o $@ - -$(OBJECT_DIR)/rc_controls_unittest : \ - $(OBJECT_DIR)/rc_controls_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/ledstrip_unittest.o : \ - $(TEST_DIR)/ledstrip_unittest.cc \ - $(USER_DIR)/io/ledstrip.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/ledstrip_unittest.cc -o $@ - -$(OBJECT_DIR)/ledstrip_unittest : \ - $(OBJECT_DIR)/ledstrip_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/ws2811_unittest.o : \ - $(TEST_DIR)/ws2811_unittest.cc \ - $(USER_DIR)/drivers/light_ws2811strip.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/ws2811_unittest.cc -o $@ - -$(OBJECT_DIR)/ws2811_unittest : \ - $(OBJECT_DIR)/ws2811_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/lowpass_unittest.o : \ - $(TEST_DIR)/lowpass_unittest.cc \ - $(USER_DIR)/flight/lowpass.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/lowpass_unittest.cc -o $@ - -$(OBJECT_DIR)/lowpass_unittest : \ - $(OBJECT_DIR)/lowpass_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/flight_mixer_unittest.o : \ - $(TEST_DIR)/flight_mixer_unittest.cc \ - $(USER_DIR)/flight/mixer.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/flight_mixer_unittest.cc -o $@ - -$(OBJECT_DIR)/flight_mixer_unittest : \ - $(OBJECT_DIR)/flight_mixer_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/flight_failsafe_unittest.o : \ - $(TEST_DIR)/flight_failsafe_unittest.cc \ - $(USER_DIR)/flight/failsafe.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/flight_failsafe_unittest.cc -o $@ - -$(OBJECT_DIR)/flight_failsafe_unittest : \ - $(OBJECT_DIR)/flight_failsafe_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/io_serial_unittest.o : \ - $(TEST_DIR)/io_serial_unittest.cc \ - $(USER_DIR)/io/serial.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/io_serial_unittest.cc -o $@ - -$(OBJECT_DIR)/io_serial_unittest : \ - $(OBJECT_DIR)/io_serial_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/rx_rx_unittest.o : \ - $(TEST_DIR)/rx_rx_unittest.cc \ - $(USER_DIR)/rx/rx.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/rx_rx_unittest.cc -o $@ - -$(OBJECT_DIR)/rx_rx_unittest : \ - $(OBJECT_DIR)/rx_rx_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ - -$(OBJECT_DIR)/baro_unittest.o : \ - $(TEST_DIR)/baro_unittest.cc \ - $(USER_DIR)/drivers/barometer_ms5611.h \ - $(GTEST_HEADERS) - - @mkdir -p $(dir $@) - $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/baro_unittest.cc -o $@ - -$(OBJECT_DIR)/baro_unittest : \ - $(OBJECT_DIR)/baro_unittest.o \ - $(LIBS) - - $(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@ +# Build the unit test executable. +$(OBJECT_DIR)/%: $(TEST_DIR)/%.cc $(LIBS) + @mkdir -p $(@D) + $(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -o $@ $< $(LIBS) test: $(TESTS:%=test-%)