11
11
12
12
# Where to find user code.
13
13
USER_DIR = ../main
14
+ TEST_DIR = unit
14
15
15
16
16
17
# specify which files that are included in the test in addition to the unittest file.
@@ -35,7 +36,7 @@ arming_prevention_unittest_SRC := \
35
36
$(USER_DIR ) /fc/runtime_config.c \
36
37
$(USER_DIR ) /common/bitarray.c
37
38
38
- atomic_unittest_SRC = \
39
+ atomic_unittest_SRC : = \
39
40
$(USER_DIR ) /build/atomic.c \
40
41
$(TEST_DIR ) /atomic_unittest_c.c
41
42
@@ -291,7 +292,6 @@ ringbuffer_unittest_SRC := \
291
292
GTEST_DIR = ../../lib/test/gtest
292
293
293
294
294
- TEST_DIR = unit
295
295
USER_INCLUDE_DIR = $(USER_DIR )
296
296
297
297
OBJECT_DIR = ../../obj/test
@@ -313,10 +313,14 @@ COMMON_FLAGS = \
313
313
-ggdb3 \
314
314
-O0 \
315
315
-DUNIT_TEST \
316
- -fblocks \
317
316
-isystem $(GTEST_DIR ) /inc \
318
317
-MMD -MP
319
318
319
+ ifeq ($(shell $(CC ) -v 2>&1 | grep -q "clang version" && echo "clang") ,clang)
320
+ COMMON_FLAGS += -fblocks
321
+ LDFLAGS += -lBlocksRuntime
322
+ endif
323
+
320
324
ifneq ($(UNAME ) , Darwin)
321
325
COMMON_FLAGS += -pthread
322
326
endif
@@ -337,9 +341,9 @@ CXX_FLAGS += $(COVERAGE_FLAGS)
337
341
338
342
# Set up the parameter group linker flags according to OS
339
343
ifeq ($(UNAME ) , Darwin)
340
- PG_FLAGS = -Wl,-map,$(OBJECT_DIR ) /$@ .map
344
+ LDFLAGS + = -Wl,-map,$(OBJECT_DIR ) /$@ .map
341
345
else
342
- PG_FLAGS = -Wl,-T,$(TEST_DIR ) /parameter_group.ld -Wl,-Map,$(OBJECT_DIR ) /$@ .map
346
+ LDFLAGS + = -Wl,-T,$(TEST_DIR ) /parameter_group.ld -Wl,-Map,$(OBJECT_DIR ) /$@ .map
343
347
endif
344
348
345
349
# Gather up all of the tests.
@@ -479,7 +483,7 @@ $(OBJECT_DIR)/$1/$1 : $$($$1_OBJS) \
479
483
480
484
@echo "linking $$@ " "$(STDOUT ) "
481
485
$(V1 ) mkdir -p $(dir $$@ )
482
- $(V1 ) $(CXX ) $(CXX_FLAGS ) $(PG_FLAGS ) -lBlocksRuntime $$^ -o $$@
486
+ $(V1 ) $(CXX ) $(CXX_FLAGS ) $(LDFLAGS ) $$^ -o $$@
483
487
484
488
test_$1: $(OBJECT_DIR ) /$1/$1
485
489
$(V1 ) $$< $$(EXEC_OPTS ) "$(STDOUT ) " && echo "running $$@ : PASS"
0 commit comments