@@ -42,6 +42,7 @@ ARTIFACT_LIBLINK = $(LIBRARY_PREFIX)$(ARTIFACT_NAME)$(LIBRARY_EXT)
42
42
ARTIFACT_SLIBLINK = $(LIBRARY_PREFIX )$(ARTIFACT_NAME )$(STATICLIB_EXT )
43
43
ARTIFACT_PC = $(ARTIFACT_BIN ) /$(ARTIFACT_NAME )$(PKGCONFIG_EXT )
44
44
ARTIFACT_OBJ = $($(ARTIFACT_ID ) _OBJ)
45
+ ARTIFACT_OBJ_TEST = $($(ARTIFACT_ID ) _OBJ_TEST)
45
46
ARTIFACT_MFLAGS = $($(ARTIFACT_ID ) _MFLAGS) $(foreach dep,$(DEPENDENCIES ) ,-DUSE_$(dep ) )
46
47
ARTIFACT_DEPS = $(call dquery, OBJ, $(DEPENDENCIES ) )
47
48
ARTIFACT_CFLAGS = $(call query, CFLAGS, $(DEPENDENCIES ) $(ARTIFACT_ID ) )
@@ -53,11 +54,13 @@ ARTIFACT_TARGETS = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
53
54
# Source code
54
55
CXX_SRC_MAIN = main/dsp.cpp main/generic/generic.cpp
55
56
CXX_SRC_TEST = $(call rwildcard, test, * .cpp)
57
+ CXX_SRC_NOTEST =
56
58
CXX_SRC_EXT = $(patsubst $($(ARTIFACT_ID ) _BIN) /% .o, % .cpp, $(CXX_OBJ_EXT ) )
57
59
CXX_SRC = $(CXX_SRC_MAIN ) $(CXX_SRC_EXT )
58
60
59
61
CXX_OBJ_MAIN = $(patsubst % .cpp, $($(ARTIFACT_ID ) _BIN) /% .o, $(CXX_SRC_MAIN ) )
60
62
CXX_OBJ_TEST = $(patsubst % .cpp, $($(ARTIFACT_ID ) _BIN) /% .o, $(CXX_SRC_TEST ) )
63
+ CXX_OBJ_NOTEST = $(patsubst % .cpp, $($(ARTIFACT_ID ) _BIN) /% .o, $(CXX_SRC_NOTEST ) )
61
64
CXX_OBJ_EXT =
62
65
CXX_OBJ_X86 = $(ARTIFACT_BIN ) /main/x86/x86.o
63
66
CXX_OBJ_SSE = $(ARTIFACT_BIN ) /main/x86/sse.o
@@ -100,8 +103,6 @@ CXX_ASIMD_CFLAGS = -march=armv8-a+simd
100
103
BUILD_ALL = $(ARTIFACT_LIB ) $(ARTIFACT_SLIB ) $(ARTIFACT_PC )
101
104
102
105
ifeq ($($(ARTIFACT_ID ) _TESTING) ,1)
103
- CXX_SRC += $(CXX_SRC_TEST )
104
- CXX_OBJ += $(CXX_OBJ_TEST )
105
106
ARTIFACT_TARGETS += $(ARTIFACT_TEST_BIN )
106
107
endif
107
108
@@ -139,7 +140,7 @@ $(ARTIFACT_DEPS):
139
140
# Compilation
140
141
compile : $(ARTIFACT_OBJ )
141
142
142
- $(CXX_OBJ_MAIN ) $(CXX_OBJ_EXT ) $(CXX_OBJ_TEST ) :
143
+ $(CXX_OBJ_MAIN ) $(CXX_OBJ_EXT ) $(CXX_OBJ_TEST ) $( CXX_OBJ_NOTEST ) :
143
144
@echo " $( CXX) [$( ARTIFACT_NAME) ] $( CXX_FILE) "
144
145
@mkdir -p $(dir $@ )
145
146
@$(CXX ) -o $(@ ) -c $(CXX_FILE ) -fPIC $(CXXFLAGS ) $(ARTIFACT_MFLAGS ) $(EXT_FLAGS ) $(INCLUDE ) $(ARTIFACT_CFLAGS )
@@ -148,21 +149,25 @@ $(CXX_OBJ_MAIN) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST):
148
149
$(ARTIFACT_OBJ ) : $(CXX_OBJ )
149
150
@echo " $( LD) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_OBJ) ) "
150
151
@$(LD ) -o $(ARTIFACT_OBJ ) -r $(CXX_OBJ )
151
-
152
+
153
+ $(ARTIFACT_OBJ_TEST ) : $(CXX_OBJ_TEST )
154
+ @echo " $( LD) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_OBJ_TEST) ) "
155
+ @$(LD ) -o $(ARTIFACT_OBJ_TEST ) -r $(CXX_OBJ_TEST )
156
+
152
157
# Linking
153
158
all : $(ARTIFACT_TARGETS )
154
159
155
- $(ARTIFACT_LIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ )
160
+ $(ARTIFACT_LIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $( CXX_OBJ_NOTEST )
156
161
@echo " $( CXX) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_LIB) ) "
157
- @$(CXX ) -o $(ARTIFACT_LIB ) $(ARTIFACT_OBJFILES ) $(SO_FLAGS ) $(ARTIFACT_LDFLAGS )
162
+ @$(CXX ) -o $(ARTIFACT_LIB ) $(ARTIFACT_OBJFILES ) $(CXX_OBJ_NOTEST ) $( SO_FLAGS ) $(ARTIFACT_LDFLAGS )
158
163
159
- $(ARTIFACT_SLIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ )
164
+ $(ARTIFACT_SLIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $( CXX_OBJ_NOTEST )
160
165
@echo " $( AR) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_SLIB) ) "
161
- @$(AR ) rcs $(ARTIFACT_SLIB ) $(ARTIFACT_OBJFILES )
166
+ @$(AR ) rcs $(ARTIFACT_SLIB ) $(ARTIFACT_OBJFILES ) $( CXX_OBJ_NOTEST )
162
167
163
- $(ARTIFACT_TEST_BIN ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $(ARTIFACT_TEST_OBJ )
168
+ $(ARTIFACT_TEST_BIN ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $(ARTIFACT_OBJ_TEST )
164
169
@echo " $( CXX) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_TEST_BIN) ) "
165
- @$(CXX ) -o $(ARTIFACT_TEST_BIN ) $(ARTIFACT_OBJFILES ) $(EXE_FLAGS ) $(ARTIFACT_LDFLAGS )
170
+ @$(CXX ) -o $(ARTIFACT_TEST_BIN ) $(ARTIFACT_OBJFILES ) $(ARTIFACT_OBJ_TEST ) $( EXE_FLAGS ) $(ARTIFACT_LDFLAGS )
166
171
167
172
$(ARTIFACT_PC ) :
168
173
@mkdir -p $(dir $(ARTIFACT_PC ) )
0 commit comments